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.
@@ -1,8 +1,8 @@
1
1
  [
2
2
  {
3
- "name": "sino-opti-hive-biz-line-list",
3
+ "name": "biz-line-list",
4
4
  "displayName": "查询业务线分页列表",
5
- "description": "result 为公司分页对象:total=总条数,result=当前页的 BizLineListVO 列表。",
5
+ "description": "result 为公司分页对象:total=总条数,result=当前页的 BizLineListVO 列表。\n\n核心指标字段有两个,含义不同不要混用:coreIndex = 业务线核心指标(业务线维度的 KPI 口径说明,来源业务线配置,与策略周期无关);coreEffectIndex = 当期策略回顾里的核心效果指标(随策略周期变化,另有 prevCoreEffectIndex 为上期值)。\n\n需要查看某条业务线下挂了哪些项目及其广告账号时,用 result.result[].id 调 POST /sino-opti-hive/biz-line/project-list。",
6
6
  "group": "业务线策略",
7
7
  "method": "POST",
8
8
  "path": "/sino-opti-hive/biz-line/list",
@@ -20,12 +20,14 @@
20
20
  "type": "integer",
21
21
  "format": "int32",
22
22
  "description": "页码,从 1 开始",
23
+ "title": "页码",
23
24
  "example": 1
24
25
  },
25
26
  "pageSize": {
26
27
  "type": "integer",
27
28
  "format": "int32",
28
29
  "description": "每页条数",
30
+ "title": "每页条数",
29
31
  "example": 20
30
32
  },
31
33
  "sortType": {
@@ -37,6 +39,7 @@
37
39
  "PERIOD",
38
40
  "TRAFFIC_LIGHT"
39
41
  ],
42
+ "title": "排序字段",
40
43
  "example": "SPEND"
41
44
  },
42
45
  "sortDirection": {
@@ -46,28 +49,33 @@
46
49
  "ASC",
47
50
  "DESC"
48
51
  ],
52
+ "title": "排序方向",
49
53
  "example": "DESC"
50
54
  },
51
55
  "name": {
52
56
  "type": "string",
53
- "description": "业务线名称,模糊搜索"
57
+ "description": "业务线名称,模糊搜索",
58
+ "title": "业务线名称"
54
59
  },
55
60
  "status": {
56
61
  "type": "integer",
57
62
  "format": "int32",
58
63
  "description": "状态:1=进行中 2=已完成 3=已暂停",
64
+ "title": "状态",
59
65
  "example": 1
60
66
  },
61
67
  "ssoTeamCode": {
62
68
  "type": "string",
63
- "description": "组别 code,精确筛选(多选请用 ssoTeamCodeList)"
69
+ "description": "组别 code,精确筛选(多选请用 ssoTeamCodeList)",
70
+ "title": "组别code"
64
71
  },
65
72
  "ssoTeamCodeList": {
66
73
  "type": "array",
67
74
  "items": {
68
75
  "type": "string"
69
76
  },
70
- "description": "组别 code 列表,多选"
77
+ "description": "组别 code 列表,多选",
78
+ "title": "组别code列表"
71
79
  },
72
80
  "trafficLightList": {
73
81
  "type": "array",
@@ -75,12 +83,14 @@
75
83
  "type": "integer",
76
84
  "format": "int32"
77
85
  },
78
- "description": "红绿灯筛选(策略表现):1=绿灯KPI达标,2=黄灯距KPIGAP20%内,3=红灯距KPIGAP20%以上,4=红灯已暂停,5=黄灯存在风险,6=绿灯KPI达标且项目顺利。"
86
+ "description": "红绿灯筛选(策略表现):1=绿灯KPI达标,2=黄灯距KPIGAP20%内,3=红灯距KPIGAP20%以上,4=红灯已暂停,5=黄灯存在风险,6=绿灯KPI达标且项目顺利。",
87
+ "title": "红绿灯"
79
88
  },
80
89
  "adCategoryProjectId": {
81
90
  "type": "integer",
82
91
  "format": "int64",
83
- "description": "投放品类:取接口biz-line-open-placement-categories"
92
+ "description": "投放品类:取接口biz-line-open-placement-categories",
93
+ "title": "投放品类"
84
94
  },
85
95
  "idList": {
86
96
  "type": "array",
@@ -88,7 +98,8 @@
88
98
  "type": "integer",
89
99
  "format": "int64"
90
100
  },
91
- "description": "业务线 ID 列表"
101
+ "description": "业务线 ID 列表",
102
+ "title": "业务线ID列表"
92
103
  },
93
104
  "pmUserIds": {
94
105
  "type": "array",
@@ -96,35 +107,40 @@
96
107
  "type": "integer",
97
108
  "format": "int32"
98
109
  },
99
- "description": "PM 用户 ID 多选(OR 语义:命中任一 PM)"
110
+ "description": "PM 用户 ID 多选(OR 语义:命中任一 PM)",
111
+ "title": "PM用户ID"
100
112
  },
101
113
  "projectRatingList": {
102
114
  "type": "array",
103
115
  "items": {
104
116
  "type": "string"
105
117
  },
106
- "description": "项目评级多选:S、A、B、C"
118
+ "description": "项目评级多选:S、A、B、C",
119
+ "title": "项目评级"
107
120
  },
108
121
  "businessRegionList": {
109
122
  "type": "array",
110
123
  "items": {
111
124
  "type": "string"
112
125
  },
113
- "description": "商务地区:EAST_CHINA=华东 SOUTH_CHINA=华南 NORTH_CHINA=华北"
126
+ "description": "商务地区:EAST_CHINA=华东 SOUTH_CHINA=华南 NORTH_CHINA=华北",
127
+ "title": "商务地区"
114
128
  },
115
129
  "newCustomerTag": {
116
130
  "type": "string",
117
- "description": "新客标签单选,NEW_TAG = 新客 NONE_NEW_TAG = 非新客\n"
131
+ "description": "新客标签单选,NEW_TAG = 新客 NONE_NEW_TAG = 非新客\n",
132
+ "title": "新客标签"
118
133
  },
119
134
  "weekOverWeekFilter": {
120
135
  "type": "string",
121
- "description": "周消耗环比筛选,DOWN_20 = 周消耗下降20%及以上"
136
+ "description": "周消耗环比筛选,DOWN_20 = 周消耗下降20%及以上",
137
+ "title": "周消耗环比"
122
138
  }
123
139
  }
124
140
  }
125
141
  },
126
142
  {
127
- "name": "sino-opti-hive-biz-line-detail",
143
+ "name": "biz-line-detail",
128
144
  "displayName": "业务线详情",
129
145
  "description": "result 为 BizLineDetailVO。",
130
146
  "group": "业务线策略",
@@ -142,7 +158,7 @@
142
158
  }
143
159
  },
144
160
  {
145
- "name": "sino-opti-hive-biz-line-save",
161
+ "name": "biz-line-save",
146
162
  "displayName": "新建业务线",
147
163
  "description": "⚠️ 写操作。成功时 result 为新建业务线详情 BizLineDetailVO。",
148
164
  "group": "业务线策略",
@@ -160,7 +176,7 @@
160
176
  }
161
177
  },
162
178
  {
163
- "name": "sino-opti-hive-biz-line-update",
179
+ "name": "biz-line-update",
164
180
  "displayName": "编辑业务线",
165
181
  "description": "⚠️ 写操作。成功时 result 为 Boolean,表示是否更新成功。",
166
182
  "group": "业务线策略",
@@ -178,7 +194,7 @@
178
194
  }
179
195
  },
180
196
  {
181
- "name": "sino-opti-hive-biz-line-status-update",
197
+ "name": "biz-line-status-update",
182
198
  "displayName": "切换业务线状态",
183
199
  "description": "⚠️ 写操作。仅更新状态与操作人;成功时 result 为 Boolean。status:1进行中 2已完成 3已暂停。",
184
200
  "group": "业务线策略",
@@ -196,7 +212,7 @@
196
212
  }
197
213
  },
198
214
  {
199
- "name": "sino-opti-hive-biz-line-del",
215
+ "name": "biz-line-del",
200
216
  "displayName": "删除业务线",
201
217
  "description": "⚠️ 写操作。成功时 result 为 Boolean,表示是否删除成功。",
202
218
  "group": "业务线策略",
@@ -214,7 +230,7 @@
214
230
  }
215
231
  },
216
232
  {
217
- "name": "sino-opti-hive-biz-line-strategy-period-list",
233
+ "name": "biz-line-strategy-period-list",
218
234
  "displayName": "策略周期列表",
219
235
  "description": "result 为 BizLineStrategyPeriodListVO,含 items 与 total。",
220
236
  "group": "业务线策略",
@@ -232,7 +248,7 @@
232
248
  }
233
249
  },
234
250
  {
235
- "name": "sino-opti-hive-biz-line-strategy-list",
251
+ "name": "biz-line-strategy-list",
236
252
  "displayName": "查询策略分页列表",
237
253
  "description": "result 为公司分页对象:total=总条数,result=当前页的 BizLineStrategyDetailVO 列表。",
238
254
  "group": "业务线策略",
@@ -252,29 +268,34 @@
252
268
  "type": "integer",
253
269
  "format": "int32",
254
270
  "description": "页码,从 1 开始",
271
+ "title": "页码",
255
272
  "example": 1
256
273
  },
257
274
  "pageSize": {
258
275
  "type": "integer",
259
276
  "format": "int32",
260
277
  "description": "每页条数",
278
+ "title": "每页条数",
261
279
  "example": 20
262
280
  },
263
281
  "sortDirection": {
264
282
  "type": "string",
265
283
  "description": "DESC 或 ASC,默认 DESC",
284
+ "title": "排序方向",
266
285
  "example": "DESC"
267
286
  },
268
287
  "bizLineId": {
269
288
  "type": "integer",
270
289
  "format": "int64",
271
- "description": "业务线 ID",
290
+ "description": "可选。不传则按权限查全部可见业务线。通过 POST /sino-opti-hive/biz-line/list 取 result.id",
291
+ "title": "业务线ID",
272
292
  "example": 1251
273
293
  },
274
294
  "trafficLight": {
275
295
  "type": "integer",
276
296
  "format": "int32",
277
- "description": "红绿灯筛选(策略表现):1=绿灯KPI达标,2=黄灯距KPIGAP20%内,3=红灯距KPIGAP20%以上,4=红灯已暂停,5=黄灯存在风险,6=绿灯KPI达标且项目顺利。"
297
+ "description": "红绿灯筛选(策略表现):1=绿灯KPI达标,2=黄灯距KPIGAP20%内,3=红灯距KPIGAP20%以上,4=红灯已暂停,5=黄灯存在风险,6=绿灯KPI达标且项目顺利。",
298
+ "title": "红绿灯"
278
299
  }
279
300
  },
280
301
  "required": [
@@ -283,7 +304,7 @@
283
304
  }
284
305
  },
285
306
  {
286
- "name": "sino-opti-hive-biz-line-strategy-spend",
307
+ "name": "biz-line-strategy-spend",
287
308
  "displayName": "策略周期内关联项目周表消耗汇总",
288
309
  "description": "result 为 BizLineStrategySpendVO,含 totalSpend。",
289
310
  "group": "业务线策略",
@@ -301,7 +322,7 @@
301
322
  }
302
323
  },
303
324
  {
304
- "name": "sino-opti-hive-biz-line-strategy-save",
325
+ "name": "biz-line-strategy-save",
305
326
  "displayName": "新建策略",
306
327
  "description": "⚠️ 写操作。成功时 result 为 Boolean,表示是否保存成功。",
307
328
  "group": "业务线策略",
@@ -319,7 +340,7 @@
319
340
  }
320
341
  },
321
342
  {
322
- "name": "sino-opti-hive-biz-line-strategy-update",
343
+ "name": "biz-line-strategy-update",
323
344
  "displayName": "编辑策略",
324
345
  "description": "⚠️ 写操作。成功时 result 为 Boolean。version 为乐观锁;overwrite=true 强制覆盖。",
325
346
  "group": "业务线策略",
@@ -337,7 +358,7 @@
337
358
  }
338
359
  },
339
360
  {
340
- "name": "sino-opti-hive-biz-line-strategy-del",
361
+ "name": "biz-line-strategy-del",
341
362
  "displayName": "删除策略",
342
363
  "description": "⚠️ 写操作。成功时 result 为 Boolean,表示是否删除成功。",
343
364
  "group": "业务线策略",
@@ -355,7 +376,7 @@
355
376
  }
356
377
  },
357
378
  {
358
- "name": "sino-opti-hive-biz-line-open-channels",
379
+ "name": "biz-line-open-channels",
359
380
  "displayName": "查询投放渠道列表",
360
381
  "description": "无入参,返回 ChannelEnum 全量:code = 枚举 id(即 list 的 mediaChannelId),name = 渠道名称。",
361
382
  "group": "业务线查询",
@@ -370,7 +391,7 @@
370
391
  "docFile": "biz-line-query.md"
371
392
  },
372
393
  {
373
- "name": "sino-opti-hive-biz-line-open-placement-categories",
394
+ "name": "biz-line-open-placement-categories",
374
395
  "displayName": "查询投放品类字典树",
375
396
  "description": "无入参,sceneCode 固定 PLACEMENT_CATEGORY。一级节点 = 投放行业,二级节点(children)= 投放品类,分别对应筛选参数 adCategoryIndustryId / adCategoryProjectId。已过滤 isOther=1 的「其他」。叶子节点 children 为 null。",
376
397
  "group": "业务线查询",
@@ -385,7 +406,7 @@
385
406
  "docFile": "biz-line-query.md"
386
407
  },
387
408
  {
388
- "name": "sino-opti-hive-sso-team-group-list",
409
+ "name": "sso-team-group-list",
389
410
  "displayName": "查询组别列表",
390
411
  "description": "无入参。返回 SSO 组别全量:code = teamCode(业务线 ssoTeamCode / ssoTeamCodeList),name = 组别名称。AccessContext 由网关注入,不出现在协议里。",
391
412
  "group": "业务线策略",
@@ -400,12 +421,48 @@
400
421
  "docFile": "sso.md"
401
422
  },
402
423
  {
403
- "name": "icenter-mcp-strategy-dimension-facebook-ad-list",
424
+ "name": "biz-line-project-list",
425
+ "displayName": "业务线关联项目列表",
426
+ "description": "按业务线 ID 查询该业务线绑定的项目列表,每个项目附带其绑定的广告账号。\n\n用途:已知业务线时,查看它下面挂了哪些项目、每个项目在投哪些渠道的哪些广告账号。常用于业务线消耗/成效数据的下钻,或校对业务线与项目的关联关系。\n\n入参:bizLineId(必填,业务线 ID)。业务线 ID 从 POST /sino-opti-hive/biz-line/list 的 result.result[].id 获得。\n\n返回:result 为项目数组,不分页、返回全量,元素含 projectId、projectName、adAccounts(广告账号列表,元素含 adAccountId、channelId、channelName)。\n\n注意事项:\n1. 只返回未删除的关联关系,且项目本身已删除的会被过滤,因此返回的项目数可能少于业务线实际配置过的项目数。\n2. adAccounts 只含分配状态为「已绑定」且未删除的广告账号;项目没有绑定账号时 adAccounts 为空数组,不是 null。\n3. channelName 由服务端按 channelId 从渠道缓存解析,缓存未命中时为 null,此时以 channelId 为准(取值同 GET /sino-opti-hive/biz-line-open/channels 的 code)。\n4. 业务线不存在、或没有任何有效关联项目时,返回空数组而不是报错。",
427
+ "group": "业务线策略",
428
+ "method": "POST",
429
+ "path": "/sino-opti-hive/biz-line/project-list",
430
+ "timeout": 20000,
431
+ "tag": "业务线策略",
432
+ "domain": "biz-line",
433
+ "shortcut": "+project-list",
434
+ "risk": "read",
435
+ "summary": "业务线关联项目列表",
436
+ "docFile": "biz-line-strategy.md",
437
+ "requestSchema": {
438
+ "$ref": "#/components/schemas/BizLineProjectListReqVO"
439
+ }
440
+ },
441
+ {
442
+ "name": "optimize-project-query-by-page",
443
+ "displayName": "查询优化项目分页列表",
444
+ "description": "分页查询优化工作台项目列表。常用于给业务线挑选关联项目:出参 projectId 填入 POST /sino-opti-hive/biz-line/save(或 /update)的 projectIds。\n\nresult 为公司分页对象:total=总条数,result=当前页 OptimizeProjectVO。\n\n注意事项:\n1. userId 由网关注入,不要传。\n2. 不传 serviceCodeList 时,服务端默认只查代投类项目(code=1、85)。\n3. 排序用 sortType(lastWeekSpend / lastWeekSpendQoq / createTime)和 sortDirection(ASC/DESC),默认创建时间倒序。\n4. PageRequest 里 pagination、count、startIndex 等本接口未使用,不要传。",
445
+ "group": "业务线策略",
446
+ "method": "POST",
447
+ "path": "/sino-opti-hive/optimize/project/queryByPage",
448
+ "timeout": 20000,
449
+ "tag": "业务线策略",
450
+ "domain": "biz-line",
451
+ "shortcut": "+queryByPage",
452
+ "risk": "read",
453
+ "summary": "查询优化项目分页列表",
454
+ "docFile": "biz-line-strategy.md",
455
+ "requestSchema": {
456
+ "$ref": "#/components/schemas/OptimizeProjectQueryPageReqVO"
457
+ }
458
+ },
459
+ {
460
+ "name": "icenter-strategy-dimension-facebook",
404
461
  "displayName": "Facebook广告策略维度数据",
405
- "description": "查询 Facebook(Meta)渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(广告目标、成效目标、创意类型、出价方式、调整出价、受众类型、兴趣词包、年龄、性别等),用于分析某批账户在某段时间内各广告的策略配置分布。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「Facebook广告策略成效数据」接口。\n\n国家维度特别说明:country_code 必须单独传入,不能和任何其他维度同时传,否则会报错「country_code 不能和其他维度同时传入」。查国家维度时服务端会转走跨渠道广告数据接口,只返回按国家分组的数据。\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到中文列名的映射,用于给用户展示列名。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
462
+ "description": "查询 Facebook(Meta)渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(广告目标、成效目标、创意类型、出价方式、调整出价、受众类型、兴趣词包、年龄、性别等),用于分析某批账户在某段时间内各广告的策略配置分布。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「Facebook广告策略成效数据」接口。\n\n【国家维度特别说明】\ncountry_code(国家)必须单独传入,不能和任何其他维度同时传,否则会报错「country_code 不能和其他维度同时传入」。查国家维度时服务端会转走跨渠道广告数据接口,只返回按国家分组的数据。\n\n【入参填写规则】\n1. startDate / endDate:字符串,格式 yyyy-MM-dd,两者都必填。\n2. dimensionValues:过滤条件,结构是「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>)。每个 key 是字段 code,对应的 value 必须是数组,即使只筛一个值也要用数组包裹;同一个 key 内的多个值之间是「或」关系,命中任意一个即返回。本接口只有 account_id 这一个 key 生效,传入其他 key 不会报错,但也不会产生任何过滤效果。\n3. dimensions:分组维度数组,必填。传多个维度时按多个字段组合分组,效果等同 SQL 的 GROUP BY 多列,维度越多返回行数越多、粒度越细。\n4. 排序:单字段排序用 order(字段名)+ orderType(desc / asc);多字段排序用 orders,结构是「字段名 → 排序方向」的有序键值对,按书写顺序依次排序,例如 {\"calendar_date\":\"desc\",\"account_id\":\"asc\"}。两者可同时使用,order 指定的字段会追加到 orders 之后。\n5. 分页:page 从 1 开始(默认 1),size 为每页条数(默认 10)。返回的 result.total 是总条数,据此判断是否还有下一页。\n\n【请求示例】\n{\n \"startDate\": \"2026-08-01\",\n \"endDate\": \"2026-08-31\",\n \"dimensionValues\": {\n \"account_id\": [\n \"act_1036928420879324\"\n ]\n },\n \"dimensions\": [\n \"calendar_date\",\n \"optimization_goal\"\n ],\n \"order\": \"calendar_date\",\n \"orderType\": \"desc\",\n \"page\": 1,\n \"size\": 20\n}\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到中文列名的映射,用于给用户展示列名。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
406
463
  "group": "业务线策略",
407
464
  "method": "POST",
408
- "path": "/icenter/mcp/strategy/dimension/facebook/ad/list",
465
+ "path": "/sino-icenter/mcp/strategy/dimension/facebook/ad/list",
409
466
  "timeout": 20000,
410
467
  "tag": "业务线策略",
411
468
  "domain": "biz-line",
@@ -418,22 +475,22 @@
418
475
  "properties": {
419
476
  "startDate": {
420
477
  "type": "string",
421
- "description": "开始日期,格式 yyyy-MM-dd,例如 2026-08-01"
478
+ "description": "统计开始日期,字符串,格式 yyyy-MM-dd,例如 \"2026-08-01\"。必填。"
422
479
  },
423
480
  "endDate": {
424
481
  "type": "string",
425
- "description": "结束日期,格式 yyyy-MM-dd,例如 2026-08-31"
482
+ "description": "统计结束日期,字符串,格式 yyyy-MM-dd,例如 \"2026-08-31\"。必填,需大于等于 startDate。"
426
483
  },
427
484
  "dimensionValues": {
428
485
  "type": "object",
429
- "description": "过滤条件,仅支持 account_id 一个 key,传其他 key 会报错",
486
+ "description": "过滤条件。结构为「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>),value 必须是数组,即使只筛一个值也要用数组包裹。本接口只有 account_id 一个 key 生效,传其他 key 不报错但无过滤效果。示例:{\"account_id\": [\"act_123\", \"act_456\"]}",
430
487
  "properties": {
431
488
  "account_id": {
432
489
  "type": "array",
433
490
  "items": {
434
491
  "type": "string"
435
492
  },
436
- "description": "广告账户ID(带格式),必须带前缀,例如 act_1036928420879324。最多传500个"
493
+ "description": "广告账户ID列表,字符串数组,必填且不能为空数组。取值形如 \"act_1036928420879324\"(带 act_ 前缀)。多个账户之间是「或」关系,返回这些账户的合并数据。"
437
494
  }
438
495
  },
439
496
  "required": [
@@ -468,11 +525,11 @@
468
525
  "country_code"
469
526
  ]
470
527
  },
471
- "description": "分组维度,必传且不能为空数组,否则返回结果为空。各维度含义: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(国家,必须单独传,不能和其他维度同时传)"
528
+ "description": "分组维度,字符串数组,必传且不能为空数组(传空数组返回结果为空)。传多个维度时按多字段组合分组,等同 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(国家,必须单独传,不能和其他维度同时传)"
472
529
  },
473
530
  "order": {
474
531
  "type": "string",
475
- "description": "排序字段,填单个 code,取值范围为 dimensions 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回"
532
+ "description": "单字段排序的字段名,填单个 code,取值范围为 dimensions 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回。与 orders 可同时使用,order 指定的字段会追加到 orders 之后。"
476
533
  },
477
534
  "orderType": {
478
535
  "type": "string",
@@ -480,15 +537,20 @@
480
537
  "desc",
481
538
  "asc"
482
539
  ],
483
- "description": "排序方向,默认 asc"
540
+ "description": "排序方向,配合 order 使用。desc 降序,asc 升序,默认 asc。"
541
+ },
542
+ "orders": {
543
+ "type": "object",
544
+ "description": "多字段排序,结构为「字段名 → 排序方向」的有序键值对(Java 类型 LinkedHashMap<String, String>),按 key 的书写顺序依次排序,方向取值 desc 或 asc。示例:{\"calendar_date\":\"desc\",\"account_id\":\"asc\"}。只需单字段排序时用 order + orderType 即可,不必传本字段。",
545
+ "properties": {}
484
546
  },
485
547
  "page": {
486
548
  "type": "integer",
487
- "description": "页码,从1开始,默认1"
549
+ "description": "页码,从 1 开始,默认 1。"
488
550
  },
489
551
  "size": {
490
552
  "type": "integer",
491
- "description": "每页条数,默认10,建议显式传且不超过1000"
553
+ "description": "每页条数,默认 10,建议显式指定。返回的 result.total 为总条数,据此判断是否还有下一页。"
492
554
  }
493
555
  },
494
556
  "required": [
@@ -500,12 +562,12 @@
500
562
  }
501
563
  },
502
564
  {
503
- "name": "icenter-mcp-strategy-dimension-google-ad-list",
565
+ "name": "icenter-strategy-dimension-google",
504
566
  "displayName": "Google广告策略维度数据",
505
567
  "description": "查询 Google 渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(成效目标、创意类型、出价方式、CPC/CPM/CPV 出价、广告系列类型、关键字等),用于分析某批账户在某段时间内各广告的策略配置分布。Google 渠道不支持广告目标和兴趣词包维度,出价字段使用 cpc_bid_amount、cpm_bid_amount、cpv_bid_amount 三个独立维度。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「Google广告策略成效数据」接口。\n\n国家维度特别说明:country_code 必须单独传入,不能和任何其他维度同时传,否则会报错「country_code 不能和其他维度同时传入」。查国家维度时服务端会转走跨渠道广告数据接口,只返回按国家分组的数据。\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到中文列名的映射,用于给用户展示列名。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
506
568
  "group": "业务线策略",
507
569
  "method": "POST",
508
- "path": "/icenter/mcp/strategy/dimension/google/ad/list",
570
+ "path": "/sino-icenter/mcp/strategy/dimension/google/ad/list",
509
571
  "timeout": 20000,
510
572
  "tag": "业务线策略",
511
573
  "domain": "biz-line",
@@ -600,12 +662,12 @@
600
662
  }
601
663
  },
602
664
  {
603
- "name": "icenter-mcp-strategy-dimension-tiktok-ad-list",
665
+ "name": "icenter-strategy-dimension-tiktok",
604
666
  "displayName": "TikTok广告策略维度数据",
605
- "description": "查询 TikTok 渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(广告目标、成效目标、创意类型、出价方式、调整出价、转化出价、深度转化出价、兴趣词包、年龄、性别等),用于分析某批账户在某段时间内各广告的策略配置分布。转化出价和深度转化出价是 TikTok 渠道独有的维度。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「TikTok广告策略成效数据」接口。\n\n国家维度特别说明:country_code 必须单独传入,不能和任何其他维度同时传,否则会报错「country_code 不能和其他维度同时传入」。查国家维度时服务端会转走跨渠道广告数据接口,只返回按国家分组的数据。\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到中文列名的映射,用于给用户展示列名。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
667
+ "description": "查询 TikTok 渠道的广告策略配置数据。按指定广告账户和日期范围,返回广告的策略设置明细(广告目标、成效目标、创意类型、出价方式、调整出价、转化出价、深度转化出价、兴趣词包、年龄、性别等),用于分析某批账户在某段时间内各广告的策略配置分布。转化出价和深度转化出价是 TikTok 渠道独有的维度。本接口只返回策略维度,不含消耗、点击等成效指标,需要成效数据请改用「TikTok广告策略成效数据」接口。\n\n【国家维度特别说明】\ncountry_code(国家)必须单独传入,不能和任何其他维度同时传,否则会报错「country_code 不能和其他维度同时传入」。查国家维度时服务端会转走跨渠道广告数据接口,只返回按国家分组的数据。\n\n【入参填写规则】\n1. startDate / endDate:字符串,格式 yyyy-MM-dd,两者都必填。\n2. dimensionValues:过滤条件,结构是「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>)。每个 key 是字段 code,对应的 value 必须是数组,即使只筛一个值也要用数组包裹;同一个 key 内的多个值之间是「或」关系,命中任意一个即返回。本接口只有 account_id 这一个 key 生效,传入其他 key 不会报错,但也不会产生任何过滤效果。\n3. dimensions:分组维度数组,必填。传多个维度时按多个字段组合分组,效果等同 SQL 的 GROUP BY 多列,维度越多返回行数越多、粒度越细。\n4. 排序:单字段排序用 order(字段名)+ orderType(desc / asc);多字段排序用 orders,结构是「字段名 → 排序方向」的有序键值对,按书写顺序依次排序,例如 {\"calendar_date\":\"desc\",\"account_id\":\"asc\"}。两者可同时使用,order 指定的字段会追加到 orders 之后。\n5. 分页:page 从 1 开始(默认 1),size 为每页条数(默认 10)。返回的 result.total 是总条数,据此判断是否还有下一页。\n\n【请求示例】\n{\n \"startDate\": \"2026-08-01\",\n \"endDate\": \"2026-08-31\",\n \"dimensionValues\": {\n \"account_id\": [\n \"<广告账户ID,格式同 account_id 维度返回值>\"\n ]\n },\n \"dimensions\": [\n \"calendar_date\",\n \"optimization_goal\"\n ],\n \"order\": \"calendar_date\",\n \"orderType\": \"desc\",\n \"page\": 1,\n \"size\": 20\n}\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到中文列名的映射,用于给用户展示列名。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
606
668
  "group": "业务线策略",
607
669
  "method": "POST",
608
- "path": "/icenter/mcp/strategy/dimension/tiktok/ad/list",
670
+ "path": "/sino-icenter/mcp/strategy/dimension/tiktok/ad/list",
609
671
  "timeout": 20000,
610
672
  "tag": "业务线策略",
611
673
  "domain": "biz-line",
@@ -618,22 +680,22 @@
618
680
  "properties": {
619
681
  "startDate": {
620
682
  "type": "string",
621
- "description": "开始日期,格式 yyyy-MM-dd,例如 2026-08-01"
683
+ "description": "统计开始日期,字符串,格式 yyyy-MM-dd,例如 \"2026-08-01\"。必填。"
622
684
  },
623
685
  "endDate": {
624
686
  "type": "string",
625
- "description": "结束日期,格式 yyyy-MM-dd,例如 2026-08-31"
687
+ "description": "统计结束日期,字符串,格式 yyyy-MM-dd,例如 \"2026-08-31\"。必填,需大于等于 startDate。"
626
688
  },
627
689
  "dimensionValues": {
628
690
  "type": "object",
629
- "description": "过滤条件,仅支持 account_id 一个 key,传其他 key 会报错",
691
+ "description": "过滤条件。结构为「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>),value 必须是数组,即使只筛一个值也要用数组包裹。本接口只有 account_id 一个 key 生效,传其他 key 不报错但无过滤效果。示例:{\"account_id\": [\"act_123\", \"act_456\"]}",
630
692
  "properties": {
631
693
  "account_id": {
632
694
  "type": "array",
633
695
  "items": {
634
696
  "type": "string"
635
697
  },
636
- "description": "广告账户ID(带格式),必须带前缀,例如 act_1036928420879324。最多传500个"
698
+ "description": "广告账户ID列表,字符串数组,必填且不能为空数组。取值格式需与本接口 account_id 维度返回的值完全一致;若不确定,可先只传 account_id 维度查询一次,确认格式后再用作过滤条件。多个账户之间是「或」关系,返回这些账户的合并数据。"
637
699
  }
638
700
  },
639
701
  "required": [
@@ -668,11 +730,11 @@
668
730
  "country_code"
669
731
  ]
670
732
  },
671
- "description": "分组维度,必传且不能为空数组,否则返回结果为空。各维度含义: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(国家,必须单独传,不能和其他维度同时传)"
733
+ "description": "分组维度,字符串数组,必传且不能为空数组(传空数组返回结果为空)。传多个维度时按多字段组合分组,等同 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(国家,必须单独传,不能和其他维度同时传)"
672
734
  },
673
735
  "order": {
674
736
  "type": "string",
675
- "description": "排序字段,填单个 code,取值范围为 dimensions 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回"
737
+ "description": "单字段排序的字段名,填单个 code,取值范围为 dimensions 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回。与 orders 可同时使用,order 指定的字段会追加到 orders 之后。"
676
738
  },
677
739
  "orderType": {
678
740
  "type": "string",
@@ -680,15 +742,20 @@
680
742
  "desc",
681
743
  "asc"
682
744
  ],
683
- "description": "排序方向,默认 asc"
745
+ "description": "排序方向,配合 order 使用。desc 降序,asc 升序,默认 asc。"
746
+ },
747
+ "orders": {
748
+ "type": "object",
749
+ "description": "多字段排序,结构为「字段名 → 排序方向」的有序键值对(Java 类型 LinkedHashMap<String, String>),按 key 的书写顺序依次排序,方向取值 desc 或 asc。示例:{\"calendar_date\":\"desc\",\"account_id\":\"asc\"}。只需单字段排序时用 order + orderType 即可,不必传本字段。",
750
+ "properties": {}
684
751
  },
685
752
  "page": {
686
753
  "type": "integer",
687
- "description": "页码,从1开始,默认1"
754
+ "description": "页码,从 1 开始,默认 1。"
688
755
  },
689
756
  "size": {
690
757
  "type": "integer",
691
- "description": "每页条数,默认10,建议显式传且不超过1000"
758
+ "description": "每页条数,默认 10,建议显式指定。返回的 result.total 为总条数,据此判断是否还有下一页。"
692
759
  }
693
760
  },
694
761
  "required": [
@@ -700,12 +767,12 @@
700
767
  }
701
768
  },
702
769
  {
703
- "name": "icenter-mcp-strategy-metrics-facebook-ad-list",
770
+ "name": "icenter-strategy-metrics-facebook",
704
771
  "displayName": "Facebook广告策略成效数据",
705
- "description": "查询 Facebook(Meta)渠道广告的策略维度加成效指标数据。在广告策略配置(广告目标、成效目标、创意类型、出价方式、受众定向等)的分组下,返回消耗、曝光、点击、购买、安装等成效指标,用于分析哪种策略配置带来更好的投放效果。数据最多支持近21天。\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,如 spend_usd 的值为 618.42,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,如 display_spend_usd 的值带货币符号,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到列名的映射,维度列名为中文,指标列名为英文(如 spend_usd 对应 Spend)。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\nresult.conflictField 是传入但当前渠道不支持的指标,会被忽略且不报错,为空数组表示全部指标都生效。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
772
+ "description": "查询 Facebook(Meta)渠道广告的策略维度加成效指标数据。在广告策略配置(广告目标、成效目标、创意类型、出价方式、受众定向等)的分组下,返回消耗、曝光、点击、购买、安装等成效指标,用于分析哪种策略配置带来更好的投放效果。\n\n【入参填写规则】\n1. startDate / endDate:字符串,格式 yyyy-MM-dd,两者都必填。\n2. dimensionValues:过滤条件,结构是「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>)。每个 key 是字段 code,对应的 value 必须是数组,即使只筛一个值也要用数组包裹;同一个 key 内的多个值之间是「或」关系,命中任意一个即返回。本接口只有 account_id 这一个 key 生效,传入其他 key 不会报错,但也不会产生任何过滤效果。\n3. dimensions:分组维度数组,必填。传多个维度时按多个字段组合分组,效果等同 SQL 的 GROUP BY 多列,维度越多返回行数越多、粒度越细。\n4. indicators:成效指标数组,必填。指标会在 dimensions 指定的分组粒度上做求和聚合。\n5. 排序:单字段排序用 order(字段名)+ orderType(desc / asc);多字段排序用 orders,结构是「字段名 → 排序方向」的有序键值对,按书写顺序依次排序,例如 {\"spend_usd\":\"desc\",\"clicks\":\"asc\"}。两者可同时使用,order 指定的字段会追加到 orders 之后。\n6. 分页:page 从 1 开始(默认 1),size 为每页条数(默认 10)。返回的 result.total 是总条数,据此判断是否还有下一页。\n\n【请求示例】\n{\n \"startDate\": \"2026-08-01\",\n \"endDate\": \"2026-08-31\",\n \"dimensionValues\": {\n \"account_id\": [\n \"act_1036928420879324\"\n ]\n },\n \"dimensions\": [\n \"calendar_date\",\n \"optimization_goal\"\n ],\n \"indicators\": [\n \"spend_usd\",\n \"impressions\",\n \"clicks\"\n ],\n \"order\": \"spend_usd\",\n \"orderType\": \"desc\",\n \"page\": 1,\n \"size\": 20\n}\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,如 spend_usd 的值为 618.42,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,如 display_spend_usd 的值带货币符号,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到列名的映射,维度列名为中文,指标列名为英文(如 spend_usd 对应 Spend)。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\nresult.conflictField 是传入但当前渠道不支持的指标,会被忽略且不报错,为空数组表示全部指标都生效。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
706
773
  "group": "业务线策略",
707
774
  "method": "POST",
708
- "path": "/icenter/mcp/strategy/metrics/facebook/ad/list",
775
+ "path": "/sino-icenter/mcp/strategy/metrics/facebook/ad/list",
709
776
  "timeout": 20000,
710
777
  "tag": "业务线策略",
711
778
  "domain": "biz-line",
@@ -718,22 +785,22 @@
718
785
  "properties": {
719
786
  "startDate": {
720
787
  "type": "string",
721
- "description": "开始日期,格式 yyyy-MM-dd,例如 2026-08-01"
788
+ "description": "统计开始日期,字符串,格式 yyyy-MM-dd,例如 \"2026-08-01\"。必填。"
722
789
  },
723
790
  "endDate": {
724
791
  "type": "string",
725
- "description": "结束日期,格式 yyyy-MM-dd,例如 2026-08-31。最多支持查询近21天"
792
+ "description": "统计结束日期,字符串,格式 yyyy-MM-dd,例如 \"2026-08-31\"。必填,需大于等于 startDate。成效数据最多支持查询近21天,超出范围可能返回空数据。"
726
793
  },
727
794
  "dimensionValues": {
728
795
  "type": "object",
729
- "description": "过滤条件,仅支持 account_id 一个 key,传其他 key 会报错",
796
+ "description": "过滤条件。结构为「字段名 → 取值数组」的键值对(Java 类型 Map<String, List<Object>>),value 必须是数组,即使只筛一个值也要用数组包裹。本接口只有 account_id 一个 key 生效,传其他 key 不报错但无过滤效果。示例:{\"account_id\": [\"act_123\", \"act_456\"]}",
730
797
  "properties": {
731
798
  "account_id": {
732
799
  "type": "array",
733
800
  "items": {
734
801
  "type": "string"
735
802
  },
736
- "description": "广告账户ID(带格式),必须带前缀,例如 act_1036928420879324。最多传500个"
803
+ "description": "广告账户ID列表,字符串数组,必填且不能为空数组。取值形如 \"act_1036928420879324\"(带 act_ 前缀)。多个账户之间是「或」关系,返回这些账户的合并数据。"
737
804
  }
738
805
  },
739
806
  "required": [
@@ -766,7 +833,7 @@
766
833
  "targeting_genders"
767
834
  ]
768
835
  },
769
- "description": "分组维度,必传且不能为空数组,否则返回结果为空。各维度含义: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(性别)"
836
+ "description": "分组维度,字符串数组,必传且不能为空数组(传空数组返回结果为空)。传多个维度时按多字段组合分组,等同 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(性别)"
770
837
  },
771
838
  "indicators": {
772
839
  "type": "array",
@@ -787,11 +854,11 @@
787
854
  "engagement"
788
855
  ]
789
856
  },
790
- "description": "成效指标,必传且不能为空数组。各指标含义:spend_usd(消耗金额,美元)、impressions(曝光量)、clicks(点击量)、video_views(视频观看次数)、add_to_cart(添加购物车次数)、checkouts(发起结账次数)、purchase(购买次数)、purchase_value(购买金额,美元)、installs(应用安装量)、complete_registration(完成注册量)、leads(留下潜客信息次数)、engagement(互动次数)"
857
+ "description": "成效指标,字符串数组,必传且不能为空数组。指标会在 dimensions 指定的分组粒度上做求和聚合。各指标含义:spend_usd(消耗金额,美元)、impressions(曝光量)、clicks(点击量)、video_views(视频观看次数)、add_to_cart(添加购物车次数)、checkouts(发起结账次数)、purchase(购买次数)、purchase_value(购买金额,美元)、installs(应用安装量)、complete_registration(完成注册量)、leads(留下潜客信息次数)、engagement(互动次数)"
791
858
  },
792
859
  "order": {
793
860
  "type": "string",
794
- "description": "排序字段,填单个 code,取值范围为 dimensions 或 indicators 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回"
861
+ "description": "单字段排序的字段名,填单个 code,取值范围为 dimensions 或 indicators 的可选值。不必包含在已传的字段中,服务端会自动补入参与排序,但该字段不会作为列返回。与 orders 可同时使用,order 指定的字段会追加到 orders 之后。"
795
862
  },
796
863
  "orderType": {
797
864
  "type": "string",
@@ -799,15 +866,20 @@
799
866
  "desc",
800
867
  "asc"
801
868
  ],
802
- "description": "排序方向,默认 asc"
869
+ "description": "排序方向,配合 order 使用。desc 降序,asc 升序,默认 asc。"
870
+ },
871
+ "orders": {
872
+ "type": "object",
873
+ "description": "多字段排序,结构为「字段名 → 排序方向」的有序键值对(Java 类型 LinkedHashMap<String, String>),按 key 的书写顺序依次排序,方向取值 desc 或 asc。示例:{\"spend_usd\":\"desc\",\"clicks\":\"asc\"}。只需单字段排序时用 order + orderType 即可,不必传本字段。",
874
+ "properties": {}
803
875
  },
804
876
  "page": {
805
877
  "type": "integer",
806
- "description": "页码,从1开始,默认1"
878
+ "description": "页码,从 1 开始,默认 1。"
807
879
  },
808
880
  "size": {
809
881
  "type": "integer",
810
- "description": "每页条数,默认10,建议显式传且不超过1000"
882
+ "description": "每页条数,默认 10,建议显式指定。返回的 result.total 为总条数,据此判断是否还有下一页。"
811
883
  }
812
884
  },
813
885
  "required": [
@@ -820,12 +892,12 @@
820
892
  }
821
893
  },
822
894
  {
823
- "name": "icenter-mcp-strategy-metrics-google-ad-list",
895
+ "name": "icenter-strategy-metrics-google",
824
896
  "displayName": "Google广告策略成效数据",
825
897
  "description": "查询 Google 渠道广告的策略维度加成效指标数据。在广告策略配置(成效目标、创意类型、出价方式、广告系列类型、关键字等)的分组下,返回消耗、曝光、点击、购买、安装等成效指标,用于分析哪种策略配置带来更好的投放效果。Google 渠道不支持广告目标和兴趣词包维度。数据最多支持近21天。\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,如 spend_usd 的值为 618.42,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,如 display_spend_usd 的值带货币符号,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到列名的映射,维度列名为中文,指标列名为英文(如 spend_usd 对应 Spend)。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\nresult.conflictField 是传入但当前渠道不支持的指标,会被忽略且不报错,为空数组表示全部指标都生效。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
826
898
  "group": "业务线策略",
827
899
  "method": "POST",
828
- "path": "/icenter/mcp/strategy/metrics/google/ad/list",
900
+ "path": "/sino-icenter/mcp/strategy/metrics/google/ad/list",
829
901
  "timeout": 20000,
830
902
  "tag": "业务线策略",
831
903
  "domain": "biz-line",
@@ -941,12 +1013,12 @@
941
1013
  }
942
1014
  },
943
1015
  {
944
- "name": "icenter-mcp-strategy-metrics-tiktok-ad-list",
1016
+ "name": "icenter-strategy-metrics-tiktok",
945
1017
  "displayName": "TikTok广告策略成效数据",
946
1018
  "description": "查询 TikTok 渠道广告的策略维度加成效指标数据。在广告策略配置(广告目标、成效目标、创意类型、出价方式、转化出价、深度转化出价、兴趣词包等)的分组下,返回消耗、曝光、点击、购买、安装等成效指标,用于分析哪种策略配置带来更好的投放效果。数据最多支持近21天。\n\n【返回格式】\nresult.data 为数据行数组,每行的每个字段有两个 key:\n一是原始值,key 即请求的 code,如 spend_usd 的值为 618.42,做计算或比较时用这个;\n二是展示值,key 加 display_ 前缀,如 display_spend_usd 的值带货币符号,直接呈现给用户时用这个,空值为 \"-\"。\nresult.headerMap 是字段 code 到列名的映射,维度列名为中文,指标列名为英文(如 spend_usd 对应 Spend)。\nresult.total 为总条数,result.page 和 result.size 为当前分页。\nresult.conflictField 是传入但当前渠道不支持的指标,会被忽略且不报错,为空数组表示全部指标都生效。\n外层 code 为 0 表示成功;非 0 时 result 为 null,失败原因在 message 字段里。",
947
1019
  "group": "业务线策略",
948
1020
  "method": "POST",
949
- "path": "/icenter/mcp/strategy/metrics/tiktok/ad/list",
1021
+ "path": "/sino-icenter/mcp/strategy/metrics/tiktok/ad/list",
950
1022
  "timeout": 20000,
951
1023
  "tag": "业务线策略",
952
1024
  "domain": "biz-line",