Error & batas
Bentuk respons error, kode yang mungkin muncul, dan cara menanganinya.
Format error
json
{
"error": {
"code": "INVALID_ACTION",
"message": "Price impact di atas 5%; aktifkan Expert Mode, kurangi nominal, atau gunakan Manual.",
"retryable": false,
"details": {}
},
"requestId": "req_3c4e052c-0518-4079-946a-9b32894e3c25"
}Sertakan requestId saat melaporkan masalah. retryable: true berarti aman diulang setelah jeda.
Kode error
| Kode | HTTP | Arti |
|---|---|---|
BAD_REQUEST | 400 | Parameter tidak valid; lihat details.issues. |
UNAUTHENTICATED | 401 | Key atau sesi tidak ada / kedaluwarsa. |
FORBIDDEN | 403 | Scope kurang, bukan pemilik, atau proteksi CSRF. |
NOT_FOUND | 404 | Resource tidak ada. |
CONFLICT | 409 | Version guard berbeda, kuota sudah dipakai, atau status tidak sesuai. |
INVALID_ACTION | 422 | Aksi ditolak simulasi/aturan (slippage, price impact, saldo, nominal terlalu kecil). |
CAPABILITY_UNAVAILABLE | 422 | Fitur belum tersedia di jaringan ini atau dihentikan operator. |
RATE_LIMITED | 429 | Batas laju/kuota; tunggu Retry-After. |
DEPENDENCY_UNAVAILABLE | 503 | RPC atau penyedia data bermasalah; coba lagi. |
INTERNAL | 500 | Kesalahan server; laporkan dengan requestId. |
Praktik yang disarankan
- Gunakan
Idempotency-Keyyang sama saat mengulang mutasi yang sama, agar tidak membuat quote/key ganda. - Ulangi hanya error
retryabledengan backoff eksponensial; jangan mengulang transaksi on-chain otomatis. - Periksa
meta.partialdandataStatussebelum memakai data; jaringan yang bermasalah dilaporkan, bukan diisi nol.