开发支持 / 常见错误与排查
常见错误与排查
先记录环境、请求时间、接口路径、HTTP 状态和响应体。HTTP 状态与 error.code 是不同层次的信息,应分别检查。
网关 HTTP 错误
| HTTP 状态 | 提示 | 排查方式 |
|---|---|---|
400 | missing header params | 补齐 appId、ts、sign 请求头 |
400 | 签名不正确 | 核对密钥、最终路径、GET 参数和签名拼接串 |
400 | 请求时间戳与系统时间相差超过 N 秒 | 使用秒级时间戳,校准机器时间;N 以网关实际配置为准 |
401 | token不能为空 | 提供 authorization 请求头 |
401 | token已吊销 | 核对令牌状态、应用及门店授权,必要时重新获取 AccessToken |
Auth 业务错误码
应读取业务响应 error.code,不要将业务码当作 HTTP 状态。
| error.code | 提示 | 排查方式 |
|---|---|---|
10001 | 应用不存在 | 核对环境及 appId |
10002 | 应用密钥不正确 | 核对当前应用密钥 |
11001 | 连锁店申请 token 必须指定 clinicId | 提供子店 clinicId |
11002 | 不合法的 clinicId | 核对门店及授权范围 |
11003 | 不支持的 grantType | 使用 client_credentials |
其他业务错误码还包括:13903(会员手机号不能为空)、13909(患者不存在)。
浏览器调试失败
除文件上传和表单接口外,GET、POST、PUT、DELETE 接口都可在线发送;非 GET 业务请求在每次发送前都会要求确认,AccessToken 接口不确认。在线请求失败时,先确认文档服务是否配置了对应区域的上游,以及服务端能否访问该地址。浏览器请求固定发送到文档站自己的 /debug/request,不直接跨域调用目标网关。
其他常见问题
接口不在当前产品目录中时,先确认实际使用的产品;接口支持该产品但访问失败时,再确认应用的实际接口授权、门店和药房范围。不同环境、分区的凭证不能混用。