sino-bc-cli 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +256 -0
  2. package/dist/affordance/auth.md +31 -0
  3. package/dist/affordance/bill.md +48 -0
  4. package/dist/affordance/biz-line-ai-strategy.md +35 -0
  5. package/dist/affordance/biz-line-metrics.md +47 -0
  6. package/dist/affordance/biz-line.md +84 -0
  7. package/dist/affordance/common-file.md +25 -0
  8. package/dist/affordance/dashboard.md +75 -0
  9. package/dist/affordance/dict.md +28 -0
  10. package/dist/affordance/document.md +67 -0
  11. package/dist/affordance/im.md +91 -0
  12. package/dist/affordance/invoice.md +49 -0
  13. package/dist/affordance/media.md +17 -0
  14. package/dist/affordance/organization.md +47 -0
  15. package/dist/affordance/project-analysis.md +95 -0
  16. package/dist/affordance/project.md +321 -0
  17. package/dist/affordance/quota.md +19 -0
  18. package/dist/affordance/reconciliation.md +41 -0
  19. package/dist/affordance/report.md +75 -0
  20. package/dist/affordance/sso-team-group.md +30 -0
  21. package/dist/affordance/task.md +148 -0
  22. package/dist/affordance/tenant.md +17 -0
  23. package/dist/affordance/user.md +41 -0
  24. package/dist/affordance/wallet.md +100 -0
  25. package/dist/api-doc/README.md +67 -0
  26. package/dist/api-doc/custom/template.md +0 -0
  27. package/dist/api-doc/oapi/auth.md +61 -0
  28. package/dist/api-doc/oapi/bill.md +130 -0
  29. package/dist/api-doc/oapi/biz-line-ai-strategy.md +119 -0
  30. package/dist/api-doc/oapi/biz-line-metrics.md +419 -0
  31. package/dist/api-doc/oapi/biz-line.md +382 -0
  32. package/dist/api-doc/oapi/common-file.md +50 -0
  33. package/dist/api-doc/oapi/dashboard.md +218 -0
  34. package/dist/api-doc/oapi/dict.md +49 -0
  35. package/dist/api-doc/oapi/document.md +182 -0
  36. package/dist/api-doc/oapi/im.md +278 -0
  37. package/dist/api-doc/oapi/invoice.md +129 -0
  38. package/dist/api-doc/oapi/media.md +17 -0
  39. package/dist/api-doc/oapi/organization.md +94 -0
  40. package/dist/api-doc/oapi/project-analysis.md +364 -0
  41. package/dist/api-doc/oapi/project.md +1114 -0
  42. package/dist/api-doc/oapi/quota.md +21 -0
  43. package/dist/api-doc/oapi/reconciliation.md +98 -0
  44. package/dist/api-doc/oapi/report.md +254 -0
  45. package/dist/api-doc/oapi/sso-team-group.md +54 -0
  46. package/dist/api-doc/oapi/task.md +528 -0
  47. package/dist/api-doc/oapi/tenant.md +17 -0
  48. package/dist/api-doc/oapi/user.md +98 -0
  49. package/dist/api-doc/oapi/wallet.md +275 -0
  50. package/dist/generated/api-catalog.json +39681 -0
  51. package/dist/generated/api-directory-index.json +1509 -0
  52. package/dist/index.js +2 -0
  53. package/dist/skill-manifest.json +336 -0
  54. package/dist/skills/biz-line-strategy-generate/SKILL.md +122 -0
  55. package/dist/skills/biz-line-strategy-generate/references/ai-strategy-prompt.md +50 -0
  56. package/dist/skills/biz-line-strategy-generate/references/api-flow.md +155 -0
  57. package/dist/skills/biz-line-strategy-generate/references/four-strategies.md +58 -0
  58. package/dist/skills/biz-line-strategy-generate/references/metrics.md +119 -0
  59. package/dist/skills/biz-line-strategy-generate/references/output-excel.md +63 -0
  60. package/dist/skills/biz-line-strategy-generate/references/runtime.md +127 -0
  61. package/dist/skills/biz-line-strategy-generate/references/spec.md +500 -0
  62. package/dist/skills/biz-line-strategy-generate/scripts/ai_strategy.py +89 -0
  63. package/dist/skills/biz-line-strategy-generate/scripts/build_report.py +629 -0
  64. package/dist/skills/biz-line-strategy-generate/scripts/cleanup.py +87 -0
  65. package/dist/skills/biz-line-strategy-generate/scripts/cli_json.py +705 -0
  66. package/dist/skills/biz-line-strategy-generate/scripts/fetch_data.py +449 -0
  67. package/dist/skills/biz-line-strategy-generate/scripts/run_workflow.py +402 -0
  68. package/dist/skills/biz-line-strategy-generate/scripts/strategy_output.py +556 -0
  69. package/dist/skills/biz-line-strategy-generate/scripts/submit_tags.py +32 -0
  70. package/dist/skills/biz-line-strategy-generate/scripts/summarize.py +932 -0
  71. package/dist/skills/biz-line-strategy-generate/scripts/test_ai_strategy.py +235 -0
  72. package/dist/skills/biz-line-strategy-generate/scripts/test_cli_json.py +97 -0
  73. package/dist/skills/biz-line-strategy-generate/scripts/test_database_output.py +904 -0
  74. package/dist/skills/biz-line-strategy-generate/scripts/test_pipeline.py +253 -0
  75. package/dist/skills/biz-line-strategy-generate/scripts/test_strategy_rules.py +224 -0
  76. package/dist/skills/biz-line-strategy-generate/scripts/test_tag_submission.py +238 -0
  77. package/dist/skills/biz-line-strategy-generate/scripts/test_workflow.py +1233 -0
  78. package/dist/skills/sino-bc-cli/SKILL.md +62 -0
  79. package/dist/skills/sino-bc-cli/domains/sino-bc-auth/SKILL.md +36 -0
  80. package/dist/skills/sino-bc-cli/domains/sino-bc-bill/SKILL.md +48 -0
  81. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/SKILL.md +58 -0
  82. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/references/common-mistakes.md +7 -0
  83. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/references/enums.md +13 -0
  84. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line-ai-strategy/SKILL.md +46 -0
  85. package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line-metrics/SKILL.md +46 -0
  86. package/dist/skills/sino-bc-cli/domains/sino-bc-common-file/SKILL.md +44 -0
  87. package/dist/skills/sino-bc-cli/domains/sino-bc-dashboard/SKILL.md +50 -0
  88. package/dist/skills/sino-bc-cli/domains/sino-bc-dict/SKILL.md +48 -0
  89. package/dist/skills/sino-bc-cli/domains/sino-bc-document/SKILL.md +53 -0
  90. package/dist/skills/sino-bc-cli/domains/sino-bc-im/SKILL.md +62 -0
  91. package/dist/skills/sino-bc-cli/domains/sino-bc-invoice/SKILL.md +48 -0
  92. package/dist/skills/sino-bc-cli/domains/sino-bc-media/SKILL.md +40 -0
  93. package/dist/skills/sino-bc-cli/domains/sino-bc-organization/SKILL.md +46 -0
  94. package/dist/skills/sino-bc-cli/domains/sino-bc-project/SKILL.md +112 -0
  95. package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/SKILL.md +61 -0
  96. package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/references/analysis-workflow.md +21 -0
  97. package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/references/filters-and-metrics.md +30 -0
  98. package/dist/skills/sino-bc-cli/domains/sino-bc-quota/SKILL.md +44 -0
  99. package/dist/skills/sino-bc-cli/domains/sino-bc-reconciliation/SKILL.md +47 -0
  100. package/dist/skills/sino-bc-cli/domains/sino-bc-report/SKILL.md +53 -0
  101. package/dist/skills/sino-bc-cli/domains/sino-bc-sso-team-group/SKILL.md +45 -0
  102. package/dist/skills/sino-bc-cli/domains/sino-bc-task/SKILL.md +73 -0
  103. package/dist/skills/sino-bc-cli/domains/sino-bc-task/references/state-machine.md +18 -0
  104. package/dist/skills/sino-bc-cli/domains/sino-bc-tenant/SKILL.md +34 -0
  105. package/dist/skills/sino-bc-cli/domains/sino-bc-user/SKILL.md +57 -0
  106. package/dist/skills/sino-bc-cli/domains/sino-bc-wallet/SKILL.md +55 -0
  107. package/dist/skills/sino-bc-cli/references/domain-index/module-8534789.md +53 -0
  108. package/dist/skills/sino-bc-cli/references/domain-index/module-8551546.md +70 -0
  109. package/dist/skills/sino-bc-cli/references/domain-index/module-8562638.md +13 -0
  110. package/dist/skills/sino-bc-cli/references/domain-index/module-8566367.md +13 -0
  111. package/dist/skills/sino-bc-cli/references/domain-index/module-8581524.md +17 -0
  112. package/dist/skills/sino-bc-cli/references/domain-index/module-8601540.md +13 -0
  113. package/dist/skills/sino-bc-cli/references/domain-index/module-8614891.md +33 -0
  114. package/dist/skills/sino-bc-cli/references/domain-index/module-8621792.md +17 -0
  115. package/dist/skills/sino-bc-shared/SKILL.md +31 -0
  116. package/dist/skills/sino-bc-shared/references/auth-recovery.md +36 -0
  117. package/dist/skills/sino-bc-shared/references/config-and-env.md +60 -0
  118. package/dist/skills/sino-bc-shared/references/output-contract.md +86 -0
  119. package/dist/skills/sino-bc-shared/references/skill-lifecycle.md +17 -0
  120. package/dist/skills/sino-bc-shared/references/tenant-context.md +21 -0
  121. package/dist/skills/sino-bc-shared/references/write-approval.md +16 -0
  122. package/package.json +70 -0
  123. package/scripts/postinstall.cjs +36 -0
@@ -0,0 +1,17 @@
1
+ # tenant 命令何时用
2
+
3
+ 字段口径在 `src/api-doc/`,这里只写 WHEN / 别用 / 示例。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## +list
8
+
9
+ - **WHEN**:查询用户签约主体列表
10
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
11
+ - **示例**:`sino-bc-cli tenant +list`
12
+
13
+ ## api
14
+
15
+ - **WHEN**:需要原始 JSON 字段,或没有合适的便捷 Shortcut 时按 name 调用。
16
+ - **别用**:已有 Shortcut 的高频查询仍应走 `+xxx`。
17
+ - **示例**:`sino-bc-cli tenant api <name> --data '{...}'`
@@ -0,0 +1,41 @@
1
+ # user 命令何时用
2
+
3
+ 字段口径在 `src/api-doc/`,这里只写 WHEN / 别用 / 示例。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## +tenant-info-batch
8
+
9
+ - **WHEN**:批量查询租户用户信息
10
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
11
+ - **示例**:`sino-bc-cli user +tenant-info-batch --data '{...}'`
12
+
13
+ ## +tenant-info
14
+
15
+ - **WHEN**:查询租户用户信息
16
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
17
+ - **示例**:`sino-bc-cli user +tenant-info --data '{...}'`
18
+
19
+ ## +sso-info
20
+
21
+ - **WHEN**:查询SSO用户信息(用户ID)
22
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
23
+ - **示例**:`sino-bc-cli user +sso-info --data '{...}'`
24
+
25
+ ## +sso-info-batch
26
+
27
+ - **WHEN**:批量查询SSO用户信息(用户ID)
28
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
29
+ - **示例**:`sino-bc-cli user +sso-info-batch --data '{...}'`
30
+
31
+ ## +sso-list
32
+
33
+ - **WHEN**:查询SSO用户列表(支持名称模糊)
34
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
35
+ - **示例**:`sino-bc-cli user +sso-list --data '{...}'`
36
+
37
+ ## api
38
+
39
+ - **WHEN**:需要原始 JSON 字段,或没有合适的便捷 Shortcut 时按 name 调用。
40
+ - **别用**:已有 Shortcut 的高频查询仍应走 `+xxx`。
41
+ - **示例**:`sino-bc-cli user api <name> --data '{...}'`
@@ -0,0 +1,100 @@
1
+ # wallet 命令何时用
2
+
3
+ 字段口径在 `src/api-doc/`,这里只写 WHEN / 别用 / 示例。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## +own
8
+
9
+ - **WHEN**:钱包首页
10
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
11
+ - **示例**:`sino-bc-cli wallet +own --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
12
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
13
+
14
+ ## +change-recent
15
+
16
+ - **WHEN**:最近钱包流水
17
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
18
+ - **示例**:`sino-bc-cli wallet +change-recent --data '{...}' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
19
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
20
+ - **参数**:`--data` 中的 query 字段按接口定义编码到 URL。
21
+
22
+ ## +recharge-recent
23
+
24
+ - **WHEN**:最近充值记录
25
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
26
+ - **示例**:`sino-bc-cli wallet +recharge-recent --data '{...}' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
27
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
28
+ - **参数**:`--data` 中的 query 字段按接口定义编码到 URL。
29
+
30
+ ## +currency
31
+
32
+ - **WHEN**:钱包币种列表
33
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
34
+ - **示例**:`sino-bc-cli wallet +currency --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
35
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
36
+
37
+ ## +cash-accounts
38
+
39
+ - **WHEN**:现金账务类型
40
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
41
+ - **示例**:`sino-bc-cli wallet +cash-accounts --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
42
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
43
+
44
+ ## +cash-change
45
+
46
+ - **WHEN**:现金收支明细
47
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
48
+ - **示例**:`sino-bc-cli wallet +cash-change --data '{...}' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
49
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
50
+
51
+ ## +change-accounts
52
+
53
+ - **WHEN**:钱包账务类型
54
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
55
+ - **示例**:`sino-bc-cli wallet +change-accounts --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
56
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
57
+
58
+ ## +quota-type
59
+
60
+ - **WHEN**:钱包额度类型
61
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
62
+ - **示例**:`sino-bc-cli wallet +quota-type --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
63
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
64
+
65
+ ## +change
66
+
67
+ - **WHEN**:钱包消费明细
68
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
69
+ - **示例**:`sino-bc-cli wallet +change --data '{...}' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
70
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
71
+
72
+ ## +recharge
73
+
74
+ - **WHEN**:充值明细
75
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
76
+ - **示例**:`sino-bc-cli wallet +recharge --data '{...}' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
77
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
78
+
79
+ ## +currency-amount
80
+
81
+ - **WHEN**:币种可用额度
82
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
83
+ - **示例**:`sino-bc-cli wallet +currency-amount --data '{...}' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
84
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
85
+ - **参数**:`--data` 中的 query 字段按接口定义编码到 URL。
86
+
87
+ ## +exchange-rate
88
+
89
+ - **WHEN**:币种汇率
90
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
91
+ - **示例**:`sino-bc-cli wallet +exchange-rate --data '{...}' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`
92
+ - **主体上下文**:主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
93
+ - **参数**:`--data` 中的 query 字段按接口定义编码到 URL。
94
+
95
+ ## api
96
+
97
+ - **WHEN**:需要原始 JSON 字段,或没有合适的便捷 Shortcut 时按 name 调用。
98
+ - **别用**:已有 Shortcut 的高频查询仍应走 `+xxx`。
99
+ - **示例**:`sino-bc-cli wallet api <name> --data '{...}'`
100
+ - **主体要求**:先查 `/schema <name>` 的 `_meta.tenant`;为 true 时,主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
@@ -0,0 +1,67 @@
1
+ # 接口文档索引
2
+
3
+ 本目录描述 CLI catalog 中的接口字段。查看命令用途用 `sino-bc-cli <domain> --help`;查看某接口的完整输入和输出 schema 用 `sino-bc-cli /schema <name>`。便捷命令负责常见任务,原始 JSON 调用用 `<domain> api <name> --data '<json>'`。
4
+
5
+ ## 文档分层
6
+
7
+ | 位置 | 来源与维护方式 |
8
+ | --- | --- |
9
+ | 本文件 | 手写导航,同步保留 |
10
+ | `oapi/` | Apifox 全模块同步生成,整层替换,禁止手改 |
11
+ | `custom/` | 手写字段说明或文档覆盖,同步只读 |
12
+
13
+ 同名文档按 custom → oapi → 目录根解析。custom 同名文件会优先展示,只有确需完整覆盖生成文档时才使用。这是接口文档的按文件查找,不是技能安装方式。域工作流写在 `src/catalog/sync/domains/`(同步进 `skills/oapi/`);额外专家技能放 `skills/custom/<技能名>/`,必须自带完整 `SKILL.md`。
14
+
15
+ Skill 安装保留三类职责:shared 管共用规则,API 域管单域能力,专家编排已有能力形成任务产物。完整 custom 可整域替换 oapi;独立专家顶层分发,依赖域位于导航 domains 内,不替换依赖域。根 Skill 只概览、shared 和非空 Apifox 模块;模块页列一级目录对应的 API Skill 能力,已核实域及能力可直读完整域。专家不进业务导航,`/skill` 列出全部入口。
16
+
17
+ ## 按功能模块查看
18
+
19
+ Apifox 模块组织业务域导航,一级目录对应下表的 API Skill 与命令域,子目录在 Skill 内作为功能分组。
20
+
21
+ | 命令域 | 用途 | 接口文档 |
22
+ | --- | --- | --- |
23
+ | biz-line | 业务线、周策略、投放品类、策略标签与关联项目 | [接口文档](oapi/biz-line.md) |
24
+ | sso-team-group | 优化组别选项、组长、成员与行业信息 | [接口文档](oapi/sso-team-group.md) |
25
+ | biz-line-metrics | 广告策略维度与成效数据 | [接口文档](oapi/biz-line-metrics.md) |
26
+ | project-analysis | 优化项目月度分析、工时系统原始表、消耗与工时趋势、优化师人效及 Excel 导出 | [接口文档](oapi/project-analysis.md) |
27
+ | biz-line-ai-strategy | AI 策略保存、历史记录、使用日志与正式策略快照 | [接口文档](oapi/biz-line-ai-strategy.md) |
28
+ | project | 营销协同项目生命周期、成员、阶段、项目文档、投放阶段Tab及群关系 | [接口文档](oapi/project.md) |
29
+ | task | 营销协同任务:交付闭环与操作日志 | [接口文档](oapi/task.md) |
30
+ | document | 营销协同文档中心、文件上传与对象存储记录 | [接口文档](oapi/document.md) |
31
+ | dashboard | 营销协同看板:预算分布、项目分布与关键项目时间轴 | [接口文档](oapi/dashboard.md) |
32
+ | organization | 组织架构、团队成员与当前用户 | [接口文档](oapi/organization.md) |
33
+ | im | 营销协同飞书群消息 | [接口文档](oapi/im.md) |
34
+ | dict | 营销协同通用字典:按用途查询场景与按场景查询条目 | [接口文档](oapi/dict.md) |
35
+ | report | 营销协同Campaign归集、投放阶段指标、花费、KPI与维度下钻 | [接口文档](oapi/report.md) |
36
+ | tenant | 签约主体 | [接口文档](oapi/tenant.md) |
37
+ | auth | 身份令牌与浏览器授权 | [接口文档](oapi/auth.md) |
38
+ | user | SSO 用户资料、按姓名模糊列表与签约主体(租户)用户资料 | [接口文档](oapi/user.md) |
39
+ | media | 广告投放媒体:投放渠道等媒体字典 | [接口文档](oapi/media.md) |
40
+ | bill | 财务对账单查询 | [接口文档](oapi/bill.md) |
41
+ | invoice | 发票结算单与发票文件下载 | [接口文档](oapi/invoice.md) |
42
+ | reconciliation | 月度对账文件与邮件记录 | [接口文档](oapi/reconciliation.md) |
43
+ | quota | 后付额度查询 | [接口文档](oapi/quota.md) |
44
+ | wallet | 预付钱包、充值与流水查询 | [接口文档](oapi/wallet.md) |
45
+ | common-file | 通用文件上传与按 storageKey 取下载链接 | [接口文档](oapi/common-file.md) |
46
+
47
+ 接口名称和数量以 `src/generated/api-catalog.json` 为唯一运行时依据;name 来自 OpenAPI 的 `x-cli-name`,不能从路由自行拼造。新开发者接入流程见 [bc-develop](../../.agents/skills/bc-develop/SKILL.md),完整样例见 [项目分析接入](../../developer-doc/07-project-analysis-onboarding.md)。
48
+
49
+ ## 请求与输出约定
50
+
51
+ 业务请求只走生效网关根(缺省 `https://agent.beyondclick.com`,可用 `/set-config gateway-url`),路径保持 OpenAPI 的完整路由。例如 `/sino-opti-hive/project/analysis/getSummaryData` 不能剥掉或重复追加服务前缀。认证与业务共用该根;不能把文档来源服务地址当业务请求地址。
52
+
53
+ CLI 从平台密钥存储读取身份令牌(macOS/Linux 为 AES 密文,Windows 为凭据库),固定携带 `Authorization: Bearer …` 和 `X-GATEWAY-TYPE: A2C-CLI`。只有 catalog 声明 tenant=true 的业务接口才要求本次调用传入 `--corporation-id` 与 `--auth-context-id`,并注入 `x-corporation-id`。项目分析的 corporationIdList 是可选业务筛选,和网关主体上下文分开。
54
+
55
+ 参数以实际输入为准,文档示例不会被当作默认请求体。GET query 同样通过 `--data` 提供;multipart 文件字段传本地路径,由 CLI 读取文件上传。`--dry-run` 校验并预览,不发业务请求。
56
+
57
+ 仅 high-risk-write 要求确认:非交互未传 --yes 时返回 confirmation_required、退出码 10。普通 write 直接执行;项目分析三个导出属于普通 write,会生成文件并返回 URL。不能把 URL 响应称为本地下载完成。
58
+
59
+ TTY 默认表格,非 TTY 默认 JSON 信封。成功 stdout,失败 stderr;参数/配置错误退出码 2,一般 API 错误 1。上游响应由 CLI 解包到 data,不需要调用者重复解包。
60
+
61
+ 查看本地身份状态使用 `sino-bc-cli /auth status --json`,从成功信封的 `data.localStatus`、`data.message`、`data.authContextId` 读取。状态不验证服务端授权;正常业务调用会自动尝试续期,无需每次先查状态。资料为空或配置文件不存在均不能单独证明未登录;失败优先按最终 `error.params[].reason` 处理,完整规则见下方 shared。
62
+
63
+ 先读 [sino-bc-shared](../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取主体绑定、高风险写确认或鉴权恢复等 references;`--yes` 不绕过身份或主体校验。可用 `sino-bc-cli /skill` 查询 shared 的真实文件路径。
64
+
65
+ ## 维护同步
66
+
67
+ 运行 `npm run sync-api-doc`,自动发现所有模块,分别读取并核对 OpenAPI 和原生目录树,全部成功后同事务替换目录索引与生成物。token 只取环境变量 `APIFOX_TOKEN`;禁止进入仓库、用户配置或日志。业务技能入口、帮助和字段文档应同时验证,不能只看 catalog 新增数量。
File without changes
@@ -0,0 +1,61 @@
1
+ # 访问凭证管理
2
+
3
+ 对应命令:`auth +<shortcut>` 与 `auth api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 获取授权链接地址
8
+
9
+ `POST /platform/auth/cli/device/oauth/code`
10
+
11
+ 主体上下文:`tenant=false`。
12
+
13
+ 角色范围:`未声明`。
14
+
15
+ 风险:`read`。
16
+
17
+ CLI 生成浏览器授权链接。尚未确认时只保存短期申请;同一 deviceCode 未过期重复调用返回原链接且不延长 TTL。已落库的 deviceCode 不能重新申请,返回 DENIED。本接口免登录,由 deviceCode 校验。
18
+
19
+ **输入参数(--data)**
20
+
21
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
22
+ | --- | --- | --- | --- | --- |
23
+ | `deviceCode` | string | body | 是 | CLI 产生至少 32 字节安全随机 device_code(base64url,43 至 64 字符) |
24
+ | `clientId` | string | body | 是 | 固定为 sino-bc-cli |
25
+ | `accessType` | string | body | 是 | 固定为 offline_access |
26
+
27
+ ## 2. 获取访问凭证accessToken和刷新凭证refreshToken
28
+
29
+ `POST /platform/auth/cli/device/oauth/exchange`
30
+
31
+ 主体上下文:`tenant=false`。
32
+
33
+ 角色范围:`未声明`。
34
+
35
+ 风险:`read`。
36
+
37
+ 按设备凭证查询授权状态或领取首代凭证。未确认返回 PENDING;申请过期或领取恢复窗口已过返回 EXPIRED;确认后首次领取写入授权及首代 token,宽限 300 秒内可恢复同一代结果。本接口免登录,由 deviceCode 校验。
38
+
39
+ **输入参数(--data)**
40
+
41
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
42
+ | --- | --- | --- | --- | --- |
43
+ | `deviceCode` | string | body | 是 | 与auth-cli-device-oauth-code申请时使用的同一 deviceCode |
44
+
45
+ ## 3. 通过刷新凭证refreshToken获取访问凭证accessToken
46
+
47
+ `POST /platform/auth/cli/oauth/refresh`
48
+
49
+ 主体上下文:`tenant=false`。
50
+
51
+ 角色范围:`未声明`。
52
+
53
+ 风险:`read`。
54
+
55
+ 轮换刷新凭证。刷新凭证不存在、已删除、已失效或宽限外重试返回 INVALID_GRANT;首次轮换签发下一代 token 对,宽限内重试返回同一代结果,不产生分支、不延长到期。
56
+
57
+ **输入参数(--data)**
58
+
59
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
60
+ | --- | --- | --- | --- | --- |
61
+ | `refreshToken` | string | body | 是 | exchange 或上一次 refresh 返回的 refreshToken |
@@ -0,0 +1,130 @@
1
+ # 对账单
2
+
3
+ 对应命令:`bill +<shortcut>` 与 `bill api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 对账单列表
8
+
9
+ `POST /sino-wallet-pu/platform/wallet/bill/list`
10
+
11
+ 主体上下文:`tenant=true`。
12
+
13
+ 角色范围:`passport/system`。
14
+
15
+ 风险:`read`。
16
+
17
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
18
+
19
+ 调用示例:`sino-bc-cli bill api bill-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
20
+
21
+ 按生成时间查当前主体的账单聚合列表(BillAggregation)。响应只保留列表,不含待还汇总。
22
+
23
+ **输入参数(--data)**
24
+
25
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
26
+ | --- | --- | --- | --- | --- |
27
+ | `pageNum` | integer | body | 否 | 页码,从 1 开始 |
28
+ | `pageSize` | integer | body | 否 | 每页条数 |
29
+ | `startTime` | string | body | 是 | yyyy-MM-dd |
30
+ | `endTime` | string | body | 是 | yyyy-MM-dd |
31
+ | `billName` | string | body | 否 | 支持模糊 |
32
+ | `channelIdList` | array | body | 否 | 0 代表服务费系统 |
33
+ | `minAmount` | number | body | 否 | 账单金额最小值 |
34
+ | `maxAmount` | number | body | 否 | 账单金额最大值 |
35
+ | `invoiceStatusList` | array | body | 否 | 开票状态 |
36
+ | `billTypeList` | array | body | 否 | 账单类型 |
37
+ | `startMonth` | string | body | 否 | yyyyMM,如 202309 |
38
+ | `endMonth` | string | body | 否 | yyyyMM,如 202310 |
39
+
40
+ ## 2. 对账单基本信息
41
+
42
+ `GET /sino-wallet-pu/platform/wallet/bill/detail/basic`
43
+
44
+ 主体上下文:`tenant=true`。
45
+
46
+ 角色范围:`passport/system`。
47
+
48
+ 风险:`read`。
49
+
50
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
51
+
52
+ 调用示例:`sino-bc-cli bill api bill-detail-basic --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
53
+
54
+ 按 billId 查单条对账单金额、渠道、类型、开票状态。
55
+
56
+ **输入参数(--data)**
57
+
58
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
59
+ | --- | --- | --- | --- | --- |
60
+ | `billId` | string | query | 是 | 对账单id |
61
+
62
+ ## 3. 对账单明细
63
+
64
+ `POST /sino-wallet-pu/platform/wallet/bill/detail/original/list`
65
+
66
+ 主体上下文:`tenant=true`。
67
+
68
+ 角色范围:`passport/system`。
69
+
70
+ 风险:`read`。
71
+
72
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
73
+
74
+ 调用示例:`sino-bc-cli bill api bill-original-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
75
+
76
+ 按对账单类型返回媒体 / 服务费 / Credit Memo / 服务费红冲其中一类明细。
77
+
78
+ **输入参数(--data)**
79
+
80
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
81
+ | --- | --- | --- | --- | --- |
82
+ | `pageNum` | integer | body | 否 | 页码,从 1 开始 |
83
+ | `pageSize` | integer | body | 否 | 每页条数 |
84
+ | `billId` | string | body | 是 | 对账单id |
85
+
86
+ ## 4. 对账单操作历史
87
+
88
+ `POST /sino-wallet-pu/platform/wallet/bill/detail/operate/list`
89
+
90
+ 主体上下文:`tenant=true`。
91
+
92
+ 角色范围:`passport/system`。
93
+
94
+ 风险:`read`。
95
+
96
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
97
+
98
+ 调用示例:`sino-bc-cli bill api bill-operate-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
99
+
100
+ 分页查对账单操作记录。
101
+
102
+ **输入参数(--data)**
103
+
104
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
105
+ | --- | --- | --- | --- | --- |
106
+ | `pageNum` | integer | body | 否 | 页码,从 1 开始 |
107
+ | `pageSize` | integer | body | 否 | 每页条数 |
108
+ | `billId` | string | body | 是 | 对账单id |
109
+
110
+ ## 5. 对账单与发票枚举
111
+
112
+ `POST /sino-wallet-pu/platform/wallet/enum/bill-invoice/by-type/list`
113
+
114
+ 主体上下文:`tenant=true`。
115
+
116
+ 角色范围:`passport/system`。
117
+
118
+ 风险:`read`。
119
+
120
+ 主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
121
+
122
+ 调用示例:`sino-bc-cli bill api bill-invoice-enum --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
123
+
124
+ 按 types 批量取渠道、开票/还款状态、账单类型等枚举。type 必须用原文,含拼写。
125
+
126
+ **输入参数(--data)**
127
+
128
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
129
+ | --- | --- | --- | --- | --- |
130
+ | `types` | array | body | 是 | 至少 1 个。INVOICE_E_FILE_TYPE 结果不可靠,下载格式请用 PDF/OFD。 |
@@ -0,0 +1,119 @@
1
+ # 业务线AI策略
2
+
3
+ 对应命令:`biz-line-ai-strategy +<shortcut>` 与 `biz-line-ai-strategy api <name>`。
4
+
5
+ 执行前 MUST 读取 [sino-bc-shared](../../skills/sino-bc-shared/SKILL.md) 轻量入口,再按命中条件读取其 references;当前上下文已读且仍适用时可复用。可用 `sino-bc-cli /skill` 查询真实路径。
6
+
7
+ ## 1. 保存业务线AI策略
8
+
9
+ `POST /sino-opti-hive/biz-line/ai-strategy/save`
10
+
11
+ 主体上下文:`tenant=false`。
12
+
13
+ 角色范围:`sso/system`。
14
+
15
+ 风险:`write`。
16
+
17
+ 保存一个业务线、一个完整自然周的AI策略生成结果,返回新AI策略ID。bizLineId取自业务线列表;周期为已结束的周一至周日,默认支持2026-09-07及之后的周期(以服务配置为准)。仅优化系统管理员可调用,以BizLinePermCacheManager返回结果的admin标记为准:admin=true放行,其他情况拒绝。
18
+
19
+ 生成成功:generateCode传READY,提交四大策略文本、效果(1有效/2无效/3待观察)、Learning、三类标签ID列表和Excel文件存储key。标签ID从GET /sino-opti-hive/dict/items的对应策略场景查询,列表允许[],JSON序列化后每类最多500字符;文件先上传,fileStorageKey不是下载URL。
20
+ 未生成:generateCode传NO_PROJECT、UNSUPPORTED_CHANNEL、NO_AD_ACCOUNT、NO_DELIVERY_DATA或GENERATION_FAILED,并填写remark;三类展示状态PERIOD_NOT_FINISHED、BEFORE_SUPPORTED_PERIOD、GENERATING不可保存。
21
+
22
+ 副作用:同业务线同周期的有效旧AI策略逻辑删除后新增记录,并在同一注解事务内批量快照对应正式策略;没有正式策略时不造空快照。重复调用会产生新的AI策略ID,不是原记录更新。历史日志和快照保留,不改写正式策略内容。失败时整个事务回滚。本接口不加锁。
23
+ 返回遵循RestResponseVO,成功result为Long型AI策略ID。示例中的ID和文件key须替换为真实数据。
24
+
25
+ **输入参数(--data)**
26
+
27
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
28
+ | --- | --- | --- | --- | --- |
29
+ | `bizLineId` | integer | body | 是 | 必填,正整数;取自业务线列表的id。 |
30
+ | `periodStart` | string | body | 是 | 必填,周一,yyyy-MM-dd。 |
31
+ | `periodEnd` | string | body | 是 | 必填,同一自然周的周日,必须早于当前日期。 |
32
+ | `generateCode` | string | body | 是 | 必填,区分大小写:READY成功;NO_PROJECT无项目;UNSUPPORTED_CHANNEL渠道不支持;NO_AD_ACCOUNT无广告账号;NO_DELIVERY_DATA无投放数据;GENERATION_FAILED生成失败。 |
33
+ | `budgetStrategyTags` | array | body | 否 | READY时必填,允许空数组;取/dict/items的BUDGET_STRATEGY场景返回id,不传名称或itemCode。序列化后不超过500字符。 |
34
+ | `budgetStrategySupplement` | string | body | 否 | READY时必填,非空策略内容。 |
35
+ | `budgetStrategyEffect` | integer | body | 否 | READY时必填:1有效、2无效、3待观察。 |
36
+ | `budgetStrategyLearning` | string | body | 否 | READY时必填,非空的策略效果总结及经验。 |
37
+ | `mediaStrategyTags` | array | body | 否 | READY时必填,允许空数组;取/dict/items的MEDIA_STRATEGY场景返回id,不传名称或itemCode。序列化后不超过500字符。 |
38
+ | `mediaStrategySupplement` | string | body | 否 | READY时必填,非空策略内容。 |
39
+ | `mediaStrategyEffect` | integer | body | 否 | READY时必填:1有效、2无效、3待观察。 |
40
+ | `mediaStrategyLearning` | string | body | 否 | READY时必填,非空的策略效果总结及经验。 |
41
+ | `audienceStrategyTags` | array | body | 否 | READY时必填,允许空数组;取/dict/items的AUDIENCE_STRATEGY场景返回id,不传名称或itemCode。序列化后不超过500字符。 |
42
+ | `audienceStrategySupplement` | string | body | 否 | READY时必填,非空策略内容。 |
43
+ | `audienceStrategyEffect` | integer | body | 否 | READY时必填:1有效、2无效、3待观察。 |
44
+ | `audienceStrategyLearning` | string | body | 否 | READY时必填,非空的策略效果总结及经验。 |
45
+ | `creativeStrategy` | string | body | 否 | READY时必填,非空策略内容。 |
46
+ | `creativeStrategyEffect` | integer | body | 否 | READY时必填:1有效、2无效、3待观察。 |
47
+ | `creativeStrategyLearning` | string | body | 否 | READY时必填,非空的策略效果总结及经验。 |
48
+ | `fileStorageKey` | string | body | 否 | READY时必填;上传策略Excel后返回的存储key,不是下载URL。 |
49
+ | `remark` | string | body | 否 | 非READY时必填,说明不能生成或生成失败的原因。 |
50
+
51
+ ## 2. 业务线AI策略分页列表
52
+
53
+ `POST /sino-opti-hive/biz-line/ai-strategy/list`
54
+
55
+ 主体上下文:`tenant=false`。
56
+
57
+ 角色范围:`sso/system/passport`。
58
+
59
+ 风险:`read`。
60
+
61
+ 业务线AI策略分页列表
62
+
63
+ **输入参数(--data)**
64
+
65
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
66
+ | --- | --- | --- | --- | --- |
67
+ | `pageNum` | integer | body | 否 | 页码,默认1 |
68
+ | `pageSize` | integer | body | 否 | 每页条数,默认10 |
69
+ | `bizLineId` | integer | body | 否 | 业务线ID |
70
+ | `weekStart` | string | body | 否 | 周期开始日期(周一,yyyy-MM-dd) |
71
+ | `weekEnd` | string | body | 否 | 周期结束日期(周日,yyyy-MM-dd) |
72
+ | `generateCode` | string | body | 否 | 生成结果状态码:READY=生成成功,NO_PROJECT=未关联项目,UNSUPPORTED_CHANNEL=渠道不支持,NO_AD_ACCOUNT=未关联广告账号,NO_DELIVERY_DATA=无投放数据,GENERATION_FAILED=生成失败 |
73
+
74
+ ## 3. 业务线AI策略使用日志分页列表
75
+
76
+ `POST /sino-opti-hive/biz-line/ai-strategy/use-log/list`
77
+
78
+ 主体上下文:`tenant=false`。
79
+
80
+ 角色范围:`sso/system/passport`。
81
+
82
+ 风险:`read`。
83
+
84
+ 业务线AI策略使用日志分页列表
85
+
86
+ **输入参数(--data)**
87
+
88
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
89
+ | --- | --- | --- | --- | --- |
90
+ | `pageNum` | integer | body | 否 | 页码,默认1 |
91
+ | `pageSize` | integer | body | 否 | 每页条数,默认10 |
92
+ | `aiStrategyId` | integer | body | 否 | AI策略ID |
93
+ | `operateType` | string | body | 否 | 操作类型:GET_STRATEGY=获取策略,ADOPT_STRATEGY=采用策略,REJECT_STRATEGY=暂不采用 |
94
+ | `rejectReasonType` | string | body | 否 | 暂不采用原因类型:DATA_INACCURATE=数据不准确,CONTENT_REDUNDANT=内容太过冗余,ACTION_OMISSION_OR_ATTRIBUTION_ERROR=操作遗漏及归因错误,OTHER=其他 |
95
+
96
+ ## 4. 用户填写原始策略快照分页列表
97
+
98
+ `POST /sino-opti-hive/biz-line/ai-strategy/snapshot/list`
99
+
100
+ 主体上下文:`tenant=false`。
101
+
102
+ 角色范围:`sso/system/passport`。
103
+
104
+ 风险:`read`。
105
+
106
+ 用户填写原始策略快照分页列表
107
+
108
+ **输入参数(--data)**
109
+
110
+ | 字段 | 类型 | 位置 | 必填 | 说明 |
111
+ | --- | --- | --- | --- | --- |
112
+ | `pageNum` | integer | body | 否 | 页码,默认1 |
113
+ | `pageSize` | integer | body | 否 | 每页条数,默认10 |
114
+ | `aiStrategyId` | integer | body | 否 | 本次AI策略ID |
115
+ | `strategyId` | integer | body | 否 | 策略ID |
116
+ | `bizLineId` | integer | body | 否 | 业务线ID |
117
+ | `year` | integer | body | 否 | 策略所属ISO周年份(跨年周可能与自然年不同) |
118
+ | `weekStart` | string | body | 否 | 周期开始日期(周一,yyyy-MM-dd) |
119
+ | `weekEnd` | string | body | 否 | 周期结束日期(周日,yyyy-MM-dd) |