n8n集成WhatsApp Cloud API:Webhook收不到消息无报错排查
WhatsApp Cloud API 与n8n Webhook集成无响应排查方案
一、排查WhatsApp是否发送Webhook请求
- 查看ngrok请求日志:
- 运行ngrok的终端会实时显示所有进入的请求,包括请求方法、目标路径、响应状态码,若WhatsApp发送了请求,这里会出现POST类型的记录。
- 也可以访问ngrok的本地管理界面
http://localhost:4040,在“Requests”标签下查看完整的请求详情,包括请求头、请求体。
- 使用Meta开发者控制台的测试工具:
- 进入Meta开发者后台的Webhook设置页面,找到已订阅的
messages事件,点击“Test”按钮,选择对应的测试号码发送模拟请求。同时观察n8n工作流是否触发,以及ngrok日志是否有记录。
- 进入Meta开发者后台的Webhook设置页面,找到已订阅的
- 临时替换Webhook URL验证:
- 把Meta后台的Webhook URL改成本地简易HTTP服务器地址,发送WhatsApp消息后查看是否收到请求,以此排除WhatsApp侧的问题。
二、Webhook无触发的常见原因
- URL配置不匹配:
- 确认Meta后台填写的Webhook URL是当前ngrok的完整地址,包含n8n Webhook节点生成的路径(比如
https://xxx.ngrok.io/webhook/12345),路径错误会导致请求无法到达n8n节点。 - 区分测试环境与生产环境:Meta的测试号码和正式号码的Webhook配置是分开的,要确保对应环境的URL一致。
- 确认Meta后台填写的Webhook URL是当前ngrok的完整地址,包含n8n Webhook节点生成的路径(比如
- ngrok URL变更:
- ngrok免费版重启后URL会随机变更,每次重启必须同步更新Meta后台的Webhook URL,否则WhatsApp会向旧地址发送请求,n8n无法接收。
- n8n Webhook节点配置错误:
- 确认Webhook节点的请求方法设置为
POST,WhatsApp消息事件仅通过POST请求触发,若设为GET则无法捕获。 - 检查“Verify Signature”选项:如果开启了签名验证,必须填写正确的Meta App Secret,密钥错误会导致n8n直接拒绝请求且无日志记录。
- 确认Webhook节点的请求方法设置为
- 事件订阅不完整:
- 确保是在电话号码级别订阅了
messages事件,而非仅在应用级别订阅。Meta的Webhook订阅分应用和号码两层,仅应用级订阅无法触发号码相关的消息事件。
- 确保是在电话号码级别订阅了
- n8n工作流状态异常:
- 即使界面显示“激活”,也可能存在状态不同步的情况,尝试先停用工作流,等待10秒后重新激活。
- 网络或防火墙限制:
- 本地防火墙可能拦截了ngrok的入站请求,检查防火墙规则是否允许n8n端口(默认5678)和ngrok的通信。
- 确认本地n8n实例正常运行,端口未被其他程序占用。
内容的提问来源于stack exchange,提问作者Abdulbasit Kashif
相关产品推荐
相关产品推荐

