[英]WhatsApp cloud API sending old message inbound notification multiple time on my webhook
我是使用 WhatsApp 云 API 的新手,我已经使用我的 WhatsApp 云 API 设置了一个 webhook。但问题是一段时间后它再次向我的 webhook 发送一条旧消息的入站通知。
它被称为幂等问题。 这是我为避免它所做的。
如果由于任何原因未发送通知,或者如果 webhook 请求返回 HTTP 状态代码不是 200,我们将重试发送。 我们会继续重试交付,延迟时间会增加,直至达到特定超时(通常为 24 小时,尽管这可能会有所不同),或者直到交付成功。
我将分享我的经验,也许它可以帮助你们中的一些人。
我从我的服务器返回状态代码 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 中也会发生这种情况
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.