統合プラットフォームの多くは、プラットフォーム固有のリッチ レスポンス メッセージをサポートしています。これらのメッセージを使用すると、テキスト以外のレスポンスをエンドユーザーに提供できます。さまざまなレスポンス タイプを使用できます。たとえば、画像の表示や音声の再生を行うことができます。また、ボタンを表示することもできます。各プラットフォームは、使用可能なレスポンス タイプのサブセットをサポートしています。
このデータがある場所
エージェントを作成する際は、Dialogflow ES コンソール(ドキュメントに移動、コンソールを開く)を使用するのが最も一般的です。コンソールの使用方法は次のとおりです。インテントのレスポンス データにアクセスするには、次のようにします。
- Dialogflow ES コンソールに移動します。
- エージェントを選択します。
- 左側のサイドバーのメニューで [Intents] を選択します。
- インテントを選択します。
- [Responses] セクションまで下にスクロールします。
コンソールではなく API を使用してエージェントを作成する場合は、インテントのリファレンスをご覧ください。API のフィールド名はコンソールのフィールド名と同様です。以下の手順では、コンソールと API の間の重要な違いを説明します。
リッチ レスポンス メッセージを追加する
[Responses] セクションには、デフォルト プラットフォームのタブだけでなく、プラットフォームごとのタブが表示されます。すべてのプラットフォームで使用可能な、デフォルト プラットフォームのレスポンスを定義できます。
プラットフォームごとのタブではレスポンスを定義できますが、これらのレスポンスは対応するプラットフォームでのみ機能します。特定のプラットフォームでデフォルト レスポンスを使用することもできます。したがって、すべての重複するテキスト レスポンスをプラットフォーム用に作成する必要はありません。
リッチ レスポンス メッセージを追加するには:
- 目的のプラットフォームのタブを選択します。目的のプラットフォームのタブが表示されていない場合は、追加ボタン(add)をクリックします。
- [Add Responses] ボタンをクリックします。プラットフォームでサポートされているレスポンス タイプがプルダウンで表示されます。
- レスポンス タイプを選択します。詳細は後で説明します。
- 選択したレスポンス タイプのフィールドを入力します。
- 必要であれば、別のプラットフォームのタブとレスポンスを追加します。1 つのタブで最大 10 件までのメッセージを追加できます。
- [保存] をクリックします。
レスポンスでパラメータ参照を使用すると、実行時にエンドユーザーやイベントから提供されるパラメータを参照できます。
テキストのレスポンス
デフォルトでは、テキスト レスポンスはエンドユーザーにテキスト レスポンスを送信します。
テキスト読み上げがエージェントで有効になっている場合や、インテント検出リクエストによってリクエストされる場合は、提供されたテキストが音声の合成と再生に使用されます。この場合、提供されたテキストで必要に応じて音声合成マークアップ言語(SSML)を使用できます。
次のフィールドがあります。
- テキストまたは SSML エントリのリスト
レスポンスを入力するときに、Shift を押しながら Enter を押すと改行が入力されます。別のテキスト レスポンスを入力するには、Enter のみを押します。
次の制限が適用されます。
- テキスト レスポンスあたり、テキスト エントリは最大 300 件
画像のレスポンス
画像のレスポンスでは、エンドユーザーに画像を送信します。次のフィールドがあります。
- 画像の一般公開 URL
カード形式のレスポンス
カード形式のレスポンスでは、画像、カードのタイトル、カードのサブタイトル、インタラクティブなボタンをエンドユーザーに送信します。カードのスタイルはプラットフォームによって異なります。
エンドユーザーを URL に送信するボタンや、事前に構成したテキストを Dialogflow に送信するボタンを構成できます。これらのボタンは、エンドユーザーが表現を提供したかのように機能します。
プラットフォームによっては、一部のフィールドは省略可能です。
- 画像の一般公開 URL
- カードタイトル
- カードのサブタイトル
- 次のフィールドを持つボタンのリスト:
- ボタンのタイトル
- エンドユーザー表現として送信するテキストまたは表示する URL
次の制限が適用されます。
インテントのプラットフォームごとおよび言語ごとに最大 10 枚のカード。たとえば、エージェントが英語、フランス語、プラットフォーム X、プラットフォーム Y をサポートしている場合は、インテントに最大 40 枚のカードを含めることができます。
- プラットフォーム X 用の 10 枚の英語カード
- プラットフォーム Y 用の 10 枚の英語カード
- プラットフォーム X 用の 10 枚のフランス語カード
- プラットフォーム Y 用の 10 枚のフランス語カード
クイック返信のレスポンス
クイック返信のレスポンスでは、エンドユーザーにボタンを送信します。エンドユーザーが表現を提供したかのように、事前構成されたテキストを Dialogflow に送信するボタンを構成できます。
次のフィールドがあります。
- ボタンのタイトル
- エンドユーザー表現として送信するテキスト エントリのリスト
次の制限が適用されます。
1 つのインテントのプラットフォームごとおよび言語ごとに、最大 1 件のクイック返信レスポンス。たとえば、エージェントが英語、フランス語、プラットフォーム X、プラットフォーム Y をサポートしている場合は、インテントに最大 4 件のクイック返信を含めることができます。
- プラットフォーム X 用の 1 件の英語クイック返信
- プラットフォーム Y 用の 1 件の英語クイック返信
- プラットフォーム X 用の 1 件のフランス語クイック返信
- プラットフォーム Y 用の 1 件のフランス語クイック返信
クイック返信レスポンスごとに最大 10 件のテキスト エントリ。
テキスト エントリごとに最大 20 文字。
音声合成のレスポンス
音声合成のレスポンスは、テキスト レスポンスから音声を合成し、音声を再生するために使用されます。提供されたテキストで、必要に応じて音声合成マークアップ言語(SSML)を使用できます。
次のフィールドがあります。
- テキストまたは SSML
次の制限が適用されます。
- Dialogflow Phone Gateway 統合でのみサポート
- インテントごとに最大 20 件の音声合成レスポンス
音声再生のレスポンス
音声再生のレスポンスは、音声ファイルの再生に使用されます。音声ファイルは Cloud Storage バケットで指定されます。
次のフィールドがあります。
gs://bucket-name/object-name
フォーマットの Cloud Storage オブジェクト URI。
次の制限が適用されます。
- Dialogflow Phone Gateway 統合でのみサポート
- 音声ファイルの仕様: 単一チャンネル(モノラル)の 8 kHz リニア PCM オーディオ(2 バイト / サンプル)
- インテントごとに最大 20 件の音声再生レスポンス
通話転送のレスポンス
通話転送のレスポンスは、テレフォニー統合のために発信者を転送するために使用されます。
次のフィールドがあります。
- 転送先の電話番号。
次の制限が適用されます。
Dialogflow Phone Gateway 統合でのみサポート
米国の電話番号でのみサポート
カスタム ペイロードのレスポンス
プラットフォームによっては、標準外の高度なレスポンスを処理するカスタム ペイロード レスポンスがサポートされています。これらのカスタム ペイロードは、プラットフォームのドキュメントで定義されている JSON 形式で提供されます。
開発した統合にカスタム ペイロードを送信することもできます。これは Dialogflow で処理されないので、独自のビジネス ロジックで処理する必要があります。
複数のプラットフォームで使用できるカスタム ペイロードを構成できます。このようなペイロードを構成するには、デフォルトのプラットフォームおよび次のような JSON 形式を使用します。
{
"facebook": {
"attachment": {
"type": "",
"payload": {}
}
},
"slack": {
"text": "",
"attachments": []
}
}
Google アシスタント レスポンス タイプ
Google アシスタントとの統合により、さまざまなレスポンス メッセージ タイプが提供されます。詳細については、Google アシスタントのレスポンス リファレンスをご覧ください。
その他のレスポンス タイプ
この他にも、さまざまなプラットフォームでサポートされているメッセージ タイプがあります。詳細なリストについては、レスポンス メッセージ REST リファレンスをご覧ください。詳しくは、プラットフォーム統合のドキュメントをご覧ください。