繁体   English   中英

WhatsApp 云 API 在我的 webhook 上多次发送旧消息入站通知

[英]WhatsApp cloud API sending old message inbound notification multiple time on my webhook

我是使用 WhatsApp 云 API 的新手,我已经使用我的 WhatsApp 云 API 设置了一个 webhook。但问题是一段时间后它再次向我的 webhook 发送一条旧消息的入站通知。

它被称为幂等问题。 这是我为避免它所做的。

  1. 当您的 webhook 被命中时,将每个有效负载存储在数据库中。
  2. 在处理您的逻辑之前,请检查是否已收到当前有效负载。
  3. 从您的数据库中删除超过三天的记录。

如果由于任何原因未发送通知,或者如果 webhook 请求返回 HTTP 状态代码不是 200,我们将重试发送。 我们会继续重试交付,延迟时间会增加,直至达到特定超时(通常为 24 小时,尽管这可能会有所不同),或者直到交付成功。

Whatsapp 网络钩子文档

我将分享我的经验,也许它可以帮助你们中的一些人。

从我的服务器返回状态代码 200 但是Whatsapp Api Cloud 仍然每条消息返回 15 个通知

问题是过去,也许一个月前。 我激活了 webhook 消息通知,但我没有以状态 200 响应 与此同时,我正在构建发送消息的后端逻辑。 所以,有成千上万的 webhooks 没有响应状态代码 200。所以我的 facebook 应用程序发疯了,当我决定用状态代码 200 响应时。它没有用。

解决方案是创建另一个 facebook 应用程序。 并且 webhooks 运行良好

有同样的问题,尝试删除应用程序但没有用,我仍然收到来自旧应用程序的旧消息。

TLDR; 请勿将同一个测试号用于多个Facebook App。

即使创建一个新的应用程序,电话号码 ID 和帐户 ID 仍然相同,我的猜测是 webhooks 有效负载更多地与测试电话号码相关联,而不是 Facebook 应用程序。 出于这个原因,如果您有另一个应用程序具有相同的测试编号和不工作的 webhook,它会不断向两个 webhook 发送相同的消息。

在 Webhook 中定义的 POST 中,您应该始终返回 HTTP Status 200,检查即使在您的 Promises 中也会发生这种情况

WhatsApp 商业账户的 Webhooks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM