在使用OpenAPI进行开发和集成时,遇到错误码是在所难免的,为了帮助开发者们更高效地识别和解决这些问题,我们特别整理了一份详尽的OpenAPI错误码清单,以及针对常见错误码的解决方案。
错误码 | 描述 | 详细说明 |
0 | OK | 请求成功 |
999 | 未知错误 | 发生业务异常但未指定错误码 |
400 | 参数无效 | 客户端请求中的参数无效或语法错误 |
401 | 未授权访问(Token无效) | 身份验证失败、token错误或已失效 |
403 | 禁止访问(IP限制或该API没有授权) | 无法访问未授权的服务,请联系管理员授权 |
404 | API不存在 | 请求路径有误或地址无法找到任何资源 |
405 | Http方法不允许 | 请求方法(GET, POST)对某些特定的资源不适用,请确认接口的请求方法是否有误 |
406 | API无法解晰或处理数据 | 客户端无法解析服务端返回的内容 |
415 | 不能支持的MediaType | 服务器无法处理请求附带的媒体格式, 解决方法就是在请求头中加入Content-Type指定内容格式 |
429 | API被限流 | 请求频率超过了所请求的服务设置频率 控制条件,请降频请求或联系管理员提高请求频率 |
500 | 服务异常,服务内部错误 | 未知异常,需联系系统管理员排查确认 |
601 | 数据重复 | 请求数据重复,可能由于网络波动或高并发生成重复数据 |
602 | 找不到数据 | 数据不存在,比如更新数据时找不到相应的分录 |
603 | 数据无效 | 必填字段数据为空/数据校验无效/请求数据量超出最大限制 |
604 | 不允许重复执行 | 幂等性控制时不允许重复请求,防止数据重复 |
611 | 更新数据失败 | 数据更新失败(逻辑校验没通过或数据不合法) |
612 | 没有数据操作权限 | 没有相应的数据获取权限 |
701 | 脚本执行错误 | 接口脚本执行时发生错误,请联系管理员检查脚本 |
702 | 插件执行时发生异常 | 执行Java插件时发生错误 |
2500 | 服务器内部错误[网关] | 未知异常,需联系系统管理员排查确认 |
2501 | 不存在应用信息[网关] | x-acgw-identity值不正确或未传入 |
2504 | 应用未订阅任何API[网关] | 第三方应用未授权API |
2505 | 应用未订阅此API[网关] | API未在第三方应用进行授权 |
2506 | 应用TOKEN解析失败[网关] | x-acgw-identity值不正确或不完整 |
2508 | 应用TOKEN校验失败[网关] | x-acgw-identity校验失败,该值所属租户与当前租户匹配 |
2510 | 应用为禁用状态[网关] | 第三方应用被禁用,不允许使用 |
2511 | 应用已经过期[网关] | 第三方应用已过期,需在详情页重新配置停止时间 |
2512 | 应用TOKEN已经过期[网关] | x-acgw-identity已过期,请确认是否已刷新重置 |
2519 | 此API已经被禁用[网关] | API已被禁止调用 |
2520 | 应用未启用[网关] | 第三方应用未到启用时间,需在详情页重新配置启用时间 |
2526 | 请求被基础流控限制[网关] | 请求次数超出每秒或每天的阈值限制 |
2529 | 解码token异常[网关] | x-acgw-identity值不正确或不完整 |
2530 | 路由未找到[网关] | 请求路径有误或未在第三方应用进行授权 |
2528 | 请求被参数流控限制[网关] | 每秒或每天的调用量,超出当前环境限流阈值,请求被限流策略拦截 |
2055 | 请求被计费策略拦截[网关] | 当前环境所购买的权益次数已耗尽,且已超量调用30天以上,请求被计费策略拦截 |
正确添加x-acgw-identity,且已针对API进行授权,但在调用时出现:
{
"errorCode": "2501",
"messagecn": "不存在应用信息[网关]"
}或
{
"errorCode": "2551",
"messagecn": "解码token异常[网关]"
}该原因是由于x-acgw-identity不完整导致,请入参完整的x-acgw-identity值后再次发起调用。
x-acgw-identity示例:
djF8MTkyMmQ3YmI5ZDkwMzFlMjE1MDF8NDg4MTI2NDExOTk0MHw6V2LYE7CV5A6x4MzeVf1JgmRVuPMHnuyDv2ZiJ-mVx3w=当添加x-acgw-identity参数发起API请求后,若出现以下错误,是由于未在第三方应用中针对API进行授权;
原厂标准API请通过服务授权,将API授权给第三方应用;
项目二开API,请通过自建API授权,将API授权给第三方应用;
需通过<服务授权/自建API授权>对所使用的API进行访问授权后第三方应用才可正常访问相关API,授权操作是配置可访问的接口范围。未授权的情况下会出现调用失败情况:
1. 服务授权:针对原厂标准API所组成的服务包进行授权,服务包有任何更新时可无感知实时更新权限;
2. 自建API授权:针对项目二开自建API进行授权;

原因:请求地址错误,检查url末尾是否有空格、换行,或者请求地址多了ierp/等

原因:请求方式错误,login.do接口的请求方式必须为“POST”,否则执行失败。

原因1:accessToken已失效,建议重新获取accessToken。
原因2:第三方应用已被禁用,需要去开放平台启用第三方应用。

原因:第三方应用当前不可用,需要修改第三方应用的启用时间或停止时间。

原因:每秒请求大于当前环境的QPS、QPM、QPS、QPD阈值,触发限流阈值;
解决方案:
等待下一个周期进行限流解除;
增购专属空间,并提出限流阈值调整申请;
常见问题1:为什么权益统计还有剩余用量,也会被限流拦截;
官方回复1:权益统计所展示的次数,为用户订阅期内的可调用次数,与限流熔断阈值无直接关系;
限流熔断控制:目前有4个维度的限流,秒级、分钟级、小时级、天级四个维度的调用量分别独立计数,任一维度达到对应阈值即触发该级别限流;
权益次数控制:取决于客户所购买的API调用量,订阅期内调用量超了且在规定时间内未增购,则所有API调用会被拦截禁止调用,出现请求被计费策略拦截限制[网关]响应。
常见问题2:确认是因触发了QPD的限流阈值引起的请求限制,是否可以申请调整阈值;
官方回复2:标准租户空间,非特殊情况不允许进行阈值调整,这是系统级的限制,针对标准空间进行阈值的调整是存在性能及OOM风险的,正常情况下如果订阅期内日调用峰值会超出阈值,需要购买专属空间。
限流档位 | 秒(QPS) | 分(QPM) | 小时(QPH) | 天(QPD) | 是否需增购 |
|---|---|---|---|---|---|
标准空间 | 20 | 500 | 10,000 | 200,000 | 否(公有云默认) |
专属空间 | 30 | 600 | 12,000 | 250,000 | 是(购买后申请) |
专属+扩容 S | 40 | 700 | 14,000 | 300,000 | 是(购买后申请) |
专属+扩容 M | 50 | 800 | 16,000 | 350,000 | 是(购买后申请) |
专属+扩容 L | 60 | 900 | 18,000 | 400,000 | 是(购买后申请) |
专属+扩容 XL | 70 | 1,000 | 22,000 | 500,000 | 是(购买后申请) |
原因:订阅期内API调用总次数超出环境所购买的API用量,且超量调用了30天以上,触发了计费策略的拦截;
解决方案:购买用量增购包,进行API用量增购;
金蝶AIOpenAPI报价解读及常见问题:https://vip.kingdee.com/school/detail/664826957032478208?productLineId=40&lang=zh-CN