错误码定义
错误码
错误码 | 错误信息 | 描述 |
---|---|---|
401 | Invalid Signature | 签名无效 |
公共错误码 | -- | 所有API公用的错误码,请参照《 公共错误码 》 |
公共错误
如何获取公共错误
所有的 API 请求只要到达了网关,网关就会返回请求结果信息。
用户需要查看返回结果的头部,即 Header 部分。返回参数如示例:
//请求唯一ID,请求一旦进入API网关应用后,API网关就会生成请求ID并通过响应头返回给客户端,建议客户端与后端服务都记录此请求ID,可用于问题排查与跟踪
X-Ca-Request-Id: 7AD052CB-EE8B-4DFD-BBAF-EFB340E0A5AF
//API网关返回的错误消息,当请求出现错误时API网关会通过响应头将错误消息返回给客户端
X-Ca-Error-Message: Invalid Url
//当打开Debug模式后会返回Debug信息,此信息后期可能会有变更,仅用做联调阶段参考
X-Ca-Debug-Info: {"ServiceLatency":0,"TotalLatency":2}
在 Header 中获得 X-Ca-Error-Message 可以基本明确报错原因,而 X-Ca-Request-Id 可以用于提供给这边的支持人员,供支持人员搜索日志。
公共错误码
客户端错误
错误代码 | Http 状态码 | 语义 | 解决方案 | |
---|---|---|---|---|
Empty Request Body | 400 | body 为空 | 请检查请求 Body 内容。 | |
Invalid Request Body | 400 | body 无效 | 请检查请求 Body。 | |
Invalid Url | 400 | Url 无效 | 请求的 Method、Path 或者环境不对。请参照错误说明 Invalid Url。 | |
Invalid Domain | 400 | 域名无效 | 请求域名无效,根据域名找不到 API。请联系 API 服务商。 | |
Invalid HttpMethod | 400 | HttpMethod 无效 | 输入的 Method 不合法。 | |
Timestamp Expired | 400 | 时间戳过时 | 请核对请求系统时间是否为标准时间。 | |
Invalid Timestamp | 400 | 时间戳不合法 | 请参照 请求签名说明文档。 | |
Empty Signature | 404 | 签名为空 | 请传入签名字符串,请参照 请求签名说明文档。 | |
Unauthorized | 403 | 未被授权 | APP 未获得要调用的 API 的授权。请参照错误说明 Unauthorized。 | |
Nonce Used | 400 | SignatureNonce | 已被使用 | SignatureNonce 不能被重复使用。 |
API Not Found | 400 | 找不到 API | 传入的APIdi地址或者HttpMethod不正确,或已下线。 |
服务器端错误(调用 API)
以下为API服务端错误,如果频繁错误,可联系服务商。
错误代码 | Http状态码 | 语义 | 解决方案 |
---|---|---|---|
Internal Error | 500 | 内部错误 | 建议重试,或者联系服务商 |
Failed To Invoke Backend Service | 500 | 底层服务错误 | API 提供者底层服务错误,建议重试,如果重试多次仍然不可用,可联系 API 服务商解决 |
Service Unavailable | 503 | 服务不可用 | 建议重试,或者联系服务商 |
Async Service | 504 | 后端服务超时 | 建议重试,或者联系服务商 |