# 附录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. 具体频率策略,参考:主动调用频率限制
  2. 频率拦截时长一般与调用的限制时长相同,比如说是分钟级别的限制,则在中频率后的1分钟后自动解除。小时、天、以及月份,也是以此类推。
  3. 我们对接口调用的频率限制是比较宽松的。对于接口中频率的调用,考虑以下优化:
  • 接口实现时,仅系统失败需要重试。其余错误码,应该排查下调用失败原因
  • 合理调用,对于实时同步数据,可改为准实时,调用是有延迟的,单个用户一天大量的调用,体验是不好的

# 错误码:1600300

传递参数不符合系统要求,需要参照具体API接口说明。同时确认:

  • 1)Http请求方法,是否正确。比如说接口要求以Post方法,就不能使用Get方式
  • 2)Http请求参数,是否正确。比如说,接口内容要求json结构体,就不能以url参数传递或者form-data方式。