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 Webhooks for Messenger Platform」說明文件中的步驟完成下列操作:

    • 將 Messenger 平台新增至 Meta 應用程式。
    • 讓應用程式訂閱 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 應用程式的設定並進行測試。請按照Meta Webhooks for Messenger Platform 說明文件中的步驟操作,完成下列事項:

    • 為應用程式設定 Meta Webhook。請使用您在前述步驟複製的 Webhook 網址驗證權杖值。請務必在頁面訂閱中啟用 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 來管理「開始使用」按鈕。這在測試時可能很有幫助。

舉例來說,下列要求會檢查「Get Started」按鈕的狀態:

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

下列要求會停用「Get Started」按鈕:

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