您可订阅 Webhooks,以便在公司收到消息以及客户个人主页更新时接收相关通知。
在可以开始接收通知前,您需要在服务器上建立一个端点来接收通知。
您的端点必须能够处理两类 HTTPS 请求:验证请求和事件通知。这两类请求都使用 HTTPS,因此您必须为服务器正确配置和安装有效的 TLS 或 SSL 证书。不支持自签名证书。
Webhooks 设置不会影响 WhatsApp Business 应用上的电话号码。只要您不将电话号码迁移至 WhatsApp Business 开放平台,就能继续在 WhatsApp Business 应用中使用该号码。
如要订阅 Webhooks,您需要获得 Meta 应用编号和权限。如要执行此操作,首先前往 Meta 应用面板。您需要在其中执行以下操作:
在任何情况下,您只能为每个 Meta 应用配置一个端点。如果您需要将 Webhooks 更新发送到多个端点,则需要多个 Meta 应用。
如果您是解决方案合作伙伴,则可能需要执行以下操作:
whatsapp_business_messaging
权限 每当触发事件发生时,WhatsApp Business 开放平台都会查看事件,并向您之前指定的 Webhooks 网址发送通知。您会收到两类通知:
所有 Webhooks 均采用以下通用格式:
{ "object": "whatsapp_business_account", "entry": [{ "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [{ "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "PHONE_NUMBER", "phone_number_id": "PHONE_NUMBER_ID" }, # specific Webhooks payload }, "field": "messages" }] }] }
请参阅组件,了解每个字段的相关信息。
如果您收到云端 API 不支持的消息,则会收到未知消息 Webhooks。
Webhooks 负载大小上限为 3MB。
如果我们向您的端点发送 Webhooks 请求,而您的服务器返回除 200 以外的 HTTP 状态代码,或者如果 Webhooks 由于其他原因而无法送达,我们将以较低的频率继续尝试发送请求,直到请求发送成功,重试操作最多持续 7 天。
请注意,系统会向已订阅 WhatsApp Business 商业帐号 Webhooks(及其相应字段)的所有应用重新尝试发送请求。这可能会导致产生重复的 Webhooks 通知。
您可以通过在自己的终端运行以下命令,获取我们 Webhooks 服务器的 IP 地址:
whois -h whois.radb.net — '-i origin AS32934' | grep ^route | awk '{print $2}' | sort
我们会定期更改这些 IP 地址,因此如果您将我们的服务器加入白名单,您可能需要不定期重新生成此命令并相应地更新您的白名单。