sino-bc-cli 1.2.0 → 1.3.1
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 +23 -9
- package/dist/SKILL.md +12 -7
- package/dist/api-doc/README.md +80 -0
- package/dist/api-doc/biz-line-query.md +212 -0
- package/dist/api-doc/biz-line-strategy.md +313 -0
- package/dist/api-doc/icenter-mcp-strategy-dimension-facebook-ad-list.md +162 -0
- package/dist/api-doc/icenter-mcp-strategy-metrics-facebook-ad-list.md +197 -0
- package/dist/api-doc/icenter-mcp-version-query.md +69 -0
- package/dist/commands/api-endpoint.command.js +3 -0
- package/dist/commands/api-endpoint.command.js.map +1 -1
- package/dist/commands/api-list.command.d.ts +39 -0
- package/dist/commands/api-list.command.js +179 -0
- package/dist/commands/api-list.command.js.map +1 -0
- package/dist/commands/ic-api.command.d.ts +1 -0
- package/dist/commands/ic-api.command.js +1 -0
- package/dist/commands/ic-api.command.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.js +5 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/constants/api-catalog.d.ts +34 -0
- package/dist/constants/api-catalog.js +118 -0
- package/dist/constants/api-catalog.js.map +1 -0
- package/dist/constants/api-doc.d.ts +7 -0
- package/dist/constants/api-doc.js +21 -4
- package/dist/constants/api-doc.js.map +1 -1
- package/dist/constants/biz-line-api-doc.js +1 -1
- package/dist/constants/biz-line-api-doc.js.map +1 -1
- package/dist/constants/gateway.d.ts +4 -0
- package/dist/constants/gateway.js +5 -1
- package/dist/constants/gateway.js.map +1 -1
- package/dist/constants/index.d.ts +5 -2
- package/dist/constants/index.js +12 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/core/cli-app.js +2 -0
- package/dist/core/cli-app.js.map +1 -1
- package/dist/utils/browser.d.ts +16 -0
- package/dist/utils/browser.js +79 -0
- package/dist/utils/browser.js.map +1 -1
- package/dist/utils/http.js +1 -0
- package/dist/utils/http.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -141,6 +141,7 @@ sino-bc-cli/
|
|
|
141
141
|
│ ├── commands/ # 📦 命令实现层(每命令一个文件,可独立扩展)
|
|
142
142
|
│ │ ├── index.ts # 命令批量注册入口
|
|
143
143
|
│ │ ├── init.command.ts # /init 命令实现(注册 Agent 技能)
|
|
144
|
+
│ │ ├── api-list.command.ts # /api-list 命令实现(列出接口并打开文档)
|
|
144
145
|
│ │ ├── api-endpoint.command.ts # 接口调用类命令基类(选择接口 → 发起调用 → 打印响应)
|
|
145
146
|
│ │ ├── ic-api.command.ts # /ic-api 命令实现(调用 iCenter 接口地址)
|
|
146
147
|
│ │ └── bc-api.command.ts # /bc-api 命令实现(调用业务线查询 / 业务线策略接口)
|
|
@@ -259,6 +260,7 @@ npm i sino-bc-cli -g
|
|
|
259
260
|
```bash
|
|
260
261
|
sino-bc-cli --help
|
|
261
262
|
sino-bc-cli /init
|
|
263
|
+
sino-bc-cli /api-list
|
|
262
264
|
sino-bc-cli /ic-api
|
|
263
265
|
```
|
|
264
266
|
|
|
@@ -276,11 +278,12 @@ sino-bc-cli /init
|
|
|
276
278
|
|
|
277
279
|
### 可用命令一览
|
|
278
280
|
|
|
279
|
-
| 命令
|
|
280
|
-
|
|
|
281
|
-
| `/init`
|
|
282
|
-
| `/
|
|
283
|
-
| `/
|
|
281
|
+
| 命令 | 说明 |
|
|
282
|
+
| :---------- | :-------------------------------------------------------------------------------------------- |
|
|
283
|
+
| `/init` | 将本包 `SKILL.md` 复制到用户主目录下的 Agent 技能目录,供飞书豆包工作 / Cursor / Claude / Codex 自动识别 |
|
|
284
|
+
| `/api-list` | 列出全部可调用接口;Cursor / VS Code 终端中 Ctrl+单击接口名或文档路径打开本地文档,也可输入序号或传入 name |
|
|
285
|
+
| `/ic-api` | 交互选择并调用 iCenter 接口地址(路径统一带 `/sino-icenter` 前缀);`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
|
|
286
|
+
| `/bc-api` | 交互选择并调用业务线查询 / 业务线策略接口(共 22 个,路径统一带 `/sino-opti-hive` 前缀) |
|
|
284
287
|
|
|
285
288
|
### 全局选项
|
|
286
289
|
|
|
@@ -304,16 +307,26 @@ sino-bc-cli --help
|
|
|
304
307
|
sino-bc-cli -h
|
|
305
308
|
```
|
|
306
309
|
|
|
307
|
-
#### ②
|
|
310
|
+
#### ② 列出可调用接口并打开文档
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
sino-bc-cli /api-list
|
|
314
|
+
sino-bc-cli /api-list 3
|
|
315
|
+
sino-bc-cli /api-list biz-line-open-list
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
执行效果:按「iCenter MCP / 业务线查询 / 业务线策略」分组列出全部接口。接口名是终端超链接,文档路径可 Ctrl+单击打开对应 markdown;交互终端也可输入序号。传入序号或接口 `name` 则直接打开该文档。
|
|
319
|
+
|
|
320
|
+
#### ③ 调用 iCenter 接口地址
|
|
308
321
|
|
|
309
322
|
```bash
|
|
310
323
|
sino-bc-cli /ic-api
|
|
311
324
|
sino-bc-cli /ic-api test
|
|
312
325
|
```
|
|
313
326
|
|
|
314
|
-
执行效果:交互选择接口后,向对应环境的 iCenter
|
|
327
|
+
执行效果:交互选择接口后,向对应环境的 iCenter 接口地址发起请求。所有路径带 `/sino-icenter` 前缀。
|
|
315
328
|
|
|
316
|
-
####
|
|
329
|
+
#### ④ 调用业务线查询 / 业务线策略接口
|
|
317
330
|
|
|
318
331
|
```bash
|
|
319
332
|
sino-bc-cli /bc-api
|
|
@@ -324,7 +337,7 @@ sino-bc-cli /bc-api test
|
|
|
324
337
|
|
|
325
338
|
> ⚠️ 业务线策略组含新建 / 编辑 / 删除等写操作接口,会按文档示例请求体直接发起调用,执行前请确认环境。
|
|
326
339
|
|
|
327
|
-
####
|
|
340
|
+
#### ⑤ 启用 Debug 模式运行
|
|
328
341
|
|
|
329
342
|
```bash
|
|
330
343
|
sino-bc-cli --debug /ic-api
|
|
@@ -405,6 +418,7 @@ import { ExampleCommand } from "./example.command"; // 新增导入
|
|
|
405
418
|
|
|
406
419
|
export const commands: ICommand[] = [
|
|
407
420
|
new InitCommand(),
|
|
421
|
+
new ApiListCommand(),
|
|
408
422
|
new IcApiCommand(),
|
|
409
423
|
new ExampleCommand(), // 新增注册
|
|
410
424
|
];
|
package/dist/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: sino-bc-cli
|
|
3
3
|
description: >
|
|
4
4
|
BeyondClick CLI 项目说明、命令用法、扩展新命令与 npm 发布/回滚步骤。
|
|
5
|
-
Use when 开发或使用 sino-bc-cli、执行 /init /ic-api /bc-api、
|
|
5
|
+
Use when 开发或使用 sino-bc-cli、执行 /init /api-list /ic-api /bc-api、
|
|
6
6
|
把技能注册到飞书豆包工作 / Cursor / Claude / Codex、扩展命令、
|
|
7
7
|
npm publish、release:patch/minor/major、切 registry、排查 ENEEDAUTH/E403/EPUBLISHCONFLICT,
|
|
8
8
|
或发布到私有 Nexus / 企业私服。
|
|
@@ -133,6 +133,7 @@ npm i sino-bc-cli -g
|
|
|
133
133
|
```bash
|
|
134
134
|
sino-bc-cli --help
|
|
135
135
|
sino-bc-cli /init
|
|
136
|
+
sino-bc-cli /api-list
|
|
136
137
|
sino-bc-cli /ic-api
|
|
137
138
|
```
|
|
138
139
|
|
|
@@ -156,11 +157,12 @@ npm run rebuild # clean + tsc
|
|
|
156
157
|
|
|
157
158
|
### 可用命令
|
|
158
159
|
|
|
159
|
-
| 命令
|
|
160
|
-
|
|
|
161
|
-
| `/init`
|
|
162
|
-
| `/
|
|
163
|
-
| `/
|
|
160
|
+
| 命令 | 说明 |
|
|
161
|
+
| :---------- | :----------------------------------------------------------------------------------------------------------------- |
|
|
162
|
+
| `/init` | 将本包 `SKILL.md` 复制到用户主目录下的 Agent 技能目录,供飞书豆包工作 / Cursor / Claude / Codex 自动识别 |
|
|
163
|
+
| `/api-list` | 列出全部可调用接口;Cursor / VS Code 终端中 Ctrl+单击接口名或文档路径打开本地文档,也可输入序号或传入 name |
|
|
164
|
+
| `/ic-api` | 交互选择并调用 iCenter 接口地址;路径统一带 `/sino-icenter` 前缀;`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
|
|
165
|
+
| `/bc-api` | 交互选择并调用业务线查询(5 个)/ 业务线策略(17 个)接口;路径统一带 `/sino-opti-hive` 前缀,参数同 `/ic-api` |
|
|
164
166
|
|
|
165
167
|
### 全局选项
|
|
166
168
|
|
|
@@ -176,6 +178,8 @@ npm run rebuild # clean + tsc
|
|
|
176
178
|
sino-bc-cli --version
|
|
177
179
|
sino-bc-cli --help
|
|
178
180
|
sino-bc-cli /init
|
|
181
|
+
sino-bc-cli /api-list
|
|
182
|
+
sino-bc-cli /api-list 3
|
|
179
183
|
sino-bc-cli /ic-api
|
|
180
184
|
sino-bc-cli /ic-api test
|
|
181
185
|
sino-bc-cli /bc-api
|
|
@@ -185,7 +189,8 @@ sino-bc-cli -d /ic-api
|
|
|
185
189
|
```
|
|
186
190
|
|
|
187
191
|
- `/init`:把 `SKILL.md` 写到 `~/.agents/skills/sino-bc-cli/`(以及 Codex / Cursor / Claude 对应目录)。`npm i sino-bc-cli -g` 的 postinstall 会自动跑一遍;飞书豆包工作请到「技能·连接器 → 管理 → 本地」刷新。Windows 使用 `%USERPROFILE%`,macOS / Linux 使用 `$HOME`。
|
|
188
|
-
- `/
|
|
192
|
+
- `/api-list`:按「iCenter MCP / 业务线查询 / 业务线策略」分组列出全部可调用接口。接口名是终端超链接,文档路径可 Ctrl+单击;交互终端也可输入序号打开。传入序号或 `name` 则直接打开对应 markdown(`src/api-doc/`,安装后为 `dist/api-doc/`)。Agent 展示结果时,请把文档路径写成 Markdown 链接,方便用户点击打开。
|
|
193
|
+
- `/ic-api`:交互选择并调用 iCenter 接口地址(默认 `prod` + 内置 API Key)。所有路径带 `/sino-icenter` 前缀
|
|
189
194
|
- `/bc-api`:交互选择并调用 sino-opti-hive 业务线接口,按「业务线查询 / 业务线策略」分组展示。接口清单在 `src/constants/biz-line-api-doc.ts`,文档在 `src/api-doc/biz-line-query.md`、`src/api-doc/biz-line-strategy.md`。所有路径带 `/sino-opti-hive` 前缀;策略组含写操作接口,执行前先确认环境
|
|
190
195
|
- Debug 会输出参数解析、命令注册、接口调用过程
|
|
191
196
|
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# 接口文档索引
|
|
2
|
+
|
|
3
|
+
本目录汇总 CLI 可交互调用的接口。浏览清单用 `/api-list`(可点击打开本文档),发起调用用 `/ic-api` 与 `/bc-api`。
|
|
4
|
+
|
|
5
|
+
| 分组 | 命令 | 接口数 | 文档 |
|
|
6
|
+
| --- | --- | --- | --- |
|
|
7
|
+
| iCenter MCP | `/ic-api` | 3 | 见下方「iCenter MCP 接口」 |
|
|
8
|
+
| 业务线查询 | `/bc-api` | 5 | [biz-line-query.md](./biz-line-query.md) |
|
|
9
|
+
| 业务线策略 | `/bc-api` | 17 | [biz-line-strategy.md](./biz-line-strategy.md) |
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## iCenter MCP 接口
|
|
14
|
+
|
|
15
|
+
数据来源:[ContextForge MCP Gateway Admin - Tools](https://o-test-sino-mcp-gateway.meetsocial.cn/admin/?tools_page=2&tools_size=10&tools_inactive=false#tools)
|
|
16
|
+
|
|
17
|
+
筛选规则:`name` 以 `icenter-mcp-` 开头。当前共 **3** 个接口,每个接口一份独立文档。所有路径经网关调用时统一带 `/sino-icenter` 路由前缀,例如 `/sino-icenter/version`。
|
|
18
|
+
|
|
19
|
+
| 文档 | name | 展示名 | 方法 | 说明 |
|
|
20
|
+
| --- | --- | --- | --- | --- |
|
|
21
|
+
| [icenter-mcp-strategy-dimension-facebook-ad-list.md](./icenter-mcp-strategy-dimension-facebook-ad-list.md) | `icenter-mcp-strategy-dimension-facebook-ad-list` | Facebook广告策略维度数据 | POST | 查询广告策略配置(不含成效指标) |
|
|
22
|
+
| [icenter-mcp-strategy-metrics-facebook-ad-list.md](./icenter-mcp-strategy-metrics-facebook-ad-list.md) | `icenter-mcp-strategy-metrics-facebook-ad-list` | Facebook广告策略成效数据 | POST | 查询策略维度 + 成效指标(最多近 21 天) |
|
|
23
|
+
| [icenter-mcp-version-query.md](./icenter-mcp-version-query.md) | `icenter-mcp-version-query` | 查询git最新提交版本 | GET | 查询 iCenter 服务 git 最新提交版本 |
|
|
24
|
+
|
|
25
|
+
对应命令:`/ic-api`,接口清单定义在 `src/constants/api-doc.ts`。
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 业务线接口(sino-opti-hive)
|
|
30
|
+
|
|
31
|
+
数据来源:[sino-opti-hive 接口文档](https://o-test-sino-opti-hive.meetsocial.com/doc.html)
|
|
32
|
+
|
|
33
|
+
共 **22** 个接口,分两组。所有路径经网关调用时统一带 `/sino-opti-hive` 路由前缀,例如 `/sino-opti-hive/biz-line-open/channels`。
|
|
34
|
+
|
|
35
|
+
| 文档 | 分组 | 接口数 | 说明 |
|
|
36
|
+
| --- | --- | --- | --- |
|
|
37
|
+
| [biz-line-query.md](./biz-line-query.md) | 业务线查询 | 5 | 对外开放的只读查询:渠道、品类字典、业务线列表、策略及表现、Top 业务线 |
|
|
38
|
+
| [biz-line-strategy.md](./biz-line-strategy.md) | 业务线策略 | 17 | 业务线主数据与周策略的增删改查、导出 |
|
|
39
|
+
|
|
40
|
+
对应命令:`/bc-api`,接口清单定义在 `src/constants/biz-line-api-doc.ts`。
|
|
41
|
+
|
|
42
|
+
> ⚠️ 业务线策略组含新建 / 编辑 / 删除等写操作接口,`/bc-api` 会按文档示例请求体直接发起调用,调用前请确认环境。
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 命令调用
|
|
47
|
+
|
|
48
|
+
浏览全部接口并打开本文档:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
sino-bc-cli /api-list
|
|
52
|
+
sino-bc-cli /api-list 1
|
|
53
|
+
sino-bc-cli /api-list biz-line-open-channels
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
`/ic-api` 与 `/bc-api` 用法一致:交互选择接口后,向所选环境的网关地址发起请求。请求体默认使用各文档「请求示例」中的参数;`GET` 接口无请求体。
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# iCenter 接口(默认生产环境 + 内置 API Key)
|
|
60
|
+
sino-bc-cli /ic-api
|
|
61
|
+
|
|
62
|
+
# 业务线接口
|
|
63
|
+
sino-bc-cli /bc-api
|
|
64
|
+
|
|
65
|
+
# 指定环境(test / pre / prod)
|
|
66
|
+
sino-bc-cli /bc-api test
|
|
67
|
+
|
|
68
|
+
# 指定环境和 API Key
|
|
69
|
+
sino-bc-cli /bc-api pre sk-your-api-key
|
|
70
|
+
|
|
71
|
+
# 选项写法
|
|
72
|
+
sino-bc-cli /bc-api --env=test --api-key=sk-your-api-key
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
| 参数 | 是否必传 | 默认值 | 说明 |
|
|
76
|
+
| --- | --- | --- | --- |
|
|
77
|
+
| `ENV` | 否 | `prod` | `test` / `pre` / `prod`,用于取 `src/constants/gateway.ts` 中的网关地址 |
|
|
78
|
+
| `API_KEY` | 否 | `src/constants/gateway.ts` 的 `DEFAULT_API_KEY` | 注入请求头 `Authorization: Bearer ${API_KEY}`;同时固定注入 `X-GATEWAY-TYPE: A2C-CLI` |
|
|
79
|
+
|
|
80
|
+
执行后会按分组列出接口,输入序号后按所选环境网关发起调用,并打印响应。
|
|
@@ -0,0 +1,212 @@
|
|
|
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
|
+
> **路由前缀**:经网关调用时所有路径需带 `/sino-opti-hive`,例如 `/sino-opti-hive/biz-line-open/channels`。
|
|
8
|
+
|
|
9
|
+
| # | name | 展示名 | 方法 | 路径(含前缀) |
|
|
10
|
+
| --- | --- | --- | --- | --- |
|
|
11
|
+
| 1 | `biz-line-open-channels` | 查询投放渠道列表 | GET | `/sino-opti-hive/biz-line-open/channels` |
|
|
12
|
+
| 2 | `biz-line-open-placement-categories` | 查询投放品类字典树 | GET | `/sino-opti-hive/biz-line-open/placement-categories` |
|
|
13
|
+
| 3 | `biz-line-open-list` | 查询业务线列表(不分页) | POST | `/sino-opti-hive/biz-line-open/list` |
|
|
14
|
+
| 4 | `biz-line-open-strategies` | 查询业务线投放策略及表现 | POST | `/sino-opti-hive/biz-line-open/strategies` |
|
|
15
|
+
| 5 | `biz-line-open-strategy-top` | 查询投放表现 Top 业务线 | POST | `/sino-opti-hive/biz-line-open/strategy-top` |
|
|
16
|
+
|
|
17
|
+
所有接口统一返回 `RestResponseVO` 包装:`success`、`code`、`message`、`result`、`traceId`。下文只描述 `result`。
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 1. 查询投放渠道列表
|
|
22
|
+
|
|
23
|
+
`GET /sino-opti-hive/biz-line-open/channels`
|
|
24
|
+
|
|
25
|
+
无入参,返回 `ChannelEnum` 全量。`code` 即业务线列表中的 `mediaChannelId`。
|
|
26
|
+
|
|
27
|
+
**响应 `result`:`ChannelOpenVO[]`**
|
|
28
|
+
|
|
29
|
+
| 字段 | 类型 | 说明 |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| `code` | int | 渠道 code(= `ChannelEnum.id`),用于筛选业务线 `mediaChannelId` |
|
|
32
|
+
| `name` | string | 渠道名称 |
|
|
33
|
+
|
|
34
|
+
示例片段:`{"code":1,"name":"Facebook"}`、`{"code":3,"name":"Google"}`、`{"code":18,"name":"TikTok"}`。
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 2. 查询投放品类字典树
|
|
39
|
+
|
|
40
|
+
`GET /sino-opti-hive/biz-line-open/placement-categories`
|
|
41
|
+
|
|
42
|
+
无入参,`sceneCode` 固定 `PLACEMENT_CATEGORY`。一级节点 = 投放行业,二级节点(`children`)= 投放品类,分别对应筛选参数 `adCategoryIndustryId` / `adCategoryProjectId`。
|
|
43
|
+
|
|
44
|
+
**响应 `result`:`DictItemVO[]`**
|
|
45
|
+
|
|
46
|
+
| 字段 | 类型 | 说明 |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| `id` | long | 字典项 ID |
|
|
49
|
+
| `name` | string | 字典项名称 |
|
|
50
|
+
| `itemCode` | string | 字典项编码 |
|
|
51
|
+
| `description` | string | 描述 |
|
|
52
|
+
| `isEnable` | int | 是否启用 |
|
|
53
|
+
| `isOther` | int | 是否为「其他」项 |
|
|
54
|
+
| `sortOrder` | int | 排序值 |
|
|
55
|
+
| `children` | `DictItemVO[]` | 二级节点(投放品类) |
|
|
56
|
+
|
|
57
|
+
当前一级行业为:`1 = APP`、`2 = ECBR`、`3 = 游戏`。
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. 查询业务线列表(不分页)
|
|
62
|
+
|
|
63
|
+
`POST /sino-opti-hive/biz-line-open/list`
|
|
64
|
+
|
|
65
|
+
按条件检索业务线主数据及关联主体、项目。入参均可选、多条件 AND,body 可为空表示查全部;无命中返回 `[]`。
|
|
66
|
+
|
|
67
|
+
**请求体:`BizLineOpenListReqVO`(可选)**
|
|
68
|
+
|
|
69
|
+
| 字段 | 类型 | 说明 |
|
|
70
|
+
| --- | --- | --- |
|
|
71
|
+
| `id` | long | 业务线主键 ID,精确匹配 |
|
|
72
|
+
| `idList` | long[] | 业务线 ID 多选;与 `id` 同时传时两者都生效(AND) |
|
|
73
|
+
| `name` | string | 业务/产品线名称,模糊匹配 |
|
|
74
|
+
| `mediaChannelId` | int | 投放渠道 ID,取值见 `/biz-line-open/channels` 的 `code` |
|
|
75
|
+
| `adCategoryIndustryId` | long | 投放行业字典项 ID(品类树一级节点) |
|
|
76
|
+
| `adCategoryProjectId` | long | 投放品类字典项 ID(二级节点)。传 `-1` 表示品类未选/其他 |
|
|
77
|
+
|
|
78
|
+
请求示例(空对象 = 查全部):
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**响应 `result`:`BizLineOpenListItemVO[]`**
|
|
85
|
+
|
|
86
|
+
| 字段 | 类型 | 说明 |
|
|
87
|
+
| --- | --- | --- |
|
|
88
|
+
| `id` | long | 业务线主键 ID |
|
|
89
|
+
| `name` | string | 业务/产品线名称 |
|
|
90
|
+
| `mediaChannelIds` / `mediaChannelNames` | int[] / string[] | 投放渠道 ID 与名称,下标一一对应 |
|
|
91
|
+
| `adCategoryIndustryIds` / `adCategoryIndustryDescs` | long[] / string[] | 投放行业 ID 与展示文案 |
|
|
92
|
+
| `adCategoryProjectIds` / `adCategoryProjectDescs` | long[] / string[] | 投放品类 ID 与展示文案 |
|
|
93
|
+
| `adCategoryOther` | string | 投放品类「其他」自定义文案 |
|
|
94
|
+
| `corporationIds` / `corporationNames` | string[] / string[] | 关联主体 ID 与名称 |
|
|
95
|
+
| `projectIds` / `projectNames` | long[] / string[] | 关联项目 ID 与名称 |
|
|
96
|
+
| `customerTypeIds` / `customerTypeDescs` | long[] / string[] | 客户类型 ID 与展示文案 |
|
|
97
|
+
| `customerInfrastructure` / `customerInfrastructureDescs` | int[] / string[] | 客户基建情况枚举与文案 |
|
|
98
|
+
| `projectRating` / `projectRatingDesc` | string / string | 项目评级(`ProjectRatingEnum`:S/A/B/C)与文案 |
|
|
99
|
+
| `strategyControlDegree` / `strategyControlDegreeDesc` | int / string | 策略掌控程度与文案 |
|
|
100
|
+
| `coreIndex` | string | 核心指标(原文) |
|
|
101
|
+
| `monthlyMaterialCount` | string | 月度上新素材量(原文) |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 4. 查询业务线投放策略及表现(不分页)
|
|
106
|
+
|
|
107
|
+
`POST /sino-opti-hive/biz-line-open/strategies`
|
|
108
|
+
|
|
109
|
+
按业务线 ID 集合查其全部未删除周策略及策略回顾,按 `year`、`weekOfYear` 倒序。不存在的 ID 静默忽略。周消耗、客户满意度与效果细节均在 `effectSummary`(无回顾时内部字段可能为 `null`)。
|
|
110
|
+
|
|
111
|
+
**请求体:`BizLineOpenStrategyReqVO`(必填)**
|
|
112
|
+
|
|
113
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
114
|
+
| --- | --- | --- | --- |
|
|
115
|
+
| `bizLineIds` | long[] | 是 | 业务线 ID 集合,非空。不存在的 ID 被忽略,不报错 |
|
|
116
|
+
|
|
117
|
+
请求示例:
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{ "bizLineIds": [1251, 1250] }
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**响应 `result`:`BizLineOpenStrategyVO[]`**
|
|
124
|
+
|
|
125
|
+
| 字段 | 类型 | 说明 |
|
|
126
|
+
| --- | --- | --- |
|
|
127
|
+
| `bizLineId` / `bizLineName` | long / string | 所属业务线 ID 与名称 |
|
|
128
|
+
| `strategyWeek` | int | 策略归属年周,`year × 100 + weekOfYear`,如 2026 年第 1 周 = `202601` |
|
|
129
|
+
| `budgetStrategyTagDescs` / `budgetStrategySupplement` | string[] / string | 预算策略标签文案、补充说明 |
|
|
130
|
+
| `audienceStrategyTagDescs` / `audienceStrategySupplement` | string[] / string | 受众定位策略标签文案、补充说明 |
|
|
131
|
+
| `mediaStrategyTagDescs` / `mediaStrategySupplement` | string[] / string | 媒介产品策略标签文案、补充说明 |
|
|
132
|
+
| `creativeStrategy` | string | 素材创意策略说明(原文) |
|
|
133
|
+
| `effectSummary` | object | 投放策略效果总结:周消耗、客户满意度、红绿灯、核心问题、各维度效果及 Learning |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 5. 查询投放表现 Top 业务线
|
|
138
|
+
|
|
139
|
+
`POST /sino-opti-hive/biz-line-open/strategy-top`
|
|
140
|
+
|
|
141
|
+
在指定投放行业 / 投放品类范围内排出 Top N 业务线,并给出其表现最好那段窗口期采用的投放策略。
|
|
142
|
+
|
|
143
|
+
- **筛选**:`adCategoryIndustryId`、`adCategoryProjectId` 至少传一个;**行业优先**——传了行业则按整个行业横向比较并忽略品类,只传品类时才按品类比较。`excludeBizLineIds` 可选。
|
|
144
|
+
- **口径**:默认回溯最近 52 周,按连续策略记录滑动 4 期窗口打分,取历史最佳窗口成绩,故「前期长期良好、最近一两期回落」仍能上榜;最近 2 期出现红灯或客户不满意时总分打 9 折(`recentDeclined` / `penaltyApplied` 标记)。
|
|
145
|
+
- **出参**:计数与占比均为最佳窗口内口径;策略标签与补充说明为窗口内各期聚合去重,`periods` 给出逐期明细。范围内无数据返回 `[]`。
|
|
146
|
+
- **分值表与排名规则**:见[飞书接口文档](https://q6y68vu0j8.feishu.cn/wiki/HboRwmijkiAa1wktfvSclyXxntg)。
|
|
147
|
+
|
|
148
|
+
**请求体:`BizLineStrategyTopReqVO`(必填)**
|
|
149
|
+
|
|
150
|
+
| 字段 | 类型 | 默认 | 说明 |
|
|
151
|
+
| --- | --- | --- | --- |
|
|
152
|
+
| `adCategoryIndustryId` | long | — | 投放行业字典 ID(一级)。传入时按整个行业比较,并忽略 `adCategoryProjectId` |
|
|
153
|
+
| `adCategoryProjectId` | long | — | 投放品类字典 ID(二级)。仅在未传 `adCategoryIndustryId` 时生效 |
|
|
154
|
+
| `excludeBizLineIds` | long[] | — | 排除的业务线 ID,不参与排名 |
|
|
155
|
+
| `topN` | int | `5` | 返回条数,取值 1~50 |
|
|
156
|
+
| `windowWeeks` | int | `4` | 滑动窗口期数,取值 2~12 |
|
|
157
|
+
| `lookbackWeeks` | int | `52` | 回溯周数(含当前周),取值 4~104 |
|
|
158
|
+
| `minReviewedPeriods` | int | `1` | 样本门槛:窗口内至少几期有回顾数据,取值 1~12 |
|
|
159
|
+
|
|
160
|
+
请求示例:
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
{
|
|
164
|
+
"adCategoryIndustryId": 1,
|
|
165
|
+
"topN": 5,
|
|
166
|
+
"windowWeeks": 4,
|
|
167
|
+
"lookbackWeeks": 52,
|
|
168
|
+
"minReviewedPeriods": 1
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**响应 `result`:`BizLineStrategyTopItemVO[]`**
|
|
173
|
+
|
|
174
|
+
| 字段 | 类型 | 说明 |
|
|
175
|
+
| --- | --- | --- |
|
|
176
|
+
| `rank` | int | 排名,从 1 开始 |
|
|
177
|
+
| `bizLineId` / `bizLineName` | long / string | 业务线 ID 与名称 |
|
|
178
|
+
| `score` | number | 最终得分(排序主键):`rawScore`,近期回落时乘 0.9,保留两位小数 |
|
|
179
|
+
| `rawScore` | int | 最佳窗口原始得分(未打折) |
|
|
180
|
+
| `penaltyApplied` | boolean | 是否已按近期回落打 9 折 |
|
|
181
|
+
| `recentDeclined` | boolean | 回溯范围内最后 2 期是否出现红灯或客户不满意 |
|
|
182
|
+
| `bestWindowStartWeek` / `bestWindowEndWeek` | int / int | 最佳窗口起止周 `yyyyW` |
|
|
183
|
+
| `windowPeriods` / `reviewedPeriods` / `lookbackPeriods` | int | 窗口内策略期数 / 有回顾期数 / 回溯范围内总期数 |
|
|
184
|
+
| `greenCount` / `yellowCount` / `redCount` | int | 窗口内绿灯 / 黄灯 / 红灯期数 |
|
|
185
|
+
| `greenRate` | number | 绿灯占比(%)= `greenCount ÷ reviewedPeriods × 100`;分母为 0 返回 `null` |
|
|
186
|
+
| `maxConsecutiveGreenPeriods` | int | 窗口内最长连续绿灯期数 |
|
|
187
|
+
| `satisfiedCount` / `unsatisfiedCount` | int | 窗口内客户满意 / 不满意期数 |
|
|
188
|
+
| `satisfiedRate` | number | 满意占比(%);分母为 0 返回 `null` |
|
|
189
|
+
| `adCategoryIndustryDescs` / `adCategoryProjectDescs` | string[] | 投放行业 / 品类展示文案 |
|
|
190
|
+
| `budgetStrategyTagDescs` / `budgetStrategySupplements` | string[] | 最佳窗口内预算策略标签与补充说明(去重合并) |
|
|
191
|
+
| `audienceStrategyTagDescs` / `audienceStrategySupplements` | string[] | 最佳窗口内受众定位策略标签与补充说明(去重合并) |
|
|
192
|
+
| `mediaStrategyTagDescs` / `mediaStrategySupplements` | string[] | 最佳窗口内媒介产品策略标签与补充说明(去重合并) |
|
|
193
|
+
| `creativeStrategies` | string[] | 最佳窗口内素材创意策略说明(去重合并) |
|
|
194
|
+
| `periods` | object[] | 最佳窗口内逐期策略明细,按周升序(含当期红绿灯与满意度) |
|
|
195
|
+
|
|
196
|
+
**红绿灯枚举(`TrafficLightEnum`)**:`1` KPI 达标、`2` 距 GAP 20% 内、`3` 距 GAP 20% 以上、`4` 已暂停、`5` 存在风险、`6` KPI 达标且项目顺利。绿灯 = `1`/`6`,黄灯 = `2`/`5`,红灯 = `3`/`4`。
|
|
197
|
+
|
|
198
|
+
**客户满意度枚举(`CustomerSatisfactionEnum`)**:`1` 满意、`2` 不满意。
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 命令调用
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# 默认生产环境 + 内置 API Key,交互选择接口
|
|
206
|
+
sino-bc-cli /bc-api
|
|
207
|
+
|
|
208
|
+
# 指定环境(test / pre / prod)
|
|
209
|
+
sino-bc-cli /bc-api test
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
详见 [README.md](./README.md)。
|