错误响应
JSON
{
"code": "EXAMPLE_ERROR_CODE",
"message": "请依据服务端具体信息处理",
"request_id": "example-request-id"
}code 是服务端返回的字符串标识,上述代码仅示意格式。HTTP 状态用于确定处理类型;保留 request_id 便于问题核查,日志不得包含完整号码、密码或密钥。
| HTTP | 含义 | 客户端处理 |
|---|---|---|
400 | 参数或编号输入不符合接口要求 | 修正参数;不要无限重试同一请求。 |
401 | 未登录或凭证失效 | 重新登录或检查密钥是否已撤销。 |
403 | 权限不足 / Origin 不符合写操作要求 | 核验账户权限和同源配置,不放宽服务端规则。 |
404 | 目标资源不存在或不可访问 | 核验 ID;不据此暴露其他租户资源。 |
409 | 冲突、重复或游标 / 版本不兼容 | 按 message 修正,必要时重新建立目录快照。 |
429 | 速率或配额限制 | 遵循服务端 Retry-After(如提供),退避重试;核查当前额度。 |
503 | 服务或上游数据不可用 | 明确 unavailable;采用有上限的退避重试。 |
网络失败不是空结果
HTTP / 网络失败展示错误与重试入口。HTTP 200 的空数组或空分页表示当前条件下没有数据,两者不可互换。任何失败都不能静默切换成成功演示数据。
重试与幂等
GET 查询可采用有上限的指数退避。创建密钥、Webhook、注册、咨询等写操作发生未知结果时,先核验服务端状态,避免自动重复提交。Webhook 以稳定 event ID 去重,同一事件重新投递不改变 ID。