登入開始免費試用
Meta Tech Provider

透過 Coexistence 將 Botpress 機械人連接到 WhatsApp

請使用 Botpress 的 WhatsApp 整合,並選擇 Manual Configuration。貼上已連接號碼的存取權杖和電話號碼 ID,自訂一個驗證權杖,App ID 和 Client Secret 則留空。然後把 Botpress 的 Webhook URL 和該驗證權杖設為號碼的 Webhook 目的地,Meta 就會把每則訊息送到機械人。

Optional

Botpress 的 Client Secret 欄位:留空時,會略過 Webhook 簽章驗證。

5 fields

Botpress 指南所訂閱的 Webhook 欄位,包括訊息和訊息範本狀態更新。

24 hours

客戶傳來訊息後會開啟客戶服務時段,在時段內可傳送任何服務訊息。

Botpress 的哪種設定可配合 Coexistence 號碼使用?

Manual Configuration。其他選項是透過 Botpress 自家的 Meta 應用程式連接號碼,等於重新為號碼進行另一次接入,而不是使用已連接的號碼。

在 WhatsApp 整合中,打開 Configuration 下拉選單,選擇 Manual Configuration。系統會要求填寫驗證權杖、存取權杖、預設機械人電話號碼 ID,以及可選的 App ID、Client Secret 和 WABA ID。

存取權杖、電話號碼 ID 和 WABA ID 都來自連接資料:控制台會顯示這些資料,get_api_credentials 則會把它們傳給助理。驗證權杖可自行選定任何字串。App ID 和 Client Secret 保持留空。Botpress 的指南把密鑰當成要填寫的欄位,但其整合定義將它標示為可選,並說明沒有它就會略過簽章驗證。這點很重要,因為 Meta 是以 Tech Provider 應用程式的密鑰為每次傳送簽章,而客戶並不持有該密鑰。

Botpress 的 Webhook 如何收到 Meta 的訊息?

透過號碼的 Webhook 目的地。Botpress 的指南要求您把它的 Webhook URL 和驗證權杖貼到 Meta 應用程式的 WhatsApp 設定中。這裏您沒有自己的 Meta 應用程式:Meta 會把號碼的事件送到連接所指定的任何目的地。因此,請複製 Botpress 為該整合顯示的 Webhook URL,連同相同的驗證權杖,在控制台或透過 set_webhook_destination 設為目的地。

Meta 會傳送一個驗證 GET 請求,Botpress 回應後,訊息便開始傳送。Botpress 儲存手動設定時,也會向 Graph 查詢該權杖由哪個應用程式簽發,以檢查權杖。因此無效或已撤銷的權杖會在儲存時失敗,而不是等到第一則訊息才出錯。

Botpress 的處理程式也會處理 smb_message_echoes,這是有人從 WhatsApp Business 應用程式回覆時 Meta 傳送的事件。所以從手機發出的回覆,機械人是看得到的。

Required?What to enter
Access TokenRequiredThe connected number's token
Default Bot Phone Number IDRequiredThe connected number's phone number id
Verify TokenRequiredAny string, reused in the webhook destination
WABA IDOptionalThe connected number's WABA id
App ID and Client SecretOptionalLeave both empty

機械人需要知道 Coexistence 的哪些事?

就是可能已有真人在對話。WhatsApp Business 應用程式在該號碼上仍然運作,所以客戶可能在同一分鐘內既收到手機的回覆,也收到機械人的回覆。請在流程中決定收到回音事件時怎麼做:多數團隊會暫停機械人對該聯絡人的回覆一段時間,避免蓋過介入的同事。

第二點是時間。回覆來訊的機械人在 24 小時客戶服務時段內運作,這期間可使用自由格式訊息。若流程在一天後才傳送內容,例如跟進或提醒,就需要已核准的訊息範本,改用自由格式訊息會返回錯誤 131047。Botpress 的指南訂閱了訊息範本狀態欄位,正是為了這類主動訊息。

另外,Coexistence 號碼的吞吐量固定為每秒 20 則訊息,遠高於對話式機械人的發送量。

常見錯誤

  • 把自己 Meta 應用程式的密鑰填入 Client Secret。簽章永遠對不上,Botpress 會以 401 回應每一次傳送。
  • 選了 OAuth 或沙盒選項,而不是 Manual Configuration。那些選項是透過 Botpress 自家的應用程式連接號碼,而不是使用已連接的號碼。
  • 忽略回音事件。如果沒有處理從手機發出回覆的規則,機械人會蓋過已介入的同事。
使用 EasyCoexistence 完成這項設定

在 easycoexistence.com 連接號碼,把它的存取權杖和電話號碼 ID 貼到 Botpress 的 Manual Configuration,再把 Botpress 的 Webhook URL 設為目的地。每個號碼每月 US$ 9 起,隨號碼增加降至 US$ 1,首 3 天免費。

常見問題

略過簽章檢查安全嗎?

這會把保護轉移到 URL 上。Botpress 會為每個整合產生專屬的 Webhook URL,請保密。媒體檔案仍須用權杖向 Meta 擷取,偽造的事件無法做到這點。

同一個號碼可以同時供應 n8n 嗎?

一個號碼只有一個 Webhook 目的地。請把它指向一個系統,若有第二個系統需要事件,就從那裏轉發。

Botpress 需要我的 WABA ID 嗎?

其定義目前標示為可選,並說明未來的主要版本會變成必填,所以請從連接資料中填入。

訊息會經過 EasyCoexistence 嗎?

不會。Meta 直接傳送到 Botpress 的 Webhook URL,我們這邊不會儲存內容。

繼續閱讀

準備開始嗎?

幾分鐘內設定 WhatsApp Coexistence,而非幾個月。應用程式在手機上仍可繼續運作。

開始免費試用

驗證日期

在 WhatsApp 上使用 Botpress:Coexistence