跳转到主要内容

错误代码

本页是错误处理的唯一权威来源。SDK 专属错误代码记录在各 SDK 的错误处理页面;本页涵盖 API 合约层面的错误。

HTTP 状态码

代码含义适用范围
200 OK请求成功。所有合约。
201 Created资源已创建(少见;大多数创建操作返回 200)。API 合约。
400 Bad Request请求体格式错误或缺少必填字段。响应体会指明问题字段。所有合约。
401 Unauthorized认证缺失、已过期或无效。所有合约。
403 Forbidden认证有效,但租户未开通所请求的资源(例如,调用不在您 APIKEY 中的能力)。Web & SDK、API。
404 Not Found资源不存在或不属于已认证的租户。所有合约。
409 Conflict资源存在,但当前状态不符合此操作的要求(例如,从仍在处理中的流程获取文件)。Web & SDK、API。
410 Gone资源曾存在,但已按保留策略删除(文件获取端点),或流程存在但以错误状态结束——参见获取流程文件获取端点;API 获取流程。
429 Too Many Requests您已触发频率限制。请使用指数退避策略重试。所有合约。
5xx平台错误。请使用退避策略重试;如持续出现,请携带响应体和时间戳联系支持团队。所有合约。

认证错误(401

原因现象
私钥错误(断言使用了错误的密钥签名)401Authentication failed (1.2.21)
aud 与环境 URL 不匹配401
exp 声明已过期401Authentication failed
不支持的算法(请使用 RS256401
沙箱与生产环境凭证混用401,即使凭证看起来正确
缺少 APIKEY 请求头(仅 API 合约)401
x-api-key 无效(仅 Magic Link)401

请参阅认证 > 常见错误获取完整的故障排查清单。

能力级别结果(带有否定结果的 200

200 OK 并不意味着用户通过了验证——它只表示平台完成了处理。面向用户的决策结果在响应体中,而非 HTTP 状态码:

字段否定值出现位置
process.resultPROCESS_RESULT_FAILEDWeb & SDK
process.authenticationInfo.livenessResultNOWeb & SDK
liveness2API
unicoId.resultnoAPI
data.result.statusnot_verifiedMagic Link

重试策略

状态是否重试?方式
5xx指数退避(1s、2s、4s、8s……),最多重试 5 次。
429若响应包含 Retry-After 请求头则遵从;否则使用指数退避。
4xx(其他)请求本身有误,请修正输入后再试。
401有条件刷新一次访问令牌后重试。若新请求仍返回 401,则问题属于结构性问题——不要继续重试。
幂等性

IDCloud 平台目前在创建端点上未提供幂等键机制。对 POST /client/v1/processPOST /processes/v1 进行重试时需谨慎——5xx 上的网络错误实际上可能已在服务器端成功,重试将创建重复流程。如有疑问,请在重试前根据您的内部关联 ID 查询最近的流程。

SDK 错误的位置

Web SDK、Android SDK、iOS SDK 和 Flutter SDK 的错误目录分别记录在各 SDK 的专属错误处理页面:

这些页面涵盖设备端错误(摄像头权限被拒、采集超时、设备网络不可达),与本页记录的 API 端错误相互独立。