Lewati ke konten utama

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) atau post_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:

  1. Impor target ke dalam kumpulan data → dapatkan dataset_id.
  2. Jalankan kampanye yang mereferensikan dataset_id tersebut 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.

Persyaratan Lisensi

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

FieldTipeDiperlukanDefaultDeskripsi
dataset_idintegerTidakID kumpulan data yang ada untuk ditambahi / diganti. Hilangkan atau gunakan 0 untuk membuat kumpulan data baru.
data_typestringYausernames atau post_links
strategystringYashared_pool atau consume_once
entriesstring[]Ya*[]Target sebagai array JSON. Prioritas atas raw_text.
raw_textstringYa*Target sebagai string dipisah baris baru (alternatif dari entries).
modestringTidakappendappend menambahkan ke entri yang ada; replace menghapus entri yang ada terlebih dahulu.
labelstringTidakLabel yang dapat dibaca manusia untuk kumpulan data (opsional).
catatan

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

ParameterTipeDefaultDeskripsi
data_typestringFilter 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

ParameterTipeDefaultDeskripsi
limitinteger50Entri per halaman (maks 500)
offsetinteger0Jumlah 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

FieldTipeDiperlukanDefaultDeskripsi
serialsstring[]Ya[]Nomor seri perangkat untuk dijalankan
dataset_idintegerYaKumpulan data yang targetnya menggerakkan kampanye
enable_multi_accountbooleanTidakfalseBuat satu tugas per akun di setiap perangkat
merge_same_username_tasksbooleanTidakfalseGabungkan semua target perangkat ke dalam satu tugas, bukan satu tugas per target
platformstringTidakOverride platform (tiktok / instagram). Hanya berlaku pada build multi-platform
min_intervalintegerTidak0Menit minimum antara waktu mulai tugas yang bertahap
max_intervalintegerTidak0Menit maksimum antara waktu mulai tugas yang bertahap
start_timestringTidakWaktu mulai tugas pertama dalam format HH:MM
rotate_proxybooleanTidakfalseRotasi proxy perangkat sebelum dijalankan
switch_account_methodstringTidakCara beralih akun dalam mode multi-akun (misalnya profile)
official_packagesstring[]Tidak[]Batasi eksekusi ke paket resmi ini (mode multi-akun)
clone_package_prefixstringTidakBatasi eksekusi ke aplikasi klon yang nama paketnya dimulai dengan awalan ini
script_configobjectTidakToggle fitur / pengaturan per-fitur yang mengganti konfigurasi tersimpan di desktop (lihat di bawah)
Tipe data diambil dari kumpulan data

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.

FieldTipeDeskripsi
access_methodstringCara menjangkau target username: search atau direct
features.follow_usersbooleanIkuti setiap target
features.unfollow_usersbooleanBerhenti mengikuti setiap target
features.report_accountbooleanLaporkan setiap akun target
features.send_dmbooleanKirim pesan langsung ke setiap target
features.boost_postsbooleanSuka / favorit / repost / bagikan postingan target
features.mass_commentbooleanKomentari postingan target
follow_settings.boost_typestringfollow atau unfollow
dm_settings.message_contentsstringTeks DM (dipisah baris baru untuk beberapa varian)
dm_settings.message_orderstringrandom atau sequential
dm_settings.insert_emojibooleanSisipkan emoji acak ke dalam DM
dm_settings.generate_by_chatgptbooleanBuat DM dengan ChatGPT
dm_settings.chatgpt_promptstringPrompt yang digunakan saat membuat DM
dm_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
post_settings.skip_posts_countintegerPostingan yang dilewati sebelum bertindak (0–8, hanya sumber username)
post_settings.max_posts_countintegerMaks postingan yang diproses per target
post_settings.enable_likebooleanSuka pada postingan
post_settings.enable_favoritebooleanTambahkan postingan ke favorit
post_settings.enable_repostbooleanRepost postingan
post_settings.enable_sharebooleanBagikan postingan
post_settings.repeat_timesintegerBerapa kali mengulangi tindakan postingan
post_settings.view_durationsinteger[][min, max] detik untuk menonton setiap postingan
comment_settings.comment_contentstringTeks komentar (dipisah baris baru untuk beberapa varian)
comment_settings.comment_orderstringrandom atau sequential
comment_settings.insert_emojibooleanSisipkan emoji acak ke dalam komentar
comment_settings.generate_by_chatgptbooleanBuat komentar dengan ChatGPT
comment_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
task_finish_wait_timeintegerDetik 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
}
}
}'
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 StatusCodeDeskripsi
40040001Parameter tidak valid (tipe data/strategi buruk, serials kosong, dataset_id tidak positif, script_config bukan objek, atau tidak ada tugas yang dibuat)
40340301Terlarang — Akses API memerlukan paket Pro+
40440401Kumpulan data tidak ditemukan
50050001Kesalahan server internal
Tidak ada tugas yang dibuat

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