Appearance
常见问题
首次接入时常见的问题,每条都附上详细说明的位置。
App Token 调用失败,先看什么?
先看 HTTP 状态与 code:401 的 unauthorized 表示缺少鉴权头,invalid_token 表示 App Token 格式不正确、无效或已重置;403 常见于实例不属于当前应用或容量用满,429 的 rate_limited 表示频率超限。完整表见鉴权与网关错误。这类 code 是字符串;业务失败的 code 为数字 -1,具体企微码在 message 中。
用接口发出的消息为什么收不到回调?
经接口发出的消息不推正文,只推一条 contentType 2001 已读回执。测试回调要用另一个企微账号在客户端手动发消息。见快速开始 · 第 4 步。
报 cannot unmarshal string into uint64 怎么办?
conversationId 等 int64 标识传成了字符串,改成 JSON number 即可。见核心标识。
已在其他设备登录时应该自动重连吗?
不要。-11001 和 -11002 都会推送 instance.offline,但只有 -11001 可以自动重连。-11002 自动重连会和另一台设备互相顶号、反复掉线,应置为离线,提示「已在其他设备登录」,由用户决定是否重新登录。
断线重连返回 code=0 只代表已经开始恢复,还要看之后的业务调用是否再报 -11002 / -2007。重连失败间隔几十秒以上再试,连续失败就重新扫码。见实例与代理 · 掉线检测与恢复。
为什么代理必须和手机企微登录省份一致?
登录链路的出口地区必须与账号持有人手机企微常用登录的省份一致;异省会登录失败或很快掉线,有封号风险。见实例与代理 · 代理三选一。
个人号 API 的凭证能不能用?
不能,两条产品线的凭证不通用。企业微信 API 用的是在企业微信控制台自助开通获取的 App Token。见认证与凭证。
有没有在线调试?
没有 Playground。把 openapi.json 导入 Apifox 或 Swagger 调试,步骤见快速开始 · 通用请求结构。
扫码后要验证码怎么办?
检测二维码返回 status 为 10 时,让账号持有人把手机企微上显示的 6 位验证码告诉你,调提交验证码提交。提交后继续轮询,status 变为 2 才算登录成功。见快速开始 · 第 2 步。
二维码过期了怎么办?
二维码 600 秒过期,过期后检测二维码返回 -12007。带原 appid 重新调获取二维码取码。见快速开始 · 第 1 步。