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.
- package/README.md +256 -0
- package/dist/affordance/auth.md +31 -0
- package/dist/affordance/bill.md +48 -0
- package/dist/affordance/biz-line-ai-strategy.md +35 -0
- package/dist/affordance/biz-line-metrics.md +47 -0
- package/dist/affordance/biz-line.md +84 -0
- package/dist/affordance/common-file.md +25 -0
- package/dist/affordance/dashboard.md +75 -0
- package/dist/affordance/dict.md +28 -0
- package/dist/affordance/document.md +67 -0
- package/dist/affordance/im.md +91 -0
- package/dist/affordance/invoice.md +49 -0
- package/dist/affordance/media.md +17 -0
- package/dist/affordance/organization.md +47 -0
- package/dist/affordance/project-analysis.md +95 -0
- package/dist/affordance/project.md +321 -0
- package/dist/affordance/quota.md +19 -0
- package/dist/affordance/reconciliation.md +41 -0
- package/dist/affordance/report.md +75 -0
- package/dist/affordance/sso-team-group.md +30 -0
- package/dist/affordance/task.md +148 -0
- package/dist/affordance/tenant.md +17 -0
- package/dist/affordance/user.md +41 -0
- package/dist/affordance/wallet.md +100 -0
- package/dist/api-doc/README.md +67 -0
- package/dist/api-doc/custom/template.md +0 -0
- package/dist/api-doc/oapi/auth.md +61 -0
- package/dist/api-doc/oapi/bill.md +130 -0
- package/dist/api-doc/oapi/biz-line-ai-strategy.md +119 -0
- package/dist/api-doc/oapi/biz-line-metrics.md +419 -0
- package/dist/api-doc/oapi/biz-line.md +382 -0
- package/dist/api-doc/oapi/common-file.md +50 -0
- package/dist/api-doc/oapi/dashboard.md +218 -0
- package/dist/api-doc/oapi/dict.md +49 -0
- package/dist/api-doc/oapi/document.md +182 -0
- package/dist/api-doc/oapi/im.md +278 -0
- package/dist/api-doc/oapi/invoice.md +129 -0
- package/dist/api-doc/oapi/media.md +17 -0
- package/dist/api-doc/oapi/organization.md +94 -0
- package/dist/api-doc/oapi/project-analysis.md +364 -0
- package/dist/api-doc/oapi/project.md +1114 -0
- package/dist/api-doc/oapi/quota.md +21 -0
- package/dist/api-doc/oapi/reconciliation.md +98 -0
- package/dist/api-doc/oapi/report.md +254 -0
- package/dist/api-doc/oapi/sso-team-group.md +54 -0
- package/dist/api-doc/oapi/task.md +528 -0
- package/dist/api-doc/oapi/tenant.md +17 -0
- package/dist/api-doc/oapi/user.md +98 -0
- package/dist/api-doc/oapi/wallet.md +275 -0
- package/dist/generated/api-catalog.json +39681 -0
- package/dist/generated/api-directory-index.json +1509 -0
- package/dist/index.js +2 -0
- package/dist/skill-manifest.json +336 -0
- package/dist/skills/biz-line-strategy-generate/SKILL.md +122 -0
- package/dist/skills/biz-line-strategy-generate/references/ai-strategy-prompt.md +50 -0
- package/dist/skills/biz-line-strategy-generate/references/api-flow.md +155 -0
- package/dist/skills/biz-line-strategy-generate/references/four-strategies.md +58 -0
- package/dist/skills/biz-line-strategy-generate/references/metrics.md +119 -0
- package/dist/skills/biz-line-strategy-generate/references/output-excel.md +63 -0
- package/dist/skills/biz-line-strategy-generate/references/runtime.md +127 -0
- package/dist/skills/biz-line-strategy-generate/references/spec.md +500 -0
- package/dist/skills/biz-line-strategy-generate/scripts/ai_strategy.py +89 -0
- package/dist/skills/biz-line-strategy-generate/scripts/build_report.py +629 -0
- package/dist/skills/biz-line-strategy-generate/scripts/cleanup.py +87 -0
- package/dist/skills/biz-line-strategy-generate/scripts/cli_json.py +705 -0
- package/dist/skills/biz-line-strategy-generate/scripts/fetch_data.py +449 -0
- package/dist/skills/biz-line-strategy-generate/scripts/run_workflow.py +402 -0
- package/dist/skills/biz-line-strategy-generate/scripts/strategy_output.py +556 -0
- package/dist/skills/biz-line-strategy-generate/scripts/submit_tags.py +32 -0
- package/dist/skills/biz-line-strategy-generate/scripts/summarize.py +932 -0
- package/dist/skills/biz-line-strategy-generate/scripts/test_ai_strategy.py +235 -0
- package/dist/skills/biz-line-strategy-generate/scripts/test_cli_json.py +97 -0
- package/dist/skills/biz-line-strategy-generate/scripts/test_database_output.py +904 -0
- package/dist/skills/biz-line-strategy-generate/scripts/test_pipeline.py +253 -0
- package/dist/skills/biz-line-strategy-generate/scripts/test_strategy_rules.py +224 -0
- package/dist/skills/biz-line-strategy-generate/scripts/test_tag_submission.py +238 -0
- package/dist/skills/biz-line-strategy-generate/scripts/test_workflow.py +1233 -0
- package/dist/skills/sino-bc-cli/SKILL.md +62 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-auth/SKILL.md +36 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-bill/SKILL.md +48 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/SKILL.md +58 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/references/common-mistakes.md +7 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line/references/enums.md +13 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line-ai-strategy/SKILL.md +46 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-biz-line-metrics/SKILL.md +46 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-common-file/SKILL.md +44 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-dashboard/SKILL.md +50 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-dict/SKILL.md +48 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-document/SKILL.md +53 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-im/SKILL.md +62 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-invoice/SKILL.md +48 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-media/SKILL.md +40 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-organization/SKILL.md +46 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-project/SKILL.md +112 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/SKILL.md +61 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/references/analysis-workflow.md +21 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-project-analysis/references/filters-and-metrics.md +30 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-quota/SKILL.md +44 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-reconciliation/SKILL.md +47 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-report/SKILL.md +53 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-sso-team-group/SKILL.md +45 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-task/SKILL.md +73 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-task/references/state-machine.md +18 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-tenant/SKILL.md +34 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-user/SKILL.md +57 -0
- package/dist/skills/sino-bc-cli/domains/sino-bc-wallet/SKILL.md +55 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8534789.md +53 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8551546.md +70 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8562638.md +13 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8566367.md +13 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8581524.md +17 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8601540.md +13 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8614891.md +33 -0
- package/dist/skills/sino-bc-cli/references/domain-index/module-8621792.md +17 -0
- package/dist/skills/sino-bc-shared/SKILL.md +31 -0
- package/dist/skills/sino-bc-shared/references/auth-recovery.md +36 -0
- package/dist/skills/sino-bc-shared/references/config-and-env.md +60 -0
- package/dist/skills/sino-bc-shared/references/output-contract.md +86 -0
- package/dist/skills/sino-bc-shared/references/skill-lifecycle.md +17 -0
- package/dist/skills/sino-bc-shared/references/tenant-context.md +21 -0
- package/dist/skills/sino-bc-shared/references/write-approval.md +16 -0
- package/package.json +70 -0
- package/scripts/postinstall.cjs +36 -0
|
@@ -0,0 +1,1114 @@
|
|
|
1
|
+
# 营销协同项目
|
|
2
|
+
|
|
3
|
+
对应命令:`project +<shortcut>` 与 `project 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-bc-nexus/project-action-log/page-by-project`
|
|
10
|
+
|
|
11
|
+
主体上下文:`tenant=true`。
|
|
12
|
+
|
|
13
|
+
角色范围:`sso/passport/system`。
|
|
14
|
+
|
|
15
|
+
风险:`read`。
|
|
16
|
+
|
|
17
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
18
|
+
|
|
19
|
+
调用示例:`sino-bc-cli project api project-action-log-page-by-project --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
20
|
+
|
|
21
|
+
按项目查询最新操作日志(分页倒序)
|
|
22
|
+
|
|
23
|
+
**输入参数(--data)**
|
|
24
|
+
|
|
25
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
26
|
+
| --- | --- | --- | --- | --- |
|
|
27
|
+
| `pageNum` | integer | body | 否 | 页码,从 1 开始 |
|
|
28
|
+
| `pageSize` | integer | body | 否 | 每页条数 |
|
|
29
|
+
| `sortType` | string | body | 否 | 排序字段 |
|
|
30
|
+
| `sortDirection` | string | body | 否 | 排序方向 ASC/DESC |
|
|
31
|
+
| `projectId` | integer | body | 否 | 所属项目ID |
|
|
32
|
+
|
|
33
|
+
## 2. 预算分布动态字段配置(按签约主体解析:主体 > 行业 > 不展示)
|
|
34
|
+
|
|
35
|
+
`GET /sino-bc-nexus/project/budget-field-config`
|
|
36
|
+
|
|
37
|
+
主体上下文:`tenant=true`。
|
|
38
|
+
|
|
39
|
+
角色范围:`sso/passport/system`。
|
|
40
|
+
|
|
41
|
+
风险:`read`。
|
|
42
|
+
|
|
43
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
44
|
+
|
|
45
|
+
调用示例:`sino-bc-cli project api project-budget-field-config --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
46
|
+
|
|
47
|
+
预算分布动态字段配置(按签约主体解析:主体 > 行业 > 不展示)
|
|
48
|
+
|
|
49
|
+
## 3. 创建对客项目
|
|
50
|
+
|
|
51
|
+
`POST /sino-bc-nexus/project/create`
|
|
52
|
+
|
|
53
|
+
主体上下文:`tenant=true`。
|
|
54
|
+
|
|
55
|
+
角色范围:`sso/passport/system`。
|
|
56
|
+
|
|
57
|
+
风险:`write`。
|
|
58
|
+
|
|
59
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
60
|
+
|
|
61
|
+
调用示例:`sino-bc-cli project api project-create --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
62
|
+
|
|
63
|
+
创建对客项目
|
|
64
|
+
|
|
65
|
+
**输入参数(--data)**
|
|
66
|
+
|
|
67
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
68
|
+
| --- | --- | --- | --- | --- |
|
|
69
|
+
| `groupId` | integer | body | 否 | 项目分组 |
|
|
70
|
+
| `name` | string | body | 否 | 节点名称 |
|
|
71
|
+
| `projectInfo` | string | body | 否 | 项目信息(最多2000字,纯富文本内容,附件通过t_nexus_document管理) |
|
|
72
|
+
| `stageTemplateId` | integer | body | 否 | 创建时选用的阶段模板来源(运营统计) |
|
|
73
|
+
| `projectLevel` | string | body | 否 | S/A/B/C |
|
|
74
|
+
| `startDate` | string | body | 否 | 项目开始时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
75
|
+
| `endDate` | string | body | 否 | 项目结束时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
76
|
+
| `projectType` | string | body | 否 | 项目类型 |
|
|
77
|
+
| `businessLine` | string | body | 否 | 所属业务线编码 |
|
|
78
|
+
| `marketScope` | string | body | 否 | 市场范围编码 |
|
|
79
|
+
| `budgetAmount` | number | body | 否 | 项目预算 |
|
|
80
|
+
| `budgets` | array | body | 否 | 预算分布明细(维度+金额) |
|
|
81
|
+
| `milestones` | array | body | 否 | 重要时间节点(名称+日期),创建时会序列化到milestones_json) |
|
|
82
|
+
| `milestonesJson` | string | body | 否 | 重要时间节点(名称+日期),JSON字符串,兼容老入参 |
|
|
83
|
+
| `riskNote` | string | body | 否 | 风险点 |
|
|
84
|
+
| `remark` | string | body | 否 | 备注 |
|
|
85
|
+
| `amPocUserIds` | array | body | 否 | AM POC(多选,用户ID列表) |
|
|
86
|
+
| `pmPocUserIds` | array | body | 否 | PM POC(多选,用户ID列表) |
|
|
87
|
+
| `participantUserIds` | array | body | 否 | 项目参与人(多选,用户ID列表) |
|
|
88
|
+
| `mentorUserId` | integer | body | 否 | 带教(单选,用户ID) |
|
|
89
|
+
| `customerOwnerUserId` | integer | body | 否 | 客户负责人(单选,用户ID) |
|
|
90
|
+
| `uploadRecordIdList` | array | body | 否 | 文件上传记录主键列表(批量关联为项目附件) |
|
|
91
|
+
| `isStaged` | boolean | body | 否 | 是否分阶段投放 |
|
|
92
|
+
| `deliveryStages` | array | body | 否 | 投放阶段列表;isStaged=true 时必填阶段信息;isStaged=false 时可仅传一条且只含 kpiTargets |
|
|
93
|
+
| `when` | string | body | 否 | 节点时间,支持日期或日期时间文本 |
|
|
94
|
+
|
|
95
|
+
## 4. 删除对客项目
|
|
96
|
+
|
|
97
|
+
`POST /sino-bc-nexus/project/delete`
|
|
98
|
+
|
|
99
|
+
主体上下文:`tenant=true`。
|
|
100
|
+
|
|
101
|
+
角色范围:`sso/passport/system`。
|
|
102
|
+
|
|
103
|
+
风险:`write`。
|
|
104
|
+
|
|
105
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
106
|
+
|
|
107
|
+
调用示例:`sino-bc-cli project api project-delete --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
108
|
+
|
|
109
|
+
删除对客项目
|
|
110
|
+
|
|
111
|
+
**输入参数(--data)**
|
|
112
|
+
|
|
113
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
114
|
+
| --- | --- | --- | --- | --- |
|
|
115
|
+
| `id` | integer | body | 否 | 项目ID |
|
|
116
|
+
|
|
117
|
+
## 5. 投放阶段列表
|
|
118
|
+
|
|
119
|
+
`GET /sino-bc-nexus/project/delivery-data/stage-tabs`
|
|
120
|
+
|
|
121
|
+
主体上下文:`tenant=true`。
|
|
122
|
+
|
|
123
|
+
角色范围:`sso/passport/system`。
|
|
124
|
+
|
|
125
|
+
风险:`read`。
|
|
126
|
+
|
|
127
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
128
|
+
|
|
129
|
+
调用示例:`sino-bc-cli project api project-delivery-data-stage-tabs --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
130
|
+
|
|
131
|
+
投放阶段 Tab 下拉(含起止时间)
|
|
132
|
+
|
|
133
|
+
**输入参数(--data)**
|
|
134
|
+
|
|
135
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
136
|
+
| --- | --- | --- | --- | --- |
|
|
137
|
+
| `projectId` | integer | query | 是 | |
|
|
138
|
+
|
|
139
|
+
## 6. 对客项目详情
|
|
140
|
+
|
|
141
|
+
`GET /sino-bc-nexus/project/detail`
|
|
142
|
+
|
|
143
|
+
主体上下文:`tenant=true`。
|
|
144
|
+
|
|
145
|
+
角色范围:`sso/passport/system`。
|
|
146
|
+
|
|
147
|
+
风险:`read`。
|
|
148
|
+
|
|
149
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
150
|
+
|
|
151
|
+
调用示例:`sino-bc-cli project api project-detail --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
152
|
+
|
|
153
|
+
对客项目详情(平铺 JSON:ext_json values + 业务组装字段)
|
|
154
|
+
|
|
155
|
+
**输入参数(--data)**
|
|
156
|
+
|
|
157
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
158
|
+
| --- | --- | --- | --- | --- |
|
|
159
|
+
| `id` | integer | query | 是 | 项目ID |
|
|
160
|
+
|
|
161
|
+
## 7. 删除项目文档
|
|
162
|
+
|
|
163
|
+
`POST /sino-bc-nexus/project/document/delete`
|
|
164
|
+
|
|
165
|
+
主体上下文:`tenant=true`。
|
|
166
|
+
|
|
167
|
+
角色范围:`sso/passport/system`。
|
|
168
|
+
|
|
169
|
+
风险:`write`。
|
|
170
|
+
|
|
171
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
172
|
+
|
|
173
|
+
调用示例:`sino-bc-cli project api project-document-delete --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
174
|
+
|
|
175
|
+
删除项目文档
|
|
176
|
+
|
|
177
|
+
**输入参数(--data)**
|
|
178
|
+
|
|
179
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
180
|
+
| --- | --- | --- | --- | --- |
|
|
181
|
+
| `documentId` | integer | body | 否 | 文档ID |
|
|
182
|
+
|
|
183
|
+
## 8. 查询项目文档已关联任务列表
|
|
184
|
+
|
|
185
|
+
`POST /sino-bc-nexus/project/document/linked-tasks`
|
|
186
|
+
|
|
187
|
+
主体上下文:`tenant=true`。
|
|
188
|
+
|
|
189
|
+
角色范围:`sso/passport/system`。
|
|
190
|
+
|
|
191
|
+
风险:`read`。
|
|
192
|
+
|
|
193
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
194
|
+
|
|
195
|
+
调用示例:`sino-bc-cli project api project-document-linked-tasks --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
196
|
+
|
|
197
|
+
查询项目文档已关联任务列表(同项目同 storage_key 的 TASK 文档行)
|
|
198
|
+
|
|
199
|
+
**输入参数(--data)**
|
|
200
|
+
|
|
201
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
202
|
+
| --- | --- | --- | --- | --- |
|
|
203
|
+
| `documentId` | integer | body | 否 | 项目文档ID(doc_type=PROJECT) |
|
|
204
|
+
|
|
205
|
+
## 9. 查询项目文档
|
|
206
|
+
|
|
207
|
+
`POST /sino-bc-nexus/project/document/list`
|
|
208
|
+
|
|
209
|
+
主体上下文:`tenant=true`。
|
|
210
|
+
|
|
211
|
+
角色范围:`sso/passport/system`。
|
|
212
|
+
|
|
213
|
+
风险:`read`。
|
|
214
|
+
|
|
215
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
216
|
+
|
|
217
|
+
调用示例:`sino-bc-cli project api project-document-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
218
|
+
|
|
219
|
+
查询项目文档
|
|
220
|
+
|
|
221
|
+
**输入参数(--data)**
|
|
222
|
+
|
|
223
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
224
|
+
| --- | --- | --- | --- | --- |
|
|
225
|
+
| `projectId` | integer | body | 否 | 项目ID |
|
|
226
|
+
| `fileName` | string | body | 否 | 文件名(模糊匹配) |
|
|
227
|
+
| `projectStageId` | integer | body | 否 | 项目阶段ID;传 0 表示「其他」(无 PROJECT_STAGE 标记或 ref_id=0) |
|
|
228
|
+
|
|
229
|
+
## 10. 修改项目文档所属阶段
|
|
230
|
+
|
|
231
|
+
`POST /sino-bc-nexus/project/document/update-stage`
|
|
232
|
+
|
|
233
|
+
主体上下文:`tenant=true`。
|
|
234
|
+
|
|
235
|
+
角色范围:`sso/passport/system`。
|
|
236
|
+
|
|
237
|
+
风险:`write`。
|
|
238
|
+
|
|
239
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
240
|
+
|
|
241
|
+
调用示例:`sino-bc-cli project api project-document-update-stage --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
242
|
+
|
|
243
|
+
修改项目文档所属阶段
|
|
244
|
+
|
|
245
|
+
**输入参数(--data)**
|
|
246
|
+
|
|
247
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
248
|
+
| --- | --- | --- | --- | --- |
|
|
249
|
+
| `documentId` | integer | body | 否 | 项目文档ID |
|
|
250
|
+
| `projectStageId` | integer | body | 否 | 项目阶段ID;不传或 null 表示「其他」 |
|
|
251
|
+
|
|
252
|
+
## 11. 上传项目文档
|
|
253
|
+
|
|
254
|
+
`POST /sino-bc-nexus/project/document/upload`
|
|
255
|
+
|
|
256
|
+
主体上下文:`tenant=true`。
|
|
257
|
+
|
|
258
|
+
角色范围:`sso/passport/system`。
|
|
259
|
+
|
|
260
|
+
风险:`write`。
|
|
261
|
+
|
|
262
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
263
|
+
|
|
264
|
+
调用示例:`sino-bc-cli project api project-document-upload --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
265
|
+
|
|
266
|
+
上传项目文档(multipart/form-data:projectId项目ID,file 为文件 part)
|
|
267
|
+
|
|
268
|
+
编码:`multipart/form-data`;文件字段填写本地路径,`--dry-run` 只预览、不上传。
|
|
269
|
+
|
|
270
|
+
**输入参数(--data)**
|
|
271
|
+
|
|
272
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
273
|
+
| --- | --- | --- | --- | --- |
|
|
274
|
+
| `file` | string | form | 是 | 本地文件路径;发送时读取为文件。文件 |
|
|
275
|
+
| `projectId` | integer | query | 是 | 项目ID |
|
|
276
|
+
| `projectStageId` | integer | query | 否 | 项目阶段ID |
|
|
277
|
+
|
|
278
|
+
## 12. 动态表单创建对客项目
|
|
279
|
+
|
|
280
|
+
`POST /sino-bc-nexus/project/form-create`
|
|
281
|
+
|
|
282
|
+
主体上下文:`tenant=true`。
|
|
283
|
+
|
|
284
|
+
角色范围:`sso/passport/system`。
|
|
285
|
+
|
|
286
|
+
风险:`write`。
|
|
287
|
+
|
|
288
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
289
|
+
|
|
290
|
+
调用示例:`sino-bc-cli project api project-form-create --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
291
|
+
|
|
292
|
+
请求入参按动态表单接口来,参考:
|
|
293
|
+
/sino-bc-nexus/admin/corp-project-form-template/form-schema,此处 request 给出目前字段样例,不完备。动态表单变更,根据动态表单返回结构解析后选择入参。
|
|
294
|
+
|
|
295
|
+
**输入参数(--data)**
|
|
296
|
+
|
|
297
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
298
|
+
| --- | --- | --- | --- | --- |
|
|
299
|
+
| `groupId` | integer | body | 否 | 项目分组 |
|
|
300
|
+
| `name` | string | body | 是 | 创建必填且不能全为空白;编辑请提交完整项目名称。 |
|
|
301
|
+
| `projectInfo` | string | body | 否 | 项目说明内容;附件通过 uploadRecordIdList 关联。 |
|
|
302
|
+
| `stageTemplateId` | integer | body | 否 | 创建时选用的阶段模板来源(运营统计) |
|
|
303
|
+
| `projectLevel` | string | body | 否 | S/A/B/C |
|
|
304
|
+
| `startDate` | string | body | 否 | 项目开始时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
305
|
+
| `endDate` | string | body | 否 | 项目结束时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
306
|
+
| `projectType` | string | body | 否 | 项目类型 |
|
|
307
|
+
| `businessLine` | string | body | 否 | 所属业务线编码 |
|
|
308
|
+
| `marketScope` | string | body | 否 | 市场范围编码 |
|
|
309
|
+
| `budgetAmount` | number | body | 否 | 项目总预算,不能小于0;budgets 非空时必填。 |
|
|
310
|
+
| `budgets` | array | body | 否 | 预算分布明细(维度+金额) |
|
|
311
|
+
| `milestonesJson` | string | body | 否 | JSON 字符串,节点包含 name(名称)和 when(日期或日期时间文本);直接提交同名 DTO 字段。 |
|
|
312
|
+
| `riskNote` | string | body | 否 | 风险点 |
|
|
313
|
+
| `remark` | string | body | 否 | 备注 |
|
|
314
|
+
| `amPocUserIds` | array | body | 否 | AM POC(多选,用户ID列表) |
|
|
315
|
+
| `pmPocUserIds` | array | body | 否 | PM POC(多选,用户ID列表) |
|
|
316
|
+
| `participantUserIds` | array | body | 否 | 项目参与人(多选,用户ID列表) |
|
|
317
|
+
| `mentorUserId` | integer | body | 否 | 带教(单选,用户ID) |
|
|
318
|
+
| `customerOwnerUserId` | integer | body | 否 | 客户负责人(单选,用户ID) |
|
|
319
|
+
| `uploadRecordIdList` | array | body | 否 | 文件上传记录主键列表(批量关联为项目附件) |
|
|
320
|
+
| `isStaged` | boolean | body | 否 | 是否分阶段投放;deliveryStages 非空且本字段未传时,服务端自动补 true。不分阶段仅提交 KPI 时应显式传 false。 |
|
|
321
|
+
| `deliveryStages` | array | body | 否 | 投放阶段列表;isStaged=true 时至少一条,名称必填且不超过20字、不能重复,起止时间必填且须在项目时间内,阶段不得重叠,预算大于0;提供项目总预算时阶段预算之和须与之相等。isStaged=false 时可传一条仅含 kpiTargets 的记录。 |
|
|
322
|
+
| `templateType` | string | body | 否 | 默认 PROJECT;服务端去除首尾空白并转为大写。 |
|
|
323
|
+
| `templateId` | integer | body | 否 | 选填。显式传入时必须存在;创建未传时依次使用签约主体绑定模板、SYSTEM 种子模板;编辑未传时先沿用该项目同类型的已有模板绑定。 |
|
|
324
|
+
| `members` | array | body | 否 | 元素为 userId、role;非空时优先于按角色拆分的成员字段。 |
|
|
325
|
+
| `taskSource` | string | body | 否 | 来源编码:BC_NEXUS(协同)、WEB_EMBED(网页内嵌)、AGENT-AILY、OPTI_HIVE(优化工作台);仅用于本次操作,不保存到表单扩展快照。 |
|
|
326
|
+
| `taskSourceSubtype` | string | body | 否 | 飞书子类型:LARK_SINGLE_CHAT、LARK_GROUP_CHAT、LARK_AILY_AGENT_CHAT;命中任一类型时必须传完整 larkChat。 |
|
|
327
|
+
| `larkChat` | object | body | 否 | 飞书来源子类型时必填,chatId/startMessageId/endMessageId 均不能为空白;仅用于本次操作。 |
|
|
328
|
+
| `mpLink` | string | body | 否 | 动态扩展字段;链接新增或变更会进入异步解析流程。 |
|
|
329
|
+
|
|
330
|
+
## 13. 动态表单编辑对客项目
|
|
331
|
+
|
|
332
|
+
`POST /sino-bc-nexus/project/form-update`
|
|
333
|
+
|
|
334
|
+
主体上下文:`tenant=true`。
|
|
335
|
+
|
|
336
|
+
角色范围:`sso/passport/system`。
|
|
337
|
+
|
|
338
|
+
风险:`write`。
|
|
339
|
+
|
|
340
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
341
|
+
|
|
342
|
+
调用示例:`sino-bc-cli project api project-form-update --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
343
|
+
|
|
344
|
+
请求入参按动态表单接口来,参考:
|
|
345
|
+
/sino-bc-nexus/admin/corp-project-form-template/form-schema,此处 request 给出目前字段样例,不完备。动态表单变更,根据动态表单返回结构解析后选择入参。
|
|
346
|
+
|
|
347
|
+
编辑采用整体替换,不是只更新传入字段。提交前先读取项目详情,以现有可写业务字段为基础合并本次修改,保留未修改的普通字段、动态扩展字段、完整成员和附件列表;不要直接回传权限、审计等只读字段,也不要仅提交 id 和变更字段。预算、投放阶段等字段另有未传/null/空列表的处理规则时,以对应字段说明为准。
|
|
348
|
+
|
|
349
|
+
获取编辑表单时,调用 /sino-bc-nexus/admin/corp-project-form-template/form-schema 并传 refId=目标项目ID、templateType=对应模板类型,使用项目绑定模板。创建和编辑提交的 templateType 缺省为 PROJECT。
|
|
350
|
+
|
|
351
|
+
已有 mpLink 被漏传或清空会按删除链接处理;已有 mpLink 被删除或更换时,会清理原投放阶段及其 KPI、预算明细,不清空项目总预算金额。换链后再异步解析新文档,删除链接不会重新解析。仅修改其他字段时必须保留原 mpLink;提交前明确核对链接变化及其清理后果。
|
|
352
|
+
|
|
353
|
+
**输入参数(--data)**
|
|
354
|
+
|
|
355
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
356
|
+
| --- | --- | --- | --- | --- |
|
|
357
|
+
| `id` | integer | body | 是 | 必填,待编辑项目ID;服务端校验主体及项目编辑权限。 |
|
|
358
|
+
| `groupId` | integer | body | 否 | 项目分组 |
|
|
359
|
+
| `name` | string | body | 否 | 创建必填且不能全为空白;编辑请提交完整项目名称。 |
|
|
360
|
+
| `projectInfo` | string | body | 否 | 项目说明内容;附件通过 uploadRecordIdList 关联。 |
|
|
361
|
+
| `stageTemplateId` | integer | body | 否 | DTO 可接收;当前表单编辑不据此重建项目阶段模板。 |
|
|
362
|
+
| `projectLevel` | string | body | 否 | S/A/B/C |
|
|
363
|
+
| `startDate` | string | body | 否 | 项目开始时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
364
|
+
| `endDate` | string | body | 否 | 项目结束时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
365
|
+
| `projectType` | string | body | 否 | 项目类型 |
|
|
366
|
+
| `businessLine` | string | body | 否 | 所属业务线编码 |
|
|
367
|
+
| `marketScope` | string | body | 否 | 市场范围编码 |
|
|
368
|
+
| `budgetAmount` | number | body | 否 | 项目总预算,不能小于0;budgets 非空时必填。 |
|
|
369
|
+
| `budgets` | array | body | 否 | 预算分布明细;未传或 null 且未修改投放阶段时保留原明细,[] 显式清空普通维度;修改投放阶段时按阶段规则合并。 |
|
|
370
|
+
| `milestonesJson` | string | body | 否 | JSON 字符串,节点包含 name(名称)和 when(日期或日期时间文本);直接提交同名 DTO 字段。 |
|
|
371
|
+
| `riskNote` | string | body | 否 | 风险点 |
|
|
372
|
+
| `remark` | string | body | 否 | 备注 |
|
|
373
|
+
| `amPocUserIds` | array | body | 否 | AM POC(多选,用户ID列表) |
|
|
374
|
+
| `pmPocUserIds` | array | body | 否 | PM POC(多选,用户ID列表) |
|
|
375
|
+
| `participantUserIds` | array | body | 否 | 项目参与人(多选,用户ID列表) |
|
|
376
|
+
| `mentorUserId` | integer | body | 否 | 带教(单选,用户ID) |
|
|
377
|
+
| `customerOwnerUserId` | integer | body | 否 | 客户负责人(单选,用户ID) |
|
|
378
|
+
| `uploadRecordIdList` | array | body | 否 | 文件上传记录ID列表;按整组替换项目附件,未传或空列表会移除原项目附件关联,请提交完整列表。 |
|
|
379
|
+
| `isStaged` | boolean | body | 否 | 是否分阶段投放;deliveryStages 非空且本字段未传时,服务端自动补 true。不分阶段仅提交 KPI 时应显式传 false。 |
|
|
380
|
+
| `deliveryStages` | array | body | 否 | 投放阶段列表;isStaged=true 时至少一条,名称必填且不超过20字、不能重复,起止时间必填且须在项目时间内,阶段不得重叠,预算大于0;提供项目总预算时阶段预算之和须与之相等。isStaged=false 时可传一条仅含 kpiTargets 的记录。 |
|
|
381
|
+
| `templateType` | string | body | 否 | 默认 PROJECT;服务端去除首尾空白并转为大写。 |
|
|
382
|
+
| `templateId` | integer | body | 否 | 选填。显式传入时必须存在;创建未传时依次使用签约主体绑定模板、SYSTEM 种子模板;编辑未传时先沿用该项目同类型的已有模板绑定。 |
|
|
383
|
+
| `members` | array | body | 否 | 元素为 userId、role;非空时优先于按角色拆分的成员字段。 编辑时重建成员关系,未传不能视为保留原成员;请提交完整成员。 |
|
|
384
|
+
| `taskSource` | string | body | 否 | 来源编码:BC_NEXUS(协同)、WEB_EMBED(网页内嵌)、AGENT-AILY、OPTI_HIVE(优化工作台);仅用于本次操作,不保存到表单扩展快照。 |
|
|
385
|
+
| `taskSourceSubtype` | string | body | 否 | 飞书子类型:LARK_SINGLE_CHAT、LARK_GROUP_CHAT、LARK_AILY_AGENT_CHAT;命中任一类型时必须传完整 larkChat。 |
|
|
386
|
+
| `larkChat` | object | body | 否 | 飞书来源子类型时必填,chatId/startMessageId/endMessageId 均不能为空白;仅用于本次操作。 |
|
|
387
|
+
| `mpLink` | string | body | 否 | 动态扩展字段。编辑时保留未修改的原链接;已有链接被漏传或清空视为删除。删除或更换已有链接会清理原投放阶段及其 KPI、预算明细,不清空项目总预算金额;换链后再异步解析新文档,删除不再解析。首次新增链接进入异步解析流程。 |
|
|
388
|
+
| `projectStatus` | string | body | 否 | DTO 可接收此字段,但当前表单编辑不据此更新主表状态;状态变更使用 /project/status/update。 |
|
|
389
|
+
|
|
390
|
+
## 14. 批量修改项目分组(将指定项目移动到目标分组)
|
|
391
|
+
|
|
392
|
+
`POST /sino-bc-nexus/project-group/batch-update-projects`
|
|
393
|
+
|
|
394
|
+
主体上下文:`tenant=true`。
|
|
395
|
+
|
|
396
|
+
角色范围:`sso/passport/system`。
|
|
397
|
+
|
|
398
|
+
风险:`write`。
|
|
399
|
+
|
|
400
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
401
|
+
|
|
402
|
+
调用示例:`sino-bc-cli project api project-group-batch-update-projects --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
403
|
+
|
|
404
|
+
批量修改项目分组(将指定项目移动到目标分组)
|
|
405
|
+
|
|
406
|
+
**输入参数(--data)**
|
|
407
|
+
|
|
408
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
409
|
+
| --- | --- | --- | --- | --- |
|
|
410
|
+
| `groupId` | integer | body | 否 | 目标分组ID |
|
|
411
|
+
| `projectIds` | array | body | 否 | 项目ID列表 |
|
|
412
|
+
|
|
413
|
+
## 15. 创建项目分组
|
|
414
|
+
|
|
415
|
+
`POST /sino-bc-nexus/project-group/create`
|
|
416
|
+
|
|
417
|
+
主体上下文:`tenant=true`。
|
|
418
|
+
|
|
419
|
+
角色范围:`sso/passport/system`。
|
|
420
|
+
|
|
421
|
+
风险:`write`。
|
|
422
|
+
|
|
423
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
424
|
+
|
|
425
|
+
调用示例:`sino-bc-cli project api project-group-create --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
426
|
+
|
|
427
|
+
创建项目分组
|
|
428
|
+
|
|
429
|
+
**输入参数(--data)**
|
|
430
|
+
|
|
431
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
432
|
+
| --- | --- | --- | --- | --- |
|
|
433
|
+
| `name` | string | body | 否 | 分组名称 |
|
|
434
|
+
|
|
435
|
+
## 16. 删除项目分组
|
|
436
|
+
|
|
437
|
+
`POST /sino-bc-nexus/project-group/delete`
|
|
438
|
+
|
|
439
|
+
主体上下文:`tenant=true`。
|
|
440
|
+
|
|
441
|
+
角色范围:`sso/passport/system`。
|
|
442
|
+
|
|
443
|
+
风险:`write`。
|
|
444
|
+
|
|
445
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
446
|
+
|
|
447
|
+
调用示例:`sino-bc-cli project api project-group-delete --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
448
|
+
|
|
449
|
+
删除项目分组
|
|
450
|
+
|
|
451
|
+
**输入参数(--data)**
|
|
452
|
+
|
|
453
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
454
|
+
| --- | --- | --- | --- | --- |
|
|
455
|
+
| `id` | integer | body | 否 | 分组ID |
|
|
456
|
+
|
|
457
|
+
## 17. 分组详情
|
|
458
|
+
|
|
459
|
+
`GET /sino-bc-nexus/project-group/detail`
|
|
460
|
+
|
|
461
|
+
主体上下文:`tenant=true`。
|
|
462
|
+
|
|
463
|
+
角色范围:`sso/passport/system`。
|
|
464
|
+
|
|
465
|
+
风险:`read`。
|
|
466
|
+
|
|
467
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
468
|
+
|
|
469
|
+
调用示例:`sino-bc-cli project api project-group-detail --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
470
|
+
|
|
471
|
+
分组详情
|
|
472
|
+
|
|
473
|
+
**输入参数(--data)**
|
|
474
|
+
|
|
475
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
476
|
+
| --- | --- | --- | --- | --- |
|
|
477
|
+
| `id` | integer | query | 是 | |
|
|
478
|
+
|
|
479
|
+
## 18. 分组列表(全量)
|
|
480
|
+
|
|
481
|
+
`POST /sino-bc-nexus/project-group/list`
|
|
482
|
+
|
|
483
|
+
主体上下文:`tenant=true`。
|
|
484
|
+
|
|
485
|
+
角色范围:`sso/passport/system`。
|
|
486
|
+
|
|
487
|
+
风险:`read`。
|
|
488
|
+
|
|
489
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
490
|
+
|
|
491
|
+
调用示例:`sino-bc-cli project api project-group-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
492
|
+
|
|
493
|
+
分组列表(全量)
|
|
494
|
+
|
|
495
|
+
**输入参数(--data)**
|
|
496
|
+
|
|
497
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
498
|
+
| --- | --- | --- | --- | --- |
|
|
499
|
+
| `name` | string | body | 否 | 分组名称(模糊匹配) |
|
|
500
|
+
|
|
501
|
+
## 19. 更新项目分组名称
|
|
502
|
+
|
|
503
|
+
`POST /sino-bc-nexus/project-group/update`
|
|
504
|
+
|
|
505
|
+
主体上下文:`tenant=true`。
|
|
506
|
+
|
|
507
|
+
角色范围:`sso/passport/system`。
|
|
508
|
+
|
|
509
|
+
风险:`write`。
|
|
510
|
+
|
|
511
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
512
|
+
|
|
513
|
+
调用示例:`sino-bc-cli project api project-group-update --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
514
|
+
|
|
515
|
+
更新项目分组名称
|
|
516
|
+
|
|
517
|
+
**输入参数(--data)**
|
|
518
|
+
|
|
519
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
520
|
+
| --- | --- | --- | --- | --- |
|
|
521
|
+
| `id` | integer | body | 否 | 分组ID |
|
|
522
|
+
| `name` | string | body | 否 | 分组名称 |
|
|
523
|
+
|
|
524
|
+
## 20. 对客项目列表(全量)
|
|
525
|
+
|
|
526
|
+
`POST /sino-bc-nexus/project/list`
|
|
527
|
+
|
|
528
|
+
主体上下文:`tenant=true`。
|
|
529
|
+
|
|
530
|
+
角色范围:`sso/passport/system`。
|
|
531
|
+
|
|
532
|
+
风险:`read`。
|
|
533
|
+
|
|
534
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
535
|
+
|
|
536
|
+
调用示例:`sino-bc-cli project api project-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
537
|
+
|
|
538
|
+
对客项目列表(全量)
|
|
539
|
+
|
|
540
|
+
**输入参数(--data)**
|
|
541
|
+
|
|
542
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
543
|
+
| --- | --- | --- | --- | --- |
|
|
544
|
+
| `projectId` | integer | body | 否 | 项目ID(精确) |
|
|
545
|
+
| `projectIdList` | array | body | 否 | 项目ID列表 |
|
|
546
|
+
| `groupId` | integer | body | 否 | 分组ID |
|
|
547
|
+
| `name` | string | body | 否 | 项目名称(模糊匹配) |
|
|
548
|
+
| `projectLevel` | string | body | 否 | 项目等级:S/A/B/C |
|
|
549
|
+
| `projectLevelList` | array | body | 否 | 项目等级多选:S/A/B/C |
|
|
550
|
+
| `projectTypeList` | array | body | 否 | 项目类型多选 |
|
|
551
|
+
| `stageNameList` | array | body | 否 | 当前阶段名称多选(与仪表盘阶段分布 code 一致) |
|
|
552
|
+
| `projectStatus` | string | body | 否 | 项目状态(可选,空=全部) |
|
|
553
|
+
|
|
554
|
+
## 21. 邀请项目成员
|
|
555
|
+
|
|
556
|
+
`POST /sino-bc-nexus/project-member/invite`
|
|
557
|
+
|
|
558
|
+
主体上下文:`tenant=true`。
|
|
559
|
+
|
|
560
|
+
角色范围:`sso/passport/system`。
|
|
561
|
+
|
|
562
|
+
风险:`write`。
|
|
563
|
+
|
|
564
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
565
|
+
|
|
566
|
+
调用示例:`sino-bc-cli project api project-member-invite --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
567
|
+
|
|
568
|
+
邀请项目成员
|
|
569
|
+
|
|
570
|
+
**输入参数(--data)**
|
|
571
|
+
|
|
572
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
573
|
+
| --- | --- | --- | --- | --- |
|
|
574
|
+
| `projectId` | integer | body | 否 | 项目ID |
|
|
575
|
+
| `userIdList` | array | body | 否 | 待邀请用户ID列表 |
|
|
576
|
+
|
|
577
|
+
## 22. 项目成员列表
|
|
578
|
+
|
|
579
|
+
`GET /sino-bc-nexus/project-member/list`
|
|
580
|
+
|
|
581
|
+
主体上下文:`tenant=true`。
|
|
582
|
+
|
|
583
|
+
角色范围:`sso/passport/system`。
|
|
584
|
+
|
|
585
|
+
风险:`read`。
|
|
586
|
+
|
|
587
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
588
|
+
|
|
589
|
+
调用示例:`sino-bc-cli project api project-member-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
590
|
+
|
|
591
|
+
项目成员列表
|
|
592
|
+
|
|
593
|
+
**输入参数(--data)**
|
|
594
|
+
|
|
595
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
596
|
+
| --- | --- | --- | --- | --- |
|
|
597
|
+
| `projectId` | integer | query | 是 | |
|
|
598
|
+
|
|
599
|
+
## 23. 指定用户关联项目列表(项目成员+任务成员)
|
|
600
|
+
|
|
601
|
+
`GET /sino-bc-nexus/project-member/projects`
|
|
602
|
+
|
|
603
|
+
主体上下文:`tenant=true`。
|
|
604
|
+
|
|
605
|
+
角色范围:`sso/passport/system`。
|
|
606
|
+
|
|
607
|
+
风险:`read`。
|
|
608
|
+
|
|
609
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
610
|
+
|
|
611
|
+
调用示例:`sino-bc-cli project api project-member-projects --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
612
|
+
|
|
613
|
+
指定用户关联项目列表(项目成员+任务成员)
|
|
614
|
+
|
|
615
|
+
**输入参数(--data)**
|
|
616
|
+
|
|
617
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
618
|
+
| --- | --- | --- | --- | --- |
|
|
619
|
+
| `userId` | integer | query | 是 | |
|
|
620
|
+
|
|
621
|
+
## 24. 移除项目成员
|
|
622
|
+
|
|
623
|
+
`POST /sino-bc-nexus/project-member/remove`
|
|
624
|
+
|
|
625
|
+
主体上下文:`tenant=true`。
|
|
626
|
+
|
|
627
|
+
角色范围:`sso/passport/system`。
|
|
628
|
+
|
|
629
|
+
风险:`write`。
|
|
630
|
+
|
|
631
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
632
|
+
|
|
633
|
+
调用示例:`sino-bc-cli project api project-member-remove --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
634
|
+
|
|
635
|
+
移除项目成员
|
|
636
|
+
|
|
637
|
+
**输入参数(--data)**
|
|
638
|
+
|
|
639
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
640
|
+
| --- | --- | --- | --- | --- |
|
|
641
|
+
| `projectId` | integer | body | 否 | 项目ID |
|
|
642
|
+
| `userId` | integer | body | 否 | 被移除用户ID |
|
|
643
|
+
|
|
644
|
+
## 25. 项目成员参与任务
|
|
645
|
+
|
|
646
|
+
`GET /sino-bc-nexus/project-member/tasks`
|
|
647
|
+
|
|
648
|
+
主体上下文:`tenant=true`。
|
|
649
|
+
|
|
650
|
+
角色范围:`sso/passport/system`。
|
|
651
|
+
|
|
652
|
+
风险:`read`。
|
|
653
|
+
|
|
654
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
655
|
+
|
|
656
|
+
调用示例:`sino-bc-cli project api project-member-tasks --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
657
|
+
|
|
658
|
+
项目成员参与任务
|
|
659
|
+
|
|
660
|
+
**输入参数(--data)**
|
|
661
|
+
|
|
662
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
663
|
+
| --- | --- | --- | --- | --- |
|
|
664
|
+
| `projectId` | integer | query | 是 | |
|
|
665
|
+
| `userId` | integer | query | 是 | |
|
|
666
|
+
|
|
667
|
+
## 26. 对客项目列表(分页)
|
|
668
|
+
|
|
669
|
+
`POST /sino-bc-nexus/project/page`
|
|
670
|
+
|
|
671
|
+
主体上下文:`tenant=true`。
|
|
672
|
+
|
|
673
|
+
角色范围:`sso/passport/system`。
|
|
674
|
+
|
|
675
|
+
风险:`read`。
|
|
676
|
+
|
|
677
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
678
|
+
|
|
679
|
+
调用示例:`sino-bc-cli project api project-page --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
680
|
+
|
|
681
|
+
对客项目列表(分页)
|
|
682
|
+
|
|
683
|
+
**输入参数(--data)**
|
|
684
|
+
|
|
685
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
686
|
+
| --- | --- | --- | --- | --- |
|
|
687
|
+
| `pageNum` | integer | body | 否 | 页码,从 1 开始 |
|
|
688
|
+
| `pageSize` | integer | body | 否 | 每页条数 |
|
|
689
|
+
| `sortType` | string | body | 否 | 排序字段 |
|
|
690
|
+
| `sortDirection` | string | body | 否 | 排序方向 ASC/DESC |
|
|
691
|
+
| `projectId` | integer | body | 否 | 项目ID(精确) |
|
|
692
|
+
| `projectIdList` | array | body | 否 | 项目ID列表 |
|
|
693
|
+
| `groupId` | integer | body | 否 | 分组ID |
|
|
694
|
+
| `name` | string | body | 否 | 项目名称(模糊匹配) |
|
|
695
|
+
| `projectLevel` | string | body | 否 | 项目等级:S/A/B/C |
|
|
696
|
+
| `projectLevelList` | array | body | 否 | 项目等级多选:S/A/B/C |
|
|
697
|
+
| `projectTypeList` | array | body | 否 | 项目类型多选 |
|
|
698
|
+
| `stageNameList` | array | body | 否 | 当前阶段名称多选(与仪表盘阶段分布 code 一致) |
|
|
699
|
+
| `projectStatus` | string | body | 否 | 项目状态(可选,空=全部) |
|
|
700
|
+
| `createTimeStart` | string | body | 否 | 项目创建时间开始(非必填);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
701
|
+
| `createTimeEnd` | string | body | 否 | 项目创建时间结束(非必填);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
702
|
+
| `startDate` | string | body | 否 | 项目开始时间(非必填,筛选 start_date >= startDate);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
703
|
+
| `endDate` | string | body | 否 | 项目结束时间(非必填,筛选 end_date <= endDate);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
704
|
+
|
|
705
|
+
## 27. 查询项目阶段列表(含可见任务数)
|
|
706
|
+
|
|
707
|
+
`GET /sino-bc-nexus/project-stage/list-with-task-count`
|
|
708
|
+
|
|
709
|
+
主体上下文:`tenant=true`。
|
|
710
|
+
|
|
711
|
+
角色范围:`sso/passport/system`。
|
|
712
|
+
|
|
713
|
+
风险:`read`。
|
|
714
|
+
|
|
715
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
716
|
+
|
|
717
|
+
调用示例:`sino-bc-cli project api project-stage-list-with-task-count --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
718
|
+
|
|
719
|
+
按 sortOrder 升序返回。status 按该阶段全部未删除任务计算;
|
|
720
|
+
|
|
721
|
+
**输入参数(--data)**
|
|
722
|
+
|
|
723
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
724
|
+
| --- | --- | --- | --- | --- |
|
|
725
|
+
| `projectId` | integer | query | 是 | 项目 ID |
|
|
726
|
+
|
|
727
|
+
## 28. 查询项目阶段列表
|
|
728
|
+
|
|
729
|
+
`GET /sino-bc-nexus/project-stage/listByProjectId`
|
|
730
|
+
|
|
731
|
+
主体上下文:`tenant=true`。
|
|
732
|
+
|
|
733
|
+
角色范围:`sso/passport/system`。
|
|
734
|
+
|
|
735
|
+
风险:`read`。
|
|
736
|
+
|
|
737
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
738
|
+
|
|
739
|
+
调用示例:`sino-bc-cli project api project-stage-listByProjectId --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
740
|
+
|
|
741
|
+
按 sortOrder 升序返回;含阶段状态 status(有任务时计算,可能为空)
|
|
742
|
+
|
|
743
|
+
**输入参数(--data)**
|
|
744
|
+
|
|
745
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
746
|
+
| --- | --- | --- | --- | --- |
|
|
747
|
+
| `projectId` | integer | query | 是 | 项目 ID |
|
|
748
|
+
|
|
749
|
+
## 29. 批量保存项目阶段
|
|
750
|
+
|
|
751
|
+
`POST /sino-bc-nexus/project-stage/save`
|
|
752
|
+
|
|
753
|
+
主体上下文:`tenant=true`。
|
|
754
|
+
|
|
755
|
+
角色范围:`sso/passport/system`。
|
|
756
|
+
|
|
757
|
+
风险:`write`。
|
|
758
|
+
|
|
759
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
760
|
+
|
|
761
|
+
调用示例:`sino-bc-cli project api project-stage-save --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
762
|
+
|
|
763
|
+
一次提交完整 stages 列表,服务端 diff 完成增/删/改名/排序(单事务)。
|
|
764
|
+
|
|
765
|
+
**输入参数(--data)**
|
|
766
|
+
|
|
767
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
768
|
+
| --- | --- | --- | --- | --- |
|
|
769
|
+
| `projectId` | integer | body | 否 | 项目 ID |
|
|
770
|
+
| `stages` | array | body | 否 | 提交后的完整阶段列表(含增删改序后的最终顺序) |
|
|
771
|
+
|
|
772
|
+
## 30. 项目阶段名称列表
|
|
773
|
+
|
|
774
|
+
`POST /sino-bc-nexus/project-stage/stage-name-list`
|
|
775
|
+
|
|
776
|
+
主体上下文:`tenant=true`。
|
|
777
|
+
|
|
778
|
+
角色范围:`sso/passport/system`。
|
|
779
|
+
|
|
780
|
+
风险:`read`。
|
|
781
|
+
|
|
782
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
783
|
+
|
|
784
|
+
调用示例:`sino-bc-cli project api project-stage-stage-name-list --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
785
|
+
|
|
786
|
+
当前用户具备 PROJECT_QUERY 的项目下,t_project_stage 按 name 去重;name 可选模糊匹配,供筛选下拉
|
|
787
|
+
|
|
788
|
+
**输入参数(--data)**
|
|
789
|
+
|
|
790
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
791
|
+
| --- | --- | --- | --- | --- |
|
|
792
|
+
| `name` | string | body | 否 | 阶段名称(模糊匹配,可选) |
|
|
793
|
+
|
|
794
|
+
## 31. 更新对客项目状态
|
|
795
|
+
|
|
796
|
+
`POST /sino-bc-nexus/project/status/update`
|
|
797
|
+
|
|
798
|
+
主体上下文:`tenant=true`。
|
|
799
|
+
|
|
800
|
+
角色范围:`sso/passport/system`。
|
|
801
|
+
|
|
802
|
+
风险:`write`。
|
|
803
|
+
|
|
804
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
805
|
+
|
|
806
|
+
调用示例:`sino-bc-cli project api project-status-update --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
807
|
+
|
|
808
|
+
更新对客项目状态
|
|
809
|
+
|
|
810
|
+
**输入参数(--data)**
|
|
811
|
+
|
|
812
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
813
|
+
| --- | --- | --- | --- | --- |
|
|
814
|
+
| `projectId` | integer | body | 否 | 项目ID |
|
|
815
|
+
| `projectStatus` | string | body | 否 | 项目状态编码 |
|
|
816
|
+
|
|
817
|
+
## 32. 编辑对客项目
|
|
818
|
+
|
|
819
|
+
`POST /sino-bc-nexus/project/update`
|
|
820
|
+
|
|
821
|
+
主体上下文:`tenant=true`。
|
|
822
|
+
|
|
823
|
+
角色范围:`sso/passport/system`。
|
|
824
|
+
|
|
825
|
+
风险:`write`。
|
|
826
|
+
|
|
827
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
828
|
+
|
|
829
|
+
调用示例:`sino-bc-cli project api project-update --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
830
|
+
|
|
831
|
+
编辑对客项目
|
|
832
|
+
|
|
833
|
+
**输入参数(--data)**
|
|
834
|
+
|
|
835
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
836
|
+
| --- | --- | --- | --- | --- |
|
|
837
|
+
| `id` | integer | body | 否 | 项目ID |
|
|
838
|
+
| `groupId` | integer | body | 否 | 项目分组 |
|
|
839
|
+
| `name` | string | body | 否 | 项目名称(必填,最多100字) |
|
|
840
|
+
| `projectInfo` | string | body | 否 | 项目信息(最多2000字,纯富文本内容) |
|
|
841
|
+
| `stageTemplateId` | integer | body | 否 | 创建时选用的阶段模板来源(运营统计) |
|
|
842
|
+
| `projectLevel` | string | body | 否 | S/A/B/C |
|
|
843
|
+
| `startDate` | string | body | 否 | 项目开始时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
844
|
+
| `endDate` | string | body | 否 | 项目结束时间;JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
845
|
+
| `projectStatus` | string | body | 否 | 项目状态 |
|
|
846
|
+
| `projectType` | string | body | 否 | 项目类型 |
|
|
847
|
+
| `businessLine` | string | body | 否 | 所属业务线编码 |
|
|
848
|
+
| `marketScope` | string | body | 否 | 市场范围编码 |
|
|
849
|
+
| `budgetAmount` | number | body | 否 | 项目预算 |
|
|
850
|
+
| `budgets` | array | body | 否 | 预算分布明细(维度+金额);null=不修改,[] = 清空 |
|
|
851
|
+
| `milestones` | array | body | 否 | 重要时间节点(名称+日期),会序列化到milestones_json) |
|
|
852
|
+
| `riskNote` | string | body | 否 | 风险点 |
|
|
853
|
+
| `remark` | string | body | 否 | 备注 |
|
|
854
|
+
| `amPocUserIds` | array | body | 否 | AM POC(多选,用户ID列表) |
|
|
855
|
+
| `pmPocUserIds` | array | body | 否 | PM POC(多选,用户ID列表) |
|
|
856
|
+
| `mentorUserId` | integer | body | 否 | 带教(单选,用户ID) |
|
|
857
|
+
| `customerOwnerUserId` | integer | body | 否 | 客户负责人(单选,用户ID) |
|
|
858
|
+
| `uploadRecordIdList` | array | body | 否 | 文件上传记录主键列表(批量关联为项目附件) |
|
|
859
|
+
| `participantUserIds` | array | body | 否 | 项目参与人(多选,用户ID列表) |
|
|
860
|
+
| `isStaged` | boolean | body | 否 | 是否分阶段投放 |
|
|
861
|
+
| `deliveryStages` | array | body | 否 | 投放阶段列表;isStaged=true 时必填阶段信息;isStaged=false 时可仅传一条且只含 kpiTargets |
|
|
862
|
+
|
|
863
|
+
## 33. 根据签约主体获取创建项目动态表单
|
|
864
|
+
|
|
865
|
+
`GET /sino-bc-nexus/admin/corp-project-form-template/form-schema`
|
|
866
|
+
|
|
867
|
+
主体上下文:`tenant=true`。
|
|
868
|
+
|
|
869
|
+
角色范围:`sso/passport/system`。
|
|
870
|
+
|
|
871
|
+
风险:`read`。
|
|
872
|
+
|
|
873
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
874
|
+
|
|
875
|
+
调用示例:`sino-bc-cli project api corp-project-form-template-form-schema --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
876
|
+
|
|
877
|
+
根据签约主体获取创建项目动态表单
|
|
878
|
+
|
|
879
|
+
新建项目时可省略 refId,按签约主体绑定模板或系统种子模板获取表单。编辑项目时应传 refId=目标项目ID,并传对应 templateType,以优先获取该项目已绑定的模板;省略 refId 会走新建模板选择,主体更换模板后可能与原项目模板不同。
|
|
880
|
+
|
|
881
|
+
**输入参数(--data)**
|
|
882
|
+
|
|
883
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
884
|
+
| --- | --- | --- | --- | --- |
|
|
885
|
+
| `templateType` | string | query | 是 | 模板类型,非空;如PROJECT,可动态扩展 |
|
|
886
|
+
| `refId` | integer | query | 否 | 业务记录ID;PROJECT 时为项目ID。新建可省略;编辑应传目标项目ID,以优先获取该项目已绑定模板,避免取到主体当前的新建模板。 |
|
|
887
|
+
|
|
888
|
+
## 34. 项目操作权限汇总
|
|
889
|
+
|
|
890
|
+
`POST /sino-bc-nexus/project/actions`
|
|
891
|
+
|
|
892
|
+
主体上下文:`tenant=true`。
|
|
893
|
+
|
|
894
|
+
角色范围:`sso/passport/system`。
|
|
895
|
+
|
|
896
|
+
风险:`read`。
|
|
897
|
+
|
|
898
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
899
|
+
|
|
900
|
+
调用示例:`sino-bc-cli project api project-actions --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
901
|
+
|
|
902
|
+
项目操作权限汇总
|
|
903
|
+
|
|
904
|
+
**输入参数(--data)**
|
|
905
|
+
|
|
906
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
907
|
+
| --- | --- | --- | --- | --- |
|
|
908
|
+
| `corporationId` | string | body | 是 | 必填,不能为空白字符串。 |
|
|
909
|
+
| `projectId` | integer | body | 否 | 可选;省略时只判断创建权限。传入时必须为正整数,最大 Long.MAX_VALUE - 1。 建议需要精确大整数的调用方使用原始 JSON 数字文本,避免 JavaScript number 精度损失。 |
|
|
910
|
+
|
|
911
|
+
## 35. 查询项目已绑定飞书群
|
|
912
|
+
|
|
913
|
+
`POST /sino-bc-nexus/project/chat/bindings`
|
|
914
|
+
|
|
915
|
+
主体上下文:`tenant=true`。
|
|
916
|
+
|
|
917
|
+
角色范围:`sso/system`。
|
|
918
|
+
|
|
919
|
+
风险:`read`。
|
|
920
|
+
|
|
921
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
922
|
+
|
|
923
|
+
调用示例:`sino-bc-cli project api project-chat-bindings --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
924
|
+
|
|
925
|
+
查询项目已绑定飞书群
|
|
926
|
+
|
|
927
|
+
**输入参数(--data)**
|
|
928
|
+
|
|
929
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
930
|
+
| --- | --- | --- | --- | --- |
|
|
931
|
+
| `projectId` | integer | body | 是 | 必填,正整数,最大 Long.MAX_VALUE - 1(9223372036854775806);建议十进制字符串传递以避免 JavaScript 精度丢失。 |
|
|
932
|
+
| `keyword` | string | body | 否 | 可选,最多 255 字符;候选群查询使用,绑定列表忽略。 |
|
|
933
|
+
| `pageNum` | integer | body | 否 | 可省略,默认 1;显式 null 不允许。 |
|
|
934
|
+
| `pageSize` | integer | body | 否 | 可省略,默认 20;范围 1~100,显式 null 不允许。 |
|
|
935
|
+
|
|
936
|
+
## 36. 分页查询项目可绑定飞书群
|
|
937
|
+
|
|
938
|
+
`POST /sino-bc-nexus/project/chat/eligible`
|
|
939
|
+
|
|
940
|
+
主体上下文:`tenant=true`。
|
|
941
|
+
|
|
942
|
+
角色范围:`sso/system`。
|
|
943
|
+
|
|
944
|
+
风险:`read`。
|
|
945
|
+
|
|
946
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
947
|
+
|
|
948
|
+
调用示例:`sino-bc-cli project api project-chat-eligible --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
949
|
+
|
|
950
|
+
分页查询项目可绑定飞书群
|
|
951
|
+
|
|
952
|
+
**输入参数(--data)**
|
|
953
|
+
|
|
954
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
955
|
+
| --- | --- | --- | --- | --- |
|
|
956
|
+
| `projectId` | integer | body | 是 | 必填,正整数,最大 Long.MAX_VALUE - 1(9223372036854775806);建议十进制字符串传递以避免 JavaScript 精度丢失。 |
|
|
957
|
+
| `keyword` | string | body | 否 | 可选,最多 255 字符;候选群查询使用,绑定列表忽略。 |
|
|
958
|
+
| `pageNum` | integer | body | 否 | 可省略,默认 1;显式 null 不允许。 |
|
|
959
|
+
| `pageSize` | integer | body | 否 | 可省略,默认 20;范围 1~100,显式 null 不允许。 |
|
|
960
|
+
|
|
961
|
+
## 37. 绑定项目飞书群
|
|
962
|
+
|
|
963
|
+
`POST /sino-bc-nexus/project/chat/bind`
|
|
964
|
+
|
|
965
|
+
主体上下文:`tenant=true`。
|
|
966
|
+
|
|
967
|
+
角色范围:`sso/system`。
|
|
968
|
+
|
|
969
|
+
风险:`write`。
|
|
970
|
+
|
|
971
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
972
|
+
|
|
973
|
+
调用示例:`sino-bc-cli project api project-chat-bind --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
974
|
+
|
|
975
|
+
绑定项目飞书群
|
|
976
|
+
|
|
977
|
+
**输入参数(--data)**
|
|
978
|
+
|
|
979
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
980
|
+
| --- | --- | --- | --- | --- |
|
|
981
|
+
| `projectId` | integer | body | 是 | 必填,正整数,最大 Long.MAX_VALUE - 1(9223372036854775806);建议十进制字符串传递以避免 JavaScript 精度丢失。 |
|
|
982
|
+
| `chatId` | string | body | 是 | 必填,飞书群 ID;非空白,最长 128 字符,不能包含首尾空白字符。 |
|
|
983
|
+
| `larkChat` | object | body | 否 | 可选;传入时三个字段必须齐全且非空白,用于操作日志关联聊天范围。 |
|
|
984
|
+
|
|
985
|
+
## 38. 解绑项目飞书群
|
|
986
|
+
|
|
987
|
+
`POST /sino-bc-nexus/project/chat/unbind`
|
|
988
|
+
|
|
989
|
+
主体上下文:`tenant=true`。
|
|
990
|
+
|
|
991
|
+
角色范围:`sso/system`。
|
|
992
|
+
|
|
993
|
+
风险:`write`。
|
|
994
|
+
|
|
995
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
996
|
+
|
|
997
|
+
调用示例:`sino-bc-cli project api project-chat-unbind --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
998
|
+
|
|
999
|
+
解绑项目飞书群
|
|
1000
|
+
|
|
1001
|
+
**输入参数(--data)**
|
|
1002
|
+
|
|
1003
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
1004
|
+
| --- | --- | --- | --- | --- |
|
|
1005
|
+
| `projectId` | integer | body | 是 | 必填,正整数,最大 Long.MAX_VALUE - 1(9223372036854775806);建议十进制字符串传递以避免 JavaScript 精度丢失。 |
|
|
1006
|
+
| `bindingId` | integer | body | 是 | 必填,正整数,最大 Long.MAX_VALUE - 1(9223372036854775806);建议十进制字符串传递以避免 JavaScript 精度丢失。 |
|
|
1007
|
+
| `larkChat` | object | body | 否 | 可选;传入时三个字段必须齐全且非空白,用于操作日志关联聊天范围。 |
|
|
1008
|
+
|
|
1009
|
+
## 39. 换绑项目飞书群
|
|
1010
|
+
|
|
1011
|
+
`POST /sino-bc-nexus/project/chat/replace`
|
|
1012
|
+
|
|
1013
|
+
主体上下文:`tenant=true`。
|
|
1014
|
+
|
|
1015
|
+
角色范围:`sso/system`。
|
|
1016
|
+
|
|
1017
|
+
风险:`write`。
|
|
1018
|
+
|
|
1019
|
+
主体必填:每次传入 `--corporation-id` 与 `--auth-context-id`,两者不放进 `--data`;绑定与恢复按 shared 条件索引读取主体参考。
|
|
1020
|
+
|
|
1021
|
+
调用示例:`sino-bc-cli project api project-chat-replace --data '<json>' --corporation-id <主体ID> --auth-context-id <认证上下文ID>`。
|
|
1022
|
+
|
|
1023
|
+
换绑项目飞书群
|
|
1024
|
+
|
|
1025
|
+
**输入参数(--data)**
|
|
1026
|
+
|
|
1027
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
1028
|
+
| --- | --- | --- | --- | --- |
|
|
1029
|
+
| `projectId` | integer | body | 是 | 必填,正整数,最大 Long.MAX_VALUE - 1(9223372036854775806);建议十进制字符串传递以避免 JavaScript 精度丢失。 |
|
|
1030
|
+
| `bindingId` | integer | body | 是 | 必填,正整数,最大 Long.MAX_VALUE - 1(9223372036854775806);建议十进制字符串传递以避免 JavaScript 精度丢失。 |
|
|
1031
|
+
| `newChatId` | string | body | 是 | 必填,飞书群 ID;非空白,最长 128 字符,不能包含首尾空白字符。 |
|
|
1032
|
+
|
|
1033
|
+
## 40. 按飞书群查询关联项目
|
|
1034
|
+
|
|
1035
|
+
`POST /sino-bc-nexus/project/chat/projects`
|
|
1036
|
+
|
|
1037
|
+
主体上下文:`tenant=false`。
|
|
1038
|
+
|
|
1039
|
+
角色范围:`sso/system`。
|
|
1040
|
+
|
|
1041
|
+
风险:`read`。
|
|
1042
|
+
|
|
1043
|
+
按飞书群 ID 查询当前签约主体下的有效项目绑定,并仅返回当前用户拥有 PROJECT_QUERY 权限的项目。结果为数组,不分页;未匹配到可查询项目时返回空数组。
|
|
1044
|
+
|
|
1045
|
+
**输入参数(--data)**
|
|
1046
|
+
|
|
1047
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
1048
|
+
| --- | --- | --- | --- | --- |
|
|
1049
|
+
| `chatId` | string | body | 是 | 必填,非空白字符串,最长 128 字符;不能包含首尾 ASCII 控制字符或空白。使用当前用户身份所属飞书租户限定查询,无默认值。 |
|
|
1050
|
+
|
|
1051
|
+
## 41. 查询机器人所在飞书群
|
|
1052
|
+
|
|
1053
|
+
`POST /sino-bc-nexus/project/chat/chats`
|
|
1054
|
+
|
|
1055
|
+
主体上下文:`tenant=false`。
|
|
1056
|
+
|
|
1057
|
+
角色范围:`sso/system`。
|
|
1058
|
+
|
|
1059
|
+
风险:`read`。
|
|
1060
|
+
|
|
1061
|
+
查询当前用户身份所属飞书租户内,机器人仍在群内且未删除的群列表。返回全部匹配记录,不分页,不按项目或关键词筛选。
|
|
1062
|
+
|
|
1063
|
+
## 42. 系统身份查询对客项目列表(分页)
|
|
1064
|
+
|
|
1065
|
+
`POST /sino-bc-nexus/project/system/page`
|
|
1066
|
+
|
|
1067
|
+
主体上下文:`tenant=false`。
|
|
1068
|
+
|
|
1069
|
+
角色范围:`system`。
|
|
1070
|
+
|
|
1071
|
+
风险:`read`。
|
|
1072
|
+
|
|
1073
|
+
为系统身份提供项目列表查询
|
|
1074
|
+
|
|
1075
|
+
**输入参数(--data)**
|
|
1076
|
+
|
|
1077
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
1078
|
+
| --- | --- | --- | --- | --- |
|
|
1079
|
+
| `pageNum` | integer | body | 否 | 页码,从 1 开始 |
|
|
1080
|
+
| `pageSize` | integer | body | 否 | 每页条数 |
|
|
1081
|
+
| `corporationId` | string | body | 否 | 可选;去除首尾空格后为空或未传时查询全部主体,仅系统身份分页接口使用 |
|
|
1082
|
+
| `sortType` | string | body | 否 | 排序字段;本接口固定按项目变更时间倒序,此入参会被服务端覆盖 |
|
|
1083
|
+
| `sortDirection` | string | body | 否 | 排序方向 ASC/DESC;本接口固定按项目变更时间倒序,此入参会被服务端覆盖 |
|
|
1084
|
+
| `projectId` | integer | body | 否 | 项目ID(精确) |
|
|
1085
|
+
| `projectIdList` | array | body | 否 | 项目ID列表 |
|
|
1086
|
+
| `groupId` | integer | body | 否 | 分组ID |
|
|
1087
|
+
| `name` | string | body | 否 | 项目名称(模糊匹配) |
|
|
1088
|
+
| `projectLevel` | string | body | 否 | 项目等级:S/A/B/C |
|
|
1089
|
+
| `projectLevelList` | array | body | 否 | 项目等级多选:S/A/B/C |
|
|
1090
|
+
| `projectTypeList` | array | body | 否 | 项目类型多选 |
|
|
1091
|
+
| `stageNameList` | array | body | 否 | 当前阶段名称多选(与仪表盘阶段分布 code 一致) |
|
|
1092
|
+
| `projectStatus` | string | body | 否 | 项目状态(可选,空=全部) |
|
|
1093
|
+
| `createTimeStart` | string | body | 否 | 项目创建时间开始(非必填);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
1094
|
+
| `createTimeEnd` | string | body | 否 | 项目创建时间结束(非必填);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
1095
|
+
| `startDate` | string | body | 否 | 项目开始时间(非必填,筛选 start_date >= startDate);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
1096
|
+
| `endDate` | string | body | 否 | 项目结束时间(非必填,筛选 end_date <= endDate);JSON 字符串;格式 yyyy-MM-dd HH:mm:ss;精确到秒;不含时区/偏移量;示例:2026-09-16 14:30:00 |
|
|
1097
|
+
|
|
1098
|
+
## 43. 项目详情(系统)
|
|
1099
|
+
|
|
1100
|
+
`GET /sino-bc-nexus/project/system/detail`
|
|
1101
|
+
|
|
1102
|
+
主体上下文:`tenant=false`。
|
|
1103
|
+
|
|
1104
|
+
角色范围:`system`。
|
|
1105
|
+
|
|
1106
|
+
风险:`read`。
|
|
1107
|
+
|
|
1108
|
+
仅 系统身份 可调用;签约主体从项目记录获取。
|
|
1109
|
+
|
|
1110
|
+
**输入参数(--data)**
|
|
1111
|
+
|
|
1112
|
+
| 字段 | 类型 | 位置 | 必填 | 说明 |
|
|
1113
|
+
| --- | --- | --- | --- | --- |
|
|
1114
|
+
| `id` | integer | query | 是 | 项目ID |
|