webhook WhatsApp 問題

標題:WhatsApp Trigger 錯誤:自架實例上出現「The WhatsApp App ID already has a webhook subscription」
正文:
大家好,
我正在透過 Docker 後面的 Cloudflare 隧道執行自架 n8n 實例。我試著測試/啟動 WhatsApp Trigger 節點,但我一直收到下列錯誤:
執行工作流程時出問題
WhatsApp App ID [MY_APP_ID] 已經有一個 webhook 訂閱。在執行觸發器之前請刪除它或使用另一個 App。由於 WhatsApp API 的限制,每個 App 只能有一個觸發器。
設定詳細資訊:
在 Docker 中執行的自架 n8n
透過 Cloudflare 隧道公開的公開 URL(WEBHOOK_URL 環境變數已正確設定)
使用 Meta Developer App 搭配 WhatsApp API 認證資訊
我在 n8n 中沒有任何其他使用相同 WhatsApp App ID 的活躍工作流程。
我應該如何在 Meta 端或 n8n 中適當地清除或重設 webhook 訂閱,以便觸發器節點能夠正確註冊?任何幫助或建議都將不勝感激!

嗨 @mateusz_szlaga

訂閱存在於 Meta 的一方,不是在 n8n。所以沒有其他活動的工作流程並不意味著沒有訂閱,這就是為什麼在 n8n 中停用東西不會清除它。

檢查實際註冊的內容:

GET https://graph.facebook.com/v21.0/{app-id}/subscriptions?access_token={app-id}|{app-secret}

注意令牌格式,它是你的應用 ID 和應用密鑰由管道符號連接。這是應用存取令牌,它經常讓人出錯。

然後刪除它:

DELETE https://graph.facebook.com/v21.0/{app-id}/subscriptions?object=whatsapp_business_account&access_token={app-id}|{app-secret}

或在儀表板中進行:你的應用然後 WhatsApp 然後設定,在回調 URL 旁邊有一個「移除訂閱」按鈕。

一旦那個消失了,啟動工作流程,n8n 就會乾淨地註冊自己的訂閱。

至於它來自哪裡,通常的原因是在某個時刻點擊了執行工作流程。測試模式也會註冊訂閱,測試結束時不一定會被清除。之後,每次啟動嘗試都會針對你無法從 n8n 內部看到的訂閱達到每應用一個觸發器的限制。

值得知道的是:該限制是 Meta 的,不是 n8n 的,所以你不能在同一個應用上同時有一個測試和一個生產觸發器。一旦它被啟動,就不要使用「執行」,否則你會回到這裡。

順便說一下,你的 Cloudflare 隧道在這個問題上沒有參與,這個錯誤發生在任何東西嘗試到達你的實例之前。