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

如何在WhatsApp Cloud API V20.0中禁用已读和已送达通知以避免Webhook被淹没

如何在WhatsApp Cloud API V20.0中禁用已读和已送达通知以避免Webhook被淹没

我完全懂你的困扰——被大量read和delivered通知淹没Webhook确实闹心,靠代码过滤终究是被动处理,不如从源头直接切断这些不必要的推送。好在Meta的WhatsApp Cloud API本身就支持通过配置订阅字段来控制推送的事件类型,具体操作可以分两种方式:

方法一:通过Meta开发者平台手动配置

这种方式直观简单,适合快速调整:

  • 登录Meta for Developers平台,打开你的应用,进入WhatsApp > 配置页面(或者直接找到Webhook设置入口)。
  • 在Webhook订阅区域,找到已订阅的messages字段,点击「编辑」或「修改订阅」按钮。
  • 在展开的子选项里定位到statuses分类:
    • 如果你还需要保留其他状态通知(比如消息发送失败failed、已发送sent),就单独取消勾选delivered和read这两个选项;
    • 要是完全不需要任何状态类通知,直接取消statuses的整体勾选就行。
  • 保存更改后,Meta API就不会再把这两类通知推送到你的Webhook了。

方法二:通过Graph API调用批量/自动化配置

如果需要批量调整或者用代码自动化配置,可以发送API请求来更新订阅字段:

curl -X POST "https://graph.facebook.com/v20.0/{PHONE_NUMBER_ID}/subscribed_apps" \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "subscribed_fields": ["messages", "messages_statuses(sent,failed)"]
  }'
  • 把{PHONE_NUMBER_ID}替换成你的WhatsApp电话号码ID,{ACCESS_TOKEN}换成有效的平台访问令牌;
  • 示例里的messages_statuses(sent,failed)表示只订阅「已发送」和「发送失败」的状态通知,要是完全不需要状态通知,直接写["messages"]即可。

这样调整后,你的Webhook只会收到真正有价值的事件(比如用户发来的新消息),彻底摆脱冗余的read和delivered通知啦。

备注:内容来源于stack exchange,提问作者RG_RG

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 08:19:32