个人微信API调用失败:登录掉线与回调排查
对接个人微信 API,80% 的问题集中在三块:登录、在线状态、回调。接口失败先别怀疑业务代码,先确认:在不在线、回调通不通、字段填没填对。
先说结论
排障时把「登录态问题」和「回调地址问题」分开查,不要混在一起改。登录、重连、设置回调的请求示例,按文档字段逐项对:API 文档
最小闭环(对照着查)
GeWe API 实际使用里最常见的情况如下。
Q1:要装插件、要改微信吗?
不用。官方正版微信即可,对版本没有特殊要求,能正常登录就行。扫码授权,不用 Root。
Q2:怎么登录?
获取 Token → 获取登录二维码 → 手机扫码 → 登录执行节点。
Q3:为什么突然发不了消息?
先查是不是掉线。平台有「检查是否在线」「掉线重连」。节点不在线,接口再对也发不出去。
Q4:回调配了,收不到消息?
- 回调地址必须公网可访问
- 接口接受 POST,Body 是 JSON
- 3 秒内返回(可返回空字符串)
- 配置后系统会发验证请求,验证失败后面都不会推
- 通过接口自己发出的消息,不会回调
Q5:一个回调地址能给多个业务用吗?
一个 Token 对应一个回调地址。要隔离多个业务,用多个 Token,各配各的回调。
Q6:有没有 SDK?
标准 HTTP API,不绑语言。
Q7:数据放哪?
SaaS 做请求转发,不存用户敏感内容;对隔离要求高,走私有化。
发消息自检:
importrequests r=requests.post("http://api.geweapi.com/gewe/v2/api/message/postText",headers={"X-GEWE-TOKEN":"YOUR_TOKEN","Content-Type":"application/json",},json={"appId":"你的appId","toWxid":"自己的wxid","content":"掉线排查:在线探测",},timeout=30,)print(r.status_code,r.json())自己都收不到,先重连再查业务。ret != 200时先看登录态,不要改发送字段。
联调验收
- 在线检测为在线后,发给自己成功
- 回调地址用 curl 从外网 POST 能通
- 验证请求通过后,用另一台手机发一条真实消息,日志里能看到
- 掉线重连后
appId仍能发,不必重新写业务代码
再扩一步
排障清单固化进运维:掉线告警 → 自动重连 → 失败再通知人。官网:GeWe API 官网
总结
微信接口失败,先看在不在线,再看回调 3 秒内能不能返回,最后才查业务字段。
