Format respons & error
Bentuk respons sukses dan error Public API, dan cara memeriksanya dengan benar.
Cek status, bukan kode HTTP
Public API CSKU membalas HTTP 200 untuk sukses maupun sebagian besar error. Penentunya adalah isi body.
| Kondisi | Body |
|---|---|
| Sukses dengan data | {"status": 1, "rc": 200, "message": "…", "data": {…}, "ts": 1760000000} |
| Sukses aksi | Objek hasil, misalnya {"success": true, "conversation_id": "CO_…"} |
| Error | {"status": 0, "rc": 500, "error_msg": "pesan error"} |
Rekomendasi: anggap request berhasil jika body punya "status": 1 atau "success": true. Selain itu, baca error_msg.
JavaScript
const body = await res.json()
const ok = body.status === 1 || body.success === true
if (!ok) throw new Error(body.error_msg || 'Request CSKU gagal')
Endpoint Proxy WhatsApp API berbeda: endpoint itu memakai kode HTTP sungguhan (400, 401, 403, 404, 500) dan format error sendiri.
Kode HTTP selain 200
| HTTP | Arti |
|---|---|
| 404 | Path tidak ada. Body: {"status":0,"rc":404,"error_msg":"Page Not Found!"} |
200 + rc: 500 | Error validasi, autentikasi, atau data tidak ditemukan |
Waktu
Field waktu seperti sent_at memakai format YYYY-MM-DD HH:MM:SS dalam zona WIB (Asia/Jakarta, UTC+7) tanpa penanda zona. Field ts dan timestamp adalah Unix detik.
Daftar error umum
error_msg | Endpoint | Arti |
|---|---|---|
conversation id is required / conversation_id is required | semua | conversation_id kosong |
conversation not found | semua | Percakapan tidak ada di bisnis Anda |
text or media is required | kirim pesan | Isi text atau media |
media type not supported | kirim pesan | media.type bukan image, video, audio, atau document |
media mime type not supported | kirim pesan | MIME tidak didukung, lihat Kirim pesan |
reply_to_message_id not found | kirim pesan | message_id yang dibalas tidak ditemukan |
note is required | catatan | note kosong |
secret not valid | semua | Lihat Autentikasi |
Paket user tidak memiliki fitur API. | kirim & ambil pesan | Paket tanpa fitur API |