Facebook の Messenger

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

仕組み

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

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

設定

統合を設定するには:

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

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

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

    1. Dialogflow ES コンソールに移動します。
    2. 左側のサイドバー メニューで [Integrations] をクリックします。
    3. [Facebook Messenger] をクリックします。
    4. 構成ダイアログが開きます。

      • Integration toggle: ダイアログの上部にある、統合切り替えを使用して統合を有効にします。
      • 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] の値を使用します。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
  }
}

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"
          }
        }
      }
    }