Dokumentasi API WA Gateway

Kirim dan terima pesan WhatsApp lewat REST API — satu API Key per device.

Semua endpoint REST API publik diakses lewat https://api.jarsx.com. Untuk mengelola akun, device, dan paket kuota, gunakan dashboard di https://jarsx.com.

Autentikasi

Tiap device punya API Key sendiri (lihat di halaman Device pada dashboard). Sertakan di setiap request lewat header berikut:

Authorization: Bearer {api_key_device}
Kalau kuota pesan kamu habis, endpoint kirim pesan akan menolak request dengan status 402 Payment Required. Beli paket kuota lewat dashboard untuk melanjutkan.

Kirim Pesan

POST https://api.jarsx.com/send-message
FieldTipeKeterangan
tostringNomor tujuan, format 62812xxxxxxx
textstringIsi pesan
curl -X POST https://api.jarsx.com/send-message \
  -H "Authorization: Bearer wagw_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"to":"6281234567890","text":"Halo dari WA Gateway!"}'

Response sukses:

{ "success": true, "remainingQuota": 4899 }

Status Device

GET https://api.jarsx.com/device-status
curl https://api.jarsx.com/device-status \
  -H "Authorization: Bearer wagw_live_xxxxxxxx"
{ "success": true, "status": "connected" }

Ambil QR

GET https://api.jarsx.com/qr

Dipakai kalau kamu mau tampilkan ulang QR code di sistem sendiri (di luar dashboard WA Gateway).

curl https://api.jarsx.com/qr \
  -H "Authorization: Bearer wagw_live_xxxxxxxx"

Cek Kuota

GET https://api.jarsx.com/quota
curl https://api.jarsx.com/quota \
  -H "Authorization: Bearer wagw_live_xxxxxxxx"
{ "success": true, "remaining": 4899, "nearestExpiry": "2026-08-12T00:00:00.000Z" }

Riwayat Pesan

GET https://api.jarsx.com/message-history
curl https://api.jarsx.com/message-history \
  -H "Authorization: Bearer wagw_live_xxxxxxxx"

Webhook Pesan Masuk

Kalau kamu isi Webhook URL di pengaturan device pada dashboard, setiap pesan masuk akan otomatis di-forward ke URL itu lewat POST, format JSON:

{
  "deviceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "from": "6281234567890@s.whatsapp.net",
  "type": "conversation",
  "body": "Halo, ini pesan masuk",
  "pushName": "Nama Pengirim",
  "timestamp": 1755000000000
}

Format Error

Semua error dari API mengikuti format yang sama:

{ "success": false, "message": "Penjelasan error dalam Bahasa Indonesia" }
KodeArti
401API Key tidak valid / tidak disertakan
402Kuota pesan habis
404Device tidak ditemukan
409Device belum terhubung (belum scan QR)
429Batas maksimal device tercapai