Facebook の Messenger

Dialogflow と Facebook Messenger の統合を使用すると、Facebook Messenger のボットを作成してエンドユーザーとやり取りできます。

制限事項

この統合では、 デフォルトのエージェント言語のみがサポートされます。

仕組み

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

  1. Facebook Messenger プラットフォームを使用する Facebook アプリを作成します
  2. Dialogflow の統合と Facebook アプリを構成して、相互に通信できるようにします。
  3. Dialogflow の統合では、 Facebook Messenger API を使用してエンドユーザーにメッセージを送信します。
  4. Dialogflow の統合は、 Facebook Messenger の Webhookとして機能することで、エンドユーザーからメッセージを受信します。

設定

統合を設定するには:

  1. Facebook アプリ開発の手順に沿って Facebook アプリを作成します: Facebook アプリ開発

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

    • Messenger プラットフォームを Facebook アプリに追加します。
    • アプリを Facebook ページに登録します。このステップでアクセス トークンが提供されます。この値をコピーします。このトークンは、Dialogflow コンソールから統合を構成するために使用されます。
    • まだ Webhook の構成、または統合のテストは行わないでください。
  3. Dialogflow コンソールから統合を構成します。

    1. Dialogflow ES コンソールに移動します。
    2. サイドバー メニューで [Integrations] をクリックします。
    3. [Facebook Messenger] をクリックします。
    4. 構成ダイアログが開きます。
      • Show old callback URL: この切り替えが表示されている場合、デフォルトでオフになっています。これは、Facebook Messenger API の最近の変更に対応するための一時的なオプションです。Dialogflow サポートの指示がない限り、この切り替えは変更しないでください。すべてのエージェントが更新された後、このオプションは削除されます。
      • Callback URL: この値をコピーします。これは Facebook Messenger の Webhook を構成するために使用されます。
      • Verify Token: 必要なプライベート トークンを入力できます。この値をコピーします。これは Facebook Messenger の Webhook を構成するために使用されます。
      • Page Access Token: Facebook ページの作成時にコピーしたアクセス トークンを入力します。
      • Start: クリックすると、エージェントのこの統合サービスが開始されます。
  4. 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
  }
}

message の代わりに、Facebook Messenger の 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"
          }
        }
      }
    }