Kode Kesalahan — API Data WhatsApp
Semua respons kesalahan mengikuti format yang sama: status HTTP + pesan kesalahan + kode numerik + stempel waktu.
Bentuk amplop (diamati)
Proxy tersebut mengembalikan salah satu dari dua bentuk tergantung pada mode kegagalannya:
Kesalahan singkat (otorisasi / batas burst / validasi):
{ "error": "Requests must be at least 0.5 seconds apart" }Kesalahan verbose (pencarian gagal pada /number/no_picture/{n}, /number-simple/{n}) — isi masih diuraikan sebagai WhatsAppEntry dengan bidang tambahan:
{
"number": "13105551234",
"isWAContact": true,
"error": "Whatsapp number doesn't exist",
"exists": false,
"reason": "not_found",
"status": 404,
...
}Selalu periksa kolom error bahkan pada respons 200 (misalnya, /number_cache dapat mengembalikan 200 dengan pesan error di dalamnya).
Status HTTP umum
| HTTP | Arti | Tindakan |
|---|---|---|
| 400 | Nomor telepon tidak valid — harus sesuai dengan ^[0-9]+$ (hanya angka, tanpa +). | Hapus karakter non-angka sebelum mengirim. Validasi dengan libphonenumber secara lokal. |
| 401 | Header x-rapidapi-key hilang atau tidak valid. | Tambahkan header x-rapidapi-key dan x-rapidapi-host: wp-data.p.rapidapi.com. |
| 403 | Paket aktif diperlukan, kuota habis, atau perangkat akhir tidak termasuk dalam tingkatan Anda. | Periksa langganan RapidAPI. Tingkatkan paket atau isi ulang. |
| 404 | Titik akhir atau sumber daya tidak ditemukan. | Periksa jalur URL. Untuk /number/{number}, nomor yang tidak dikenal tetap akan mengembalikan WhatsAppEntry dengan isWAContact: false — periksa isi pesan, bukan statusnya. |
| 429 | Batas burst — permintaan terlalu berdekatan. Isi: {"error":"Requests must be at least 0.5 seconds apart"}. | Jeda minimal 500 ms antar permintaan (2 permintaan/detik). MEGA: 250 ms (4 permintaan/detik). Baca /api-key-stats → roleInfo.minIntervalSeconds untuk memastikan kecepatan rencana Anda. |
| 500 | Kegagalan tak terduga di sisi server. | Coba lagi dengan penundaan eksponensial. Laporkan jika masalah berlanjut. |
| 502 / 503 | Direktori WhatsApp upstream tidak tersedia, atau laju layanan dibatasi dari upstream. | Coba lagi dengan penundaan. Periksa /api-status. |
| 504 | Pencarian ke hulu mengalami batas waktu. | Coba lagi sekali. Coba /number/no_picture/{number} untuk respons yang lebih cepat. |
Strategi coba lagi
- Coba lagi: 429 (dengan Coba Lagi Setelahnya), 500, 502, 503, 504.
- Jangan coba lagi: 400, 401, 403, 404.
- Penundaan: eksponensial dengan jitter. Batas maksimal 5 kali percobaan ulang. Selalu patuhi opsi Coba Lagi Setelahnya.
Contoh 429 badan
HTTP/1.1 429 Too Many Requests
content-type: application/json
{ "error": "Requests must be at least 0.5 seconds apart" }Terkait
Apa Kata Pengguna Kami
Ulasan nyata dari pelanggan kami yang puas
Memuat ulasan...