超级营销脚本配置
本页面介绍超级营销脚本的 API 端点。与其他脚本不同,超级营销不通过通用的 POST /api/v1/task 端点创建——它基于可复用的目标数据集运行,并拥有专属的独立端点。
概述
超级营销活动将多种增长操作(关注、取消关注、举报 、私信、助推、批量评论)整合到一次针对目标池的运行中。目标池以数据集形式存储:
- 数据类型 — 数据集保存
usernames(TikTok/Instagram 账号名)或post_links(帖子链接)。 - 策略 — 控制目标在设备间的分配方式:
shared_pool— 每台选定的设备/账号处理所有目标。consume_once— 目标在设备间分配,每个目标只被消费一次。
典型流程:
- 将目标导入数据集,获取
dataset_id。 - 运行引用该
dataset_id的活动,在一台或多台设备上执行。
功能开关(关注 / 私信 / 评论等)及其详细设置从桌面端保存的配置(super_marketing_settings.json)中读取。你可以在运行请求中传入 script_config 来覆盖任意设置。
所有超级营销端点均需要 Pro、Team 或 Business 计划,与本地 API 其余部分相同。
导入数据集
创建新数据集或向已有数据集追加目标。
- 端点:
POST /api/v1/super-marketing/dataset
请求体
| 字段 | 类型 | 必需 | 默认值 | 描述 |
|---|---|---|---|---|
| dataset_id | integer | No | — | 要追加/替换的现有数据集 ID。省略或填 0 则创建新数据集。 |
| data_type | string | Yes | — | usernames 或 post_links |
| strategy | string | Yes | — | shared_pool 或 consume_once |
| entries | string[] | Yes* | [] | 以 JSON 数组形式提供目标,优先于 raw_text。 |
| raw_text | string | Yes* | — | 以换行分隔的目标字符串(entries 的替代方式)。 |
| mode | string | No | append | append 追加到现有条目;replace 先清除现有条目。 |
| label | string | No | — | 数据集的可读标签(可选)。 |
通过 entries 或 raw_text 二选一提供目标。重复和空条目将被忽略。单次导入上限为 100,000 条。
示例
curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "活动 A 目标",
"entries": ["@user_one", "@user_two", "@user_three"]
}'
使用换行分隔的文本向已有数据集追加更多目标:
curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"dataset_id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"mode": "append",
"raw_text": "@user_four\n@user_five\n@user_six"
}'
示例响应
{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "活动 A 目标",
"total": 3,
"consumed": 0,
"remaining": 3,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:00:00"
},
"entries": [
{ "id": 1, "value": "@user_one", "consumed": false, "consumed_by": null, "consumed_at": null, "created_at": "2026-06-22 09:00:00", "updated_at": "2026-06-22 09:00:00" }
]
},
"summary": {
"inserted": 3,
"duplicates": 0,
"skipped_empty": 0,
"removed": 0,
"truncated": 0
}
}
}
列出数据集
获取所有数据集及其消费统计信息。
- 端点:
GET /api/v1/super-marketing/datasets
查询参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| data_type | string | — | 可选过滤:usernames 或 post_links |
示例
curl "http://localhost:50809/api/v1/super-marketing/datasets?data_type=usernames"
示例响应
{
"code": 0,
"message": "success",
"data": [
{
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "活动 A 目标",
"total": 6,
"consumed": 0,
"remaining": 6,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:05:00"
}
]
}
获取数据集
获取数据集的统计信息及分页条目。
- 端点:
GET /api/v1/super-marketing/dataset/{id}
查询参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| limit | integer | 50 | 每页条目数(最大 500) |
| offset | integer | 0 | 跳过的条目数 |
示例
curl "http://localhost:50809/api/v1/super-marketing/dataset/7?limit=100&offset=0"
清空数据集
删除数据集中的所有条目。数据集记录本身保留(dataset_id 仍可用于后续导入)。
- 端点:
DELETE /api/v1/super-marketing/dataset/{id}
示例
curl -X DELETE http://localhost:50809/api/v1/super-marketing/dataset/7
示例响应
{
"code": 0,
"message": "success",
"data": { "cleared": true, "dataset_id": 7 }
}
运行活动
在指定设备上启动超级营销活动,使用数据集中的目标。
- 端点:
POST /api/v1/super-marketing/run
请求体
| 字段 | 类型 | 必需 | 默认值 | 描述 |
|---|---|---|---|---|
| serials | string[] | Yes | [] | 要运行的设备序列号 |
| dataset_id | integer | Yes | — | 驱动活动的目标数据集 |
| enable_multi_account | boolean | No | false | 为每台设备上的每个账号创建一个任务 |
| merge_same_username_tasks | boolean | No | false | 将设备的所有目标合并为一个任务,而非每个目标一个任务 |
| platform | string | No | — | 平台覆盖(tiktok / instagram)。仅在多平台构建中生效;单平台构建始终使用固定平台 |
| min_interval | integer | No | 0 | 错开任务开始时间之间的最小间隔(分钟) |
| max_interval | integer | No | 0 | 错开任务开始时间之间的最大间隔(分钟) |
| start_time | string | No | — | 第一个任务的开始时间(格式 HH:MM) |
| rotate_proxy | boolean | No | false | 运行前轮换设备代理 |
| switch_account_method | string | No | — | 多账号模式下的账号切换方式(如 profile) |
| official_packages | string[] | No | [] | 限定执行的官方包名(多账号模式) |
| clone_package_prefix | string | No | — | 限定包名以此前缀开头的克隆应用 |
| script_config | object | No | — | 覆盖桌面端保存配置的功能开关和各功能详细设置(见下文) |
运行请求中无需传入 data_source_type——活动会自动使用数据集的 data_type(usernames 或 post_links)。帖子链接数据集仅支持 boost_posts 和 mass_comment 功能。
script_config 覆盖项
script_config 为可选项。省略时,活动使用桌面端配置的功能开关和设置。提供时可运行完全自定义的活动或覆盖特定字段。键名同时接受 camelCase 和 snake_case。
| 字段 | 类型 | 描述 |
|---|---|---|
| access_method | string | 到达用户名目标的方式:search 或 direct |
| features.follow_users | boolean | 关注每个目标 |
| features.unfollow_users | boolean | 取消关注每个目标 |
| features.report_account | boolean | 举报每个目标账号 |
| features.send_dm | boolean | 向每个目标发送私信 |
| features.boost_posts | boolean | 为目标帖子点赞/收藏/转发/分享 |
| features.mass_comment | boolean | 在目标帖子上批量评论 |
| follow_settings.boost_type | string | follow 或 unfollow |
| dm_settings.message_contents | string | 私信文本(多变体以换行分隔) |
| dm_settings.message_order | string | random 或 sequential |
| dm_settings.insert_emoji | boolean | 在私信中插入随机表情 |
| dm_settings.generate_by_chatgpt | boolean | 使用 ChatGPT 生成私信 |
| dm_settings.chatgpt_prompt | string | 生成私信时使用的提示词 |
| dm_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| post_settings.skip_posts_count | integer | 操作前跳过的帖子数(0–8,仅用户名来源) |
| post_settings.max_posts_count | integer | 每个目标最多处理的帖子数 |
| post_settings.enable_like | boolean | 点赞帖子 |
| post_settings.enable_favorite | boolean | 将帖子加入收藏 |
| post_settings.enable_repost | boolean | 转发帖子 |
| post_settings.enable_share | boolean | 分享帖子 |
| post_settings.repeat_times | integer | 重复执行帖子操作的次数 |
| post_settings.view_durations | integer[] | 观看每个帖子的时长区间 [min, max](秒) |
| comment_settings.comment_content | string | 评论文本(多变体以换行分隔) |
| comment_settings.comment_order | string | random 或 sequential |
| comment_settings.insert_emoji | boolean | 在评论中插入随机表情 |
| comment_settings.generate_by_chatgpt | boolean | 使用 ChatGPT 生成评论 |
| comment_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| task_finish_wait_time | integer | 完成前等待的秒数(防止数据丢失) |
示例
最简运行(使用桌面端保存的设置)
curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"dataset_id": 7
}'
自定义关注 + 私信活动
curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 7,
"enable_multi_account": true,
"min_interval": 1,
"max_interval": 3,
"script_config": {
"access_method": "search",
"features": {
"follow_users": true,
"send_dm": true
},
"follow_settings": { "boost_type": "follow" },
"dm_settings": {
"message_contents": "嗨!喜欢你的内容 🙌\n精彩的帖子,继续加油!",
"message_order": "random",
"insert_emoji": true
}
}
}'
针对帖子链接数据集的批量评论
curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 9,
"merge_same_username_tasks": true,
"script_config": {
"features": { "mass_comment": true },
"comment_settings": {
"comment_content": "🔥🔥🔥\n太棒了!\n喜欢这个",
"comment_order": "random"
}
}
}'
示例响应
{
"code": 0,
"message": "success",
"data": { "created_count": 6 }
}
created_count 为已创建的任务数量。这些待处理任务随后会像其他任务一样在各自分配的设备上运行——通过任务管理 API 追踪进度。
错误响应
| HTTP 状态码 | Code | 描述 |
|---|---|---|
| 400 | 40001 | 参数无效(data_type/strategy 错误、serials 为空、dataset_id 非正、script_config 非对象,或未创建任何任务) |
| 403 | 40301 | 禁止 — API 访问需要 Pro+ 计划 |
| 404 | 40401 | 数据集不存在 |
| 500 | 50001 | 内部服务器错误 |
如果运行返回 code 40001 且提示"No tasks created",请确认数据集仍有剩余目标(针对 consume_once 策略)以及所选设备处于在线状态。