Meta の Messenger

Meta Messenger インテグレーションを使用すると、エンドユーザーとやり取りする Meta Messenger bot を作成できます。

仕組み

統合の仕組みは次のとおりです。

  • Meta Messenger プラットフォームを使用する Meta アプリを作成します。
  • 会話エージェント(Dialogflow CX)の統合と Meta アプリを構成して、相互に通信できるようにします。
  • 会話エージェント(Dialogflow CX)インテグレーションでは、Meta Messenger API を使用してエンドユーザーにメッセージを送信します。
  • 会話エージェント(Dialogflow CX)インテグレーションは、Messenger プラットフォームの Meta Webhook として機能することで、エンドユーザーからメッセージを受信します。

設定

統合を設定するには:

  1. 手順に沿って Meta アプリを作成します。Meta アプリ開発

  2. Meta Messenger プラットフォームを使用するように Meta アプリを設定します。Messenger プラットフォームの Meta Webhook のドキュメントの手順に沿って、次の操作を行います。

    • Messenger プラットフォームを Meta アプリに追加します。
    • アプリを Meta ページに登録します。ページ登録で messagesmessaging_postbacks が有効になっていることを確認します。
    • このステップでアクセス トークンが提供されます。この値をコピーします。このトークンは、会話エージェント(Dialogflow CX)コンソールから統合を構成するために使用されます。
    • まだ Webhook の構成、または統合のテストは行わないでください。
  3. 会話エージェント(Dialogflow CX)コンソールから統合を構成します。

    1. Dialogflow CX コンソールに移動する。
    2. 左側のパネルで [Manage] タブをクリックします。
    3. 左側のサイドバー メニューで [Integrations] をクリックします。
    4. [Meta Messenger] タイルの [Connect] ボタンをクリックします。
    5. 構成ダイアログが開きます。

      • App secret: [App Dashboard Basic Settings] でアプリ シークレットを入力します。

      • Verify token: 任意のプライベート トークンを入力できます。この値をコピーします。これは Meta Messenger の Webhook を構成するために使用されます。

      • Page access token: 上記の Meta アプリ設定時にコピーしたアクセス トークンを入力します。

      • Enable get started ボタン: Get started ボタン セクションをご覧ください。

      • Webhook URL: この値をコピーします。これは Meta Messenger の Webhook を構成するために使用されます。

      • Start: クリックすると、エージェントのこの統合サービスが開始されます。

  4. Meta アプリのセットアップを完了してテストします。Messenger プラットフォームの Meta Webhook のドキュメントの手順に沿って、次の操作を行います。

    • アプリの Meta の Webhook を構成します。上記でコピーした [Webhook URL] と [Verify token] の値を使用します。ページ登録で、messagesmessaging_postbacks を必ず有効にしてください。
    • アプリをテストします。

イベント

この統合によって、次のイベントが呼び出されます。カスタム イベント ハンドラを作成して、イベントがトリガーされたときのアクションを定義できます。

イベント 説明
FACEBOOK_WELCOME エンドユーザーが Meta Messenger の [Get Started] ボタンをクリックしたときにトリガーされます。
FACEBOOK_MEDIA エンドユーザーのメッセージに添付ファイル(音声、画像、動画など)が含まれている場合にトリガーされます。

Get started ボタン

Meta Messenger の [Get Started] ボタンを設定するには:

  1. この統合サービスを有効にするときに、[Enable get started button] を切り替えます。

    • この統合サービスは、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 のページとの過去の会話を削除する(該当する場合)。

    • [Get Started] ボタンは、新しい会話にのみ表示されます。
  2. Meta ページで新しい会話を開始します。

  3. [Get Started] ボタンをクリックし、カスタム イベント ハンドラからのレスポンスを確認します。

いつでも [Messenger Profile API] を呼び出して [Get Started] ボタンを管理できます。これはテストに役立つ場合があります。

たとえば、次のリクエストは [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}"

リッチ レスポンス メッセージ

リッチ レスポンス メッセージは、フルフィルメントカスタム ペイロードによってサポートされます。メッセージの形式については、Send API パラメータ メッセージ オブジェクトをご覧ください。

たとえば、次のカスタム ペイロードは単純なテキスト メッセージを提供します。

{
  "text": "Hello, world"
}

次のカスタム ペイロードは、画像メッセージを提供します。

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

チャネル固有のレスポンス

チャネル固有のレスポンスを構成すると、エージェントが Meta Messenger のメッセージに応答するときに、チャネル DF_CX_FB_MESSENGER が自動的に使用されます。