簡體   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