Skip to content

错误码 ​

接口调用失败时,先看返回的 code:

  • 数字 0:这次调用成功。登录、重连和测试推送还要核对具体结果,见下方说明。
  • 数字 -1:具体原因在 message 的竖线前,按企微错误码查。
  • 字符串,如 invalid_token:按鉴权与网关错误查。

怎样判断调用成功 ​

一次成功的接口响应通常如下,data 中是接口返回的具体数据:

json
{ "code": 0, "data": { }, "detail": "", "message": "ok", "time": "2026-09-11 10:51:00" }
字段类型说明
codeint数字 0 成功,业务失败为数字 -1
dataobject / array业务数据。失败时可能为空或缺省;在线但无数据的接口成功时也可能没有 data,不代表失败
detailstring附加明细,通常为空
messagestring成功为 ok;失败形如 -12007|get expired data empty,竖线前是企微错误码
timestring服务端处理时间 YYYY-MM-DD HH:MM:SS

HTTP 200 只表示收到了响应,不代表操作成功。 除了检查 code,下面几种操作还要看:

你在做什么怎样才算成功
扫码登录检测二维码返回 data.status=2
断线重连code=0 只表示开始恢复;还要检查之后的业务调用,见掉线检测与恢复
测试回调地址测试投递返回 data.ok=true,且 data.httpStatus 为 200~299
测试消息收发发消息后在手机上看到正文;收消息后在自己的服务器读到正文。只看到调用或测试投递成功还不够

企微错误码 ​

码含义处理建议
-3004参数错误检查字段名与类型,数字 id 不能传字符串
-11001请求断线重连调断线重连
-11002你已在其他设备上登录不自动重连,置为离线并提示,由用户决定是否重新扫码
-2007已下线重新扫码
-12006checkQr 没带 uuid带上 getQr 返回的 uuid
-12007二维码过期重新 getQr
-2003syncExternal 无增量或游标失效重新全量或换游标
-3020用自聊伪房间 roomId 作发送目标给自己发用当前账号 uin
-4014过期或错误的 uin 作 conversationId先 personal/getInfo 取当前 uin
-4046sendMiniProgram 误填 cover 字段cover 留空
-18000039加好友被限流降频,不要立即重试
-18000003无对应好友申请—
-18000059群二维码已停用(群开启了进群验证)提示用户,无法直接取码
-24001155群发助手无法发送一年前的任务检查任务 id
-2001大文件下载失败fileId 无效或不存在

鉴权与网关错误 ​

这类响应是 JSON 对象,code 是字符串,message 是错误说明。例如:

json
{ "code": "invalid_token", "message": "App Token 无效或已重置" }
错误HTTP含义
unauthorized401缺少 Authorization 请求头
invalid_token401App Token 格式不正确、无效或已重置
proxy_required400新建实例未指定代理,省份 region / 自定义代理 socks5 / 本地代理 aid 三选一
appid_not_bound403appid 不属于当前应用,检查 App Token 与实例归属
capacity_exhausted403实例容量已满
rate_limited429调用频率超限,降低调用频率后再试
device_create_disabled403创建设备不对外开放,由 getQr 自动创建
not_exposed403企微连接由系统维护,相关接口不对外

如果返回的 code 是数字 -1,例如 message 为 -3004|参数错误,请用 -3004 查上方企微错误码。

首次接入卡住时 ​

卡住的步骤检查与下一步
只有掩码,无法取得 App Token新默认应用在应用凭证页领取一次完整凭证;已有应用使用自己保存的完整值。遗失才在安全设置明确重置,旧凭证立即失效
请求地址返回 404从控制台复制完整 API Base URL,保留 /wx-api;业务路径接 /api/…,回调配置接 /webhook/…,避免重复前缀
发送成功但手机未收到核对所选实例、当前账号 uin 与发送目标;手机确认前不算发送验证完成
测试推送成功但没有真实文本另一个企微账号从客户端手动发送,核对订阅、实例在线与接收服务日志;按回调排查处理

排查顺序 ​

#检查怎么查
1请求头Authorization: Bearer <你的 App Token> 有没有带、有没有多余空格
2appid操作已有实例时必传,且要属于当前 App Token;首次获取二维码不传
3实例在不在线调获取个人信息,-2007 需重新扫码;-11002 置为离线并提示,由用户决定是否重新登录
4参数类型int64 字段传了字符串会直接报 -3004 或 unmarshal 错误
5空集合不同接口的空结果形态不一样:data:null、list:null、没有 data 键都可能出现,解析要兼容

失败后能不能重试 ​

  • 发送类接口不要盲目重试。 重试前先确认上一次是否已成功,否则会重复发给客户。
  • 同一个账号的消息排队发送:同一 appid 的发送请求按顺序执行,不要同时发起多个请求。
  • 加好友类接口遇到 -18000039 要降频,不要立即重试。