Dialogflow と Facebook Messenger の統合を使用すると、Facebook Messenger のボットを作成してエンドユーザーとやり取りできます。
制限事項
この統合では、デフォルトのエージェント言語のみがサポートされます。
仕組み
統合の仕組みは次のとおりです。
- Facebook Messenger プラットフォームを使用する Facebook アプリを作成します。
- Dialogflow の統合と Facebook アプリを構成して、相互に通信できるようにします。
- Dialogflow の統合では、Facebook Messenger API を使用してエンドユーザーにメッセージを送信します。
- Dialogflow の統合は、Facebook Messenger の Webhook として機能することで、エンドユーザーからメッセージを受信します。
設定
統合を設定するには:
Facebook アプリ開発の手順に沿って Facebook アプリを作成します。
Facebook Messenger プラットフォームを使用するように Facebook アプリを設定します。Facebook アプリの設定ドキュメントの手順に沿って次の操作を行います。
- Messenger プラットフォームを Facebook アプリに追加します。
- アプリを Facebook ページに登録します。このステップでアクセス トークンが提供されます。この値をコピーします。このトークンは、Dialogflow コンソールから統合を構成するために使用されます。
- まだ Webhook の構成、または統合のテストは行わないでください。
Dialogflow コンソールから統合を構成します。
- Dialogflow ES コンソールに移動します。
- 左側のサイドバー メニューで [Integrations] をクリックします。
- [Facebook Messenger] をクリックします。
構成ダイアログが開きます。
- Show old callback URL: この切り替えが表示されている場合、デフォルトでオフになっています。これは、Facebook Messenger API の最近の変更に対応するための一時的なオプションです。Dialogflow サポートの指示がない限り、この切り替えは変更しないでください。すべてのエージェントが更新された後、このオプションは削除されます。
- Callback URL: この値をコピーします。これは Facebook Messenger の Webhook を構成するために使用されます。
- Verify Token: 任意のプライベート トークンを入力できます。この値をコピーします。これは Facebook Messenger の Webhook を構成するために使用されます。
- Page Access Token: Facebook ページの作成時にコピーしたアクセス トークンを入力します。
- Start: クリックすると、エージェントのこの統合サービスが開始されます。
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" } } } }