NgirimWA Docs
API

Penanganan Error

Daftar error yang mungkin muncul dari endpoint API NgirimWA, beserta penyebab dan solusinya.

Daftar error yang mungkin Anda temui dan cara mengatasinya.

Ringkasan Kode HTTP

KodeArtiEndpoint yang umum trigger
400Request tidak valid (validation / nomor / device offline)semua POST
401API Key tidak disertakansemua
403API Key salah / nonaktifsemua
404Resource tidak ditemukan (template, dll)/messages/send-template
429Kuota bulanan habis atau rate limit IP/messages/*
500Error internalsemua

Detail per error di bawah.

API Key Tidak Valid

Respon

{
  "success": false,
  "message": "Invalid API Key"
}

Status Code: 403

Penyebab:

  • API Key salah atau sudah tidak aktif
  • Header x-api-key tidak disertakan

Solusi:

  • Periksa API Key di dashboard
  • Pastikan header x-api-key ada di request

Kuota Pesan Habis

Respon:

{
  "success": false,
  "message": "Monthly message quota exceeded"
}

Status Code: 429

Penyebab:

  • Kuota bulanan habis

Solusi:

  • Upgrade paket langganan
  • Tunggu reset kuota bulan depan (tanggal 1)

Perangkat Tidak Terhubung

Respon:

{
  "success": false,
  "message": "Device not connected"
}

Status Code: 400

Penyebab:

  • WhatsApp belum di-scan QR
  • Koneksi terputus

Solusi:

  • Hubungkan perangkat via dashboard
  • Gunakan endpoint /devices/connect untuk mendapatkan QR baru

Format Nomor Tidak Valid

Respon

{
  "success": false,
  "message": "Invalid phone number format"
}

Status Code: 400

Penyebab:

  • Format nomor telepon salah

Solusi:

  • Gunakan format: 628123456789, 08123456789, atau 8123456789
  • Pastikan nomor adalah nomor Indonesia

Template Tidak Ditemukan

Respon

{
  "success": false,
  "message": "Template not found"
}

Status Code: 404

Penyebab:

  • Template ID salah
  • Template sudah dihapus

Solusi:

  • Periksa template ID di dashboard
  • Buat template baru jika diperlukan

Rate Limit Terlampaui

Respon

{
  "success": false,
  "error": "Too many requests, please try again later."
}

Status Code: 429

Penyebab:

  • Lebih dari 200 request per jam dari IP yang sama

Solusi:

  • Tunggu reset window (lihat header RateLimit-Reset)
  • Kurangi frekuensi request
  • Implementasikan queue / debounce untuk pengiriman massal
  • Bila volume tinggi, kirim dari beberapa server (IP berbeda → kuota terpisah)

Tips Penanganan Error

try {
  const result = await kirimPesan('628123456789', 'Halo!');
  if (result.success) {
    console.log('Pesan terkirim!');
  }
} catch (error) {
  if (error.response?.status === 429) {
    console.log('Tunggu sebentar sebelum mencoba lagi');
  } else if (error.response?.status === 400) {
    console.log('Periksa format data Anda');
  } else if (error.response?.status === 403) {
    console.log('API Key tidak valid');
  }
}

On this page