You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置WhatsApp应用时Facebook/WhatsApp Webhook验证失败求助

WhatsApp Webhook验证失败(端点未被调用)解决方案
  • 确保端点公网可访问
    Facebook的Webhook验证请求仅能发送到公网可达的HTTPS端点,先确认你的服务已部署到公网,对应端口(默认443,自定义端口需在端点URL中明确指定,如https://xxx.com:8443/webhook)已开放。可通过curl命令测试外部访问性:
    curl -X GET "https://your-webhook-endpoint.com/webhook?hub.mode=subscribe&hub.challenge=12345&hub.verify_token=your_token"
    若无法访问,排查服务器防火墙、云服务商安全组是否放行对应端口,或CDN/反向代理是否拦截请求。

  • 校验Verify Token完全匹配
    保证Facebook后台填写的Verify Token与Webhook代码中的校验token完全一致,包括大小写、特殊字符,无额外空格或换行。以下是典型的校验逻辑示例:

    from flask import request
    
    @app.route('/webhook', methods=['GET'])
    def verify_webhook():
        received_token = request.args.get('hub.verify_token')
        if received_token == "YOUR_SET_VERIFY_TOKEN":
            return request.args.get('hub.challenge')
        return "Invalid Token", 403
    
  • 检查SSL证书有效性
    Facebook要求Webhook必须使用受信任CA颁发的有效SSL证书,禁止自签名证书。通过浏览器访问端点,查看地址栏锁图标确认证书状态,确保证书未过期、域名匹配。

  • 核对路由与请求方法配置
    验证阶段Facebook发送的是GET请求,需确保你的端点支持GET方法,且路由路径与后台填写的完全一致,无拼写错误(比如后台填/webhook,代码路由不能是/whatsapp-webhook)。

  • 排查反向代理/负载均衡拦截
    若服务前有Nginx、Cloudflare等代理,确认它们未修改请求参数或拦截GET请求。比如Nginx配置需正确传递query参数,Cloudflare安全规则未将Facebook IP列入黑名单。

  • 检查后台配置细节
    确认Webhook选择的API版本为最新稳定版,订阅字段勾选正确,关联的WhatsApp账号已绑定到应用且状态正常。

内容的提问来源于stack exchange,提问作者Andy Weinstein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:42:36