siluzan-tso-cli 1.0.0-beta.10
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 +66 -0
- package/assets/siluzan-ads/SKILL.md +123 -0
- package/assets/siluzan-ads/references/accounts.md +644 -0
- package/assets/siluzan-ads/references/aigc.md +176 -0
- package/assets/siluzan-ads/references/finance.md +303 -0
- package/assets/siluzan-ads/references/google-ads-test.md +162 -0
- package/assets/siluzan-ads/references/google-ads.md +918 -0
- package/assets/siluzan-ads/references/open-account-by-media.md +61 -0
- package/assets/siluzan-ads/references/open-account-google-ui.md +121 -0
- package/assets/siluzan-ads/references/reporting.md +511 -0
- package/assets/siluzan-ads/references/setup.md +79 -0
- package/assets/siluzan-ads/references/tips.md +236 -0
- package/assets/siluzan-ads/references/tso-home.md +96 -0
- package/assets/siluzan-ads/references/workflows.md +969 -0
- package/dist/commands/account-history.d.ts +13 -0
- package/dist/commands/account-history.js +87 -0
- package/dist/commands/account-manage.d.ts +253 -0
- package/dist/commands/account-manage.js +817 -0
- package/dist/commands/ad.d.ts +378 -0
- package/dist/commands/ad.js +1169 -0
- package/dist/commands/ai-creation.d.ts +54 -0
- package/dist/commands/ai-creation.js +208 -0
- package/dist/commands/aigc.d.ts +27 -0
- package/dist/commands/aigc.js +222 -0
- package/dist/commands/balance.d.ts +9 -0
- package/dist/commands/balance.js +68 -0
- package/dist/commands/clue.d.ts +16 -0
- package/dist/commands/clue.js +103 -0
- package/dist/commands/config.d.ts +18 -0
- package/dist/commands/config.js +135 -0
- package/dist/commands/forewarning.d.ts +78 -0
- package/dist/commands/forewarning.js +275 -0
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.js +141 -0
- package/dist/commands/invoice-info.d.ts +43 -0
- package/dist/commands/invoice-info.js +159 -0
- package/dist/commands/invoice.d.ts +55 -0
- package/dist/commands/invoice.js +212 -0
- package/dist/commands/keyword.d.ts +14 -0
- package/dist/commands/keyword.js +125 -0
- package/dist/commands/list-accounts.d.ts +11 -0
- package/dist/commands/list-accounts.js +219 -0
- package/dist/commands/login.d.ts +13 -0
- package/dist/commands/login.js +122 -0
- package/dist/commands/open-account.d.ts +291 -0
- package/dist/commands/open-account.js +988 -0
- package/dist/commands/optimize.d.ts +39 -0
- package/dist/commands/optimize.js +143 -0
- package/dist/commands/report.d.ts +55 -0
- package/dist/commands/report.js +274 -0
- package/dist/commands/stats.d.ts +13 -0
- package/dist/commands/stats.js +109 -0
- package/dist/commands/transfer.d.ts +37 -0
- package/dist/commands/transfer.js +124 -0
- package/dist/config/defaults.d.ts +6 -0
- package/dist/config/defaults.js +11 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1973 -0
- package/dist/templates/load-templates.d.ts +5 -0
- package/dist/templates/load-templates.js +60 -0
- package/dist/types/ads.d.ts +138 -0
- package/dist/types/ads.js +4 -0
- package/dist/utils/auth.d.ts +40 -0
- package/dist/utils/auth.js +277 -0
- package/package.json +48 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# 各媒体开户:接口与参数技术细节
|
|
2
|
+
|
|
3
|
+
> 业务流程(步骤、所需资料、审核处理)见 `references/workflows.md` 流程一。
|
|
4
|
+
> 本文件仅记录各媒体的底层接口路径与请求体结构,供排查问题或深度定制时参考。
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 路由对照
|
|
9
|
+
|
|
10
|
+
| 媒体 | 前端路由(path) | 说明 |
|
|
11
|
+
|------|------------------|------|
|
|
12
|
+
| **Google** | `/openAnAccount?mediaType=Google` | 与 TikTok 共用 `openAnAccount.vue`;从开户记录进入 Google 时往往先弹 **GGwarn** 合规提示再进表单 |
|
|
13
|
+
| **TikTok** | `/openAnAccount?mediaType=TikTok` | 同上组件,`mediaType` 区分字段与提交流程 |
|
|
14
|
+
| **Yandex** | `/YandexOpenAnAccount` | 独立页面 `YandexOpenAnAccount_v2.vue` |
|
|
15
|
+
| **BingV2** | `/bingOpenAnAccount` | 独立页面 `bingOpenAnAccount.vue` |
|
|
16
|
+
| **Kwai** | `/KwaiOpenAnAccount` | 独立页面 `KwaiOpenAnAccount.vue` |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 广告主组(magKey)接口
|
|
21
|
+
|
|
22
|
+
所有媒体在提交开户前都需要一个广告主组,并取得 `magKey`(MediaAccountGroupId):
|
|
23
|
+
|
|
24
|
+
- **查询列表**:`GET {apiBaseUrl}/query/profile/steward-individual` → `profile.mediaAccountGroups[]`,项上 `key` 即 magKey
|
|
25
|
+
- **创建**:`PUT {apiBaseUrl}/command/profile/steward-individual`,Header `s-command-type: AddMediaAccountGroup`
|
|
26
|
+
- **更新**:`PUT {apiBaseUrl}/command/profile/steward-individual/{id}`,Header `s-command-type: UpdateMediaAccountGroup`
|
|
27
|
+
|
|
28
|
+
**Google 例外**:CLI 按 `--company` 自动创建或更新广告主组,无需手动查询。
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 各媒体提交接口
|
|
33
|
+
|
|
34
|
+
| CLI 子命令 | 提交接口 | Method | 关键 Header / 特点 |
|
|
35
|
+
|------------|----------|--------|--------------------|
|
|
36
|
+
| `open-account google` | `/command/media-account/google` | POST | `s-command-type: AddExistingMediaAccountList`;前置自动创建广告主组 |
|
|
37
|
+
| `open-account tiktok` | `/command/media-account`(不是 `/google`) | POST | 同上;前置 `POST .../tiktok/Upload` 上传执照图片;可选 `POST .../command/attachment` 存档、`GET .../CheckUnionpayInfo` |
|
|
38
|
+
| `open-account yandex` | `/command/media-account/AddAgencyClient` | POST | Body:`MediaAccountGroupId` + `AgencyClientInfo`(登录名、税号、电话等) |
|
|
39
|
+
| `open-account bing` | `/command/media-account/AddBingV2Account` | POST | Body:`BingCustomerInfo` / `BingV2AccountInfo` + 执照 `FileId`;前置 `POST .../command/attachment` |
|
|
40
|
+
| `open-account kwai` | `/command/media-account/AddKwaiAccount` | POST | Body:Kwai 专用主体/行业/执照结构 + `blobstoreKey`;前置 `POST .../KwaiAccount/Management/Upload` |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 辅助接口
|
|
45
|
+
|
|
46
|
+
| 用途 | 接口 | CLI 命令 |
|
|
47
|
+
|------|------|---------|
|
|
48
|
+
| Google 时区列表 | `GET {apiBaseUrl}/query/media-account/Google/TimeZoneInfo/ReadFile` | `open-account google-timezones` |
|
|
49
|
+
| TikTok 时区列表 | `GET {apiBaseUrl}/query/media-account/tiktok/TikTokTimeZoneInfo/Read` | `open-account tiktok-timezones` |
|
|
50
|
+
| TikTok 行业列表 | `GET {apiBaseUrl}/query/media-account/tiktok/TikTokIndustryInfo/Read` | `open-account tiktok-industries` |
|
|
51
|
+
| TikTok 注册地列表 | `GET {apiBaseUrl}/query/media-account/tiktok/TikTokAreacode/Read` | `open-account tiktok-areas` |
|
|
52
|
+
| Bing 行业列表 | `GET {apiBaseUrl}/query/media-account/bing/BingTradeList/Read`(返回中文行业名,`name` 字段即为 `--trade-id` 的值) | `open-account bing-industries` |
|
|
53
|
+
| 修改 Google 申请 | `PUT .../command/media-account/google/{entityId}`,`s-command-type: UpdateMediaAccount` | — |
|
|
54
|
+
| 修改 TikTok 申请 | `PUT .../command/media-account/{entityId}`,`s-command-type: UpdateMediaAccount` | — |
|
|
55
|
+
| 修改 Yandex 申请 | `POST .../command/media-account/UpdateAgencyClient/{id}` | — |
|
|
56
|
+
|
|
57
|
+
## 公司名称(广告主组)联想说明
|
|
58
|
+
|
|
59
|
+
网页上「公司名称」下拉的数据来自 `GET {apiBaseUrl}/query/profile/steward-individual`(与 `open-account list-groups` 同一接口),**无搜索接口,为本地过滤**。
|
|
60
|
+
|
|
61
|
+
选中已有广告主后,网页会自动回填推广链接、行业、推广类型等字段。CLI 的 `open-account google` 同样按 `--company` 名称自动匹配或创建广告主组,行为与网页一致。
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Google 开户:网页交互与 CLI 对照(/openAnAccount)
|
|
2
|
+
|
|
3
|
+
> 路由:`{webUrl}/v3/foreign_trade/tso/openAnAccount?mediaType=Google&...`
|
|
4
|
+
> 前端组件:`openAnAccount.vue` + 顶部流程条 `GGOPASteps.vue`
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 一、页面顶部「五步」是什么?
|
|
9
|
+
|
|
10
|
+
与**表单分步**不是同一套数字,但语义连贯:
|
|
11
|
+
|
|
12
|
+
| 步骤 | 文案(意译) | 用户要做什么 | CLI / Skill 能做什么 |
|
|
13
|
+
|------|----------------|----------------|----------------------|
|
|
14
|
+
| ① | 准备开户资料 | 准备公司名、网址、类型、账户信息等 | 说明清单;**无法**代替用户准备资质 |
|
|
15
|
+
| ② | 填写申请 | 网页里完成第 1、2 步表单并提交 | **`open-account google-wizard`** 或 **`open-account google`** |
|
|
16
|
+
| ③ | 等待审核 | 等待媒体/平台审核 | **`account-history -m Google`** 轮询 |
|
|
17
|
+
| ④ | 审核通过 | 查看通过结果 | 同上 |
|
|
18
|
+
| ⑤ | 充值并激活 | **必须在网页完成充值** | 引导 `config show` → `webUrl` + 充值路径(见 `finance.md`) |
|
|
19
|
+
|
|
20
|
+
页面上还有提示:**美元账户最低充值约 100 USD、人民币约 700 CNY**(以实际页面为准)。
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 二、网页里实际填表是「两步」
|
|
25
|
+
|
|
26
|
+
### 第 1 步(企业 / 推广信息)
|
|
27
|
+
|
|
28
|
+
| 网页控件 | 说明 | CLI 对应 |
|
|
29
|
+
|----------|------|----------|
|
|
30
|
+
| 公司名称 | 文本,可联想已有广告主 | `--company` |
|
|
31
|
+
| 网址 | 左侧下拉 `https://` / `http://` + 右侧输入框 | `--promotion-link`(可只写域名,CLI 会补协议) |
|
|
32
|
+
| 类型 | 单选 **B2B / B2C / APP** | `--promotion-type`:`b2b` \| `b2c` \| `app` |
|
|
33
|
+
| 行业级联 | 当前前端已隐藏 | 可选 `--industry1` / `--industry2` |
|
|
34
|
+
|
|
35
|
+
提交第 1 步后,后台会**创建或更新广告主组**并拿到 `magKey`;CLI 已内置该逻辑,**无需**用户自己查 `magKey`。
|
|
36
|
+
|
|
37
|
+
### 第 2 步(广告账户表格,与下拉菜单一致)
|
|
38
|
+
|
|
39
|
+
| 网页控件 | 说明 | CLI 对应 |
|
|
40
|
+
|----------|------|----------|
|
|
41
|
+
| 账户名称 | 文本,默认与公司名一致 | `--account-name` |
|
|
42
|
+
| 币种 | 下拉:**CNY / USD**(HKD 对代理商场景为禁用) | `--currency`:`CNY` \| `USD` |
|
|
43
|
+
| 时区 | 下拉:文案为 **`(Time)Name`**,值为 **IANA Code** | `--timezone`;列表用 **`open-account google-timezones`** |
|
|
44
|
+
| 开户数量 | 1~3,且多行总和 ≤3(网页表格) | `--counts`(1~3) |
|
|
45
|
+
| 开户邮箱 | 建议 Gmail;网页校验 **`.com` 结尾** | `--invite-email` |
|
|
46
|
+
|
|
47
|
+
**币种 ↔ 默认时区(与网页 `changeCurrency` 一致)**
|
|
48
|
+
|
|
49
|
+
- 选 **CNY** → 默认 **`Asia/Shanghai`**
|
|
50
|
+
- 选 **USD**(或其它非 CNY)→ 默认 **`Asia/Hong_Kong`**
|
|
51
|
+
|
|
52
|
+
其它时区请从 **`siluzan-tso open-account google-timezones`** 里取 **Code** 列(与网页下拉同一接口)。
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 三、推荐用法
|
|
57
|
+
|
|
58
|
+
### 1)非交互提交(Agent / 脚本首选)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# 常用时区速查(无需每次运行 google-timezones):
|
|
62
|
+
# Asia/Shanghai 北京/上海(CNY 默认)
|
|
63
|
+
# Asia/Hong_Kong 香港(USD 默认)
|
|
64
|
+
# America/New_York 美东
|
|
65
|
+
# America/Los_Angeles 美西
|
|
66
|
+
# Europe/London 伦敦
|
|
67
|
+
# 完整列表:siluzan-tso open-account google-timezones [--keyword <关键词>]
|
|
68
|
+
|
|
69
|
+
siluzan-tso open-account google \
|
|
70
|
+
--company "某某公司" \
|
|
71
|
+
--promotion-link "https://www.example.com" \
|
|
72
|
+
--promotion-type b2c \
|
|
73
|
+
--account-name "某某公司-美国投放" \
|
|
74
|
+
--currency USD \
|
|
75
|
+
--timezone "America/New_York" \
|
|
76
|
+
--invite-email "user@gmail.com" \
|
|
77
|
+
--counts 1
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 2)交互向导(人工终端操作,需要真实 TTY)
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# 注意:需要真实终端,CI / 管道 / AI Agent 环境下无法使用
|
|
84
|
+
siluzan-tso open-account google-wizard
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3)审核与后续
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# 轮询审核进度
|
|
91
|
+
siluzan-tso account-history -m Google
|
|
92
|
+
|
|
93
|
+
# 审核通过后,充值激活(必须网页完成)
|
|
94
|
+
# siluzan-tso config show 取 webUrl,打开:{webUrl}/v3/foreign_trade/tso/recharge
|
|
95
|
+
# 美元账户最低约 100 USD,人民币账户约 700 CNY
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 四、给 AI Agent 的简短指令模板
|
|
101
|
+
|
|
102
|
+
当用户说「我要在丝路赞开 Google 户」时:
|
|
103
|
+
|
|
104
|
+
1. 收集必填字段:公司名、推广网址、推广类型、账户名、币种、时区、邀请邮箱。
|
|
105
|
+
2. 时区未知时,先给出常用时区表(见上方速查),或运行 `open-account google-timezones --keyword <关键词>` 辅助选择。
|
|
106
|
+
3. 拼一条 `open-account google` 非交互命令提交。
|
|
107
|
+
4. 提交后:`account-history -m Google` 轮询进度。
|
|
108
|
+
5. 审核通过后:引导充值激活,给出充值网页路径(见第三步)。
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 五、相关命令速查
|
|
113
|
+
|
|
114
|
+
| 命令 | 作用 |
|
|
115
|
+
|------|------|
|
|
116
|
+
| `open-account google-wizard` | 交互向导(对齐网页两步表单 + 五步说明) |
|
|
117
|
+
| `open-account google-timezones` | 时区列表(网页下拉同源) |
|
|
118
|
+
| `open-account google` | 非交互一次性提交 |
|
|
119
|
+
| `account-history -m Google` | 开户审核进度 |
|
|
120
|
+
|
|
121
|
+
更完整的参数表见 `accounts.md` → **open-account** 章节。
|
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
# 报告与优化命令详解
|
|
2
|
+
|
|
3
|
+
> 所属 skill:`siluzan-tso`。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## report — 优化报告
|
|
8
|
+
|
|
9
|
+
### report list — 查询报告列表
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
siluzan-tso report list -m <媒体> [选项]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| 选项 | 说明 |
|
|
16
|
+
|------|------|
|
|
17
|
+
| `-m, --media` | 媒体类型(必填):`Google \| TikTok` |
|
|
18
|
+
| `-t, --type <type>` | 报告类型:`Daily \| Hourly` |
|
|
19
|
+
| `-s, --status <ready>` | 是否已生成:`true \| false` |
|
|
20
|
+
| `-k, --keyword <text>` | 报告名称关键字 |
|
|
21
|
+
| `--start / --end <date>` | 日期范围(YYYY-MM-DD) |
|
|
22
|
+
| `--json` | 输出原始 JSON |
|
|
23
|
+
|
|
24
|
+
**示例:**
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# 查询所有 Google 报告
|
|
28
|
+
siluzan-tso report list -m Google
|
|
29
|
+
|
|
30
|
+
# 查询本月 TikTok 日报
|
|
31
|
+
siluzan-tso report list -m TikTok -t Daily --start 2026-03-01 --end 2026-03-31
|
|
32
|
+
|
|
33
|
+
# 只看已生成完成的报告
|
|
34
|
+
siluzan-tso report list -m Google --status true --json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### report create — 批量生成报告
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
siluzan-tso report create -m <媒体> -a <账户ID列表> -t <类型> --start <date> --end <date>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
| 选项 | 说明 | 必填 |
|
|
46
|
+
|------|------|------|
|
|
47
|
+
| `-m, --media` | 媒体类型 | ✅ |
|
|
48
|
+
| `-a, --accounts <ids>` | 账户 `mediaCustomerId`(数字 ID),逗号分隔。**注意:不是 `entityId`**,内部会自动转换 | ✅ |
|
|
49
|
+
| `-t, --type` | 报告类型 | ✅ |
|
|
50
|
+
| `--start / --end` | 日期范围 | ✅ |
|
|
51
|
+
|
|
52
|
+
**示例:**
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 为 Google 账户生成本月日报(传 mediaCustomerId)
|
|
56
|
+
siluzan-tso report create \
|
|
57
|
+
-m Google \
|
|
58
|
+
-a 6326027735 \
|
|
59
|
+
-t Daily \
|
|
60
|
+
--start 2026-03-01 \
|
|
61
|
+
--end 2026-03-31
|
|
62
|
+
|
|
63
|
+
# 多账户,生成昨天的小时报
|
|
64
|
+
siluzan-tso report create -m Google -a 6326027735,4545500137 -t Hourly --start 2026-03-19 --end 2026-03-19
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### report delete — 删除报告
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
siluzan-tso report delete --id <entityId>
|
|
73
|
+
siluzan-tso report delete --ids <id1,id2,id3>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**示例:**
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
siluzan-tso report delete --id rpt_abc123
|
|
80
|
+
|
|
81
|
+
# 批量删除
|
|
82
|
+
siluzan-tso report delete --ids rpt_abc123,rpt_def456
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### report push — 推送管理
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
siluzan-tso report push list -m <媒体> # 查询推送配置列表
|
|
91
|
+
siluzan-tso report push start -m <媒体> --id <id> # 启动推送
|
|
92
|
+
siluzan-tso report push stop -m <媒体> --id <id> # 停止推送
|
|
93
|
+
siluzan-tso report push delete -m <媒体> --id <id> # 删除推送配置
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**示例:**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# 查询 Google 推送列表
|
|
100
|
+
siluzan-tso report push list -m Google
|
|
101
|
+
|
|
102
|
+
# 启动指定推送
|
|
103
|
+
siluzan-tso report push start -m Google --id push_abc123
|
|
104
|
+
|
|
105
|
+
# 停止推送
|
|
106
|
+
siluzan-tso report push stop -m Google --id push_abc123
|
|
107
|
+
|
|
108
|
+
# 删除推送配置
|
|
109
|
+
siluzan-tso report push delete -m Google --id push_abc123
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### 查看报告(引导打开网页)
|
|
115
|
+
|
|
116
|
+
报告生成后,在网页查看。先用 `siluzan-tso config show` 获取 `webUrl`,再按以下规则拼接链接:
|
|
117
|
+
|
|
118
|
+
| 媒体 | 报告类型 | URL 模板 |
|
|
119
|
+
|------|---------|---------|
|
|
120
|
+
| Google | 日报(Daily) | `{webUrl}/media-report/publish/{entityId}?culture=zh-CN` |
|
|
121
|
+
| Google | 小时报(Hourly) | `{webUrl}/media-report/hour/{entityId}?culture=zh-CN` |
|
|
122
|
+
| TikTok | 日报 | `{webUrl}/media-report/publish/{entityId}?culture=zh-CN` |
|
|
123
|
+
|
|
124
|
+
`entityId` 来自 `siluzan-tso report list --json` 中每条记录的 `entityId` 字段。
|
|
125
|
+
|
|
126
|
+
**示例流程:**
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# 第一步:查询报告,获取 entityId
|
|
130
|
+
siluzan-tso report list -m Google --json
|
|
131
|
+
# 从输出中找到目标报告的 entityId,如 "rpt_abc123"
|
|
132
|
+
|
|
133
|
+
# 第二步:查看 webUrl
|
|
134
|
+
siluzan-tso config show
|
|
135
|
+
# webUrl: {{WEB_URL}}
|
|
136
|
+
|
|
137
|
+
# 第三步:拼接链接(Google 日报)
|
|
138
|
+
# {{WEB_URL}}/media-report/publish/rpt_abc123?culture=zh-CN
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## ai-creation — AI 智投记录
|
|
144
|
+
|
|
145
|
+
对应页面:`/advertising/AICreationList`
|
|
146
|
+
|
|
147
|
+
### list — 查询列表
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
siluzan-tso ai-creation list [选项]
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
| 选项 | 说明 |
|
|
154
|
+
|------|------|
|
|
155
|
+
| `-s, --state <state>` | 状态:`Creating \| Successfully \| Failed \| HasFailed \| Unpublished` |
|
|
156
|
+
| `--customer-id <id>` | Google mediaCustomerId |
|
|
157
|
+
| `--customer-name <name>` | 客户名称关键字 |
|
|
158
|
+
| `-k, --keyword <text>` | 关键字 |
|
|
159
|
+
| `--start / --end <date>` | 创建日期范围 |
|
|
160
|
+
| `-p, --page <n>` | 页码(默认 1) |
|
|
161
|
+
| `--page-size <n>` | 每页数量(默认 20) |
|
|
162
|
+
| `--json` | 输出原始 JSON |
|
|
163
|
+
|
|
164
|
+
**示例:**
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# 查询全部记录
|
|
168
|
+
siluzan-tso ai-creation list
|
|
169
|
+
|
|
170
|
+
# 按 Google 账户筛选
|
|
171
|
+
siluzan-tso ai-creation list --customer-id 6326027735
|
|
172
|
+
|
|
173
|
+
# 查询创建失败的记录
|
|
174
|
+
siluzan-tso ai-creation list --state Failed --json
|
|
175
|
+
|
|
176
|
+
# 查询本月草稿
|
|
177
|
+
siluzan-tso ai-creation list --state Unpublished --start 2026-03-01
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### get — 获取草稿详情
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
siluzan-tso ai-creation get --id <recordId>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
输出完整 JSON 草稿内容(包含广告系列、预算、关键词、定向位置等)。
|
|
189
|
+
|
|
190
|
+
**示例:**
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
siluzan-tso ai-creation get --id rec_abc123
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### update — 更新草稿字段
|
|
199
|
+
|
|
200
|
+
只有 `draftStatus === "Draft"` 的记录可更新。
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
siluzan-tso ai-creation update --id <recordId> [选项]
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
| 选项 | 说明 |
|
|
207
|
+
|------|------|
|
|
208
|
+
| `--budget <amount>` | 新预算(最小货币单位,如 `8500` = 85元 CNY) |
|
|
209
|
+
| `--url <url>` | 新推广链接 |
|
|
210
|
+
| `--campaign-name <name>` | 新广告系列名称 |
|
|
211
|
+
|
|
212
|
+
**示例:**
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
# 修改预算为 500 元(CNY,单位为分)
|
|
216
|
+
siluzan-tso ai-creation update --id rec_abc123 --budget 50000
|
|
217
|
+
|
|
218
|
+
# 同时修改名称和推广链接
|
|
219
|
+
siluzan-tso ai-creation update --id rec_abc123 \
|
|
220
|
+
--campaign-name "品牌A春季促销" \
|
|
221
|
+
--url "https://www.brand-a.com/spring-sale"
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
### publish — 发布草稿
|
|
227
|
+
|
|
228
|
+
只有 `draftStatus === "Draft"` 的记录可发布。发布后状态变为 `Creating`,Google 后台异步执行创建。
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
siluzan-tso ai-creation publish --id <recordId>
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**示例:**
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
siluzan-tso ai-creation publish --id rec_abc123
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## optimize — AI 广告优化
|
|
243
|
+
|
|
244
|
+
对应页面:`/advertising/AiGoogleOptimize`
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
siluzan-tso optimize list [选项] # 账户级优化主列表
|
|
248
|
+
siluzan-tso optimize records [选项] # 优化操作记录列表
|
|
249
|
+
siluzan-tso optimize children --parent-id <id> # 广告系列级明细
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
| 选项 | 说明 |
|
|
253
|
+
|------|------|
|
|
254
|
+
| `-a, --account <id>` | 账户 `mediaCustomerId` |
|
|
255
|
+
| `--start / --end <date>` | 日期范围(YYYY-MM-DD,自动附加 +08:00) |
|
|
256
|
+
| `--parent-id <id>` | 父级 ID(`children` 子命令专用) |
|
|
257
|
+
| `--json` | 输出原始 JSON |
|
|
258
|
+
|
|
259
|
+
**示例:**
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
# 查询指定账户的优化建议列表
|
|
263
|
+
siluzan-tso optimize list -a 6326027735
|
|
264
|
+
|
|
265
|
+
# 查询所有账户本月优化记录
|
|
266
|
+
siluzan-tso optimize records --start 2026-03-01 --end 2026-03-31
|
|
267
|
+
|
|
268
|
+
# 查询某账户广告系列级明细
|
|
269
|
+
siluzan-tso optimize children --parent-id opt_parent_abc123
|
|
270
|
+
|
|
271
|
+
# JSON 输出
|
|
272
|
+
siluzan-tso optimize list -a 6326027735 --json
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## clue — 广告线索表单
|
|
278
|
+
|
|
279
|
+
对应页面:`/clue-form`。支持 **TikTok** 和 **Meta(Facebook)** 两种媒体。
|
|
280
|
+
|
|
281
|
+
> **注意**:线索数据直接来自媒体 API,**不支持服务端分页**,数据量大时建议 `--json` 导出后自行处理。
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
siluzan-tso clue -m <媒体> -a <账户ID> [选项]
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
| 选项 | 说明 |
|
|
288
|
+
|------|------|
|
|
289
|
+
| `-m, --media` | `TikTok \| Meta`(默认 TikTok) |
|
|
290
|
+
| `-a, --account <id>` | TikTok:`advertiserId`(mediaCustomerId);Meta:Facebook 页面 ID |
|
|
291
|
+
| `--region <region>` | TikTok 专用:`eu \| us \| other \| ALL`(默认 ALL) |
|
|
292
|
+
| `--start <date>` | Meta 专用:开始日期(YYYY-MM-DD) |
|
|
293
|
+
| `--end <date>` | Meta 专用:结束日期(YYYY-MM-DD) |
|
|
294
|
+
| `--json` | 输出原始 JSON |
|
|
295
|
+
|
|
296
|
+
**TikTok 示例:**
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# 查询 TikTok 全部区域线索
|
|
300
|
+
siluzan-tso clue -m TikTok -a 1234567890
|
|
301
|
+
|
|
302
|
+
# 只查欧洲区线索
|
|
303
|
+
siluzan-tso clue -m TikTok -a 1234567890 --region eu
|
|
304
|
+
|
|
305
|
+
# 查美国区,JSON 输出
|
|
306
|
+
siluzan-tso clue -m TikTok -a 1234567890 --region us --json
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**Meta 示例:**
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# 查询 Meta 线索(3月份)
|
|
313
|
+
siluzan-tso clue -m Meta -a 987654321 --start 2026-03-01 --end 2026-03-31
|
|
314
|
+
|
|
315
|
+
# JSON 输出
|
|
316
|
+
siluzan-tso clue -m Meta -a 987654321 --start 2026-03-01 --json
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**输出字段说明(TikTok):**
|
|
320
|
+
|
|
321
|
+
| 字段 | 来源 |
|
|
322
|
+
|------|------|
|
|
323
|
+
| 姓名、邮箱、手机 | `custom_fields` |
|
|
324
|
+
| 表单名、广告名、区域、时间、lead_id | `system_fields` |
|
|
325
|
+
|
|
326
|
+
**输出字段说明(Meta):**
|
|
327
|
+
|
|
328
|
+
| 字段 | 来源 |
|
|
329
|
+
|------|------|
|
|
330
|
+
| 姓名、邮箱、手机 | `field_data` |
|
|
331
|
+
| 表单名、创建时间 | 顶层字段 |
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## forewarning — 智能预警
|
|
336
|
+
|
|
337
|
+
对应页面:`/advertising/forewarning`
|
|
338
|
+
|
|
339
|
+
### list — 查询规则列表
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
siluzan-tso forewarning list -m <媒体> [选项]
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
| 选项 | 说明 |
|
|
346
|
+
|------|------|
|
|
347
|
+
| `-m, --media` | 媒体类型(必填):`Google \| TikTok` |
|
|
348
|
+
| `-a, --account <id>` | 账户 ID 筛选 |
|
|
349
|
+
| `-k, --keyword <text>` | 规则名称关键字 |
|
|
350
|
+
| `--start / --end <date>` | 日期范围 |
|
|
351
|
+
| `--json` | 输出原始 JSON |
|
|
352
|
+
|
|
353
|
+
**示例:**
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
# 查询所有 Google 预警规则
|
|
357
|
+
siluzan-tso forewarning list -m Google
|
|
358
|
+
|
|
359
|
+
# 按账户筛选
|
|
360
|
+
siluzan-tso forewarning list -m TikTok -a entityId1
|
|
361
|
+
|
|
362
|
+
# 关键字搜索
|
|
363
|
+
siluzan-tso forewarning list -m Google -k "消费超限"
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
### records — 查询预警触发记录
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
siluzan-tso forewarning records -m <媒体> [选项]
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
| 选项(额外) | 说明 |
|
|
375
|
+
|------|------|
|
|
376
|
+
| `-r, --rule-id <id>` | 规则 ID(留空查全部规则) |
|
|
377
|
+
| `-s, --status <result>` | 执行结果筛选 |
|
|
378
|
+
|
|
379
|
+
**示例:**
|
|
380
|
+
|
|
381
|
+
```bash
|
|
382
|
+
# 查询所有 TikTok 预警触发记录
|
|
383
|
+
siluzan-tso forewarning records -m TikTok
|
|
384
|
+
|
|
385
|
+
# 查询本月触发记录
|
|
386
|
+
siluzan-tso forewarning records -m Google --start 2026-03-01
|
|
387
|
+
|
|
388
|
+
# 查询指定规则的触发记录
|
|
389
|
+
siluzan-tso forewarning records -m Google --rule-id rule_abc123
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
### start / stop / delete — 启停/删除规则
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
siluzan-tso forewarning start -m <媒体> --id <ruleEntityId> # 启动规则
|
|
398
|
+
siluzan-tso forewarning stop -m <媒体> --id <ruleEntityId> # 停止规则
|
|
399
|
+
siluzan-tso forewarning delete -m <媒体> --id <ruleEntityId> # 删除规则
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
**示例:**
|
|
403
|
+
|
|
404
|
+
```bash
|
|
405
|
+
siluzan-tso forewarning stop -m Google --id rule_abc123
|
|
406
|
+
siluzan-tso forewarning start -m Google --id rule_abc123
|
|
407
|
+
siluzan-tso forewarning delete -m TikTok --id rule_def456
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
### create — 创建预警规则(自定义类型)
|
|
413
|
+
|
|
414
|
+
```bash
|
|
415
|
+
siluzan-tso forewarning create \
|
|
416
|
+
-m Google \
|
|
417
|
+
--name "消费超限预警" \
|
|
418
|
+
--accounts "entityId1,entityId2" \
|
|
419
|
+
--field cost \
|
|
420
|
+
--operator GREATER_EQUALS \
|
|
421
|
+
--value 500 \
|
|
422
|
+
--days 1 \
|
|
423
|
+
--frequency QuarterHour \
|
|
424
|
+
--notify "notifyEntityId"
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
| 选项 | 说明 | 必填 |
|
|
428
|
+
|------|------|------|
|
|
429
|
+
| `-m, --media` | `Google \| TikTok` | ✅ |
|
|
430
|
+
| `--name` | 规则名称 | ✅ |
|
|
431
|
+
| `--accounts <ids>` | 监控账户 `entityId`,逗号分隔 | ✅ |
|
|
432
|
+
| `--field <field>` | 监控指标(见下表) | ✅ |
|
|
433
|
+
| `--operator <op>` | 比较运算符(见下表) | ✅ |
|
|
434
|
+
| `--value <n>` | 阈值(数字) | ✅ |
|
|
435
|
+
| `--scope <type>` | 层级:`Campaign \| AdGroup \| Ad`(默认 `Campaign`) | |
|
|
436
|
+
| `--days <n>` | 统计周期(天):`1 \| 3 \| 7`(默认 1) | |
|
|
437
|
+
| `--frequency <freq>` | 检查频率:`QuarterHour \| HalfHour \| Hour`(默认 `QuarterHour`) | |
|
|
438
|
+
| `--notify <ids>` | 通知账户 `entityId`,逗号分隔 | |
|
|
439
|
+
|
|
440
|
+
**监控指标(--field):**
|
|
441
|
+
|
|
442
|
+
| 媒体 | 可选值 |
|
|
443
|
+
|------|--------|
|
|
444
|
+
| Google | `cost` `CPA` `CPM` `CPC` `conversions_count` `conversions_rate` `valid_click_count` `ctr` |
|
|
445
|
+
| TikTok | `spend` `cpc` `cpm` `cost_per_conversion` `conversion` `ctr` `clicks` `result` `result_rate` |
|
|
446
|
+
|
|
447
|
+
**比较运算符(--operator):**
|
|
448
|
+
|
|
449
|
+
`GREATER_EQUALS`(≥)、`GREATER`(>)、`LESS_EQUALS`(≤)、`LESS`(<)、`EQUALS`(=)
|
|
450
|
+
|
|
451
|
+
**典型场景示例:**
|
|
452
|
+
|
|
453
|
+
```bash
|
|
454
|
+
# 场景1:Google 账户日消费超过 500 元时预警
|
|
455
|
+
siluzan-tso forewarning create \
|
|
456
|
+
-m Google \
|
|
457
|
+
--name "日消费超限" \
|
|
458
|
+
--accounts "entityId1" \
|
|
459
|
+
--field cost \
|
|
460
|
+
--operator GREATER_EQUALS \
|
|
461
|
+
--value 500
|
|
462
|
+
|
|
463
|
+
# 场景2:TikTok 广告组 CPM 低于 5 元时预警(每半小时检查一次)
|
|
464
|
+
siluzan-tso forewarning create \
|
|
465
|
+
-m TikTok \
|
|
466
|
+
--name "CPM 偏低预警" \
|
|
467
|
+
--accounts "entityId1,entityId2" \
|
|
468
|
+
--field cpm \
|
|
469
|
+
--operator LESS \
|
|
470
|
+
--value 5 \
|
|
471
|
+
--scope AdGroup \
|
|
472
|
+
--frequency HalfHour
|
|
473
|
+
|
|
474
|
+
# 场景3:Google 近 7 天转化数低于 10 时预警,并通知指定账户
|
|
475
|
+
siluzan-tso forewarning create \
|
|
476
|
+
-m Google \
|
|
477
|
+
--name "转化不足预警" \
|
|
478
|
+
--accounts "entityId1" \
|
|
479
|
+
--field conversions_count \
|
|
480
|
+
--operator LESS \
|
|
481
|
+
--value 10 \
|
|
482
|
+
--days 7 \
|
|
483
|
+
--notify "notifyEntityId"
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
### update — 更新预警规则
|
|
489
|
+
|
|
490
|
+
参数与 `create` 相同,**额外必填 `--id`**(规则 entityId)。
|
|
491
|
+
|
|
492
|
+
```bash
|
|
493
|
+
siluzan-tso forewarning update \
|
|
494
|
+
-m Google \
|
|
495
|
+
--id rule_abc123 \
|
|
496
|
+
--name "日消费超限(修改版)" \
|
|
497
|
+
--accounts "entityId1" \
|
|
498
|
+
--field cost \
|
|
499
|
+
--operator GREATER_EQUALS \
|
|
500
|
+
--value 800
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
### get — 查看单条规则详情
|
|
506
|
+
|
|
507
|
+
编辑前用于获取规则的当前配置。
|
|
508
|
+
|
|
509
|
+
```bash
|
|
510
|
+
siluzan-tso forewarning get -m Google --id rule_abc123
|
|
511
|
+
```
|