Gambaran Umum API Lokal
TikMatrix menyediakan RESTful API lokal yang memungkinkan Anda mengelola tugas secara terprogram. Ini sangat berguna untuk mengintegrasikan TikMatrix ke dalam sistem otomasi Anda sendiri, membangun alur kerja kustom, atau membuat operasi batch.
Persyaratan
API Lokal hanya tersedia untuk pengguna paket Pro, Team, dan Business. Paket Starter tidak menyediakan akses API.
Base URL
API berjalan secara lokal di:
http://localhost:50809/api/v1/
Port 50809 adalah port default. Pastikan TikMatrix sedang berjalan sebelum mengirim permintaan.
Format Response
Semua response API mengikuti format berikut:
{
"code": 0,
"message": "success",
"data": { ... }
}
Penjelasan Kode Response
| Code | Deskripsi |
|---|---|
| 0 | Sukses |
| 40001 | Permintaan Buruk - Parameter tidak valid, termasuk script_config yang gagal validasi |
| 40002 | Kesalahan parameter - script_name tidak ada |
| 40003 | Permintaan Buruk - Skrip tidak didukung pada build atau platform ini, tidak memiliki implementasi, atau status tugas tidak valid |
| 40004 | Kesalahan parameter - Hanya tugas yang sedang berjalan yang dapat dihentikan |
| 40005 | Kesalahan parameter - task_ids tidak dapat kosong |
| 40301 | Terlarang - Akses API memerlukan paket Pro+ |
| 40401 | Tidak ditemukan - Resource tidak ada |
| 50001 | Kesalahan internal server |
Memulai Cepat
1. Periksa Akses API
Pertama, konfirmasi apakah lisensi Anda mendukung API:
curl http://localhost:50809/api/v1/license/check
Contoh response:
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2. Menemukan skrip dan parameternya
GET /api/v1/schema menjelaskan setiap skrip yang dapat dijalankan build ini beserta field script_config yang tepat: nama, tipe, nilai bawaan, nilai yang diizinkan, dan mana yang wajib. Ia dihasilkan dari katalog yang sama dengan yang dipakai server untuk validasi, sehingga tidak bisa menyimpang dari apa yang diterima saat pembuatan tugas.
curl http://localhost:50809/api/v1/schema
Dua parameter kueri opsional:
| Parameter | Efek |
|---|---|
platform | Membatasi daftar ke tiktok atau instagram. Platform yang tidak disertakan build ini ditolak dengan 40001. Bawaannya semua platform yang disertakan build. |
include_unavailable | Jika true, juga menampilkan nama skrip yang diterima API tetapi tidak memiliki implementasi yang berfungsi. Masing-masing membawa unavailable_reason. |
Respons (diringkas):
{
"code": 0,
"message": "success",
"data": {
"build": { "platforms": ["tiktok"] },
"scripts": [
{
"name": "follow",
"internal_name": "follow",
"summary": "Follow the given users. One task per target.",
"platforms": ["tiktok", "instagram"],
"available": true,
"fan_out": { "kind": "per_item", "key": "target_users", "alt_key": "target_user" },
"any_of": [["target_users", "target_user"]],
"fields": [
{
"key": "access_method",
"type": "string",
"required": false,
"default": "direct",
"choices": ["direct", "search"],
"description": "How to reach the profile: direct (via URL) or search."
}
]
}
]
}
}
fan_out memberi tahu berapa tugas yang akan dihasilkan sebuah permintaan: per_device membuat satu tugas per perangkat (atau per akun dalam mode multi-akun), per_item membuat satu per entri field yang disebut, per perangkat.
3. Membuat Tugas
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"script_name": "post",
"script_config": {
"content_type": 1,
"captions": "Lihat video baru saya! #trending"
},
"enable_multi_account": false
}'
4. Query Daftar Tugas
curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20
Script yang Tersedia
Parameter script_name dapat menerima nilai berikut:
| Nama Script | Deskripsi | Dukungan API |
|---|---|---|
post | Posting konten | ✅ Didukung |
follow | Mengikuti pengguna | ✅ Didukung |
unfollow | Berhenti mengikuti | ✅ Didukung |
account_warmup | Pemanasan akun | ✅ Didukung |
comment | Komentar pada postingan | ✅ Didukung |
boost_comment | Suka/balas komentar yang ada | ✅ Didukung |
login | Masuk ke akun | ✅ Didukung |
profile | Perbarui profil | ✅ Didukung |
match_account | Cocokkan akun di perangkat | ✅ Didukung |
like | Suka pada postingan | ✅ Didukung |
view | Tonton postingan selama durasi tertentu | ✅ Didukung |
favorite | Simpan postingan ke Favorit | ✅ Didukung |
repost | Repost video TikTok | ✅ Didukung — hanya TikTok |
message | Pesan pribadi | ❌ Tidak tersedia § |
follow_suggested | Ikuti akun yang disarankan | ✅ Didukung — hanya TikTok |
super_marketing | Kampanye super marketing | ✅ Didukung † |
scrape_user | Scrape data pengguna | 🔜 Segera |
Kampanye super marketing tidak dibuat melalui POST /api/v1/task. Kampanye ini menggunakan kumpulan data target yang dapat digunakan kembali dan memiliki titik akhir tersendiri — lihat Konfigurasi Skrip Super Marketing.
message tidak punya implementasimessage dulu diterima oleh pembuatan tugas, tetapi biner skrip tidak punya penangan untuknya di kedua platform, sehingga setiap tugas semacam itu gagal di perangkat dengan "Unknown script". Kini ia ditolak sejak pembuatan, dengan alasan tersebut. Untuk mengirim pesan langsung saat ini, gunakan super_marketing, yang menjalankan DM melalui kumpulan target.
repost dan follow_suggested hanya diimplementasikan untuk TikTok. Membuatnya untuk target Instagram akan ditolak alih-alih diantrekan — sebelumnya tugas dibuat lalu gagal di perangkat.
Validasi script_config
Pembuatan tugas memvalidasi script_config terhadap skema di atas sebelum menulis apa pun, sehingga parameter yang salah kembali sebagai 400 yang menyebut field-nya, bukan tugas yang gagal di ponsel belakangan. Tiga hal ditolak:
- field wajib yang hilang atau kosong,
- grup salah-satu yang tidak satu pun anggotanya diisi (misalnya
followbutuh salah satu daritarget_users/target_user), - nilai di luar
choicesyang terdokumentasi untuk sebuah field.
Kunci yang tidak terdaftar di skema diabaikan, bukan ditolak — aplikasi desktop meneruskan kuncinya sendiri lewat objek yang sama, dan menolak kunci tak dikenal akan merusak integrasi yang ada. Semuanya dicatat di sisi server sehingga salah ketik bisa Anda temukan di log aplikasi.
Angka boleh dikirim sebagai string ("20" maupun 20), sesuai dengan yang sudah diterima skrip.
Status Tugas
| Kode Status | Teks Status | Deskripsi |
|---|---|---|
| 0 | pending | Tugas menunggu eksekusi |
| 1 | running | Tugas sedang dieksekusi |
| 2 | completed | Tugas berhasil dieksekusi |
| 3 | failed | Tugas gagal dieksekusi |
Selanjutnya
- API Manajemen Tugas - Membuat, query, dan mengelola tugas
- API Log Aktivitas - Lacak dan kelola log aktivitas
- Konfigurasi Script Post - Konfigurasi parameter script post
- Konfigurasi Script Follow - Konfigurasi parameter script follow
- Konfigurasi Skrip Ikuti yang Disarankan - Konfigurasikan parameter skrip ikuti yang disarankan
- Konfigurasi Script Unfollow - Konfigurasi parameter script unfollow
- Konfigurasi Script Account Warmup - Konfigurasi parameter script account warmup
- Konfigurasi Script Comment - Konfigurasi parameter script comment
- Konfigurasi Skrip Boost Comment (Balas) - Suka/balas komentar yang ada
- Konfigurasi Skrip Like - Konfigurasi parameter skrip like
- Konfigurasi Skrip View - Tonton postingan selama durasi yang dapat dikonfigurasi
- Konfigurasi Skrip Favorite - Simpan postingan ke Favorit
- Konfigurasi Skrip Pesan - Konfigurasi parameter skrip pesan
- Konfigurasi Script Login - Konfigurasi parameter script login
- Konfigurasi Script Profil - Konfigurasi parameter script profil
- Konfigurasi Script Pencocokan Akun - Konfigurasi parameter script pencocokan akun
- Konfigurasi Skrip Super Marketing - Impor kumpulan data target dan luncurkan kampanye super marketing
- Contoh API - Contoh kode dalam berbagai bahasa
- API Scan TCP - Memindai dan menghubungkan perangkat Android melalui TCP/IP
- API Status Akun - Menanyakan status akun, konektivitas perangkat, dan status login