Skip to content

Kode Error & Troubleshooting

Setiap response error dari API mengikuti format yang seragam:

json
{
  "error": "deskripsi singkat masalah"
}

Daftar Kode Status HTTP

2xx — Berhasil

KodeNamaArtinya
200 OKBerhasilRequest berhasil, data ada di body response
202 AcceptedDiterimaPesan diterima dan masuk antrean (pengiriman asinkron)

4xx — Kesalahan dari Sisi Anda

KodeNamaArtinyaYang Harus Dilakukan
400 Bad RequestRequest Tidak ValidField wajib kosong, format salah, atau kombinasi field tidak validPeriksa body request — baca pesan error untuk detail field mana yang bermasalah
401 UnauthorizedTidak TerautentikasiAPI key tidak disertakan atau tidak validPastikan header Authorization: Bearer wag_xxx ada dan key-nya benar
403 ForbiddenTidak DiizinkanAnda tidak punya akses ke resource iniCek apakah sesi milik akun Anda, atau apakah ToS sudah disetujui
409 ConflictKonflikSesi tidak sedang dihosting worker (offline)Tunggu sesi online, atau lakukan pairing ulang
429 Too Many RequestsRate LimitTerlalu banyak request dalam waktu singkatLihat header Retry-After, tunggu sebelum retry — lihat Rate Limit

5xx — Kesalahan dari Sisi Server

KodeNamaArtinyaYang Harus Dilakukan
500 Internal Server ErrorError InternalTerjadi kesalahan tak terduga di serverCoba ulang setelah beberapa saat; hubungi support jika berlanjut
502 Bad GatewayGateway ErrorServer gagal meneruskan ke komponen internal (misal: broker pesan)Aman untuk retry — gunakan Idempotency-Key yang sama agar tidak kirim pesan ganda

Error Umum & Solusinya

"session does not belong to this tenant"

Sesi yang Anda sebut di session_id tidak terdaftar di akun Anda.

  • Pastikan session_id yang dipakai adalah hasil pairing dari akun Anda sendiri
  • Cek dari Dashboard → Sesi untuk melihat session_id yang aktif

"session is not currently hosted by any worker"

Sesi ada di database, tapi tidak sedang terhubung ke WhatsApp saat ini.

Kemungkinan penyebab:

  • Server baru restart, sesi sedang dalam proses reconnect (tunggu ~10 detik, coba lagi)
  • Nomor WhatsApp di-logout dari perangkat tertaut di HP — perlu pairing ulang
  • Sesi belum pernah paired sama sekali

"tos not accepted" / "terms of service not accepted"

Akun Anda belum menyetujui Terms of Service.

  • Login ke Dashboard → ToS, baca dan setujui
  • Atau via API: POST /v1/tos/accept dengan body {"version": "v1"}

"rate limit exceeded"

Anda mengirim terlalu banyak pesan dalam waktu singkat.

  • Lihat header Retry-After di response — nilai dalam detik sebelum boleh coba lagi
  • Implementasikan exponential backoff: tunggu 1s, lalu 2s, lalu 4s, dst
  • Lihat batas rate limit di halaman Rate Limit

Cara Debug

1. Baca field error di response body

Pesan error dirancang untuk menjelaskan masalahnya secara langsung:

json
{
  "error": "media_type and media_url are required together"
}

2. Perhatikan kode status HTTP

  • 4xx = masalah ada di request Anda → perbaiki request
  • 5xx = masalah di server → retry dengan key yang sama

3. Gunakan Idempotency-Key yang sama saat retry

Untuk 5xx, aman untuk retry. Gunakan Idempotency-Key yang sama — server akan mengenali ini sebagai retry, bukan request baru, sehingga tidak ada pesan ganda.

Dokumentasi WhatsApp Gateway