先区分三种响应包络

客户端应先读取 HTTP 状态,再解析 JSON 中的平台业务码和消息。Token 入口使用平台基础响应包络,包含 path 且不含 status
Token 错误结构示例
鉴权、接口权限或请求参数校验失败时,响应包含 path 且不含 status
请求错误结构示例
业务处理失败时,响应包含 status 且不含 path
业务接口错误结构示例
三种错误在没有附加错误数据时都会省略 data。业务错误里的 status 默认是 0,它不是 HTTP 状态,也不是通用错误码。具体含义请以当前接口说明为准。
注意 大多数鉴权、路径、方法、停用、限流和参数错误会以 HTTP 200 返回。必须检查 successcode

大模型兼容错误

/v1/chat/completions/v1/responses 返回 OpenAI 风格的 error 对象,不使用普通业务响应信封。请根据 HTTP 状态、error.typeerror.message 判断;401 检查服务端 APP_SECRET,400 修正请求或余额,502 才考虑有上限的退避重试。 流式请求开始后应按 SSE 事件处理,不要把整个响应当作单个 JSON。详见接入大模型对话

Webhook 投递失败

Webhook 的成功确认必须同时满足 HTTP 2xx、JSON success=truecode=200。空响应、204、非 JSON 或超时都会重试。接收端应在 6 秒内完成验签和幂等落库,再异步处理业务。

常见失败类型

缺少或无效的应用凭据

检查 app_id 是否正确、应用是否启用,以及签名使用的 APP_SECRET 是否与当前应用匹配。

签名不一致

检查毫秒时间戳、固定 sign_ver=1.0、键名排序、RFC1738 编码和小写 MD5。尤其注意空格、加号、中文与 ~

缺少 X-Legacy-Token

Token 请求本身不需要该请求头;调用普通鉴权业务接口时必须携带。

参数校验失败

动态业务接口通常返回 code=2150,并把首个校验原因放在 message。根据接口页检查必填项、类型、枚举、长度和格式。

接口停用或不存在

检查接口地址和 HTTP 方法。接口也可能已停用,或当前应用无权访问。

安全重试

仅对明确可重试的网络超时、限流或服务端错误使用带抖动的指数退避。创建资源类请求在未确认幂等语义前不要自动重放,以免重复扣费或重复创建资源。

继续排查