Cấu hình Script Super Marketing
Trang này ghi lại các API endpoint cho script Super Marketing. Khác với các script khác, super marketing không được tạo qua endpoint POST /api/v1/task chung — nó chạy dựa trên tập dữ liệu mục tiêu có thể tái sử dụng và có các endpoint riêng.
Tổng quan
Một chiến dịch super marketing kết hợp nhiều hành động tăng trưởng (theo dõi, bỏ theo dõi, báo cáo, DM, boost, bình luận hàng loạt) trên một nhóm mục tiêu. Nhóm mục tiêu được lưu dưới dạng tập dữ liệu:
- Data type — tập dữ liệu chứa
usernames(tên người dùng TikTok/Instagram) hoặcpost_links(URL bài đăng). - Strategy — kiểm soát cách phân phối mục tiêu trên các thiết bị:
shared_pool— mỗi thiết bị/tài khoản xử lý tất cả mục tiêu.consume_once— mục tiêu được chia trên các thiết bị, mỗi mục tiêu chỉ được xử lý một lần.
Quy trình điển hình:
- Nhập mục tiêu vào tập dữ liệu → nhận
dataset_id. - Chạy chiến dịch tham chiếu
dataset_idđó trên một hoặc nhiều thiết bị.
Các tính năng bật/tắt và cài đặt chi tiết được đọc từ cấu hình đã lưu trong ứng dụng desktop (super_marketing_settings.json). Bạn có thể ghi đè bất kỳ cài đặt nào bằng cách truyền script_config trong yêu cầu chạy.
Tất cả endpoint super marketing yêu cầu gói Pro, Team, hoặc Business.
Nhập Tập dữ liệu
Tạo tập dữ liệu mới hoặc thêm mục tiêu vào tập dữ liệu hiện có.
- Endpoint:
POST /api/v1/super-marketing/dataset
Request Body
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| dataset_id | integer | No | — | ID tập dữ liệu hiện có để thêm vào / thay thế. Bỏ qua hoặc dùng 0 để tạo mới. |
| data_type | string | Yes | — | usernames hoặc post_links |
| strategy | string | Yes | — | shared_pool hoặc consume_once |
| entries | string[] | Yes* | [] | Mục tiêu dưới dạng JSON array. Ưu tiên hơn raw_text. |
| raw_text | string | Yes* | — | Mục tiêu phân cách bằng dòng mới (thay thế cho entries). |
| mode | string | No | append | append thêm vào hiện có; replace xóa hiện có trước. |
| label | string | No | — | Nhãn tùy chọn cho tập dữ liệu. |
Cung cấp mục tiêu qua entries hoặc raw_text. Mục nhập trùng lặp và rỗng bị bỏ qua. Một lần nhập tối đa 100,000 mục.
Ví dụ
curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Campaign A targets",
"entries": ["@user_one", "@user_two", "@user_three"]
}'
Thêm mục tiêu vào tập dữ liệu hiện có bằng văn bản phân cách dòng mới:
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"
}'
Phản hồi mẫu
{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Campaign A targets",
"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
}
}
}
Liệt kê Tập dữ liệu
Lấy tất cả tập dữ liệu với thống kê tiêu thụ.
- Endpoint:
GET /api/v1/super-marketing/datasets
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| data_type | string | — | Bộ lọc tùy chọn: usernames hoặc post_links |
Ví dụ
curl "http://localhost:50809/api/v1/super-marketing/datasets?data_type=usernames"
Phản hồi mẫu
{
"code": 0,
"message": "success",
"data": [
{
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Campaign A targets",
"total": 6,
"consumed": 0,
"remaining": 6,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:05:00"
}
]
}
Lấy Tập dữ liệu
Lấy thống kê và một trang mục của tập dữ liệu.
- Endpoint:
GET /api/v1/super-marketing/dataset/{id}
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| limit | integer | 50 | Mục mỗi trang (tối đa 500) |
| offset | integer | 0 | Số mục bỏ qua |
Ví dụ
curl "http://localhost:50809/api/v1/super-marketing/dataset/7?limit=100&offset=0"
Xóa Tập dữ liệu
Xóa tất cả mục khỏi tập dữ liệu. Bản ghi tập dữ liệu vẫn được giữ lại.
- Endpoint:
DELETE /api/v1/super-marketing/dataset/{id}
Ví dụ
curl -X DELETE http://localhost:50809/api/v1/super-marketing/dataset/7
Phản hồi mẫu
{
"code": 0,
"message": "success",
"data": { "cleared": true, "dataset_id": 7 }
}
Chạy Chiến dịch
Khởi chạy chiến dịch super marketing trên các thiết bị đã cho, sử dụng mục tiêu từ tập dữ liệu.
- Endpoint:
POST /api/v1/super-marketing/run
Request Body
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| serials | string[] | Yes | [] | Số serial thiết bị để chạy |
| dataset_id | integer | Yes | — | Tập dữ liệu chứa mục tiêu cho chiến dịch |
| enable_multi_account | boolean | No | false | Tạo một tác vụ mỗi tài khoản trên mỗi thiết bị |
| merge_same_username_tasks | boolean | No | false | Gom tất cả mục tiêu của thiết bị vào một tác vụ |
| platform | string | No | — | Ghi đè nền tảng (tiktok / instagram) |
| min_interval | integer | No | 0 | Số phút tối thiểu giữa các thời gian bắt đầu tác vụ |
| max_interval | integer | No | 0 | Số phút tối đa giữa các thời gian bắt đầu tác vụ |
| start_time | string | No | — | Thời gian bắt đầu tác vụ đầu tiên theo định dạng HH:MM |
| rotate_proxy | boolean | No | false | Xoay proxy thiết bị trước khi chạy |
| switch_account_method | string | No | — | Cách chuyển tài khoản trong chế độ đa tài khoản |
| official_packages | string[] | No | [] | Giới hạn chỉ các gói chính thức này |
| clone_package_prefix | string | No | — | Giới hạn ứng dụng clone có tên gói bắt đầu bằng tiền tố này |
| script_config | object | No | — | Tùy chọn tính năng / cài đặt ghi đè cấu hình lưu trên desktop (xem bên dưới) |
Không truyền data_source_type trong yêu cầu chạy — chiến dịch tự động sử dụng data_type của tập dữ liệu.
Ghi đè script_config
script_config là tùy chọn. Khi bỏ qua, chiến dịch dùng cài đặt từ ứng dụng desktop. Các key chấp nhận cả camelCase và snake_case.
| Field | Type | Description |
|---|---|---|
| access_method | string | Cách tiếp cận mục tiêu username: search hoặc direct |
| features.follow_users | boolean | Theo dõi mỗi mục tiêu |
| features.unfollow_users | boolean | Bỏ theo dõi mỗi mục tiêu |
| features.report_account | boolean | Báo cáo mỗi tài khoản mục tiêu |
| features.send_dm | boolean | Gửi tin nhắn trực tiếp đến mỗi mục tiêu |
| features.boost_posts | boolean | Thích / yêu thích / đăng lại / chia sẻ bài đăng của mục tiêu |
| features.mass_comment | boolean | Bình luận bài đăng của mục tiêu |
| follow_settings.boost_type | string | follow hoặc unfollow |
| dm_settings.message_format | string | multiline (mặc định) hoặc spintax — xem phần định dạng tin nhắn DM bên dưới |
| dm_settings.message_contents | string | Nội dung DM. Với multiline, mỗi dòng là một tin nhắn riêng (### = xuống dòng trong một tin nhắn); với spintax, toàn bộ chuỗi là một tin nhắn (xuống dòng bình thường, nhóm {option1|option2}). Hỗ trợ {username} và {sender_username}. |
| dm_settings.message_order | string | random hoặc sequential (chỉ áp dụng cho định dạng multiline) |
| dm_settings.insert_emoji | boolean | Chèn emoji ngẫu nhiên vào DM |
| dm_settings.generate_by_chatgpt | boolean | Tạo DM bằng ChatGPT |
| dm_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| post_settings.skip_posts_count | integer | Số bài đăng bỏ qua trước khi thao tác (0–8) |
| post_settings.max_posts_count | integer | Số bài đăng tối đa xử lý mỗi mục tiêu |
| post_settings.enable_like | boolean | Thích bài đăng |
| post_settings.enable_favorite | boolean | Thêm bài đăng vào yêu thích |
| post_settings.enable_repost | boolean | Đăng lại bài |
| post_settings.enable_share | boolean | Chia sẻ bài đăng |
| post_settings.repeat_times | integer | Số lần lặp lại thao tác bài đăng |
| post_settings.view_durations | integer[] | [min, max] giây xem mỗi bài đăng |
| comment_settings.comment_content | string | Nội dung bình luận (nhiều biến thể phân cách bằng dòng mới) |
| comment_settings.comment_order | string | random hoặc sequential |
| comment_settings.insert_emoji | boolean | Chèn emoji ngẫu nhiên vào bình luận |
| comment_settings.generate_by_chatgpt | boolean | Tạo bình luận bằng ChatGPT |
| comment_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| task_finish_wait_time | integer | Giây chờ trước khi hoàn thành |
Định dạng tin nhắn DM
dm_settings.message_contents được phân tích theo dm_settings.message_format, giống như mô tả bài đăng được phân tích theo caption_format:
| Định dạng | Mẫu | Xuống dòng | Biến thể ngẫu nhiên |
|---|---|---|---|
multiline (mặc định) | Mỗi dòng không trống là một mẫu, chọn bằng message_order | ### trong một dòng | Giữa các dòng, qua message_order |
spintax | Toàn bộ chuỗi là một mẫu duy nhất | \n thông thường trong chuỗi | Nhóm {option1|option2} |
{username} và {sender_username} được thay thế trước khi các nhóm spintax được xử lý, nên biến không bao giờ bị coi là nhóm spintax chỉ có một lựa chọn.
// multiline
"dm_settings": {
"message_format": "multiline",
"message_contents": "Hey {username}! Love your content 🙌\nHi {username}###Here is a video I made###v.example.com/{username}",
"message_order": "sequential"
}
// spintax
"dm_settings": {
"message_format": "spintax",
"message_contents": "{Hi|Hello} {username}\n\nHere is a video I made\n\nv.example.com/{username}"
}
Ví dụ
Chạy tối giản (dùng cài đặt desktop)
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
}'
Chiến dịch theo dõi + DM tự đầy đủ
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_format": "multiline",
"message_contents": "Hey! Love your content 🙌\nGreat posts, keep it up!",
"message_order": "random",
"insert_emoji": true
}
}
}'
Bình luận hàng loạt trên tập dữ liệu post-link
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": "🔥🔥🔥\nAmazing!\nLove this",
"comment_order": "random"
}
}
}'
Phản hồi mẫu
{
"code": 0,
"message": "success",
"data": { "created_count": 6 }
}
created_count là số tác vụ được tạo. Các tác vụ chờ sau đó chạy trên thiết bị được giao — theo dõi qua API Quản lý Tác vụ.