用 Flowise chatflow 回覆 WhatsApp 訊息
把號碼的 Webhook 目的地設為一個小型接收器,例如 n8n 工作流程或您自己程式碼中的一條路由。接收器將每則訊息交給 Flowise 的 Prediction API,並以發送者的號碼作為工作階段 ID,再用該號碼的存取權杖和 phone number id,經 Cloud API 把回覆送回去。
Flowise 的端點,用來將訊息送入流程並取回其回應。
Flowise 的 Custom MCP 透過 Streamable HTTP 連接,需要 URL 和標頭,例如 Bearer 權杖。
此時限結束後,只能向客戶發送預先核准的訊息範本。
為甚麼 Flowise 前面需要加一層東西?
因為 Meta 的 Webhook 與 Flowise 的 API 格式不同。Meta 以 GET 請求驗證目的地,必須把 hub.challenge 作為原始內容回傳,之後再以巢狀 JSON 的 POST 傳送每則訊息。Flowise 的 Prediction API 則要求向 /api/v1/prediction/ 加上流程 ID 發送 POST,並附帶 question 欄位。雙方都不會遷就對方,所以需要一個接收器來轉換。
接收器可以是 n8n 的 Webhook 節點、Python 或 Node 寫的路由,或任何無伺服器函式。它負責回應驗證用的 GET,檢查放在 Webhook URL 內的一段長隨機密鑰,立即向 Meta 回覆 200,然後才處理實際工作。URL 中的密鑰就是這裡可行的驗證方式:Meta 以 Tech Provider 的應用程式密鑰簽署傳送內容,而該密鑰從不公開,所以您這邊無法驗證 X-Hub-Signature-256 標頭。
接收器應如何呼叫 Prediction API?
把客戶的文字作為 question,把客戶的 WhatsApp 號碼作為工作階段。Flowise 在每次請求中接受 overrideConfig,其中的 sessionId 讓記憶節點為每個人各自保留一段對話,而不是把所有人混進同一個討論串。Webhook 負載中發送者的號碼穩定而自然,正好用作這個鍵。
如果 chatflow 以 API 金鑰保護,接收器須將它作為 Bearer 權杖發送。除非接收器已設計好組合串流,否則請把 streaming 設為 false,因為 WhatsApp 一次送出完整訊息,而不是逐個 token 顯示。
回覆會以 Cloud API 文字訊息的形式,從同一個號碼發出。在客戶訊息開啟的 24 小時時限內,這是免費而且允許的。流程日後想發送的任何內容,例如提醒,都必須使用已核准的訊息範本。
POST https://your-flowise-host/api/v1/prediction/<flow-id>
Authorization: Bearer <flowise-api-key>
Content-Type: application/json
{
"question": "do you have anything friday?",
"streaming": false,
"overrideConfig": { "sessionId": "14155550188" }
}Flowise agent 可以使用 EasyCoexistence MCP 伺服器嗎?
目前不可以。Flowise 的 Custom MCP 以 URL 和一組標頭連接 Streamable HTTP 伺服器,通常是存放在 Flowise 變數中的靜態 Bearer 權杖。EasyCoexistence MCP 伺服器使用 OAuth 驗證,需要在瀏覽器登入,權杖由伺服器自行簽發,所以沒有靜態金鑰可以放進標頭。
可行的分工是:流程負責決定,接收器負責發送。流程回傳要說的文字;如果客戶已沉默超過一天,則回傳訊息範本的名稱。接收器再用該號碼的存取權杖發出 Cloud API 呼叫。這樣權杖就不會存放在 Flowise 內,而 24 小時規則也由程式碼檢查聯絡人上次發言的時間來執行,不必依賴可能忘記的模型。
無論以哪種方式發送,收到的訊息仍然只會經 Webhook 送達。
常見錯誤
- 漏掉 sessionId。所有客戶會共用同一份記憶,某人的資料可能出現在另一人的回覆中。
- 等 Flowise 回應後才回覆 Meta。200 回得太慢會被重試,同一則訊息就會被處理兩次。
- 讓流程在一天後發送自由格式訊息。超出時限後,Meta 會以錯誤 131047 拒絕。
在 easycoexistence.com 連接號碼,把 Webhook 目的地指向您的接收器,然後在控制台讀取存取權杖和 phone number id。每個號碼每月 US$ 9 起,號碼越多越便宜,最低降至 US$ 1,首 3 天免費。
常見問題
Flowise 有 WhatsApp 節點嗎?
文件中沒有。它是透過 Prediction API 連接的,所以 Meta 與流程之間需要一個接收器。
可以用 n8n 做接收器嗎?
可以。以 Webhook 節點接收,以 HTTP Request 節點呼叫 Flowise,再以另一個 HTTP Request 節點經 Cloud API 發出回覆。
有人從手機回覆時,如何讓機器人停下來?
留意 echo 事件。從 WhatsApp Business 應用程式發出的回覆會送到接收器,接收器便可暫停該聯絡人的流程。
EasyCoexistence 會儲存對話嗎?
不會。Meta 直接將訊息傳送到您的接收器。Flowise 只會保留其記憶節點設定要保留的內容。
繼續閱讀
準備開始嗎?
幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。
開始免費試用驗證日期