微信 Webhook 配了收不到?别用自己发的消息去测
·
控制台 URL 保存成功,日志空空——方向搞反了能配一整周
用自己发的消息等回调,永远等不到
同事配 Webhook,控制台显示地址已保存,nginx 也起了,就是没日志。问怎么测:「我调发送接口发了一句 test,然后等 POST。」
这是个人微信回调联调里最高频的坑。Webhook 是别人给你发消息,平台推到你服务器;不是把你 API 发出去的消息再弹回来。测收消息,必须换另一个微信号,给实例发私聊或群聊。
第二个坑:填 localhost 或公司内网 IP。平台在公网,进不了你家局域网。开发用穿透,上线换 HTTPS 域名,改完地址要用外部号再发一句验证,旧 URL 立刻失效。
第三个坑:回调里同步调大模型、查库、再回复,几秒内没返回 200,可能重复推送。收到 POST → 去重 → 丢队列 → 立刻 200,重活交给 worker。
代码参考
import redis
from flask import Flask, request
app = Flask(__name__)
rds = redis.from_url("redis://localhost:6379/0")
@app.post("/wx/callback")
def callback():
event = request.get_json(force=True)
msg_id = str(event.get("newMsgId", ""))
if msg_id and not rds.set(f"seen:{msg_id}", "1", nx=True, ex=86400):
return "ok", 200
app.logger.info("inbound %s", event)
# 异步处理,此处只签收
queue.enqueue(event)
return "ok", 200
小结
Webhook 联调两句话:用别人给你发消息来测;回调线程只签收、不干活。
Webhook 怎么配、回调里有哪些字段,动手前可以先打开 Eyun官网 对着做。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)