[英]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.