Konfigurasi Skrip Super Marketing
Halaman ini mendokumentasikan titik akhir API untuk skrip Super Marketing. Berbeda dengan skrip lainnya, super marketing tidak dibuat melalui titik akhir generik POST /api/v1/task — kampanye ini menggunakan kumpulan data target yang dapat digunakan kembali dan memiliki titik akhir khusus tersendiri.
Ikhtisar
Kampanye super marketing menggabungkan beberapa tindakan pertumbuhan (ikuti, berhenti mengikuti, laporkan, DM, boost, komentar massal) dalam satu sesi atas sekumpulan target. Kumpulan target disimpan sebagai kumpulan data:
- Tipe data — kumpulan data berisi
usernames(nama pengguna TikTok/Instagram) ataupost_links(URL postingan). - Strategi — mengontrol bagaimana target didistribusikan ke perangkat Anda:
shared_pool— setiap perangkat/akun yang dipilih memproses semua target.consume_once— target dibagi ke seluruh perangkat dan masing-masing dikonsumsi sekali.
Alur umum adalah:
- Impor target ke dalam kumpulan data → dapatkan
dataset_id. - Jalankan kampanye yang mereferensikan
dataset_idtersebut di satu atau lebih perangkat.
Toggle fitur (ikuti / DM / komentar, dll.) dan pengaturan detailnya dibaca dari konfigurasi tersimpan aplikasi desktop (super_marketing_settings.json). Anda dapat mengganti salah satunya per sesi dengan mengoper script_config dalam permintaan jalankan.
Semua titik akhir super marketing memerlukan paket Pro, Team, atau Business, seperti API Lokal lainnya.
Impor Kumpulan Data
Buat kumpulan data baru atau tambahkan target ke kumpulan data yang sudah ada.
- Titik Akhir:
POST /api/v1/super-marketing/dataset
Isi Permintaan
| Field | Tipe | Diperlukan | Default | Deskripsi |
|---|---|---|---|---|
| dataset_id | integer | Tidak | — | ID kumpulan data yang ada untuk ditambahi / diganti. Hilangkan atau gunakan 0 untuk membuat kumpulan data baru. |
| data_type | string | Ya | — | usernames atau post_links |
| strategy | string | Ya | — | shared_pool atau consume_once |
| entries | string[] | Ya* | [] | Target sebagai array JSON. Prioritas atas raw_text. |
| raw_text | string | Ya* | — | Target sebagai string dipisah baris baru (alternatif dari entries). |
| mode | string | Tidak | append | append menambahkan ke entri yang ada; replace menghapus entri yang ada terlebih dahulu. |
| label | string | Tidak | — | Label yang dapat dibaca manusia untuk kumpulan data (opsional). |
Sediakan target melalui salah satu entries atau raw_text. Entri duplikat dan kosong diabaikan. Satu impor dibatasi hingga 100.000 entri.
Contoh
curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Target Kampanye A",
"entries": ["@user_one", "@user_two", "@user_three"]
}'
Tambahkan lebih banyak target ke kumpulan data yang ada menggunakan teks dipisah baris baru:
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"
}'
Contoh Respons
{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Target Kampanye 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
}
}
}
Daftar Kumpulan Data
Ambil semua kumpulan data beserta statistik konsumsinya.
- Titik Akhir:
GET /api/v1/super-marketing/datasets
Parameter Query
| Parameter | Tipe | Default | Deskripsi |
|---|---|---|---|
| data_type | string | — | Filter opsional: usernames atau post_links |
Contoh
curl "http://localhost:50809/api/v1/super-marketing/datasets?data_type=usernames"
Contoh Respons
{
"code": 0,
"message": "success",
"data": [
{
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Target Kampanye A",
"total": 6,
"consumed": 0,
"remaining": 6,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:05:00"
}
]
}
Ambil Kumpulan Data
Ambil statistik kumpulan data dan halaman entri-nya.
- Titik Akhir:
GET /api/v1/super-marketing/dataset/{id}
Parameter Query
| Parameter | Tipe | Default | Deskripsi |
|---|---|---|---|
| limit | integer | 50 | Entri per halaman (maks 500) |
| offset | integer | 0 | Jumlah entri yang dilewati |
Contoh
curl "http://localhost:50809/api/v1/super-marketing/dataset/7?limit=100&offset=0"
Hapus Kumpulan Data
Hapus semua entri dari kumpulan data. Catatan kumpulan data itu sendiri disimpan (dan dataset_id-nya tetap valid untuk impor di masa mendatang).
- Titik Akhir:
DELETE /api/v1/super-marketing/dataset/{id}
Contoh
curl -X DELETE http://localhost:50809/api/v1/super-marketing/dataset/7
Contoh Respons
{
"code": 0,
"message": "success",
"data": { "cleared": true, "dataset_id": 7 }
}
Jalankan Kampanye
Luncurkan kampanye super marketing pada perangkat yang diberikan, menggunakan target dari kumpulan data.
- Titik Akhir:
POST /api/v1/super-marketing/run
Isi Permintaan
| Field | Tipe | Diperlukan | Default | Deskripsi |
|---|---|---|---|---|
| serials | string[] | Ya | [] | Nomor seri perangkat untuk dijalankan |
| dataset_id | integer | Ya | — | Kumpulan data yang targetnya menggerakkan kampanye |
| enable_multi_account | boolean | Tidak | false | Buat satu tugas per akun di setiap perangkat |
| merge_same_username_tasks | boolean | Tidak | false | Gabungkan semua target perangkat ke dalam satu tugas, bukan satu tugas per target |
| platform | string | Tidak | — | Override platform (tiktok / instagram). Hanya berlaku pada build multi-platform |
| min_interval | integer | Tidak | 0 | Menit minimum antara waktu mulai tugas yang bertahap |
| max_interval | integer | Tidak | 0 | Menit maksimum antara waktu mulai tugas yang bertahap |
| start_time | string | Tidak | — | Waktu mulai tugas pertama dalam format HH:MM |
| rotate_proxy | boolean | Tidak | false | Rotasi proxy perangkat sebelum dijalankan |
| switch_account_method | string | Tidak | — | Cara beralih akun dalam mode multi-akun (misalnya profile) |
| official_packages | string[] | Tidak | [] | Batasi eksekusi ke paket resmi ini (mode multi-akun) |
| clone_package_prefix | string | Tidak | — | Batasi eksekusi ke aplikasi klon yang nama paketnya dimulai dengan awalan ini |
| script_config | object | Tidak | — | Toggle fitur / pengaturan per-fitur yang mengganti konfigurasi tersimpan di desktop (lihat di bawah) |
Anda tidak meneruskan data_source_type dalam permintaan jalankan — kampanye secara otomatis menggunakan data_type kumpulan data (usernames atau post_links). Kumpulan data link postingan hanya mendukung fitur boost_posts dan mass_comment.
Override script_config
script_config bersifat opsional. Jika dihilangkan, kampanye menggunakan toggle fitur dan pengaturan yang Anda konfigurasi di aplikasi desktop. Sediakan untuk menjalankan kampanye yang sepenuhnya mandiri atau untuk mengganti field tertentu. Kunci menerima camelCase maupun snake_case.
| Field | Tipe | Deskripsi |
|---|---|---|
| access_method | string | Cara menjangkau target username: search atau direct |
| features.follow_users | boolean | Ikuti setiap target |
| features.unfollow_users | boolean | Berhenti mengikuti setiap target |
| features.report_account | boolean | Laporkan setiap akun target |
| features.send_dm | boolean | Kirim pesan langsung ke setiap target |
| features.boost_posts | boolean | Suka / favorit / repost / bagikan postingan target |
| features.mass_comment | boolean | Komentari postingan target |
| follow_settings.boost_type | string | follow atau unfollow |
| dm_settings.message_contents | string | Teks DM (dipisah baris baru untuk beberapa varian) |
| dm_settings.message_order | string | random atau sequential |
| dm_settings.insert_emoji | boolean | Sisipkan emoji acak ke dalam DM |
| dm_settings.generate_by_chatgpt | boolean | Buat DM dengan ChatGPT |
| dm_settings.chatgpt_prompt | string | Prompt yang digunakan saat membuat DM |
| dm_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| post_settings.skip_posts_count | integer | Postingan yang dilewati sebelum bertindak (0–8, hanya sumber username) |
| post_settings.max_posts_count | integer | Maks postingan yang diproses per target |
| post_settings.enable_like | boolean | Suka pada postingan |
| post_settings.enable_favorite | boolean | Tambahkan postingan ke favorit |
| post_settings.enable_repost | boolean | Repost postingan |
| post_settings.enable_share | boolean | Bagikan postingan |
| post_settings.repeat_times | integer | Berapa kali mengulangi tindakan postingan |
| post_settings.view_durations | integer[] | [min, max] detik untuk menonton setiap postingan |
| comment_settings.comment_content | string | Teks komentar (dipisah baris baru untuk beberapa varian) |
| comment_settings.comment_order | string | random atau sequential |
| comment_settings.insert_emoji | boolean | Sisipkan emoji acak ke dalam komentar |
| comment_settings.generate_by_chatgpt | boolean | Buat komentar dengan ChatGPT |
| comment_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| task_finish_wait_time | integer | Detik tunggu sebelum selesai (mencegah kehilangan data) |
Contoh
Jalankan minimal (gunakan pengaturan tersimpan di 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
}'
Kampanye ikuti + DM yang mandiri
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": "Hei! Suka konten kamu 🙌\nPostingan keren, terus berkarya!",
"message_order": "random",
"insert_emoji": true
}
}
}'
Komentar massal pada kumpulan data link postingan
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": "🔥🔥🔥\nMenakjubkan!\nSuka ini",
"comment_order": "random"
}
}
}'
Contoh Respons
{
"code": 0,
"message": "success",
"data": { "created_count": 6 }
}
created_count adalah jumlah tugas yang dibuat. Tugas yang tertunda kemudian berjalan di perangkat yang ditugaskan seperti tugas biasa — lacak melalui API Manajemen Tugas.
Respons Error
| HTTP Status | Code | Deskripsi |
|---|---|---|
| 400 | 40001 | Parameter tidak valid (tipe data/strategi buruk, serials kosong, dataset_id tidak positif, script_config bukan objek, atau tidak ada tugas yang dibuat) |
| 403 | 40301 | Terlarang — Akses API memerlukan paket Pro+ |
| 404 | 40401 | Kumpulan data tidak ditemukan |
| 500 | 50001 | Kesalahan server internal |
Jika jalankan mengembalikan kode 40001 dengan pesan "No tasks created", verifikasi bahwa kumpulan data masih memiliki target yang tersisa (untuk strategi consume_once) dan perangkat yang dipilih sedang online.
Lihat Juga
- Gambaran Umum API Lokal - Gambaran umum dan mulai cepat
- API Manajemen Tugas - Lacak dan kelola tugas yang dibuat
- API Status Akun - Query status akun dan perangkat