Respons kesalahan
Pahami respons error API InnoPaaS, kode, dan panduan percobaan ulang.
Semua API InnoPaaS mengembalikan envelope error JSON yang sama. Gunakan code enam digit untuk menentukan apa yang terjadi dan apa yang harus dilakukan.
Status HTTP hanya sinyal kasar. Respons 2xx tetap dapat berisi code bisnis non-sukses, jadi selalu periksa body respons.
Struktur respons
{
"code": "010003",
"message": "The value of 'to' is invalid. Use an E.164 number such as +6581234567.",
"data": null,
"traceId": "d87a93e50af0437ebcc0c80774126842",
"timestamp": "2026-10-21T03:00:01.000Z"
}| Field | Tipe | Penjelasan |
|---|---|---|
code | string | Wajib. String angka enam digit; 000000 berarti sukses. |
message | string | Wajib. Penjelasan untuk manusia; jangan gunakan untuk logika program. |
data | object, array, or null | Wajib. Hasil bisnis; bernilai null jika seluruh permintaan gagal. |
traceId | string | Wajib. ID korelasi untuk dukungan dan pencarian log internal. |
timestamp | string | Wajib. Waktu respons dalam UTC ISO 8601, presisi milidetik, berakhiran Z. |
Menangani error
| Situasi | Tindakan yang disarankan |
|---|---|
| Permintaan, kredensial, izin, saldo, atau konfigurasi salah | Perbaiki penyebabnya, lalu kirim ulang. |
| Batas laju atau gangguan sementara memiliki waktu pemulihan | Tunggu Retry-After jika ada; jika tidak, gunakan backoff eksponensial berbatas. |
| Permintaan asli mungkin sudah diterima | Periksa permintaan asli sebelum mengirim ulang; gunakan idempotency key dan konten yang sama jika didukung. |
| Pesan ditolak atau pengiriman gagal | Jangan kirim ulang otomatis. Pengiriman baru adalah operasi bisnis baru dan dapat menimbulkan biaya. |
| Kode tidak terdokumentasi | Catat code, message, dan traceId; hentikan percobaan ulang otomatis dan hubungi dukungan. |
Permintaan pengiriman yang berhasil hanya berarti diterima, bukan bukti pesan sudah terkirim.
Katalog error
| Rentang | Area | Cakupan |
|---|---|---|
000000 | Sukses | Operasi API berhasil. |
01xxxx | Permintaan dan resource | Parameter, format, resource, status, dan konflik idempotensi. |
02xxxx | Identitas dan akses | API Key, izin, IP, akun, aktivasi, dan autentikasi. |
03xxxx | Penagihan dan kuota | Saldo, kredit, kuota periodik, dan konfigurasi penagihan. |
04xxxx | Laju dan konkurensi | Laju permintaan, laju pengiriman, dan konkurensi. |
05xxxx | Layanan platform | Error internal, ketidaktersediaan, dan hasil yang belum pasti. |
06xxxx—09xxxx | Cadangan umum | Dialokasikan secara terpusat setelah pengajuan. |
202xxx | SMS | Aturan pengajuan dan hasil pengiriman SMS. |
11xxxx | Error khusus produk; kode ditetapkan terpisah. | |
12xxxx | Voice | Error khusus produk; kode ditetapkan terpisah. |
13xxxx | Wanshu | Error khusus produk; kode ditetapkan terpisah. |
14xxxx | ||
15xxxx | rcs/mms | |
16xxxx | ||
14xxxx—89xxxx | Cadangan produk berikutnya | Dialokasikan per lini produk. |
90xxxx—99xxxx | Tidak dialokasikan | Dicadangkan untuk perluasan. |
Pemetaan status HTTP target
Tabel ini adalah pemetaan target. API pengiriman SMS saat ini masih mengembalikan HTTP 200 untuk error bisnis; gunakan code pada body respons. Status aktual setiap endpoint mengikuti referensi API masing-masing sampai migrasi selesai.
| Rentang kode | Status HTTP |
|---|---|
010001–010003, 010011–010013 | 400 |
010004 | 413 |
010005 | 404 |
010006–010008 | 409 |
010009 | 405 |
010010 | 415 |
020001, 020002, 020008, 020009 | 401 |
020003–020007 | 403 |
030001, 030002 | 402 |
030003, 030004 | 403 |
030005 | 503 |
040001–040003 | 429 dengan Retry-After |
050001 | 500 |
050002 | 503 |
050003 | 504 |
100001–100010 | 422 |
100011 | 503 |
101xxx | Bukan error HTTP pada permintaan pengiriman; lihat hasil kueri atau data peristiwa |
Terkait
Terakhir diperbarui pada