Dokumentasi API
REST API sederhana untuk mengirim pesan WhatsApp, mengecek perangkat, dan status pesan.
Autentikasi
Setiap request membawa token perangkat pada header Authorization. Token ada di dashboard, menu Device. Token rotator juga bisa dipakai untuk membagi pengiriman ke beberapa perangkat.
Authorization: TOKEN
Base URL: https://synerwa.net · Body: application/x-www-form-urlencoded, multipart/form-data, atau application/json
POST /send
Mengirim pesan teks atau lampiran ke satu atau banyak nomor. Pesan masuk antrian dan dikirim berurutan.
| Parameter | Sifat | Keterangan |
|---|---|---|
target | wajib | Nomor tujuan. Beberapa dipisah koma. Format nomor|nama|var1|var2|var3 untuk personalisasi. Awalan 08 / 62 / +62 diterima. |
message | wajib* | Isi pesan. Mendukung {name}, {var1}–{var3}. *Boleh kosong bila mengirim file. |
url | opsional | URL file publik (http/https) untuk dikirim sebagai lampiran. |
file | opsional | Unggah file langsung (multipart/form-data). |
filename | opsional | Nama file yang tampil di penerima. |
delay | opsional | Jeda antar target dalam detik, contoh 5 atau acak 2-8. |
schedule | opsional | Unix timestamp (detik) untuk kirim terjadwal. |
countryCode | opsional | Kode negara default untuk nomor berawalan 0. Default 62. |
curl -X POST https://synerwa.net/send \
-H "Authorization: TOKEN" \
-d "target=081234567890|Budi" \
-d "message=Halo {name}, pesanan Anda sudah dikirim."
Respons sukses:
{
"status": true,
"detail": "success! message in queue",
"id": ["128"],
"process": "pending",
"target": ["6281234567890"],
"type": "text",
"attachment": false
}
Tipe lampiran dideteksi dari ekstensi file: image, video, audio, document. Pesan ber-lampiran memakai kuota attachment, terpisah dari kuota teks.
POST /device
Informasi perangkat: status koneksi, paket, sisa kuota, dan masa aktif.
curl -X POST https://synerwa.net/device -H "Authorization: TOKEN"
{ "status": true, "device": "6281200000000", "device_status": "connected",
"package": "Super", "quota": 9840, "media_quota": 9975, "expired": "2026-10-23 08:00:00" }
POST /status
Cek status satu pesan berdasarkan id dari respons /send.
curl -X POST https://synerwa.net/status -H "Authorization: TOKEN" -d "id=128"
{ "status": true, "data": { "id": 128, "target": "6281234567890", "type": "text",
"status": "sent", "error": null, "created_at": "2026-09-23 08:00:00" } }
Nilai status: pending, sending, sent, failed.
Webhook
Isi Webhook URL di pengaturan perangkat untuk menerima pesan masuk sebagai JSON. Format lengkap ada di panduan webhook.
Error
Request gagal mengembalikan HTTP 400 dengan {"status": false, "reason": "..."}.
| reason | Arti |
|---|---|
| invalid token | Token salah atau perangkat dihapus |
| target invalid | Target kosong |
| quota tidak cukup | Kuota teks habis |
| kuota attachment tidak cukup | Kuota lampiran habis atau paket tidak mendukung lampiran |
| package expired | Masa aktif paket habis |
Contoh kode
PHP · Node.js & Python · OTP