错误码
HTTP 状态码分两类:
| 场景 | HTTP | 判断方式 |
|---|---|---|
| 鉴权失败 | 401 / 403 / 429 | 见下方「鉴权错误码」 |
| 业务错误 | 通常 200 | JSON 中 code ≠ 000000 |
响应结构
json
{
"code": "000000",
"message": "success",
"data": { }
}业务错误码(HTTP 200)
| code | 说明 |
|---|---|
000000 | 成功 |
100001 | 业务失败(见 message) |
100002 | 系统状态异常 |
100003 | 参数校验失败 |
999999 | 未知错误 |
鉴权错误码(HTTP 401/403/429)
与业务错误码数字可能相同,但 HTTP 状态非 200,且仅出现在鉴权阶段:
| code | HTTP | 说明 |
|---|---|---|
100001 | 401 | AppKey 无效 / Header 缺失 |
100002 | 401 | 签名错误 |
100003 | 401 | 时间戳无效或过期 |
100004 | 401 | RequestID 重复(重放) |
100005 | 401 | 凭证已停用 |
100006 | 403 | IP 不在白名单 |
100007 | 429 | 超过 QPS 限流 |
常见业务 message(节选)
| 场景 | 说明 |
|---|---|
| 套餐不存在 | packageCode 未上架或无效 |
| 订单不存在 | orderNo / transactionId 无匹配 |
| 余额不足 | BALANCE 钱包可用余额不够 |
| Profile 不存在 | iccid / esimTranNo / profileId 无匹配 |
| 操作不支持 | 当前 Profile/套餐不支持该操作(如 suspend) |
| 退款金额无效 | 超出可退金额或子项不可退 |
完整字段约束见 接口参考 与 OpenAPI Schema。
幂等
- 下单
transactionId:同一租户下重复提交返回同一订单结果 - 充值申请
transactionId:重复请求返回同一申请单