sino-bc-cli 1.8.2 → 1.8.4
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 +588 -624
- package/dist/SKILL.md +34 -26
- package/dist/affordance/biz-line.md +129 -63
- package/dist/affordance/sso.md +15 -0
- package/dist/api-doc/{README.md → custom/README.md} +92 -86
- package/dist/api-doc/system/biz-line-query.md +19 -0
- package/dist/api-doc/system/biz-line-strategy.md +285 -0
- package/dist/api-doc/system/sso.md +13 -0
- package/dist/generated/api-catalog.json +1063 -0
- package/dist/index.js +1 -1
- package/dist/skills/{sino-bc-shared → custom/sino-bc-shared}/SKILL.md +33 -39
- package/dist/skills/{sino-bc-shared → custom/sino-bc-shared}/references/config-and-env.md +15 -12
- package/dist/skills/{sino-bc-shared → custom/sino-bc-shared}/references/output-contract.md +20 -20
- package/dist/skills/{sino-bc-shared → custom/sino-bc-shared}/references/write-approval.md +18 -18
- package/dist/skills/{sino-bc-biz-line → system/sino-bc-biz-line}/SKILL.md +61 -64
- package/dist/skills/system/sino-bc-biz-line/references/long-tail-api.md +17 -0
- package/dist/skills/system/sino-bc-sso/SKILL.md +35 -0
- package/package.json +69 -69
- package/scripts/postinstall.cjs +28 -28
- package/dist/api-doc/biz-line-query.md +0 -218
- package/dist/api-doc/biz-line-strategy.md +0 -319
- package/dist/skills/sino-bc-biz-line/references/enums.md +0 -7
- package/dist/skills/sino-bc-biz-line/references/long-tail-api.md +0 -16
- package/dist/skills/sino-bc-shared/references/mcp-reload.md +0 -9
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
# 业务线查询(Biz Line Open)
|
|
2
|
-
|
|
3
|
-
数据来源:[sino-opti-hive 接口文档](https://o-test-sino-opti-hive.meetsocial.com/doc.html#/default/%E4%B8%9A%E5%8A%A1%E7%BA%BF%E6%9F%A5%E8%AF%A2/channelsUsingGET)
|
|
4
|
-
|
|
5
|
-
对外开放的只读查询接口,共 **5** 个,均不涉及数据变更。
|
|
6
|
-
|
|
7
|
-
> **网关地址**:`https://test-agent.beyondclick.com`(三环境同一地址,唯一来源 `src/constants/gateway.ts` 的 `GATEWAY_CONFIG`),不要直连 sino-opti-hive 服务地址。
|
|
8
|
-
>
|
|
9
|
-
> **路由前缀**:经网关调用时所有路径需带 `/sino-opti-hive`,例如 `/sino-opti-hive/biz-line-open/channels`。
|
|
10
|
-
|
|
11
|
-
| # | name | 展示名 | 方法 | 路径(含前缀) |
|
|
12
|
-
| --- | --- | --- | --- | --- |
|
|
13
|
-
| 1 | `biz-line-open-channels` | 查询投放渠道列表 | GET | `/sino-opti-hive/biz-line-open/channels` |
|
|
14
|
-
| 2 | `biz-line-open-placement-categories` | 查询投放品类字典树 | GET | `/sino-opti-hive/biz-line-open/placement-categories` |
|
|
15
|
-
| 3 | `biz-line-open-list` | 查询业务线列表(不分页) | POST | `/sino-opti-hive/biz-line-open/list` |
|
|
16
|
-
| 4 | `biz-line-open-strategies` | 查询业务线投放策略及表现 | POST | `/sino-opti-hive/biz-line-open/strategies` |
|
|
17
|
-
| 5 | `biz-line-open-strategy-top` | 查询投放表现 Top 业务线 | POST | `/sino-opti-hive/biz-line-open/strategy-top` |
|
|
18
|
-
|
|
19
|
-
所有接口统一返回 `RestResponseVO` 包装:`success`、`code`、`message`、`result`、`traceId`。下文只描述 `result`。
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## 1. 查询投放渠道列表
|
|
24
|
-
|
|
25
|
-
`GET /sino-opti-hive/biz-line-open/channels`
|
|
26
|
-
|
|
27
|
-
无入参,返回 `ChannelEnum` 全量。`code` 即业务线列表中的 `mediaChannelId`。
|
|
28
|
-
|
|
29
|
-
**响应 `result`:`ChannelOpenVO[]`**
|
|
30
|
-
|
|
31
|
-
| 字段 | 类型 | 说明 |
|
|
32
|
-
| --- | --- | --- |
|
|
33
|
-
| `code` | int | 渠道 code(= `ChannelEnum.id`),用于筛选业务线 `mediaChannelId` |
|
|
34
|
-
| `name` | string | 渠道名称 |
|
|
35
|
-
|
|
36
|
-
示例片段:`{"code":1,"name":"Facebook"}`、`{"code":3,"name":"Google"}`、`{"code":18,"name":"TikTok"}`。
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## 2. 查询投放品类字典树
|
|
41
|
-
|
|
42
|
-
`GET /sino-opti-hive/biz-line-open/placement-categories`
|
|
43
|
-
|
|
44
|
-
无入参,`sceneCode` 固定 `PLACEMENT_CATEGORY`。一级节点 = 投放行业,二级节点(`children`)= 投放品类,分别对应筛选参数 `adCategoryIndustryId` / `adCategoryProjectId`。
|
|
45
|
-
|
|
46
|
-
**响应 `result`:`DictItemVO[]`**
|
|
47
|
-
|
|
48
|
-
| 字段 | 类型 | 说明 |
|
|
49
|
-
| --- | --- | --- |
|
|
50
|
-
| `id` | long | 字典项 ID |
|
|
51
|
-
| `name` | string | 字典项名称 |
|
|
52
|
-
| `itemCode` | string | 字典项编码 |
|
|
53
|
-
| `description` | string | 描述 |
|
|
54
|
-
| `isEnable` | int | 是否启用 |
|
|
55
|
-
| `isOther` | int | 是否为「其他」项 |
|
|
56
|
-
| `sortOrder` | int | 排序值 |
|
|
57
|
-
| `children` | `DictItemVO[]` | 二级节点(投放品类) |
|
|
58
|
-
|
|
59
|
-
当前一级行业为:`1 = APP`、`2 = ECBR`、`3 = 游戏`。
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## 3. 查询业务线列表(不分页)
|
|
64
|
-
|
|
65
|
-
`POST /sino-opti-hive/biz-line-open/list`
|
|
66
|
-
|
|
67
|
-
按条件检索业务线主数据及关联主体、项目。入参均可选、多条件 AND,body 可为空表示查全部;无命中返回 `[]`。
|
|
68
|
-
|
|
69
|
-
**请求体:`BizLineOpenListReqVO`(可选)**
|
|
70
|
-
|
|
71
|
-
| 字段 | 类型 | 说明 |
|
|
72
|
-
| --- | --- | --- |
|
|
73
|
-
| `id` | long | 业务线主键 ID,精确匹配 |
|
|
74
|
-
| `idList` | long[] | 业务线 ID 多选;与 `id` 同时传时两者都生效(AND) |
|
|
75
|
-
| `name` | string | 业务/产品线名称,模糊匹配 |
|
|
76
|
-
| `mediaChannelId` | int | 投放渠道 ID,取值见 `/biz-line-open/channels` 的 `code` |
|
|
77
|
-
| `adCategoryIndustryId` | long | 投放行业字典项 ID(品类树一级节点) |
|
|
78
|
-
| `adCategoryProjectId` | long | 投放品类字典项 ID(二级节点)。传 `-1` 表示品类未选/其他 |
|
|
79
|
-
|
|
80
|
-
请求示例(空对象 = 查全部):
|
|
81
|
-
|
|
82
|
-
```json
|
|
83
|
-
{}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**响应 `result`:`BizLineOpenListItemVO[]`**
|
|
87
|
-
|
|
88
|
-
| 字段 | 类型 | 说明 |
|
|
89
|
-
| --- | --- | --- |
|
|
90
|
-
| `id` | long | 业务线主键 ID |
|
|
91
|
-
| `name` | string | 业务/产品线名称 |
|
|
92
|
-
| `mediaChannelIds` / `mediaChannelNames` | int[] / string[] | 投放渠道 ID 与名称,下标一一对应 |
|
|
93
|
-
| `adCategoryIndustryIds` / `adCategoryIndustryDescs` | long[] / string[] | 投放行业 ID 与展示文案 |
|
|
94
|
-
| `adCategoryProjectIds` / `adCategoryProjectDescs` | long[] / string[] | 投放品类 ID 与展示文案 |
|
|
95
|
-
| `adCategoryOther` | string | 投放品类「其他」自定义文案 |
|
|
96
|
-
| `corporationIds` / `corporationNames` | string[] / string[] | 关联主体 ID 与名称 |
|
|
97
|
-
| `projectIds` / `projectNames` | long[] / string[] | 关联项目 ID 与名称 |
|
|
98
|
-
| `customerTypeIds` / `customerTypeDescs` | long[] / string[] | 客户类型 ID 与展示文案 |
|
|
99
|
-
| `customerInfrastructure` / `customerInfrastructureDescs` | int[] / string[] | 客户基建情况枚举与文案 |
|
|
100
|
-
| `projectRating` / `projectRatingDesc` | string / string | 项目评级(`ProjectRatingEnum`:S/A/B/C)与文案 |
|
|
101
|
-
| `strategyControlDegree` / `strategyControlDegreeDesc` | int / string | 策略掌控程度与文案 |
|
|
102
|
-
| `coreIndex` | string | 核心指标(原文) |
|
|
103
|
-
| `monthlyMaterialCount` | string | 月度上新素材量(原文) |
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## 4. 查询业务线投放策略及表现(不分页)
|
|
108
|
-
|
|
109
|
-
`POST /sino-opti-hive/biz-line-open/strategies`
|
|
110
|
-
|
|
111
|
-
按业务线 ID 集合查其全部未删除周策略及策略回顾,按 `year`、`weekOfYear` 倒序。不存在的 ID 静默忽略。周消耗、客户满意度与效果细节均在 `effectSummary`(无回顾时内部字段可能为 `null`)。
|
|
112
|
-
|
|
113
|
-
**请求体:`BizLineOpenStrategyReqVO`(必填)**
|
|
114
|
-
|
|
115
|
-
| 字段 | 类型 | 必填 | 说明 |
|
|
116
|
-
| --- | --- | --- | --- |
|
|
117
|
-
| `bizLineIds` | long[] | 是 | 业务线 ID 集合,非空。不存在的 ID 被忽略,不报错 |
|
|
118
|
-
|
|
119
|
-
请求示例:
|
|
120
|
-
|
|
121
|
-
```json
|
|
122
|
-
{ "bizLineIds": [1251, 1250] }
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**响应 `result`:`BizLineOpenStrategyVO[]`**
|
|
126
|
-
|
|
127
|
-
| 字段 | 类型 | 说明 |
|
|
128
|
-
| --- | --- | --- |
|
|
129
|
-
| `bizLineId` / `bizLineName` | long / string | 所属业务线 ID 与名称 |
|
|
130
|
-
| `strategyWeek` | int | 策略归属年周,`year × 100 + weekOfYear`,如 2026 年第 1 周 = `202601` |
|
|
131
|
-
| `budgetStrategyTagDescs` / `budgetStrategySupplement` | string[] / string | 预算策略标签文案、补充说明 |
|
|
132
|
-
| `audienceStrategyTagDescs` / `audienceStrategySupplement` | string[] / string | 受众定位策略标签文案、补充说明 |
|
|
133
|
-
| `mediaStrategyTagDescs` / `mediaStrategySupplement` | string[] / string | 媒介产品策略标签文案、补充说明 |
|
|
134
|
-
| `creativeStrategy` | string | 素材创意策略说明(原文) |
|
|
135
|
-
| `effectSummary` | object | 投放策略效果总结:周消耗、客户满意度、红绿灯、核心问题、各维度效果及 Learning |
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 5. 查询投放表现 Top 业务线
|
|
140
|
-
|
|
141
|
-
`POST /sino-opti-hive/biz-line-open/strategy-top`
|
|
142
|
-
|
|
143
|
-
在指定投放行业 / 投放品类范围内排出 Top N 业务线,并给出其表现最好那段窗口期采用的投放策略。
|
|
144
|
-
|
|
145
|
-
- **筛选**:`adCategoryIndustryId`、`adCategoryProjectId` 至少传一个;**行业优先**——传了行业则按整个行业横向比较并忽略品类,只传品类时才按品类比较。`excludeBizLineIds` 可选。
|
|
146
|
-
- **口径**:默认回溯最近 52 周,按连续策略记录滑动 4 期窗口打分,取历史最佳窗口成绩,故「前期长期良好、最近一两期回落」仍能上榜;最近 2 期出现红灯或客户不满意时总分打 9 折(`recentDeclined` / `penaltyApplied` 标记)。
|
|
147
|
-
- **出参**:计数与占比均为最佳窗口内口径;策略标签与补充说明为窗口内各期聚合去重,`periods` 给出逐期明细。范围内无数据返回 `[]`。
|
|
148
|
-
- **分值表与排名规则**:见[飞书接口文档](https://q6y68vu0j8.feishu.cn/wiki/HboRwmijkiAa1wktfvSclyXxntg)。
|
|
149
|
-
|
|
150
|
-
**请求体:`BizLineStrategyTopReqVO`(必填)**
|
|
151
|
-
|
|
152
|
-
| 字段 | 类型 | 默认 | 说明 |
|
|
153
|
-
| --- | --- | --- | --- |
|
|
154
|
-
| `adCategoryIndustryId` | long | — | 投放行业字典 ID(一级)。传入时按整个行业比较,并忽略 `adCategoryProjectId` |
|
|
155
|
-
| `adCategoryProjectId` | long | — | 投放品类字典 ID(二级)。仅在未传 `adCategoryIndustryId` 时生效 |
|
|
156
|
-
| `excludeBizLineIds` | long[] | — | 排除的业务线 ID,不参与排名 |
|
|
157
|
-
| `topN` | int | `5` | 返回条数,取值 1~50 |
|
|
158
|
-
| `windowWeeks` | int | `4` | 滑动窗口期数,取值 2~12 |
|
|
159
|
-
| `lookbackWeeks` | int | `52` | 回溯周数(含当前周),取值 4~104 |
|
|
160
|
-
| `minReviewedPeriods` | int | `1` | 样本门槛:窗口内至少几期有回顾数据,取值 1~12 |
|
|
161
|
-
|
|
162
|
-
请求示例:
|
|
163
|
-
|
|
164
|
-
```json
|
|
165
|
-
{
|
|
166
|
-
"adCategoryIndustryId": 1,
|
|
167
|
-
"topN": 5,
|
|
168
|
-
"windowWeeks": 4,
|
|
169
|
-
"lookbackWeeks": 52,
|
|
170
|
-
"minReviewedPeriods": 1
|
|
171
|
-
}
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
**响应 `result`:`BizLineStrategyTopItemVO[]`**
|
|
175
|
-
|
|
176
|
-
| 字段 | 类型 | 说明 |
|
|
177
|
-
| --- | --- | --- |
|
|
178
|
-
| `rank` | int | 排名,从 1 开始 |
|
|
179
|
-
| `bizLineId` / `bizLineName` | long / string | 业务线 ID 与名称 |
|
|
180
|
-
| `score` | number | 最终得分(排序主键):`rawScore`,近期回落时乘 0.9,保留两位小数 |
|
|
181
|
-
| `rawScore` | int | 最佳窗口原始得分(未打折) |
|
|
182
|
-
| `penaltyApplied` | boolean | 是否已按近期回落打 9 折 |
|
|
183
|
-
| `recentDeclined` | boolean | 回溯范围内最后 2 期是否出现红灯或客户不满意 |
|
|
184
|
-
| `bestWindowStartWeek` / `bestWindowEndWeek` | int / int | 最佳窗口起止周 `yyyyW` |
|
|
185
|
-
| `windowPeriods` / `reviewedPeriods` / `lookbackPeriods` | int | 窗口内策略期数 / 有回顾期数 / 回溯范围内总期数 |
|
|
186
|
-
| `greenCount` / `yellowCount` / `redCount` | int | 窗口内绿灯 / 黄灯 / 红灯期数 |
|
|
187
|
-
| `greenRate` | number | 绿灯占比(%)= `greenCount ÷ reviewedPeriods × 100`;分母为 0 返回 `null` |
|
|
188
|
-
| `maxConsecutiveGreenPeriods` | int | 窗口内最长连续绿灯期数 |
|
|
189
|
-
| `satisfiedCount` / `unsatisfiedCount` | int | 窗口内客户满意 / 不满意期数 |
|
|
190
|
-
| `satisfiedRate` | number | 满意占比(%);分母为 0 返回 `null` |
|
|
191
|
-
| `adCategoryIndustryDescs` / `adCategoryProjectDescs` | string[] | 投放行业 / 品类展示文案 |
|
|
192
|
-
| `budgetStrategyTagDescs` / `budgetStrategySupplements` | string[] | 最佳窗口内预算策略标签与补充说明(去重合并) |
|
|
193
|
-
| `audienceStrategyTagDescs` / `audienceStrategySupplements` | string[] | 最佳窗口内受众定位策略标签与补充说明(去重合并) |
|
|
194
|
-
| `mediaStrategyTagDescs` / `mediaStrategySupplements` | string[] | 最佳窗口内媒介产品策略标签与补充说明(去重合并) |
|
|
195
|
-
| `creativeStrategies` | string[] | 最佳窗口内素材创意策略说明(去重合并) |
|
|
196
|
-
| `periods` | object[] | 最佳窗口内逐期策略明细,按周升序(含当期红绿灯与满意度) |
|
|
197
|
-
|
|
198
|
-
**红绿灯枚举(`TrafficLightEnum`)**:`1` KPI 达标、`2` 距 GAP 20% 内、`3` 距 GAP 20% 以上、`4` 已暂停、`5` 存在风险、`6` KPI 达标且项目顺利。绿灯 = `1`/`6`,黄灯 = `2`/`5`,红灯 = `3`/`4`。
|
|
199
|
-
|
|
200
|
-
**客户满意度枚举(`CustomerSatisfactionEnum`)**:`1` 满意、`2` 不满意。
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## 命令调用
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
# 本组接口都有 Shortcut
|
|
208
|
-
sino-bc-cli biz-line +channels
|
|
209
|
-
sino-bc-cli biz-line +categories
|
|
210
|
-
sino-bc-cli biz-line +list --name <业务线名称>
|
|
211
|
-
sino-bc-cli biz-line +strategies --name <业务线名称>
|
|
212
|
-
sino-bc-cli biz-line +top --industry APP --top-n 5
|
|
213
|
-
|
|
214
|
-
# 切换环境(test / pre / prod)
|
|
215
|
-
sino-bc-cli /set-config env test
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
详见 [README.md](./README.md)。
|
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
# 业务线策略(Biz Line)
|
|
2
|
-
|
|
3
|
-
数据来源:[sino-opti-hive 接口文档](https://o-test-sino-opti-hive.meetsocial.com/doc.html#/default/%E4%B8%9A%E5%8A%A1%E7%BA%BF%E7%AD%96%E7%95%A5)
|
|
4
|
-
|
|
5
|
-
业务线主数据与周策略的增删改查,共 **17** 个接口。
|
|
6
|
-
|
|
7
|
-
> **网关地址**:`https://test-agent.beyondclick.com`(三环境同一地址,唯一来源 `src/constants/gateway.ts` 的 `GATEWAY_CONFIG`),不要直连 sino-opti-hive 服务地址。
|
|
8
|
-
>
|
|
9
|
-
> **路由前缀**:经网关调用时所有路径需带 `/sino-opti-hive`,例如 `/sino-opti-hive/biz-line/list`。
|
|
10
|
-
>
|
|
11
|
-
> ⚠️ 标记为「写操作」的接口会变更线上数据。CLI 会强制确认:不加 `--yes` 时交互式终端询问,非交互式环境以退出码 `10` 返回 `confirmation_required`;执行前可用 `--dry-run` 预览。文档中的「请求示例」只说明字段口径,不会被当作默认请求体发送。
|
|
12
|
-
|
|
13
|
-
| # | name | 展示名 | 方法 | 路径(含前缀) |
|
|
14
|
-
| --- | --- | --- | --- | --- |
|
|
15
|
-
| 1 | `biz-line-list` | 业务线分页列表 | POST | `/sino-opti-hive/biz-line/list` |
|
|
16
|
-
| 2 | `biz-line-detail` | 业务线详情 | POST | `/sino-opti-hive/biz-line/detail` |
|
|
17
|
-
| 3 | `biz-line-save` | 新建业务线 ⚠️ | POST | `/sino-opti-hive/biz-line/save` |
|
|
18
|
-
| 4 | `biz-line-update` | 编辑业务线 ⚠️ | POST | `/sino-opti-hive/biz-line/update` |
|
|
19
|
-
| 5 | `biz-line-status-update` | 切换业务线状态 ⚠️ | POST | `/sino-opti-hive/biz-line/status/update` |
|
|
20
|
-
| 6 | `biz-line-del` | 删除业务线 ⚠️ | POST | `/sino-opti-hive/biz-line/del` |
|
|
21
|
-
| 7 | `biz-line-list-export` | 业务线列表导出 | POST | `/sino-opti-hive/biz-line/list/export` |
|
|
22
|
-
| 8 | `biz-line-strategy-list` | 全部策略分页 | POST | `/sino-opti-hive/biz-line/strategy/list` |
|
|
23
|
-
| 9 | `biz-line-strategy-detail` | 策略详情(编辑返显) | POST | `/sino-opti-hive/biz-line/strategy/detail` |
|
|
24
|
-
| 10 | `biz-line-strategy-period-list` | 策略周期列表 | POST | `/sino-opti-hive/biz-line/strategy/period-list` |
|
|
25
|
-
| 11 | `biz-line-strategy-preview-info` | 新建策略前置-上期摘要 | POST | `/sino-opti-hive/biz-line/strategy/preview-info` |
|
|
26
|
-
| 12 | `biz-line-strategy-save` | 新建策略 ⚠️ | POST | `/sino-opti-hive/biz-line/strategy/save` |
|
|
27
|
-
| 13 | `biz-line-strategy-update` | 编辑策略 ⚠️ | POST | `/sino-opti-hive/biz-line/strategy/update` |
|
|
28
|
-
| 14 | `biz-line-strategy-del` | 删除策略 ⚠️ | POST | `/sino-opti-hive/biz-line/strategy/del` |
|
|
29
|
-
| 15 | `biz-line-strategy-compare` | 策略对比 | POST | `/sino-opti-hive/biz-line/strategy/compare` |
|
|
30
|
-
| 16 | `biz-line-strategy-spend` | 策略周期消耗汇总 | POST | `/sino-opti-hive/biz-line/strategy/spend` |
|
|
31
|
-
| 17 | `biz-line-strategy-export-all` | 导出全部策略 | POST | `/sino-opti-hive/biz-line/strategy/exprot-all` |
|
|
32
|
-
|
|
33
|
-
> 第 17 项服务端路径确实拼作 `exprot-all`,与接口文档一致,请勿"修正"为 `export-all`。
|
|
34
|
-
|
|
35
|
-
所有接口统一返回 `RestResponseVO` 包装,下文只描述 `result`。
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## 业务线主数据
|
|
40
|
-
|
|
41
|
-
### 1. 业务线分页列表
|
|
42
|
-
|
|
43
|
-
`POST /sino-opti-hive/biz-line/list`
|
|
44
|
-
|
|
45
|
-
`result` 为分页对象:`total` = 总条数,`page`、`size`,`result` = 当前页 `BizLineListVO` 列表。
|
|
46
|
-
|
|
47
|
-
**请求体:`BizLineListReqVO`**
|
|
48
|
-
|
|
49
|
-
| 字段 | 类型 | 说明 |
|
|
50
|
-
| --- | --- | --- |
|
|
51
|
-
| `name` | string | 业务线名称,模糊搜索 |
|
|
52
|
-
| `idList` | long[] | 业务线 ID 列表 |
|
|
53
|
-
| `status` | int | 状态,默认 `1` 进行中 |
|
|
54
|
-
| `ssoTeamCode` | string | 组别 code,精确筛选(单选,兼容旧版) |
|
|
55
|
-
| `ssoTeamCodeList` | string[] | 组别 code 列表,多选 |
|
|
56
|
-
| `pmUserIds` | long[] | PM 用户 ID 多选(OR 语义:命中任一 PM) |
|
|
57
|
-
| `businessRegionList` | string[] | 商务地区多选,取值见 `BusinessRegionEnum` |
|
|
58
|
-
| `projectRatingList` | string[] | 项目评级多选,取值见 `ProjectRatingEnum` |
|
|
59
|
-
| `newCustomerTag` | string | 新客标签单选,取值见 `NewCustomerTagEnum` |
|
|
60
|
-
| `adCategoryProjectId` | long | 投放类型筛选(`-1` 表示其他;其他值按 like 匹配) |
|
|
61
|
-
| `trafficLightList` | int[] | 红绿灯筛选(策略表现),多选 |
|
|
62
|
-
| `weekOverWeekFilter` | string | 周消耗环比筛选,单选,取值见 `WeekOverWeekFilterEnum` |
|
|
63
|
-
| `sortType` | string | 排序字段,见下方说明 |
|
|
64
|
-
| `sortDirection` | string | `ASC` 升序 / `DESC` 降序,默认 `DESC` |
|
|
65
|
-
| `pageNum` / `pageSize` | int | 分页页数 / 每页数量 |
|
|
66
|
-
| `pagination` | boolean | 是否分页,`false` 则不分页 |
|
|
67
|
-
| `count` | boolean | 是否 Count |
|
|
68
|
-
| `startIndex` | int | 起始行 |
|
|
69
|
-
|
|
70
|
-
**`sortType` 取值**:`SPEND` 按上期周消耗(effective spend)、`WEEK_OVER_WEEK` 按上期周消耗环比、`PERIOD` 按本期策略周期(`week_start`)、`TRAFFIC_LIGHT` 按上期红绿灯(自定义顺序)。不传时默认按业务线 `id` 倒序。
|
|
71
|
-
|
|
72
|
-
请求示例:
|
|
73
|
-
|
|
74
|
-
```json
|
|
75
|
-
{ "pageNum": 1, "pageSize": 20, "pagination": true, "count": true, "status": 1 }
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### 2. 业务线详情
|
|
79
|
-
|
|
80
|
-
`POST /sino-opti-hive/biz-line/detail`
|
|
81
|
-
|
|
82
|
-
请求体:`{ "id": 1251 }`(`id` = 业务线 ID)。
|
|
83
|
-
|
|
84
|
-
**响应 `result`:`BizLineDetailVO`**
|
|
85
|
-
|
|
86
|
-
| 字段 | 类型 | 说明 |
|
|
87
|
-
| --- | --- | --- |
|
|
88
|
-
| `id` / `name` | long / string | 业务线 ID 与名称 |
|
|
89
|
-
| `status` | int | 状态:`1` 进行中、`2` 已完成、`3` 已暂停 |
|
|
90
|
-
| `businessRegion` / `businessRegionDesc` | string | 商务地区枚举值与展示文案 |
|
|
91
|
-
| `ssoTeamCode` / `ssoTeamCodeName` | string | 组别 code 与名称 |
|
|
92
|
-
| `projectRating` / `projectRatingDesc` | string | 项目评级与展示文案 |
|
|
93
|
-
| `newCustomerTag` / `newCustomerTagDesc` | string | 新客标签与展示文案 |
|
|
94
|
-
| `strategyControlDegree` | int | 策略掌控程度:`1` 弱、`2` 强、`3` 中 |
|
|
95
|
-
| `adCategoryIndustryIds` / `adCategoryProjectIds` / `adCategoryOther` | long[] / long[] / string | 投放品类行业、项目标签、其他说明 |
|
|
96
|
-
| `mediaChannels` | int[] | 投放渠道 |
|
|
97
|
-
| `pmUserIds` / `pmUserNames` | long[] / string[] | PM 用户 ID 与姓名,顺序对应 |
|
|
98
|
-
| `amUserIds` / `amUserNames` | long[] / string[] | AM 用户 ID 与姓名,顺序对应 |
|
|
99
|
-
| `corporationIds` / `corporationNames` | string[] / string[] | 关联客户公司 ID 与名称 |
|
|
100
|
-
| `projectIds` / `projectNames` | long[] / string[] | 关联项目 ID 与名称 |
|
|
101
|
-
| `customerTypeIds` / `customerTypeItems` / `customerTypeOther` | long[] / object[] / string | 客户类型 |
|
|
102
|
-
| `customerInfrastructure` | int[] | 客户基建情况 |
|
|
103
|
-
| `coreIndex` / `monthlyMaterialCount` / `projectBrief` | string | 核心指标、月度上新素材量、项目 brief |
|
|
104
|
-
| `projectInitStatus` | string | 项目初始状态 |
|
|
105
|
-
| `createBy` / `createByName` / `createTime` | int / string / string | 创建人与创建时间 |
|
|
106
|
-
| `updateBy` / `updateByName` / `updateTime` | int / string / string | 更新人与更新时间 |
|
|
107
|
-
|
|
108
|
-
### 3. 新建业务线 ⚠️
|
|
109
|
-
|
|
110
|
-
`POST /sino-opti-hive/biz-line/save`,成功时 `result` 为新建业务线详情(`BizLineDetailVO`)。
|
|
111
|
-
|
|
112
|
-
**请求体:`BizLineSaveReqVO`**
|
|
113
|
-
|
|
114
|
-
| 字段 | 类型 | 必填 | 说明 |
|
|
115
|
-
| --- | --- | --- | --- |
|
|
116
|
-
| `name` | string | — | 业务线名称 |
|
|
117
|
-
| `businessRegion` | string | **是** | 商务地区,取值见 `BusinessRegionEnum` |
|
|
118
|
-
| `ssoTeamCode` | string | **是** | 组别 code,单选 |
|
|
119
|
-
| `projectRating` | string | 非新客必填 | 项目评级,取值见 `ProjectRatingEnum` |
|
|
120
|
-
| `newCustomerTag` | string | — | 新客标签,取值见 `NewCustomerTagEnum` |
|
|
121
|
-
| `strategyControlDegree` | int | — | 策略掌控程度 `1` 弱 `2` 强 `3` 中 |
|
|
122
|
-
| `adCategoryIndustryIds` | long[] | — | 投放品类-行业 ID |
|
|
123
|
-
| `adCategoryProjectIds` | long[] | — | 投放品类-项目标签 ID;选其他时可为空 |
|
|
124
|
-
| `adCategoryOther` | string | — | 投放品类-其他说明 |
|
|
125
|
-
| `mediaChannels` | int[] | — | 投放渠道 |
|
|
126
|
-
| `pmUserIds` / `amUserIds` | long[] | — | PM / AM 用户 ID |
|
|
127
|
-
| `corporationIds` | string[] | — | 关联签约主体 ID(字符串,与主体系统一致) |
|
|
128
|
-
| `projectIds` | long[] | — | 关联项目 ID |
|
|
129
|
-
| `customerTypeIds` / `customerTypeOther` | long[] / string | — | 客户类型及其他说明 |
|
|
130
|
-
| `customerInfrastructure` | int[] | — | 客户基建情况枚举列表 |
|
|
131
|
-
| `coreIndex` / `monthlyMaterialCount` / `projectBrief` | string | — | 核心指标、月度上新素材量、项目 Brief |
|
|
132
|
-
| `projectInitStatus` | string | — | 项目初始化状态 |
|
|
133
|
-
|
|
134
|
-
### 4. 编辑业务线 ⚠️
|
|
135
|
-
|
|
136
|
-
`POST /sino-opti-hive/biz-line/update`,成功时 `result` 为 `Boolean`。
|
|
137
|
-
|
|
138
|
-
请求体在「新建业务线」字段基础上增加:`id`(业务线 ID,必填)、`status`(`1` 进行中 `2` 已完成 `3` 已暂停)。
|
|
139
|
-
|
|
140
|
-
### 5. 切换业务线状态 ⚠️
|
|
141
|
-
|
|
142
|
-
`POST /sino-opti-hive/biz-line/status/update`,仅更新状态与操作人,`result` 为 `Boolean`。
|
|
143
|
-
|
|
144
|
-
请求体:`{ "id": 1251, "status": 1 }`,`status` 对应 `BizLineStatusEnum`。
|
|
145
|
-
|
|
146
|
-
### 6. 删除业务线 ⚠️
|
|
147
|
-
|
|
148
|
-
`POST /sino-opti-hive/biz-line/del`,请求体 `{ "id": 1251 }`,`result` 为 `Boolean`。
|
|
149
|
-
|
|
150
|
-
### 7. 业务线列表导出
|
|
151
|
-
|
|
152
|
-
`POST /sino-opti-hive/biz-line/list/export`
|
|
153
|
-
|
|
154
|
-
导出筛选条件下所有业务线数据,`result` 为 Excel 文件访问 URL。请求体同「业务线分页列表」的 `BizLineListReqVO`。
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## 周策略
|
|
159
|
-
|
|
160
|
-
### 8. 全部策略分页
|
|
161
|
-
|
|
162
|
-
`POST /sino-opti-hive/biz-line/strategy/list`
|
|
163
|
-
|
|
164
|
-
`result` 为分页对象,`result` 字段是当前页 `BizLineStrategyDetailVO` 列表。
|
|
165
|
-
|
|
166
|
-
**请求体:`BizLineStrategyListReqVO`**
|
|
167
|
-
|
|
168
|
-
| 字段 | 类型 | 说明 |
|
|
169
|
-
| --- | --- | --- |
|
|
170
|
-
| `bizLineId` | long | 业务线 ID |
|
|
171
|
-
| `trafficLight` | int | 红绿灯筛选 |
|
|
172
|
-
| `sortType` / `sortDirection` | string | 排序方式 `desc` / `asc` |
|
|
173
|
-
| `pageNum` / `pageSize` / `pagination` / `count` / `startIndex` | — | 分页参数,同业务线列表 |
|
|
174
|
-
|
|
175
|
-
### 9. 策略详情(编辑返显)
|
|
176
|
-
|
|
177
|
-
`POST /sino-opti-hive/biz-line/strategy/detail`,请求体 `{ "bizLineId": 1251, "id": 1 }`。
|
|
178
|
-
|
|
179
|
-
**响应 `result`:`BizLineStrategyDetailVO`**
|
|
180
|
-
|
|
181
|
-
| 字段 | 类型 | 说明 |
|
|
182
|
-
| --- | --- | --- |
|
|
183
|
-
| `id` / `bizLineId` | long | 策略 ID / 所属业务线 ID |
|
|
184
|
-
| `periodStart` / `periodEnd` | string | 策略周期起止(日期) |
|
|
185
|
-
| `trafficLight` / `trafficLightDesc` | int / string | 红绿灯与展示文案 |
|
|
186
|
-
| `customerSatisfaction` / `customerSatisfactionDesc` | int / string | 客户满意度与展示文案 |
|
|
187
|
-
| `satisfactionReason` | string | 满意度原因说明 |
|
|
188
|
-
| `coreEffectIndex` | string | 核心效果指标 |
|
|
189
|
-
| `coreIssueCategories` / `coreIssueCategoryDescs` | int[] / string[] | 核心问题分类与展示文案 |
|
|
190
|
-
| `issuesAndOpportunities` | string | 项目问题 & 机会 |
|
|
191
|
-
| `spend` / `realSpend` / `weekSpendQoq` | string / number / number | 周期消耗(展示用)、媒体统计周消耗、周消耗环比(%) |
|
|
192
|
-
| `budgetStrategyTags` / `budgetStrategyTagDescs` / `budgetStrategySupplement` | int[] / string[] / string | 预算策略标签、文案、补充说明 |
|
|
193
|
-
| `budgetStrategyEffect` / `budgetStrategyEffectDesc` / `budgetStrategyLearning` | int / string / string | 预算策略效果与 Learning |
|
|
194
|
-
| `audienceStrategy*` | — | 受众策略,字段结构同预算策略 |
|
|
195
|
-
| `mediaStrategy*` | — | 媒介策略,字段结构同预算策略 |
|
|
196
|
-
| `creativeStrategy` / `creativeStrategyEffect` / `creativeStrategyEffectDesc` / `creativeStrategyLearning` | — | 素材创意策略说明、效果与 Learning |
|
|
197
|
-
| `version` | int | 乐观锁版本号,编辑时回传 |
|
|
198
|
-
| `createBy` / `createByName` / `updateTime` | — | 创建人与最后更新时间 |
|
|
199
|
-
|
|
200
|
-
**策略效果枚举**:`1` 有效、`2` 无效、`3` 待观察。
|
|
201
|
-
|
|
202
|
-
### 10. 策略周期列表
|
|
203
|
-
|
|
204
|
-
`POST /sino-opti-hive/biz-line/strategy/period-list`,请求体 `{ "bizLineId": 1251 }`。
|
|
205
|
-
|
|
206
|
-
`result` 为 `BizLineStrategyPeriodListVO`:`items` 策略列表、`total` 策略期数。
|
|
207
|
-
|
|
208
|
-
### 11. 新建策略前置-上期摘要
|
|
209
|
-
|
|
210
|
-
`POST /sino-opti-hive/biz-line/strategy/preview-info`
|
|
211
|
-
|
|
212
|
-
按目标周期取上期策略摘要,用于新建策略时预填。无上期策略时多为空字段。
|
|
213
|
-
|
|
214
|
-
**请求体:`BizLineStrategyPreviewInfoReqVO`**
|
|
215
|
-
|
|
216
|
-
| 字段 | 类型 | 说明 |
|
|
217
|
-
| --- | --- | --- |
|
|
218
|
-
| `bizLineId` | long | 业务线 ID |
|
|
219
|
-
| `periodStart` | string | 目标周期开始(周一) |
|
|
220
|
-
| `periodEnd` | string | 目标周期结束(周日) |
|
|
221
|
-
|
|
222
|
-
**响应关键字段**:`periodExist` 标识目标周期是否已有数据;`previewStrategyId` 为上期策略 ID(无上期时为 `null`);`preview*` 系列字段为上期各维度策略标签与补充说明;`trafficLight`、`customerSatisfaction`、`spend` 为上期回顾数据。
|
|
223
|
-
|
|
224
|
-
### 12. 新建策略 ⚠️
|
|
225
|
-
|
|
226
|
-
`POST /sino-opti-hive/biz-line/strategy/save`,成功时 `result` 为 `Boolean`。
|
|
227
|
-
|
|
228
|
-
**请求体:`BizLineStrategySaveReqVO`**
|
|
229
|
-
|
|
230
|
-
| 字段 | 类型 | 说明 |
|
|
231
|
-
| --- | --- | --- |
|
|
232
|
-
| `bizLineId` | long | 所属业务线 ID |
|
|
233
|
-
| `periodStart` / `periodEnd` | string | 策略周期起止(日期) |
|
|
234
|
-
| `trafficLight` | int | 红绿灯 |
|
|
235
|
-
| `customerSatisfaction` / `satisfactionReason` | int / string | 客户满意度与原因说明 |
|
|
236
|
-
| `coreEffectIndex` | string | 核心效果指标 |
|
|
237
|
-
| `coreIssueCategories` | int[] | 核心问题分类(字典值列表) |
|
|
238
|
-
| `issuesAndOpportunities` | string | 项目问题 & 机会 |
|
|
239
|
-
| `spend` | string | 周期消耗(回顾,展示用字符串) |
|
|
240
|
-
| `budgetStrategyTags` / `budgetStrategySupplement` / `budgetStrategyEffect` / `budgetStrategyLearning` | — | 预算策略标签、补充说明、效果、Learning |
|
|
241
|
-
| `audienceStrategyTags` / `audienceStrategySupplement` / `audienceStrategyEffect` / `audienceStrategyLearning` | — | 受众策略同上 |
|
|
242
|
-
| `mediaStrategyTags` / `mediaStrategySupplement` / `mediaStrategyEffect` / `mediaStrategyLearning` | — | 媒介策略同上 |
|
|
243
|
-
| `creativeStrategy` / `creativeStrategyEffect` / `creativeStrategyLearning` | — | 素材创意策略 |
|
|
244
|
-
| `previewPeriodStart` / `previewPeriodEnd` | string | 上期策略周期起止;缺省为本期 `periodStart` 的上一自然周周一、及其 +6 天 |
|
|
245
|
-
| `previewBudgetStrategyTags` / `previewBudgetStrategySupplement` | — | 上期预算策略标签与补充说明 |
|
|
246
|
-
| `previewAudienceStrategyTags` / `previewAudienceStrategySupplement` | — | 上期受众策略 |
|
|
247
|
-
| `previewMediaStrategyTags` / `previewMediaStrategySupplement` | — | 上期媒介策略 |
|
|
248
|
-
| `previewCreativeStrategy` | string | 上期素材创意策略说明 |
|
|
249
|
-
|
|
250
|
-
### 13. 编辑策略 ⚠️
|
|
251
|
-
|
|
252
|
-
`POST /sino-opti-hive/biz-line/strategy/update`,成功时 `result` 为 `Boolean`。
|
|
253
|
-
|
|
254
|
-
请求体在「新建策略」字段基础上增加:
|
|
255
|
-
|
|
256
|
-
| 字段 | 类型 | 说明 |
|
|
257
|
-
| --- | --- | --- |
|
|
258
|
-
| `id` | long | 策略 ID |
|
|
259
|
-
| `version` | int | 乐观锁版本号,取自策略详情 |
|
|
260
|
-
| `overwrite` | boolean | 默认 `false`:版本冲突则报错;`true` 强制覆盖 |
|
|
261
|
-
|
|
262
|
-
### 14. 删除策略 ⚠️
|
|
263
|
-
|
|
264
|
-
`POST /sino-opti-hive/biz-line/strategy/del`,请求体 `{ "id": 1 }`,`result` 为 `Boolean`。
|
|
265
|
-
|
|
266
|
-
### 15. 策略对比
|
|
267
|
-
|
|
268
|
-
`POST /sino-opti-hive/biz-line/strategy/compare`,请求体 `{ "bizLineId": 1251, "currentId": 2, "prevId": 1 }`。
|
|
269
|
-
|
|
270
|
-
**响应 `result`:`BizLineStrategyCompareVO`**
|
|
271
|
-
|
|
272
|
-
| 字段 | 类型 | 说明 |
|
|
273
|
-
| --- | --- | --- |
|
|
274
|
-
| `current` | `BizLineStrategyDetailVO` | 当前策略 |
|
|
275
|
-
| `prev` | `BizLineStrategyDetailVO` | 对比策略(无主策略或无上期时可能为 `null`) |
|
|
276
|
-
| `diffFields` | string[] | 存在差异的字段名列表,如 `coreIssueCategories`、`budgetStrategyTags` |
|
|
277
|
-
|
|
278
|
-
### 16. 策略周期消耗汇总
|
|
279
|
-
|
|
280
|
-
`POST /sino-opti-hive/biz-line/strategy/spend`,请求体 `{ "strategyId": 1 }`。
|
|
281
|
-
|
|
282
|
-
`result` 为 `BizLineStrategySpendVO`:`totalSpend` 策略周期内关联项目周表消耗汇总。
|
|
283
|
-
|
|
284
|
-
### 17. 导出全部策略
|
|
285
|
-
|
|
286
|
-
`POST /sino-opti-hive/biz-line/strategy/exprot-all`,请求体 `{ "bizLineId": 1251 }`。
|
|
287
|
-
|
|
288
|
-
`result` 为导出文件的访问 URL 字符串(由 Excel 写入组件返回)。
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## 枚举速查
|
|
293
|
-
|
|
294
|
-
| 枚举 | 取值 |
|
|
295
|
-
| --- | --- |
|
|
296
|
-
| `BizLineStatusEnum` | `1` 进行中、`2` 已完成、`3` 已暂停 |
|
|
297
|
-
| `TrafficLightEnum` | `1` KPI 达标、`2` 距 GAP 20% 内、`3` 距 GAP 20% 以上、`4` 已暂停、`5` 存在风险、`6` KPI 达标且项目顺利 |
|
|
298
|
-
| `CustomerSatisfactionEnum` | `1` 满意、`2` 不满意 |
|
|
299
|
-
| 策略效果 | `1` 有效、`2` 无效、`3` 待观察 |
|
|
300
|
-
| `strategyControlDegree` | `1` 弱(以客户策略为主)、`2` 强(以我方提供策略)、`3` 中(与客户共创) |
|
|
301
|
-
| `ProjectRatingEnum` | `S` / `A` / `B` / `C` |
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## 命令调用
|
|
306
|
-
|
|
307
|
-
```bash
|
|
308
|
-
# 写操作有 Shortcut:先预览,确认后追加 --yes
|
|
309
|
-
sino-bc-cli biz-line +status --id <业务线 ID> --status 3 --dry-run
|
|
310
|
-
sino-bc-cli biz-line +status --id <业务线 ID> --status 3 --yes
|
|
311
|
-
|
|
312
|
-
# 其余接口按 name 点名调用
|
|
313
|
-
sino-bc-cli biz-line api biz-line-strategy-detail --data '{"bizLineId":123,"id":1}'
|
|
314
|
-
|
|
315
|
-
# 切换环境(test / pre / prod)
|
|
316
|
-
sino-bc-cli /set-config env test
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
详见 [README.md](./README.md)。
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# 长尾接口(无 Shortcut)
|
|
2
|
-
|
|
3
|
-
用 `sino-bc-cli biz-line api <name> --data '<json>'`。`<name>` 取自 `/api-list`,不要发明新 name。
|
|
4
|
-
|
|
5
|
-
| 用户在问 | name | 注意 |
|
|
6
|
-
| --- | --- | --- |
|
|
7
|
-
| 业务线分页列表 | `biz-line-list` | |
|
|
8
|
-
| 业务线详情 | `biz-line-detail` | `{ "id": <bizLineId> }` |
|
|
9
|
-
| 导出业务线列表 | `biz-line-list-export` | `result` 为文件 URL |
|
|
10
|
-
| 周策略分页 / 详情 / 周期列表 | `biz-line-strategy-list` / `biz-line-strategy-detail` / `biz-line-strategy-period-list` | |
|
|
11
|
-
| 新建策略前看上期摘要 | `biz-line-strategy-preview-info` | 周期为自然周 周一~周日 |
|
|
12
|
-
| 两期策略对比 | `biz-line-strategy-compare` | |
|
|
13
|
-
| 策略周期消耗 | `biz-line-strategy-spend` | |
|
|
14
|
-
| 导出该业务线全部策略 | `biz-line-strategy-export-all` | 路径拼写是 `exprot-all`,不要改成 export |
|
|
15
|
-
|
|
16
|
-
描述含 ⚠️ 的 name 同样走确认门。请求体按用户条件组装,禁止原样提交文档示例业务线 ID。
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# MCP 配置分发
|
|
2
|
-
|
|
3
|
-
iCenter 及其他 MCP **不走**本 CLI 接口清单。
|
|
4
|
-
|
|
5
|
-
1. 用户把 Server 写进 `~/.sino-bc-cli/mcp.json`(与 Cursor 同结构)。
|
|
6
|
-
2. 执行 `sino-bc-cli /mcp-reload`(`/init` 结束时也会跑一次)。
|
|
7
|
-
3. CLI 同步到 Cursor / Codex / Claude / VS Code,并对带 `url` 的 Server 做 initialize 握手。
|
|
8
|
-
|
|
9
|
-
改了 `mcp.json` 却不重启,各 IDE 不会看到新 Server。查 iCenter 广告策略时用已配置的 MCP 工具,不要改走 `biz-line`。
|