Facebook 的 Messenger

您可以使用 Dialogflow Facebook Messenger 整合功能,建立 Facebook Messenger 機器人與使用者互動。

限制

這個整合作業僅支援預設的服務機器人語言

運作方式

整合方式如下:

設定

如要設定整合,請按照下列步驟操作:

  1. 請按照Facebook 應用程式開發中的步驟建立 Facebook 應用程式。

  2. 設定 Facebook 應用程式以使用 Facebook Messenger 平台。請按照「設定 Facebook 應用程式」說明文件中的步驟完成下列操作:

    • 將 Messenger 平台新增至 Facebook 應用程式。
    • 讓應用程式訂閱 Facebook 粉絲專頁。系統會在這個步驟中提供存取權杖。複製這個值。這組符記可用於透過 Dialogflow 主控台設定整合功能。
    • 請勿設定 Webhook 或測試整合。
  3. 透過 Dialogflow 主控台設定整合:

    1. 前往 Dialogflow ES 主控台
    2. 按一下左側欄選單中的「整合」
    3. 按一下「Facebook Messenger」
    4. 設定對話方塊隨即開啟:

      • 顯示舊的回呼網址:如果顯示此切換鈕,則預設為關閉。這是為了因應 Facebook Messenger API 近期的修改而提供的臨時選項。除非 Dialogflow 支援團隊指示您變更,否則請勿變更這個切換鈕。所有代理程式都更新後,這個選項就會移除。
      • 回呼網址:複製這個值。用於設定 Facebook Messenger Webhook。
      • 驗證金鑰:您可以輸入任何需要的私人金鑰。複製這個值。用於設定 Facebook Messenger Webhook。
      • Page Access Token (粉絲專頁存取權杖):輸入建立 Facebook 粉絲專頁時複製的存取權杖。
      • 啟動:按一下這個按鈕,為您的服務專員啟用這項整合服務。
  4. 完成 Facebook 應用程式的設定並測試。請按照「設定 Facebook 應用程式」說明文件中的步驟完成下列操作:

    • 為應用程式設定 Facebook Webhook。請使用您在前述步驟複製的 Callback URLVerify Token 值。請務必啟用 messagesmessaging_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"
          }
        }
      }
    }