# 附录1:全局错误码
# 说明
每次调用接口时,可能获得正确或错误的返回码,企业可以根据返回码信息调试接口,排查错误。
注意:开发者的程序应该根据 code 来判断出错的情况,而不应该依赖 message 来匹配,因为 message 可能会调整。 如果请求的参数不符合json规范,可能会导致 CJ 服务器解析到的参数不完整,此时接口在返回的 message 里会有 “Warning: wrong json format.”,开发者需要重新检查请求参数的json合法性。
# 错误码说明
返回码 | 错误说明 | 排查方法 |
---|---|---|
200 | 成功 | 接口调用成功 |
1600000 | 系统繁忙 | 服务器暂不可用,建议稍候重试。建议重试次数不超过3次。 |
1600001 | 无权限 | CJ-Access-Token 无效,参考赋权和鉴权 |
1600002 | 必须携带 Token | 没有携带 CJ-Access-Token ,参考赋权和鉴权 |
1600003 | 刷新 Token 失效 | 刷新 Token 失效,参考赋权和鉴权 |
1600100 | 接口已下线 | 接口已被管理员下线 |
1600101 | 接口不存在 | 接口路径错误 |
1600200 | 调用超过限制 | 查看帮助 |
1600201 | 超过默认限额 | 查看是否超过默认限额,参考限额 |
1600300 | 不合法参数 | 查看帮助 |
1601000 | 用户没有被发现 | 用户不存在 |
1602000 | 变体没有被发现 | 变体不存在 |
1602001 | 商品没有被发现 | 商品不存在 |
# 排查方法
# 错误码:1600200
接口调用超过限制。
- 具体频率策略,参考:主动调用频率限制
- 频率拦截时长一般与调用的限制时长相同,比如说是分钟级别的限制,则在中频率后的1分钟后自动解除。小时、天、以及月份,也是以此类推。
- 我们对接口调用的频率限制是比较宽松的。对于接口中频率的调用,考虑以下优化:
- 接口实现时,仅系统失败需要重试。其余错误码,应该排查下调用失败原因
- 合理调用,对于实时同步数据,可改为准实时,调用是有延迟的,单个用户一天大量的调用,体验是不好的
# 错误码:1600300
传递参数不符合系统要求,需要参照具体API接口说明。同时确认:
- 1)Http请求方法,是否正确。比如说接口要求以Post方法,就不能使用Get方式
- 2)Http请求参数,是否正确。比如说,接口内容要求json结构体,就不能以url参数传递或者form-data方式。