您可以使用 Dialogflow Facebook Messenger 整合功能,建立 Facebook Messenger 機器人與使用者互動。
限制
這個整合作業僅支援預設的服務機器人語言。
運作方式
整合方式如下:
- 您建立的 Facebook 應用程式會使用 Facebook Messenger 平台。
- 您需要設定 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。
- 驗證金鑰:您可以輸入任何需要的私人金鑰。複製這個值。用於設定 Facebook Messenger Webhook。
- Page Access Token (粉絲專頁存取權杖):輸入建立 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" } } } }