当format=json/xml的时候错误结构使用老的方式输出,比如:
{ "response": { "code": TOP15, "msg": "xxxxxx", "sub_code": "xxxxxxx", "sub_msg": "xxxxxxxx", "request_id": "xxxxxxxxxx" } }
字段 |
说明 |
code |
错误码 |
msg |
错误描述 |
sub_code |
子错误码 |
sub_msg |
子错误信息 |
1)code和msg为错误码和描述,这是比较粗粒度的错误描述,sub_code和sub_msg为错误详情,是对父错误码的进一步描述,错误详情请参考下文说明。
2)最常见的错误码code为TOP15和TOP60,TOP15表示远程服务错误,一般需要服务提供方来排查问题,TOP60表示客户端错误,需要请求方排查请求是否合法,其他错误码请参考开放平台异常排查及错误码; 不包含TOP的错误码的错误(比如S60)则非奇门返回。
当format=json2/xml2的时候错误结构使用新的方式输出(目前仅支持新api,v=3.0的接口使用该方式),比如:
{ "type": "system|provider|consumer", "code": "MissingParameter", "message": "xxxxxxx", "request_id": "xxxxxxxx" }
字段 |
问题排查 |
type |
错误方,system为奇门系统错误,provider为服务提供方错误,consumer为服务消费端(客户端)错误 |
code |
错误码 |
message |
错误描述 |
request_id |
请求id |
新输出结构在原有错误上做了简化,只保留错误类型和错误原因。
code=TOP15或者是type=consumer一般为请求方错误,需要让服务方排查问题,错误常见类型如下:
Message |
问题排查 |
request invalid encoding |
请求编码不合法 |
App Call Limited |
应用调用次数超限,包含调用频率超限 。调整程序合理调用API,等限频时间过了再调用,淘客的调用频率是系统按照上个月交易额自动修改的,修改后的频率会在官方论坛首页以公告形式通知,开发者可自行查看 |
permission-api-package-empty |
isv.permission-api-package-empty 没有和任何访问包关联,建议根据业务规则申请对应的权限 |
permission-api-package-not-allowed |
不允许访问不可访问组的API,建议检查一下自己申请的应用标签是否正确,如果确实需要访问不可访问组的API需要根据业务规则到对应的业务线申请权限 例如:买家不可访问组就会有一些订单API不允许买家应用访问 |
permission-api-package-limit |
关联的包中不允许访问该API,建议根据业务规则申请对应的权限 |
permission-ip-whitelist-limit |
IP限制不允许访问,建议到安全中心配置正确的IP白名单 |
Missing Method |
缺少方法名参数 |
Invalid Method |
不存在的方法名 |
Invalid Format |
传入的format必需为json/json2或xml/xml2中的一种 |
Missing Signature |
传入的参数中必需包含sign字段 |
Invalid Signature |
签名必需根据正确的算法算出来的。算法请见:API调用方法详解 |
Missing Session |
传入的参数中必需包含session字段 |
Missing App Key |
传入的参数必需包含app_key字段 |
Invalid App Key |
应用所处的环境跟选择的环境不一致,例如:应用处于沙箱测试环境,却选择在正式环境进行测试 |
Missing Timestamp |
传入的参数中必需包含timestamp参数 |
Invalid Timestamp |
时间戳,格式为yyyy-mm-dd hh:mm:ss,例如:2008-01-25 20:23:30。淘宝API服务端允许客户端请求时间误差为10分钟 |
Missing Version |
传入的参数中必需包含v字段 |
Invalid Version |
用户传入的版本号格式错误,必需为数字格式 |
Parameter Error |
一般是用户传入参数非法引起的,请仔细检查入参格式、范围是否一一对应 |
其他错误请参考链接:异常排查及错误码。
code=TOP60或者type=provider一般为服务提供方出现错误,需要让服务提供方排查问题。
Message |
问题排查 |
http-connection-refuse |
奇门访问服务端被服务端拒绝,一般是由于服务端配置配置了网络防火墙引起的,如果是配置访问白名单限制请 |
http-read-timeout |
连接成功,但是数据响应超时,可能原因如下: 原因1:服务端未能在规定时间内响应,建议服务端做好性能优化。 原因2:请求数据量过大和服务端带宽吃满有关。不建议使用过大报文,如果确实需要则最好做好充分测试和必要压测。 |
http-connection-timeout |
未能在规定时间内连接上服务端,需要检查服务端的负载情况。 |
http-closed |
连接被关闭,收到了对方发送过来的关闭信号 |
sign-check-failureIllegal request |
非法请求,服务提供方验签不通过 |
target url is malformed |
服务提供方配置的url存在问题,需要配置完整的规范的url地址 |
target url contain api.taobao.com or eco.taobao.com |
服务提供方的地址不允许挂在开放平台域名下 |
http service appeared an unkown error |
未登记异常,可以找奇门的小二帮忙排查问题 |
http service status is not 200 |
请求后端返回的结果非200状态码,可能请求结果为404或者503 |
The specified route could not be found |
路由记录未找到 |
奇门错误请联系小二解决。
message |
说明 |
Platform System error |
奇门系统异常 |
1. 判断错误方,错误方的判断请参考上文的结构说明,让 相应业务方 排查问题;
2. 根据错误信息在上文查找对应的问题和解决方案;
3. 判断错误类型,确定是网络,参数还是规则上的问题,并做相应的处理;
4. 如果错误码无法找到,请联系小二或者钉钉群21771580咨询解决。
1. 错误码信息可以用于监控和日志等地方,但业务切勿依赖错误码;
2. 公网网络复杂,最好适当做好重试和幂等的准备,但如果有重试别无限次重试;
3. 请求方请记录好请求的URL或者requestid日志,出问题的时候方便排查问题。