sino-bc-cli 1.8.6 → 1.8.8
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 +2 -2
- package/dist/SKILL.md +14 -14
- package/dist/affordance/biz-line.md +12 -0
- package/dist/api-doc/custom/README.md +8 -8
- package/dist/api-doc/{system → oapi}/biz-line-strategy.md +169 -44
- package/dist/generated/api-catalog.json +144 -72
- package/dist/index.js +1 -1
- package/dist/skills/custom/sino-bc-biz-line/references/common-mistakes.md +8 -0
- package/dist/skills/custom/sino-bc-biz-line/references/enums.md +7 -0
- package/dist/skills/oapi/sino-bc-biz-line/SKILL.md +43 -0
- package/dist/skills/oapi/sino-bc-biz-line/references/long-tail-api.md +19 -0
- package/dist/skills/{system → oapi}/sino-bc-sso/SKILL.md +4 -13
- package/dist/skills/oapi/sino-bc-sso/references/long-tail-api.md +9 -0
- package/package.json +1 -1
- package/dist/skills/system/sino-bc-biz-line/SKILL.md +0 -65
- package/dist/skills/system/sino-bc-biz-line/references/long-tail-api.md +0 -17
- /package/dist/api-doc/{system → oapi}/biz-line-query.md +0 -0
- /package/dist/api-doc/{system → oapi}/sso.md +0 -0
- /package/dist/skills/{custom → default}/sino-bc-shared/SKILL.md +0 -0
- /package/dist/skills/{custom → default}/sino-bc-shared/references/config-and-env.md +0 -0
- /package/dist/skills/{custom → default}/sino-bc-shared/references/output-contract.md +0 -0
- /package/dist/skills/{custom → default}/sino-bc-shared/references/write-approval.md +0 -0
package/README.md
CHANGED
|
@@ -84,7 +84,7 @@ npm ls -g --depth=0 sino-bc-cli # 确认全局安装的版本
|
|
|
84
84
|
sino-bc-cli /init
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
`/init` 会把根 `SKILL.md` 与 `skills/
|
|
87
|
+
`/init` 会把根 `SKILL.md` 与 `skills/oapi/`、`skills/custom/`、`skills/default/` 下的标准子技能(`SKILL.md` + `references/`,同路径以后写的层为准)嵌进 `~/.agents/skills/sino-bc-cli/`,不出现 `oapi/` / `custom/` / `default/` 这一层;同时删除旧的平级 `sino-bc-shared` / `sino-bc-<domain>` 技能目录。豆包本地列表里只应看到 **`sino-bc-cli`**。飞书豆包工作侧还需:技能·连接器 → 管理 → **本地** → 刷新。查看包内技能:`sino-bc-cli /skill`。
|
|
88
88
|
|
|
89
89
|
> 每次升级版本后请重新执行一次 `sino-bc-cli /init`,以刷新本地技能文件。
|
|
90
90
|
|
|
@@ -536,7 +536,7 @@ npm run rebuild
|
|
|
536
536
|
1. **写声明**:在 `src/shortcuts/biz-line/read.ts` 或 `write.ts` 里新增一条 `IShortcutDefinition`,声明 `command`、`risk`、`flags`,并在 `resolve()` 里返回目标接口与请求体
|
|
537
537
|
2. **登记**:加入 `src/shortcuts/biz-line/index.ts` 的 `BIZ_LINE_SHORTCUTS` 数组
|
|
538
538
|
3. **补测试**:在 `tests/` 下用 HTTP 桩断言请求与输出
|
|
539
|
-
4. **同步文档**:`skills/
|
|
539
|
+
4. **同步文档**:`skills/oapi/sino-bc-biz-line` 的意图表、`affordance/biz-line.md` 的 WHEN、`src/api-doc/oapi/` 的字段口径;手写补充放 `skills/default/`、`skills/custom/` 与 `src/api-doc/custom/`;根 `SKILL.md` 只做入口
|
|
540
540
|
|
|
541
541
|
参数解析、输出格式、写操作确认门、错误归类都由 `src/shortcuts/index.ts` 统一承担,声明里不要自己发 HTTP。接口 `name` 一律取自 `src/generated/api-catalog.json`,不要新造。
|
|
542
542
|
|
package/dist/SKILL.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sino-bc-cli
|
|
3
3
|
description: >
|
|
4
|
-
Use when 查询或操作 BeyondClick
|
|
5
|
-
|
|
6
|
-
Facebook / Google / TikTok
|
|
7
|
-
|
|
4
|
+
Use when 查询或操作 BeyondClick 业务线、周策略、投放渠道/品类、关联项目、广告策略维度与成效,或配置 sino-bc-cli:
|
|
5
|
+
投放渠道/品类、业务线列表/详情/状态、周策略增删改查与策略生成、策略周期/消耗/红绿灯、优化项目;
|
|
6
|
+
Facebook / Google / TikTok 广告策略维度(目标、出价、定向等配置分布)
|
|
7
|
+
与广告策略成效(消耗、曝光、点击等);
|
|
8
8
|
SSO 组别;以及 /init、/get-config、/set-config。
|
|
9
|
-
|
|
9
|
+
用户提到业务线、周策略、策略生成、广告结构、广告层级、广告成效、广告策略维度、biz-line、
|
|
10
10
|
Meta、Facebook、Google、TikTok、sso、sino-opti-hive 时也必须用本技能,不要自己拼 HTTP。
|
|
11
11
|
完整规则在子技能 sino-bc-shared 与 sino-bc-<domain>。
|
|
12
12
|
metadata:
|
|
@@ -18,13 +18,13 @@ metadata:
|
|
|
18
18
|
|
|
19
19
|
用全局 CLI `sino-bc-cli` 查询或操作 BeyondClick。本文件是**唯一对外技能**,也是决策页:按用户意图只读一份子技能,再执行命令。不要自己拼网关 HTTP,也不要一次读完全部子技能。
|
|
20
20
|
|
|
21
|
-
`/init` 之后本机目录是 `~/.agents/skills/sino-bc-cli/`,子技能嵌在其下(没有 `
|
|
21
|
+
`/init` 之后本机目录是 `~/.agents/skills/sino-bc-cli/`,子技能嵌在其下(没有 `oapi/` / `custom/` / `default/` 这一层):
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
24
|
sino-bc-cli/
|
|
25
25
|
├── SKILL.md ← 本文件
|
|
26
26
|
├── sino-bc-shared/ 横切:配置、信封、确认门
|
|
27
|
-
├── sino-bc-biz-line/
|
|
27
|
+
├── sino-bc-biz-line/ 业务线、周策略、投放渠道/品类、关联项目、广告策略维度与成效
|
|
28
28
|
└── sino-bc-sso/ SSO 组别
|
|
29
29
|
```
|
|
30
30
|
|
|
@@ -54,8 +54,8 @@ CLI 未安装:`npm i sino-bc-cli@latest -g`(Node.js >= 24)。技能未出
|
|
|
54
54
|
| 用户在问 | 读 | 命令入口 |
|
|
55
55
|
| --- | --- | --- |
|
|
56
56
|
| 环境、API_KEY、成功/失败怎么看、写操作要不要确认 | [`sino-bc-shared/SKILL.md`](sino-bc-shared/SKILL.md) | `/init` `/get-config` `/set-config` |
|
|
57
|
-
|
|
|
58
|
-
| Facebook / Google / TikTok
|
|
57
|
+
| 投放渠道/品类、业务线列表/详情/状态、周策略增删改查与策略生成、策略周期/消耗/红绿灯、关联项目/优化项目 | [`sino-bc-biz-line/SKILL.md`](sino-bc-biz-line/SKILL.md) | `biz-line +<shortcut>` |
|
|
58
|
+
| Facebook / Google / TikTok 广告策略维度(目标、出价、定向等配置分布)或广告策略成效(消耗、曝光、点击等) | 同上 | `biz-line +<shortcut>`(维度 / 成效) |
|
|
59
59
|
| SSO 组别 | [`sino-bc-sso/SKILL.md`](sino-bc-sso/SKILL.md) | `sso +group-list` |
|
|
60
60
|
|
|
61
61
|
不要用本技能处理:本仓库源码开发、扩展命令、npm 发版(见仓库 `README.md` / `ReleaseSteps.md`)。
|
|
@@ -64,9 +64,9 @@ CLI 未安装:`npm i sino-bc-cli@latest -g`(Node.js >= 24)。技能未出
|
|
|
64
64
|
|
|
65
65
|
Agent 先读子技能 `sino-bc-shared`,再按意图读域技能。
|
|
66
66
|
|
|
67
|
-
1. 配置、信封、确认门、禁止拼 HTTP:[`sino-bc-shared/SKILL.md`](sino-bc-shared/SKILL.md)(仓库 [`skills/
|
|
68
|
-
2. 业务线、周策略生成、广告结构、广告成效:[`sino-bc-biz-line/SKILL.md`](sino-bc-biz-line/SKILL.md)(仓库 [`skills/
|
|
69
|
-
3. SSO 组别:[`sino-bc-sso/SKILL.md`](sino-bc-sso/SKILL.md)(仓库 [`skills/
|
|
67
|
+
1. 配置、信封、确认门、禁止拼 HTTP:[`sino-bc-shared/SKILL.md`](sino-bc-shared/SKILL.md)(仓库 [`skills/default/sino-bc-shared/SKILL.md`](skills/default/sino-bc-shared/SKILL.md))
|
|
68
|
+
2. 业务线、周策略生成、广告结构、广告成效:[`sino-bc-biz-line/SKILL.md`](sino-bc-biz-line/SKILL.md)(仓库 [`skills/oapi/sino-bc-biz-line/SKILL.md`](skills/oapi/sino-bc-biz-line/SKILL.md))
|
|
69
|
+
3. SSO 组别:[`sino-bc-sso/SKILL.md`](sino-bc-sso/SKILL.md)(仓库 [`skills/oapi/sino-bc-sso/SKILL.md`](skills/oapi/sino-bc-sso/SKILL.md))
|
|
70
70
|
|
|
71
71
|
安装与刷新(会写入上面列出的子技能到本机 `sino-bc-cli/`,并删除旧的平级 `sino-bc-shared` / `sino-bc-<domain>` 技能目录):
|
|
72
72
|
|
|
@@ -78,6 +78,6 @@ sino-bc-cli /skill
|
|
|
78
78
|
列出包内技能:`sino-bc-cli /skill`(只有这一条)。查看某条命令何时用:`sino-bc-cli biz-line --help`。
|
|
79
79
|
升级 CLI 后请再跑一次 `/init`。
|
|
80
80
|
|
|
81
|
-
>
|
|
82
|
-
> `/init` 把根 `SKILL.md`
|
|
81
|
+
> 仓库里子技能分三层:`skills/oapi/sino-bc-<domain>/` 由 `npm run sync-api-doc` **整层重写**(域 `SKILL.md` 不再与旧文件合并);`skills/default/sino-bc-shared/` 与 `skills/custom/sino-bc-<domain>/references/` 手写且不会被同步覆盖。域 custom 不要放 `SKILL.md`,以免 `/init` 盖掉生成稿。每个子技能都是标准目录:`SKILL.md` + `references/`。
|
|
82
|
+
> `/init` 把根 `SKILL.md` 与各层子技能嵌进 `~/.agents/skills/sino-bc-cli/`。
|
|
83
83
|
> 上面的索引由同步脚本维护,改它请改 `src/api-utils/render-skills.ts`。
|
|
@@ -86,6 +86,18 @@
|
|
|
86
86
|
- **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
|
|
87
87
|
- **示例**:`sino-bc-cli biz-line +categories`
|
|
88
88
|
|
|
89
|
+
## +project-list
|
|
90
|
+
|
|
91
|
+
- **WHEN**:业务线关联项目列表
|
|
92
|
+
- **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
|
|
93
|
+
- **示例**:`sino-bc-cli biz-line +project-list --data '{...}'`
|
|
94
|
+
|
|
95
|
+
## +queryByPage
|
|
96
|
+
|
|
97
|
+
- **WHEN**:查询优化项目分页列表
|
|
98
|
+
- **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
|
|
99
|
+
- **示例**:`sino-bc-cli biz-line +queryByPage --data '{...}'`
|
|
100
|
+
|
|
89
101
|
## +facebook-dimension
|
|
90
102
|
|
|
91
103
|
- **WHEN**:Facebook广告策略维度数据
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
|
|
11
11
|
| 目录 | 来源 | 会不会被覆盖 |
|
|
12
12
|
| --- | --- | --- |
|
|
13
|
-
| `
|
|
13
|
+
| `oapi/` | `npm run sync-api-doc` 从 Apifox 全量生成 | **每次同步整层重写**,不要手改 |
|
|
14
14
|
| `custom/` | 手写(本文件就在这里) | 同步脚本只读,不会创建、改写或删除 |
|
|
15
15
|
|
|
16
|
-
两层出现同名文件时,运行时按 `custom/` → `
|
|
16
|
+
两层出现同名文件时,运行时按 `custom/` → `oapi/` 顺序取第一个命中,即**手写件优先**。所以在 `custom/` 里放一份与生成文档同名的文件,会让同步结果看起来「没生效」——需要覆盖时才这么做。
|
|
17
17
|
|
|
18
18
|
| 分组 | 命令 | 接口数 | 文档 |
|
|
19
19
|
| --- | --- | --- | --- |
|
|
20
|
-
| 业务线查询 | `biz-line +channels` / `+categories` | 2 | [biz-line-query.md](../
|
|
21
|
-
| 业务线策略 | `biz-line +list` / `+strategies` / `+save` / `+update` / `+status` / `+delete` / `+strategy-*`,其余 `biz-line api <name>` | 13 | [biz-line-strategy.md](../
|
|
22
|
-
| SSO | `sso +group-list` | 1 | [sso.md](../
|
|
20
|
+
| 业务线查询 | `biz-line +channels` / `+categories` | 2 | [biz-line-query.md](../oapi/biz-line-query.md) |
|
|
21
|
+
| 业务线策略 | `biz-line +list` / `+strategies` / `+save` / `+update` / `+status` / `+delete` / `+strategy-*`,其余 `biz-line api <name>` | 13 | [biz-line-strategy.md](../oapi/biz-line-strategy.md) |
|
|
22
|
+
| SSO | `sso +group-list` | 1 | [sso.md](../oapi/sso.md) |
|
|
23
23
|
|
|
24
24
|
> 接口数随 Apifox 变动,以 `src/generated/api-catalog.json` 为准,本表只作导航。
|
|
25
25
|
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
|
|
52
52
|
| 文档 | 分组 | 接口数 | 说明 |
|
|
53
53
|
| --- | --- | --- | --- |
|
|
54
|
-
| [biz-line-query.md](../
|
|
55
|
-
| [biz-line-strategy.md](../
|
|
56
|
-
| [sso.md](../
|
|
54
|
+
| [biz-line-query.md](../oapi/biz-line-query.md) | 业务线查询 | 2 | 对外开放的只读查询:渠道、品类字典 |
|
|
55
|
+
| [biz-line-strategy.md](../oapi/biz-line-strategy.md) | 业务线策略 | 13 | 业务线主数据与周策略的增删改查;`+list` / `+strategies` 改绑此组内部接口 |
|
|
56
|
+
| [sso.md](../oapi/sso.md) | SSO | 1 | 团队组列表;上游挂在「业务线策略」tag 下,由映射表按 endpoint 拆到独立域 `sso` |
|
|
57
57
|
|
|
58
58
|
对应命令:`biz-line +<shortcut>` / `sso +<shortcut>` 与 `<domain> api <name>`,接口清单定义在 `src/generated/api-catalog.json`。维护者同步:`npm run sync-api-doc`(token 见下文)。
|
|
59
59
|
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
result 为公司分页对象:total=总条数,result=当前页的 BizLineListVO 列表。
|
|
14
14
|
|
|
15
|
+
核心指标字段有两个,含义不同不要混用:coreIndex = 业务线核心指标(业务线维度的 KPI 口径说明,来源业务线配置,与策略周期无关);coreEffectIndex = 当期策略回顾里的核心效果指标(随策略周期变化,另有 prevCoreEffectIndex 为上期值)。
|
|
16
|
+
|
|
17
|
+
需要查看某条业务线下挂了哪些项目及其广告账号时,用 result.result[].id 调 POST /sino-opti-hive/biz-line/project-list。
|
|
18
|
+
|
|
15
19
|
**请求体**
|
|
16
20
|
|
|
17
21
|
| 字段 | 类型 | 说明 |
|
|
@@ -83,7 +87,7 @@ result 为公司分页对象:total=总条数,result=当前页的 BizLineStra
|
|
|
83
87
|
| `pageNum` | integer | 页码,从 1 开始 |
|
|
84
88
|
| `pageSize` | integer | 每页条数 |
|
|
85
89
|
| `sortDirection` | string | DESC 或 ASC,默认 DESC |
|
|
86
|
-
| `bizLineId` | integer |
|
|
90
|
+
| `bizLineId` | integer | 可选。不传则按权限查全部可见业务线。通过 POST /sino-opti-hive/biz-line/list 取 result.id |
|
|
87
91
|
| `trafficLight` | integer | 红绿灯筛选(策略表现):1=绿灯KPI达标,2=黄灯距KPIGAP20%内,3=红灯距KPIGAP20%以上,4=红灯已暂停,5=黄灯存在风险,6=绿灯KPI达标且项目顺利。 |
|
|
88
92
|
|
|
89
93
|
## 9. 策略周期内关联项目周表消耗汇总
|
|
@@ -110,13 +114,72 @@ result 为 BizLineStrategySpendVO,含 totalSpend。
|
|
|
110
114
|
|
|
111
115
|
⚠️ 写操作。成功时 result 为 Boolean,表示是否删除成功。
|
|
112
116
|
|
|
113
|
-
## 13.
|
|
117
|
+
## 13. 业务线关联项目列表
|
|
118
|
+
|
|
119
|
+
`POST /sino-opti-hive/biz-line/project-list`
|
|
120
|
+
|
|
121
|
+
按业务线 ID 查询该业务线绑定的项目列表,每个项目附带其绑定的广告账号。
|
|
122
|
+
|
|
123
|
+
用途:已知业务线时,查看它下面挂了哪些项目、每个项目在投哪些渠道的哪些广告账号。常用于业务线消耗/成效数据的下钻,或校对业务线与项目的关联关系。
|
|
124
|
+
|
|
125
|
+
入参:bizLineId(必填,业务线 ID)。业务线 ID 从 POST /sino-opti-hive/biz-line/list 的 result.result[].id 获得。
|
|
126
|
+
|
|
127
|
+
返回:result 为项目数组,不分页、返回全量,元素含 projectId、projectName、adAccounts(广告账号列表,元素含 adAccountId、channelId、channelName)。
|
|
128
|
+
|
|
129
|
+
注意事项:
|
|
130
|
+
1. 只返回未删除的关联关系,且项目本身已删除的会被过滤,因此返回的项目数可能少于业务线实际配置过的项目数。
|
|
131
|
+
2. adAccounts 只含分配状态为「已绑定」且未删除的广告账号;项目没有绑定账号时 adAccounts 为空数组,不是 null。
|
|
132
|
+
3. channelName 由服务端按 channelId 从渠道缓存解析,缓存未命中时为 null,此时以 channelId 为准(取值同 GET /sino-opti-hive/biz-line-open/channels 的 code)。
|
|
133
|
+
4. 业务线不存在、或没有任何有效关联项目时,返回空数组而不是报错。
|
|
134
|
+
|
|
135
|
+
## 14. 查询优化项目分页列表
|
|
136
|
+
|
|
137
|
+
`POST /sino-opti-hive/optimize/project/queryByPage`
|
|
138
|
+
|
|
139
|
+
分页查询优化工作台项目列表。常用于给业务线挑选关联项目:出参 projectId 填入 POST /sino-opti-hive/biz-line/save(或 /update)的 projectIds。
|
|
114
140
|
|
|
115
|
-
|
|
141
|
+
result 为公司分页对象:total=总条数,result=当前页 OptimizeProjectVO。
|
|
142
|
+
|
|
143
|
+
注意事项:
|
|
144
|
+
1. userId 由网关注入,不要传。
|
|
145
|
+
2. 不传 serviceCodeList 时,服务端默认只查代投类项目(code=1、85)。
|
|
146
|
+
3. 排序用 sortType(lastWeekSpend / lastWeekSpendQoq / createTime)和 sortDirection(ASC/DESC),默认创建时间倒序。
|
|
147
|
+
4. PageRequest 里 pagination、count、startIndex 等本接口未使用,不要传。
|
|
148
|
+
|
|
149
|
+
## 15. Facebook广告策略维度数据
|
|
150
|
+
|
|
151
|
+
`POST /sino-icenter/mcp/strategy/dimension/facebook/ad/list`
|
|
116
152
|
|
|
117
153
|
查询 Facebook(Meta)渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(广告目标、成效目标、创意类型、出价方式、调整出价、受众类型、兴趣词包、年龄、性别等),用于分析某批账户在某段时间内各广告的策略配置分布。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「Facebook广告策略成效数据」接口。
|
|
118
154
|
|
|
119
|
-
|
|
155
|
+
【国家维度特别说明】
|
|
156
|
+
country_code(国家)必须单独传入,不能和任何其他维度同时传,否则会报错「country_code 不能和其他维度同时传入」。查国家维度时服务端会转走跨渠道广告数据接口,只返回按国家分组的数据。
|
|
157
|
+
|
|
158
|
+
【入参填写规则】
|
|
159
|
+
1. startDate / endDate:字符串,格式 yyyy-MM-dd,两者都必填。
|
|
160
|
+
2. dimensionValues:过滤条件,结构是「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>)。每个 key 是字段 code,对应的 value 必须是数组,即使只筛一个值也要用数组包裹;同一个 key 内的多个值之间是「或」关系,命中任意一个即返回。本接口只有 account_id 这一个 key 生效,传入其他 key 不会报错,但也不会产生任何过滤效果。
|
|
161
|
+
3. dimensions:分组维度数组,必填。传多个维度时按多个字段组合分组,效果等同 SQL 的 GROUP BY 多列,维度越多返回行数越多、粒度越细。
|
|
162
|
+
4. 排序:单字段排序用 order(字段名)+ orderType(desc / asc);多字段排序用 orders,结构是「字段名 → 排序方向」的有序键值对,按书写顺序依次排序,例如 {"calendar_date":"desc","account_id":"asc"}。两者可同时使用,order 指定的字段会追加到 orders 之后。
|
|
163
|
+
5. 分页:page 从 1 开始(默认 1),size 为每页条数(默认 10)。返回的 result.total 是总条数,据此判断是否还有下一页。
|
|
164
|
+
|
|
165
|
+
【请求示例】
|
|
166
|
+
{
|
|
167
|
+
"startDate": "2026-08-01",
|
|
168
|
+
"endDate": "2026-08-31",
|
|
169
|
+
"dimensionValues": {
|
|
170
|
+
"account_id": [
|
|
171
|
+
"act_1036928420879324"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"dimensions": [
|
|
175
|
+
"calendar_date",
|
|
176
|
+
"optimization_goal"
|
|
177
|
+
],
|
|
178
|
+
"order": "calendar_date",
|
|
179
|
+
"orderType": "desc",
|
|
180
|
+
"page": 1,
|
|
181
|
+
"size": 20
|
|
182
|
+
}
|
|
120
183
|
|
|
121
184
|
【返回格式】
|
|
122
185
|
result.data 为数据行数组,每行的每个字段有两个 key:
|
|
@@ -130,18 +193,19 @@ result.total 为总条数,result.page 和 result.size 为当前分页。
|
|
|
130
193
|
|
|
131
194
|
| 字段 | 类型 | 说明 |
|
|
132
195
|
| --- | --- | --- |
|
|
133
|
-
| `startDate` | string |
|
|
134
|
-
| `endDate` | string |
|
|
135
|
-
| `dimensionValues` | object |
|
|
136
|
-
| `dimensions` | array |
|
|
137
|
-
| `order` | string |
|
|
138
|
-
| `orderType` | string |
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
196
|
+
| `startDate` | string | 统计开始日期,字符串,格式 yyyy-MM-dd,例如 "2026-08-01"。必填。 |
|
|
197
|
+
| `endDate` | string | 统计结束日期,字符串,格式 yyyy-MM-dd,例如 "2026-08-31"。必填,需大于等于 startDate。 |
|
|
198
|
+
| `dimensionValues` | object | 过滤条件。结构为「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>),value 必须是数组,即使只筛一个值也要用数组包裹。本接口只有 account_id 一个 key 生效,传其他 key 不报错但无过滤效果。示例:{"account_id": ["act_123", "act_456"]} |
|
|
199
|
+
| `dimensions` | array | 分组维度,字符串数组,必传且不能为空数组(传空数组返回结果为空)。传多个维度时按多字段组合分组,等同 SQL 的 GROUP BY 多列,维度越多粒度越细、返回行数越多。各维度含义:calendar_date(投放日期)、account_id(广告账户ID)、account_name(广告账户名称)、campaign_id(广告系列ID)、campaign_name(广告系列名称)、adgroup_id(广告组ID)、adgroup_name(广告组名称)、ad_id(广告ID)、ad_name(广告名称)、bid_amount(调整出价)、objective(广告目标)、optimization_goal(成效目标)、ad_format(创意类型)、bid_strategy(出价方式)、audience_type(受众类型)、targeting_interests(兴趣词包)、targeting_flexible_interests(弹性兴趣词包)、targeting_exclusion_interests(排除兴趣词包)、targeting_age(年龄)、targeting_genders(性别)、country_code(国家,必须单独传,不能和其他维度同时传) |
|
|
200
|
+
| `order` | string | 单字段排序的字段名,填单个 code,取值范围为 dimensions 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回。与 orders 可同时使用,order 指定的字段会追加到 orders 之后。 |
|
|
201
|
+
| `orderType` | string | 排序方向,配合 order 使用。desc 降序,asc 升序,默认 asc。 |
|
|
202
|
+
| `orders` | object | 多字段排序,结构为「字段名 → 排序方向」的有序键值对(Java 类型 LinkedHashMap<String, String>),按 key 的书写顺序依次排序,方向取值 desc 或 asc。示例:{"calendar_date":"desc","account_id":"asc"}。只需单字段排序时用 order + orderType 即可,不必传本字段。 |
|
|
203
|
+
| `page` | integer | 页码,从 1 开始,默认 1。 |
|
|
204
|
+
| `size` | integer | 每页条数,默认 10,建议显式指定。返回的 result.total 为总条数,据此判断是否还有下一页。 |
|
|
141
205
|
|
|
142
|
-
##
|
|
206
|
+
## 16. Google广告策略维度数据
|
|
143
207
|
|
|
144
|
-
`POST /icenter/mcp/strategy/dimension/google/ad/list`
|
|
208
|
+
`POST /sino-icenter/mcp/strategy/dimension/google/ad/list`
|
|
145
209
|
|
|
146
210
|
查询 Google 渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(成效目标、创意类型、出价方式、CPC/CPM/CPV 出价、广告系列类型、关键字等),用于分析某批账户在某段时间内各广告的策略配置分布。Google 渠道不支持广告目标和兴趣词包维度,出价字段使用 cpc_bid_amount、cpm_bid_amount、cpv_bid_amount 三个独立维度。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「Google广告策略成效数据」接口。
|
|
147
211
|
|
|
@@ -168,13 +232,40 @@ result.total 为总条数,result.page 和 result.size 为当前分页。
|
|
|
168
232
|
| `page` | integer | 页码,从1开始,默认1 |
|
|
169
233
|
| `size` | integer | 每页条数,默认10,建议显式传且不超过1000 |
|
|
170
234
|
|
|
171
|
-
##
|
|
235
|
+
## 17. TikTok广告策略维度数据
|
|
172
236
|
|
|
173
|
-
`POST /icenter/mcp/strategy/dimension/tiktok/ad/list`
|
|
237
|
+
`POST /sino-icenter/mcp/strategy/dimension/tiktok/ad/list`
|
|
174
238
|
|
|
175
239
|
查询 TikTok 渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(广告目标、成效目标、创意类型、出价方式、调整出价、转化出价、深度转化出价、兴趣词包、年龄、性别等),用于分析某批账户在某段时间内各广告的策略配置分布。转化出价和深度转化出价是 TikTok 渠道独有的维度。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「TikTok广告策略成效数据」接口。
|
|
176
240
|
|
|
177
|
-
|
|
241
|
+
【国家维度特别说明】
|
|
242
|
+
country_code(国家)必须单独传入,不能和任何其他维度同时传,否则会报错「country_code 不能和其他维度同时传入」。查国家维度时服务端会转走跨渠道广告数据接口,只返回按国家分组的数据。
|
|
243
|
+
|
|
244
|
+
【入参填写规则】
|
|
245
|
+
1. startDate / endDate:字符串,格式 yyyy-MM-dd,两者都必填。
|
|
246
|
+
2. dimensionValues:过滤条件,结构是「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>)。每个 key 是字段 code,对应的 value 必须是数组,即使只筛一个值也要用数组包裹;同一个 key 内的多个值之间是「或」关系,命中任意一个即返回。本接口只有 account_id 这一个 key 生效,传入其他 key 不会报错,但也不会产生任何过滤效果。
|
|
247
|
+
3. dimensions:分组维度数组,必填。传多个维度时按多个字段组合分组,效果等同 SQL 的 GROUP BY 多列,维度越多返回行数越多、粒度越细。
|
|
248
|
+
4. 排序:单字段排序用 order(字段名)+ orderType(desc / asc);多字段排序用 orders,结构是「字段名 → 排序方向」的有序键值对,按书写顺序依次排序,例如 {"calendar_date":"desc","account_id":"asc"}。两者可同时使用,order 指定的字段会追加到 orders 之后。
|
|
249
|
+
5. 分页:page 从 1 开始(默认 1),size 为每页条数(默认 10)。返回的 result.total 是总条数,据此判断是否还有下一页。
|
|
250
|
+
|
|
251
|
+
【请求示例】
|
|
252
|
+
{
|
|
253
|
+
"startDate": "2026-08-01",
|
|
254
|
+
"endDate": "2026-08-31",
|
|
255
|
+
"dimensionValues": {
|
|
256
|
+
"account_id": [
|
|
257
|
+
"<广告账户ID,格式同 account_id 维度返回值>"
|
|
258
|
+
]
|
|
259
|
+
},
|
|
260
|
+
"dimensions": [
|
|
261
|
+
"calendar_date",
|
|
262
|
+
"optimization_goal"
|
|
263
|
+
],
|
|
264
|
+
"order": "calendar_date",
|
|
265
|
+
"orderType": "desc",
|
|
266
|
+
"page": 1,
|
|
267
|
+
"size": 20
|
|
268
|
+
}
|
|
178
269
|
|
|
179
270
|
【返回格式】
|
|
180
271
|
result.data 为数据行数组,每行的每个字段有两个 key:
|
|
@@ -188,20 +279,53 @@ result.total 为总条数,result.page 和 result.size 为当前分页。
|
|
|
188
279
|
|
|
189
280
|
| 字段 | 类型 | 说明 |
|
|
190
281
|
| --- | --- | --- |
|
|
191
|
-
| `startDate` | string |
|
|
192
|
-
| `endDate` | string |
|
|
193
|
-
| `dimensionValues` | object |
|
|
194
|
-
| `dimensions` | array |
|
|
195
|
-
| `order` | string |
|
|
196
|
-
| `orderType` | string |
|
|
197
|
-
| `
|
|
198
|
-
| `
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
282
|
+
| `startDate` | string | 统计开始日期,字符串,格式 yyyy-MM-dd,例如 "2026-08-01"。必填。 |
|
|
283
|
+
| `endDate` | string | 统计结束日期,字符串,格式 yyyy-MM-dd,例如 "2026-08-31"。必填,需大于等于 startDate。 |
|
|
284
|
+
| `dimensionValues` | object | 过滤条件。结构为「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>),value 必须是数组,即使只筛一个值也要用数组包裹。本接口只有 account_id 一个 key 生效,传其他 key 不报错但无过滤效果。示例:{"account_id": ["act_123", "act_456"]} |
|
|
285
|
+
| `dimensions` | array | 分组维度,字符串数组,必传且不能为空数组(传空数组返回结果为空)。传多个维度时按多字段组合分组,等同 SQL 的 GROUP BY 多列,维度越多粒度越细、返回行数越多。各维度含义:calendar_date(投放日期)、account_id(广告账户ID)、account_name(广告账户名称)、campaign_id(广告系列ID)、campaign_name(广告系列名称)、adgroup_id(广告组ID)、adgroup_name(广告组名称)、ad_id(广告ID)、ad_name(广告名称)、bid_amount(调整出价)、objective(广告目标)、optimization_goal(成效目标)、ad_format(创意类型)、bid_strategy(出价方式)、audience_type(受众类型)、targeting_interests(兴趣词包)、targeting_age(年龄)、targeting_genders(性别)、conversion_bid(转化出价)、deep_cpabid(深度转化出价)、country_code(国家,必须单独传,不能和其他维度同时传) |
|
|
286
|
+
| `order` | string | 单字段排序的字段名,填单个 code,取值范围为 dimensions 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回。与 orders 可同时使用,order 指定的字段会追加到 orders 之后。 |
|
|
287
|
+
| `orderType` | string | 排序方向,配合 order 使用。desc 降序,asc 升序,默认 asc。 |
|
|
288
|
+
| `orders` | object | 多字段排序,结构为「字段名 → 排序方向」的有序键值对(Java 类型 LinkedHashMap<String, String>),按 key 的书写顺序依次排序,方向取值 desc 或 asc。示例:{"calendar_date":"desc","account_id":"asc"}。只需单字段排序时用 order + orderType 即可,不必传本字段。 |
|
|
289
|
+
| `page` | integer | 页码,从 1 开始,默认 1。 |
|
|
290
|
+
| `size` | integer | 每页条数,默认 10,建议显式指定。返回的 result.total 为总条数,据此判断是否还有下一页。 |
|
|
291
|
+
|
|
292
|
+
## 18. Facebook广告策略成效数据
|
|
293
|
+
|
|
294
|
+
`POST /sino-icenter/mcp/strategy/metrics/facebook/ad/list`
|
|
295
|
+
|
|
296
|
+
查询 Facebook(Meta)渠道广告的策略维度加成效指标数据。在广告策略配置(广告目标、成效目标、创意类型、出价方式、受众定向等)的分组下,返回消耗、曝光、点击、购买、安装等成效指标,用于分析哪种策略配置带来更好的投放效果。
|
|
297
|
+
|
|
298
|
+
【入参填写规则】
|
|
299
|
+
1. startDate / endDate:字符串,格式 yyyy-MM-dd,两者都必填。
|
|
300
|
+
2. dimensionValues:过滤条件,结构是「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>)。每个 key 是字段 code,对应的 value 必须是数组,即使只筛一个值也要用数组包裹;同一个 key 内的多个值之间是「或」关系,命中任意一个即返回。本接口只有 account_id 这一个 key 生效,传入其他 key 不会报错,但也不会产生任何过滤效果。
|
|
301
|
+
3. dimensions:分组维度数组,必填。传多个维度时按多个字段组合分组,效果等同 SQL 的 GROUP BY 多列,维度越多返回行数越多、粒度越细。
|
|
302
|
+
4. indicators:成效指标数组,必填。指标会在 dimensions 指定的分组粒度上做求和聚合。
|
|
303
|
+
5. 排序:单字段排序用 order(字段名)+ orderType(desc / asc);多字段排序用 orders,结构是「字段名 → 排序方向」的有序键值对,按书写顺序依次排序,例如 {"spend_usd":"desc","clicks":"asc"}。两者可同时使用,order 指定的字段会追加到 orders 之后。
|
|
304
|
+
6. 分页:page 从 1 开始(默认 1),size 为每页条数(默认 10)。返回的 result.total 是总条数,据此判断是否还有下一页。
|
|
305
|
+
|
|
306
|
+
【请求示例】
|
|
307
|
+
{
|
|
308
|
+
"startDate": "2026-08-01",
|
|
309
|
+
"endDate": "2026-08-31",
|
|
310
|
+
"dimensionValues": {
|
|
311
|
+
"account_id": [
|
|
312
|
+
"act_1036928420879324"
|
|
313
|
+
]
|
|
314
|
+
},
|
|
315
|
+
"dimensions": [
|
|
316
|
+
"calendar_date",
|
|
317
|
+
"optimization_goal"
|
|
318
|
+
],
|
|
319
|
+
"indicators": [
|
|
320
|
+
"spend_usd",
|
|
321
|
+
"impressions",
|
|
322
|
+
"clicks"
|
|
323
|
+
],
|
|
324
|
+
"order": "spend_usd",
|
|
325
|
+
"orderType": "desc",
|
|
326
|
+
"page": 1,
|
|
327
|
+
"size": 20
|
|
328
|
+
}
|
|
205
329
|
|
|
206
330
|
【返回格式】
|
|
207
331
|
result.data 为数据行数组,每行的每个字段有两个 key:
|
|
@@ -216,19 +340,20 @@ result.conflictField 是传入但当前渠道不支持的指标,会被忽略
|
|
|
216
340
|
|
|
217
341
|
| 字段 | 类型 | 说明 |
|
|
218
342
|
| --- | --- | --- |
|
|
219
|
-
| `startDate` | string |
|
|
220
|
-
| `endDate` | string |
|
|
221
|
-
| `dimensionValues` | object |
|
|
222
|
-
| `dimensions` | array |
|
|
223
|
-
| `indicators` | array |
|
|
224
|
-
| `order` | string |
|
|
225
|
-
| `orderType` | string |
|
|
226
|
-
| `
|
|
227
|
-
| `
|
|
343
|
+
| `startDate` | string | 统计开始日期,字符串,格式 yyyy-MM-dd,例如 "2026-08-01"。必填。 |
|
|
344
|
+
| `endDate` | string | 统计结束日期,字符串,格式 yyyy-MM-dd,例如 "2026-08-31"。必填,需大于等于 startDate。成效数据最多支持查询近21天,超出范围可能返回空数据。 |
|
|
345
|
+
| `dimensionValues` | object | 过滤条件。结构为「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>),value 必须是数组,即使只筛一个值也要用数组包裹。本接口只有 account_id 一个 key 生效,传其他 key 不报错但无过滤效果。示例:{"account_id": ["act_123", "act_456"]} |
|
|
346
|
+
| `dimensions` | array | 分组维度,字符串数组,必传且不能为空数组(传空数组返回结果为空)。传多个维度时按多字段组合分组,等同 SQL 的 GROUP BY 多列,维度越多粒度越细、返回行数越多。各维度含义:calendar_date(投放日期)、account_id(广告账户ID)、account_name(广告账户名称)、campaign_id(广告系列ID)、campaign_name(广告系列名称)、adgroup_id(广告组ID)、adgroup_name(广告组名称)、ad_id(广告ID)、ad_name(广告名称)、objective(广告目标)、optimization_goal(成效目标)、ad_format(创意类型)、bid_strategy(出价方式)、audience_type(受众类型)、targeting_interests(兴趣词包)、targeting_flexible_interests(弹性兴趣词包)、targeting_exclusion_interests(排除兴趣词包)、targeting_age(年龄)、targeting_genders(性别) |
|
|
347
|
+
| `indicators` | array | 成效指标,字符串数组,必传且不能为空数组。指标会在 dimensions 指定的分组粒度上做求和聚合。各指标含义:spend_usd(消耗金额,美元)、impressions(曝光量)、clicks(点击量)、video_views(视频观看次数)、add_to_cart(添加购物车次数)、checkouts(发起结账次数)、purchase(购买次数)、purchase_value(购买金额,美元)、installs(应用安装量)、complete_registration(完成注册量)、leads(留下潜客信息次数)、engagement(互动次数) |
|
|
348
|
+
| `order` | string | 单字段排序的字段名,填单个 code,取值范围为 dimensions 或 indicators 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回。与 orders 可同时使用,order 指定的字段会追加到 orders 之后。 |
|
|
349
|
+
| `orderType` | string | 排序方向,配合 order 使用。desc 降序,asc 升序,默认 asc。 |
|
|
350
|
+
| `orders` | object | 多字段排序,结构为「字段名 → 排序方向」的有序键值对(Java 类型 LinkedHashMap<String, String>),按 key 的书写顺序依次排序,方向取值 desc 或 asc。示例:{"spend_usd":"desc","clicks":"asc"}。只需单字段排序时用 order + orderType 即可,不必传本字段。 |
|
|
351
|
+
| `page` | integer | 页码,从 1 开始,默认 1。 |
|
|
352
|
+
| `size` | integer | 每页条数,默认 10,建议显式指定。返回的 result.total 为总条数,据此判断是否还有下一页。 |
|
|
228
353
|
|
|
229
|
-
##
|
|
354
|
+
## 19. Google广告策略成效数据
|
|
230
355
|
|
|
231
|
-
`POST /icenter/mcp/strategy/metrics/google/ad/list`
|
|
356
|
+
`POST /sino-icenter/mcp/strategy/metrics/google/ad/list`
|
|
232
357
|
|
|
233
358
|
查询 Google 渠道广告的策略维度加成效指标数据。在广告策略配置(成效目标、创意类型、出价方式、广告系列类型、关键字等)的分组下,返回消耗、曝光、点击、购买、安装等成效指标,用于分析哪种策略配置带来更好的投放效果。Google 渠道不支持广告目标和兴趣词包维度。数据最多支持近21天。
|
|
234
359
|
|
|
@@ -255,9 +380,9 @@ result.conflictField 是传入但当前渠道不支持的指标,会被忽略
|
|
|
255
380
|
| `page` | integer | 页码,从1开始,默认1 |
|
|
256
381
|
| `size` | integer | 每页条数,默认10,建议显式传且不超过1000 |
|
|
257
382
|
|
|
258
|
-
##
|
|
383
|
+
## 20. TikTok广告策略成效数据
|
|
259
384
|
|
|
260
|
-
`POST /icenter/mcp/strategy/metrics/tiktok/ad/list`
|
|
385
|
+
`POST /sino-icenter/mcp/strategy/metrics/tiktok/ad/list`
|
|
261
386
|
|
|
262
387
|
查询 TikTok 渠道广告的策略维度加成效指标数据。在广告策略配置(广告目标、成效目标、创意类型、出价方式、转化出价、深度转化出价、兴趣词包等)的分组下,返回消耗、曝光、点击、购买、安装等成效指标,用于分析哪种策略配置带来更好的投放效果。数据最多支持近21天。
|
|
263
388
|
|