接口参考 / 错误与重试
错误与重试
理解状态并避免重复消费。
常见状态
401 表示身份认证失败;余额不足可能返回402;参数错误通常为400;429表示请求过于频繁。503表示对应服务当前不可用,不要持续自动重试。
| 现象 / 状态 | 优先检查 | 处理方式 |
|---|---|---|
| 连接失败,没有 HTTP 状态 | 网络、HTTPS 地址与 :8443 端口 | 先查询 /v1/models 验证连接;不重复发送付费请求 |
| 400 / 415 | 协议、JSON、Content-Type 与参数 | 查看 error.code;不要将 Messages 或 Responses 的正文发到 Chat Completions |
| 401 / 403 | Key 是否有效及账户、模型权限 | 使用本站 Key,检查到期、撤销、模型范围和账户状态 |
| 404 / 未知模型 | 最终请求地址与完整模型 ID | 检查 /v1 是否重复;用同一 Key 查询 /v1/models |
| 402 | 可用余额与 Key 剩余预算 | 充值不会扩大 Key 预算;在个人中心分别核对 |
| 409 | 同一幂等键的原请求 | 保留 original_request_id,先查询原状态,不换键自动重发 |
| 429 | 请求频率和并发数 | 降低频率并按错误说明等待;不要密集重试 |
| 502 / 503 / 超时 | 服务状态、模型状态与原请求 | 先查原请求及消费记录,不明状态下不要重复调用 |
错误内容
先看 HTTP 状态,再看 error.code、error.message 与请求编号。Messages 错误另有 type:error 外层;HTTP 200 的流式响应也可能在中途出现错误事件。
错误结构示意
{
"error": {
"message": "请核对参数",
"type": "invalid_request_error",
"code": "invalid_request",
"param": null
},
"request_id": "ASIORB_REQUEST_ID"
}查询原请求(只查询,不重复调用模型)
curl --fail-with-body --get https://api.asiorb.com:8443/v1/requests \
-H "Authorization: Bearer $ASIORB_API_KEY" \
--data-urlencode "idempotency_key=$ASIORB_REQUEST_ID"费用不明确时
超时、断开和上游错误不一定意味着零用量。查看个人中心的请求状态及最终账本,待核对记录不要自行视为免费。