错误与限制
错误响应格式、可能出现的错误码以及处理方法。
错误格式
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"
}报告问题时请附上 requestId。retryable: true 表示可在稍后安全重试。
错误码
| 错误码 | HTTP | 含义 |
|---|---|---|
BAD_REQUEST | 400 | 参数无效;请查看 details.issues。 |
UNAUTHENTICATED | 401 | 缺少密钥或会话,或已过期。 |
FORBIDDEN | 403 | 权限范围不足、非所有者或触发 CSRF 保护。 |
NOT_FOUND | 404 | 资源不存在。 |
CONFLICT | 409 | 版本校验不一致、报价已被使用或状态不符。 |
INVALID_ACTION | 422 | 操作被模拟/规则拒绝(滑点、价格影响、余额、金额过小)。 |
CAPABILITY_UNAVAILABLE | 422 | 该功能在此网络上不可用或已被运营方暂停。 |
RATE_LIMITED | 429 | 触发速率限制/配额;请等待 Retry-After。 |
DEPENDENCY_UNAVAILABLE | 503 | RPC 或数据提供方出现问题;请重试。 |
INTERNAL | 500 | 服务器错误;请附上 requestId 报告。 |
建议做法
- 重试同一写操作时使用相同的
Idempotency-Key,避免产生重复的报价/密钥。 - 仅对
retryable错误进行指数退避重试;切勿自动重复链上交易。 - 使用数据前请检查
meta.partial和dataStatus;出现问题的网络会被如实报告,而不是填为零。