Error & Status

Ada dua bentuk respons kesalahan tergantung sumbernya: validasi input, dan kegagalan yang lain (kunci API, perangkat, pengiriman pesan).

Kesalahan validasi input

Jika field yang dikirim tidak lolos validasi (misalnya target salah format, atau message kosong), responsnya HTTP 422 dengan bentuk baku Laravel, bukan bentuk { status, message, data } yang dipakai di tempat lain:

Respons 422
{
  "message": "The target field format is invalid.",
  "errors": {
    "target": [
      "Invalid target format. Use number@s.whatsapp.net or id@g.us."
    ]
  }
}

Kesalahan lainnya

Selain validasi, semua kesalahan berbentuk { status, message }. Field status di body-lah yang jadi acuan, bukan semata kode status HTTP-nya, lihat catatan tentang kunci API tidak valid di bawah.

Contoh: gagal mengirim
{
  "status": 400,
  "message": "Failed to send message. Please try again."
}

Referensi status

HTTPstatus di bodyPenyebab
200200Berhasil.
401401Header Api-Key tidak disertakan.
200401Header Api-Key disertakan tapi kuncinya tidak dikenal. Perhatikan: kode HTTP-nya 200, bukan 401, periksa field status di body.
422-Input tidak lolos validasi, lihat bentuk respons di atas.
400400Gagal mengirim: saldo token tidak cukup, perangkat tidak tersambung, atau gateway WhatsApp menolak pesan. Ketiganya memakai pesan generik yang sama.
400400Template tidak ditemukan, atau variable tidak lengkap/tidak valid untuk endpoint kirim template.
500500Gagal mengambil status perangkat.

Saldo token tidak cukup

Kegagalan karena saldo tidak cukup memakai respons generik yang sama dengan kegagalan pengiriman lainnya (HTTP 400, "Failed to send message. Please try again."), bukan pesan khusus. Cek saldo dari dashboard sebelum mengirim dalam volume besar.