使用 Dialogflow Facebook Messenger 整合功能,即可建立 Facebook Messenger 機器人,與終端使用者互動。
限制
這項整合功能只支援預設代理程式語言。
運作方式
整合方式如下:
- 建立使用 Facebook Messenger 平台的 Facebook 應用程式。
- 設定 Dialogflow 整合和 Facebook 應用程式,讓兩者可以相互通訊。
- Dialogflow 整合功能會使用 Facebook Messenger API 將訊息傳送給使用者。
- Dialogflow 整合功能會做為 Facebook Messenger Webhook,接收來自使用者的訊息。
設定
如要設定整合,請按照下列步驟操作:
按照相關步驟建立 Facebook 應用程式: Facebook 應用程式開發。
設定 Facebook 應用程式,以使用 Facebook Messenger 平台。 請按照「 設定 Facebook 應用程式」 文件中的步驟,完成下列操作:
- 將 Messenger 平台新增至 Facebook 應用程式。
- 將應用程式訂閱至 Facebook 粉絲專頁。 您會在步驟中取得存取權杖。 複製這個值。 這個權杖用於透過 Dialogflow 主控台設定整合功能。
- 請勿設定 Webhook 或測試整合服務。
在 Dialogflow 控制台中設定整合:
- 前往 Dialogflow ES 主控台。
- 按一下左側欄選單中的「整合」。
- 按一下「Facebook Messenger」。
設定對話方塊隨即開啟:
- 顯示舊版回呼網址: 如果顯示這個切換按鈕,預設會處於關閉狀態。 這是暫時選項,用來因應 Facebook Messenger API 最近的修改。除非 Dialogflow 支援團隊指示,否則請勿變更這個切換鈕。所有代理程式更新完畢後,這個選項就會移除。
- 回呼網址: 複製這個值。 用於設定 Facebook Messenger Webhook。
- 「Verify Token」(驗證憑證): 您可以輸入任何需要的私密權杖。 複製這個值。 用於設定 Facebook Messenger Webhook。
- 粉絲專頁存取權杖: 輸入建立 Facebook 粉絲專頁時複製的存取權杖。
- 開始:按一下即可為代理程式啟動這項整合服務。
完成 Facebook 應用程式設定並進行測試。 請按照「 設定 Facebook 應用程式」 文件中的步驟,完成下列操作:
- 為應用程式設定 Facebook Webhook。 使用您在前述步驟複製的「Callback URL」和「Verify Token」值。 請務必啟用 messages 和 messaging_postbacks。
- 測試應用程式。
活動
這項整合功能會叫用下列事件:
| 事件 | 說明 |
|---|---|
FACEBOOK_WELCOME |
使用者和您的機器人開啟對話時,就會觸發這個事件。 |
複合式回應訊息
這項整合功能會將部分複合式回應訊息翻譯成 Facebook Messenger 平台訊息類型。
圖片回覆
圖片回覆會以 Facebook Messenger 檔案附件訊息的形式傳送至 Facebook Messenger。message.attachment.type 值已設為 image。
支援的格式如下:
- jpg
- png
- 靜態 GIF
- GIF 動畫
資訊卡回覆
資訊卡回覆會以 Facebook Messenger 通用範本的形式傳送至 Facebook Messenger。
快速回覆訊息
快速回覆會以 Facebook Messenger 快速回覆的形式傳送至 Facebook Messenger。
自訂酬載回應
如要傳送其他類型的 Facebook Messenger 訊息,可以使用自訂酬載。
自訂酬載的一般格式如下:
{
"facebook": {
message
}
}
請提供 Facebook Messenger message 物件,取代 message。
如要瞭解 message 物件的詳細資料,請參閱 Facebook Messenger API 參考資料。
例如:
-
傳送音訊連結:
{ "facebook": { "attachment": { "type": "audio", "payload": { "url": "https://example.com/audio/test.mp3" } } } } -
傳送可播放的影片:
{ "facebook": { "attachment": { "type": "video", "payload": { "url": "https://example.com/video.mp4" } } } } -
傳送檔案:
{ "facebook": { "attachment": { "type": "file", "payload": { "url": "https://example.com/file.pdf" } } } }