Meta 的 Messenger

透過 Meta Messenger 整合,您可以建立 Meta Messenger 機器人,與使用者互動。

運作方式

整合方式如下:

  • 您建立的 Meta 應用程式會使用 Meta Messenger 平台
  • 設定 Conversational Agents (Dialogflow CX) 整合和 Meta 應用程式,讓兩者可以互相通訊。
  • Conversational Agents (Dialogflow CX) 整合功能會使用 Meta Messenger API 將訊息傳送給使用者。
  • Conversational Agents (Dialogflow CX) 整合功能會做為 Messenger 平台適用的 Meta Webhook,接收使用者的訊息。

設定

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

  1. 按照步驟建立 Meta 應用程式: Meta 應用程式開發

  2. 設定 Meta 應用程式,即可使用 Meta Messenger 平台。請按照這篇 Meta Messenger 平台 Webhook 說明文件中的步驟操作,完成下列事項:

    • 在 Meta 應用程式中新增 Messenger 平台。
    • 訂閱應用程式的 Meta 頁面。確認頁面訂閱功能已啟用 messagesmessaging_postbacks
    • 系統會在步驟中提供存取權杖。複製這個值。 這個權杖用於從 Conversational Agents (Dialogflow CX) 控制台設定整合。
    • 請勿設定 Webhook 或測試整合功能。
  3. 在 Conversational Agents (Dialogflow CX) 控制台中設定整合:

    1. 前往 Dialogflow CX 主控台
    2. 按一下左側面板的「管理」分頁標籤。
    3. 按一下左側欄選單中的「整合」
    4. 按一下「Meta Messenger」圖塊上的「連結」按鈕
    5. 系統會開啟設定對話方塊:

      • 應用程式密鑰:從「應用程式資訊主頁基本設定」輸入應用程式密鑰。

      • 驗證憑證:您可以輸入任何想要的私人憑證。複製這個值。用於設定 Meta Messenger Webhook。

      • 粉絲專頁存取權杖:輸入您在上述 Meta 應用程式設定期間複製的存取權杖。

      • 啟用「開始使用」按鈕:請參閱「開始使用按鈕」一節。

      • Webhook 網址:複製這個值。用於設定 Meta Messenger Webhook。

      • 開始:按一下即可為代理程式啟動這項整合服務。

  4. 完成 Meta 應用程式的設定並進行測試。請按照「Messenger 平台適用的 Meta Webhook」 說明文件中的步驟,完成下列操作:

    • 為應用程式設定 Meta Webhook。使用您在前述步驟複製的「Webhook URL」和「驗證權杖」值。請務必在頁面訂閱中啟用 messagesmessaging_postbacks
    • 測試應用程式。

活動

這項整合功能會叫用下列事件。您可以建立自訂事件處理常式,定義事件觸發時要執行的動作。

事件 說明
FACEBOOK_WELCOME 在使用者點選 Meta Messenger「開始使用」按鈕時觸發。
FACEBOOK_MEDIA 當來自使用者的訊息包含附件 (例如音訊、圖片、影片等) 時觸發。

「開始」按鈕

如何設定 Meta Messenger「開始使用」按鈕

  1. 啟用這項整合服務時,請切換「啟用『開始使用』按鈕」

    • 這項整合服務會呼叫 Messenger Profile API,為你啟用按鈕。

      curl -X POST \
      -H "Content-Type: application/json" \
      -d '{"get_started": {"payload": "FACEBOOK_WELCOME"}}' \
      "https://graph.facebook.com/v10.0/me/messenger_profile?access_token=${PAGE_ACCESS_TOKEN}"
      
  2. FACEBOOK_WELCOME 事件建立自訂事件處理常式

如要測試這項功能,請按照下列步驟操作:

  1. 刪除與 Meta 粉絲專頁的先前對話 (如有)。

    • 「開始使用」按鈕只會顯示在新的對話中。
  2. 與 Meta 粉絲專頁展開新對話。

  3. 按一下「開始使用」按鈕,並驗證自訂事件處理常式的回應。

你隨時可以呼叫 Messenger Profile API 管理「開始使用」按鈕。這項做法在測試時相當實用。

舉例來說,下列要求會檢查「開始使用」按鈕的狀態:

curl -X GET \
"https://graph.facebook.com/v10.0/me/messenger_profile?fields=get_started&access_token=${PAGE_ACCESS_TOKEN}"

下列要求會停用「開始使用」按鈕:

curl -X DELETE \
-H "Content-Type: application/json" \
-d '{"fields": ["get_started"]}' \
"https://graph.facebook.com/v10.0/me/messenger_profile?access_token=${PAGE_ACCESS_TOKEN}"

複合式回應訊息

透過履行中的自訂酬載,即可支援複合式回應訊息。如需訊息格式,請參閱「傳送 API 參數訊息物件」。

舉例來說,下列自訂酬載提供簡單的訊息:

{
  "text": "Hello, world"
}

以下自訂酬載提供圖片訊息:

{
  "attachment": {
    "type": "image",
    "payload": {
      "url": "https://example.com/test.jpg"
    }
  }
}

頻道專屬回覆

設定管道專屬回覆後,虛擬服務專員回覆 Meta Messenger 訊息時,會自動使用 DF_CX_FB_MESSENGER 管道。