Referensi lengkap kode error API Chatera, penyebab umum, dan cara mengatasinya.
Semua error dari API Chatera memakai envelope yang sama:
{ "success": false, "error": { "code": "VALIDATION_INVALID_PHONE", "message": "Format nomor telepon tidak valid", "details": { "field": "to", "hint": "..." } }}
error.code adalah identifier mesin yang stabil — pakai untuk
branching logic di handler kamu (jangan parse message, karena
kalimatnya bisa berubah).
Isi error.details bervariasi per kode error:
Field details
Muncul di
Isi
details.field + details.hint
Error validasi
Nama field yang bermasalah + petunjuk perbaikan
details.errors[]
Validasi multi-field (mis. komponen template)
Array { field, message }
details.error
WHATSAPP_SEND_FAILED
Pesan error asli dari Meta, diteruskan apa adanya — mis. (#132001) Template name does not exist in the translation. Ini sumber informasi paling akurat saat pengiriman ditolak Meta
Ya, dengan exponential backoff. Hormati header X-RateLimit-Reset
500, 502, 503, 504
Ya, dengan exponential backoff (1s → 2s → 4s → 8s)
Network error / timeout
Ya, dengan exponential backoff
Jangan retry pesan WhatsApp tanpa idempotency
Kalau request POST /v1/whatsapp/messages mengembalikan timeout
network (bukan 4xx/5xx dari server), pesan mungkin sudah dikirim.
Cek webhook message.sent sebelum retry, atau implementasikan
deduplication di sisi kamu (lihat Konvensi).