応答タイプ・リファレンス
JSON エディターを使用すれば、多種多様なタイプの応答を指定できます。 JSONエディタを使用して、顧客クエリへの応答を指定できます。 JSONエディタにJSONスクリプトを追加すると、 AIアシスタントはJSONスクリプトに記載された応答形式を使用します。
詳細については、 「JSONエディタを使用したレスポンスの定義」 を参照してください。
アクションAPIとメッセージAPIの変数が実行時に異なる場合、アクションAPIとメッセージAPIのレスポンス・タイプのフォーマットも異なる。 以下の例は、message APIとJSONエディタを使用した場合のレスポンス・タイプ・フォーマットの違いを示しています。
メッセージAPIからのテキスト応答が以下の形式の場合: > { "response_type": "text", "text": "Hello world" }
すると、 AIアシスタントは実際のテキストメッセージを、たった1つの手順 Hello worldで表示します。
JSONアクションエディターからのテキストレスポンスが以下のフォーマットである場合:
{
"generic": [
{
"response_type": "text",
"values": [
{
"text_expression": {
"concat": [
{
"scalar": "Hi, "
},
{
"variable": "step_472"
},
{
"scalar": ". How can I help you?"
}
]
}
}
],
"selection_policy": "sequential"
}
]
}
その後、 AIアシスタントは の実際の値を variable 配列 values 内の他の項目と組み合わせて、応答を表示します。 たとえば、が「Bob」という値をとった step_472 場合、 AIアシスタントはを表示します Hi, Bob. How can I help you?。
実行時のレスポンス・タイプの表示
AIアシスタントのAPIドキュメントを参照すれば、 レスポンスの種類やAPIの詳細を確認できます。
例えば、ランタイム・レスポンス・タイプを表示するには、以下のようにする:
レスポンス・セクションで、出力の「
MessageOutput」をクリックすると、一般的なセクションが表示される。genericセクションで「RuntimeResponseGeneric[]」をクリックする。One ofドロップダウンでオプションを選択します。
選択したオプションの詳細を表示するには、「One of」をクリックする。

JSON エディターでは、以下の応答タイプがサポートされます。
audio
URL で指定したオーディオクリップを再生します。
統合チャネル・サポート
Webチャット | 電話番号 | SMS | Slack | ||
|---|---|---|---|---|---|
一部のチャネル統合では、音声のタイトルや説明が表示されません。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
ソース | ストリング |
| Y |
タイトル | ストリング | オーディオ・プレイヤーの前に表示するタイトル。 | N |
説明 | ストリング | オーディオ・プレイヤーに付属する説明のテキスト。 | N |
alt_text | ストリング | スクリーン・リーダーや、オーディオ・プレイヤーを表示できないその他の状況で使用できる説明テキスト。 | N |
channel_options.voice_telephony.loop | ストリング | オーディオクリップを無期限に繰り返すかどうか(電話統合のみ)。 | N |
source プロパティで指定される URL は、以下のいずれかのタイプである:
任意の標準フォーマットの音声ファイル (MP3 や WAV など) の URL。 ウェブチャットでは、リンクされたオーディオクリップは埋め込まれたオーディオプレーヤーとしてレンダリングされます。
サポートされるストリーミング・サービス上の音声クリップの URL。 ウェブチャットでは、リンクされたオーディオクリップは、ホスティングサービスの埋め込み可能なプレーヤーを使ってレンダリングされます。
ブラウザで音声ファイルにアクセスする際に使用する URL を指定します(例: https://soundcloud.com/ibmresearchfallen-star-amped )。ウェブチャットは自動的に URL を埋め込み可能な形式に変換します。
サポートされているサービスでホストされているオーディオを埋め込むことができます:
電話統合の場合は、PCM エンコードされたシングル・チャネル (モノラル) の音声ファイルを指定しなければなりません。この音声ファイルは、サンプルあたり 16 ビットで、8,000 Hz でサンプリングされたものでなければなりません。
例
この例では、タイトルと説明テキストを使用してオーディオ・クリップを再生します。
{
"generic":[
{
"response_type": "audio",
"source": "https://example.com/audio/example-file.mp3",
"title": "Example audio file",
"description": "An example audio clip returned as part of a multimedia response."
}
]
}
button
ユーザーがタスクを完了するのを助けるインタラクティブなボタンを表示する。
統合チャネル・サポート
WebChat |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
ラベル | ストリング | ボタンのラベル | Y |
ボタンタイプ | ストリング | ボタンの種類。 例えば、' | Y |
種類 | ストリング | ボタンの種類 例えば、「 | N |
image_url | ストリング | ボタンとしてレンダリングする画像のURL。 | N |
alt_text | ストリング | アクセシビリティのために画像にラベル付けする代替テキスト。 | N |
post_back ボタンの種類
ユーザーが post_back ボタンをクリックすると、 AI アシスタントに応答が送信されます。 送信するレスポンスを設定するには、`` プロパティ value と `` label プロパティの両方を使用できます。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
値 | オブジェクト | ユーザーがオプションを選択した際に、 WebChat がAIアシスタントサービスに送信する応答を定義します。 注: を定義 | N |
例
以下の例は、ユーザーがボタンをクリックした際に、入力されたテキストを AIアシスタントに送信するボタンのJSON設定を示しています。
{
"response_type": "button",
"button_type": "post_back",
"label": "Send message",
"value": {
"input": {
"text": "[Message to send]"
}
}
}
custom_event ボタンの種類
ユーザーが'custom_eventボタンをクリックすると、ユーザー定義データと一緒に設定したカスタムイベントがトリガーされます。 カスタムコードを使用して、希望する動作を実現するイベントを作成する必要があります。 ウェブチャットでは、'messageItemCustomイベントを使用して、ユーザーがボタンをクリックしたときに希望の動作を適用することができます。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
カスタムイベント名 | ストリング | ユーザーがボタンをクリックしたときにトリガーされるカスタムイベントの名前。 Webチャットでは、ユーザーがボタンを | Y |
user_defined | オブジェクト | カスタム・イベントに付随するユーザー定義データ。 | N |
例
次の例では、JSONスクリプトを使用して、ボタンがクリックされたときにアラートをトリガーします。
{
"response_type": "button",
"button_type": "custom_event",
"label": "Alert",
"kind": "danger",
"custom_event_name": "trigger_alert",
"user_defined": {
"message": "[Alert message]"
}
}
show_panel ボタンの種類
ユーザーがボタンを show_panel クリックすると、 AIアシスタントがパネルを開き、ユーザーはそのパネルを使って追加情報を確認したり、タスクを完了したりすることができます。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
パネル | ストリング | パネルの内容を定義するオブジェクト。 | Y |
panel.title | ストリング | パネルのタイトル | N |
panel.show_animations | ブール値 | ユーザーがパネルを開いたり閉じたりするときに、パネルのアニメーションを有効または無効にするオブジェクト。 デフォルト値は次のとおりです。 | Y |
panel.body[] | リスト | リッチなビジュアル・コンテンツを作成するためのレスポンス・タイプのリスト。 リストには最大10種類のレスポンスが登録できる。 対応するレスポンスタイプ: ' | Y |
panel.footer[] | リスト |
| N |
例
次の例では、JSONスクリプトを使用して、商品詳細パネルを開くボタンを作成しています:
{
"response_type": "button",
"button_type": "show_panel",
"label": "See details",
"kind": "secondary",
"panel": {
"title": "[Product name]",
"show_animations": true,
"body": [
{
"response_type": "image",
"source": "https://example.com/image.jpg"
},
{
"response_type": "text",
"text": "[Product details]"
}
]
}
}
url ボタンの種類
ユーザーが'urlボタンをクリックすると、urlフィールドに移動し、目的地のurlを追加します。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
URL | ストリング | ボタンの移動先URL。 | Y |
ターゲット | ストリング | URLをブラウザで開く場所。 例: | N |
例
この例では、ボタンをクリックするとibmibm.comに移動するボタンを表示しています。
{
"response_type": "button",
"button_type": "url",
"label": "Visit ibm.com",
"url": "https://www.ibm.com"
}
card
cardユーザーの情報体験を向上させるビジュアルコンテンツ。
統合チャネル・サポート
WebChat |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
body[] | リスト | リッチコンテンツを作成するためのレスポンスタイプのリスト。 リストには最大10種類のレスポンスが登録できる。 対応するレスポンスタイプ:「 | Y |
フッター[] | リスト |
| N |
cardはパネルにレンダリングできるが、ボタンを持つことはできない。
例
次の例は、「card応答タイプを構築するための基本構造を示している:
{
"response_type": "card",
"body": [
{
"response_type": "text",
"text": "# Heading"
},
{
"response_type": "text",
"text": "body"
}
]
}
carousel
リッチな内容のカードを提示するための「carousel。 カルーセル内にカードが1枚しかない場合、ウェブチャット統合はカルーセル内のカードの代わりにカードをレンダリングします。
統合チャネル・サポート
WebChat |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
items[] | リスト |
| Y |
例
次の例は、「carousel応答タイプを構築するための基本構造を示している:
{
"response_type": "carousel",
"items": [
{
"response_type": "card",
"body": [
{
"response_type": "text",
"text": "# Heading"
},
{
"response_type": "text",
"text": "body"
}
]
},
{
"response_type": "card",
"body": [
{
"response_type": "text",
"text": "# Heading"
},
{
"response_type": "text",
"text": "body"
}
]
}
]
}
channel_transfer
別のチャネル統合に会話を転送する。 現在、ウェブチャット統合のみがチャネル転送の対象としてサポートされています。
統合チャネル・サポート
電話番号 | SMS | Slack | ||
|---|---|---|---|---|
記載されているチャネル連携機能は、チャネルへの転送の「開始」をサポートしています(現時点では、Webチャット連携のみが転送先としてサポートされています)。
電話統合からチャネル転送を開始するには、SMS統合も設定されている必要があります。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
message_to_user | ストリング | 転送を開始するためのリンクの前にユーザーに表示するメッセージ。 | Y |
transfer_info | オブジェクト | 会話を別のチャネルに転送するために統合によって使用される情報。 | Y |
transfer_info.target.chat | ストリング | URL は、会話が転送されるウェブチャットをホストするウェブサイトの名前です。 | Y |
例
この例ではWhatsAppからウェブチャットへの転送をリクエストします。 channel_transfer 応答に加えて、転送後に Web チャット統合によって表示される text 応答も出力に含まれます。 channels配列を使用することで、'channel_transferレスポンスはWhatsAppインテグレーション(転送前)のみで処理され、'connect_to_agentレスポンスはウェブチャットインテグレーション(転送後)のみで処理される。
{
"generic": [
{
"response_type": "channel_transfer",
"channels": [
{
"channel": "whatsapp"
}
],
"message_to_user": "Click the link to connect with an agent using our website.",
"transfer_info": {
"target": {
"chat": {
"url": "https://example.com/webchat"
}
}
}
},
{
"response_type": "connect_to_agent",
"channels": [
{
"channel": "chat"
}
],
"message_to_human_agent": "User asked to speak to an agent.",
"agent_available": {
"message": "Please wait while I connect you to an agent."
},
"agent_unavailable": {
"message": "I'm sorry, but no agents are online at the moment. Please try again later."
},
"transfer_info": {
"target": {
"zendesk": {
"department": "Payments department"
}
}
}
}
]
}
connect_to_agent
ヘルプのため、会話をライブ・エージェントに転送します。 サービス・デスク・サポートは、チャネル統合用に構成されていなければなりません。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
message_to_human_agent | ストリング | 会話の転送先のライブ・エージェントに表示するメッセージ。 | Y |
agent_available | ストリング | エージェントが使用可能な場合にユーザーに表示するメッセージ。 | Y |
agent_unavailable | ストリング | 使用可能なエージェントがない場合にユーザーに表示するメッセージ。 | Y |
transfer_info | オブジェクト | ウェブチャットサービスデスク統合が転送をルーティングするために使用する情報。 | N |
transfer_info.target.zendesk.department | ストリング | Zendesk アカウントの有効な部門です。 | N |
transfer_info.target.salesforce.button_id | ストリング | Salesforce デプロイメントからの有効なボタン ID。 | N |
例
この例では、ライブエージェントへの転送を要求し、転送時にユーザーとエージェントの両方に表示されるメッセージを指定する。
{
"generic": [
{
"response_type": "connect_to_agent",
"message_to_human_agent": "User asked to speak to an agent.",
"agent_available": {
"message": "Please wait while I connect you to an agent."
},
"agent_unavailable": {
"message": "I'm sorry, but no agents are online at the moment. Please try again later."
}
}
]
}
date
顧客が日付の値を指定するために使用できるインタラクティブな日付ピッカーを使用します。
統合チャネル・サポート
Webチャット |
|---|
Web チャットでは、顧客は、対話式日付ピッカーをクリックするか、または入力フィールドに日付値を入力することにより、日付値を指定できます。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
例
この例では、ユーザーに日付を指定するよう求めるテキスト応答を送信し、対話型の日付ピッカーを表示します。
{
"generic": [
{
"response_type": "text",
"text": "What day will you be checking in?"
},
{
"response_type": "date"
}
]
}
dtmf
デュアル・トーン・マルチ周波数(DTMF)信号で入力または出力を制御するために、電話統合にコマンドを送信します。 (DTMFは、ユーザーがプッシュボタン式電話のキーを押したときに発生するトーンを送信するプロトコルである)
統合チャネル・サポート
電話番号 |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
command_info | オブジェクト | 電話統合に送信する DTMF コマンドを指定する情報。 | Y |
command_info.type | ストリング | 送信する DTMF コマンド ( | Y |
command_info.parameters | オブジェクト | 「電話対応」 を参照してください。 | N |
command_info.type フィールドには、以下のサポートされるコマンドのいずれかを指定できます。
collect: DTMF キーパッド入力を収集します。disable_barge_in: DTMF バージインを無効にして、お客様がキーを押したときに電話統合からの再生が中断されないようにします。enable_barge_in: DTMF バージインを有効にして、お客様がキーを押して電話統合からの再生を中断できるようにします。send: DTMF シグナルを送信します。
これらの各コマンドの使用方法について詳しくは、電話対話の処理を参照してください。
例
この例は、DTMF 入力を収集するために使用される、collect コマンドによる dtmf 応答タイプを示しています。 詳細については、電話でのやり取りの処理を参照してください。
{
"generic": [
{
"response_type": "dtmf",
"command_info": {
"type": "collect",
"parameters": {
"termination_key": "#",
"count": 16,
"ignore_speech": true
}
},
"channels": [
{
"channel": "voice_telephony"
}
]
}
]
}
end_session
セッションを終了するコマンドをチャンネルに送る。 この応答タイプは、通話を切断するように電話統合に指示します。
統合チャネル・サポート
電話番号 | SMS |
|---|---|
SMS連携では、action
terminateSessionコマンドを使用してセッションを終了することができます。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
電話統合の場合、channel_options オブジェクトを使用して、生成される SIP BYE 要求にカスタム・ヘッダーを組み込むことができます。 詳しくは、呼び出しを終了する を参照してください。
例
この例では、end_session 応答タイプを使用して会話を終了します。
{
"generic": [
{
"response_type": "end_session"
}
]
}
grid
ユーザーに消費してもらいたい情報を伝えるコンテンツを提示するために必要なレイアウトを柔軟に作成できます。
統合チャネル・サポート
WebChat |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
水平アライメント | ストリング | グリッド内のすべての項目の水平アライメント( | N |
垂直アライメント | ストリング | グリッド内のすべての項目の垂直アライメント( | N |
columns[] | リスト | 列のリスト。 リストには最大5列まで入れることができる。 各カラムは8pxのスペースで区切られている。 | N |
列[].幅 | ストリング | 列の幅。 幅の値は、数値(例: | Y |
rows[] | リスト | 行のリスト。 リストには最大5行まで入れることができる。 各行は8pxのスペースで区切られている。 | Y |
rows[].cells[] | リスト | 行のセルのリスト。 各セルは行の列である(例えば、セル1は行の列1)。 セルの幅は列の幅に等しい。 | Y |
rows[].cells[].items[] | リスト | 回答型項目のリスト。 各項目は、 8px のスペースで区切られています。 リストには、最大5つの回答型項目を含めることができます。 対応する応答タイプ項目は、「 | Y |
rows[].cells[].horizontal_alignment | ストリング | セル内の項目の水平アライメント( | N |
rows[].cells[].vertical_alignment | ストリング | セル内の項目の垂直アライメント( | N |
例
次の例は、「grid応答タイプを構築するための基本構造を示している:
{
"response_type": "grid",
"columns": [
{
"width": "1"
},
{
"width": "1"
}
],
"rows": [
{
"cells": [
{
"items": [
{
"response_type": "text",
"text": "row 1 cell 1"
}
]
},
{
"items": [
{
"response_type": "text",
"text": "row 1 cell 2"
}
]
}
]
},
{
"cells": [
{
"items": [
{
"response_type": "text",
"text": "row 2 cell 1"
}
]
},
{
"items": [
{
"response_type": "text",
"text": "row 2 cell 2"
}
]
}
]
}
]
}
iframe
外部 Web サイトからのコンテンツを HTML iframe 要素として埋め込みます。
統合チャネル・サポート
Webチャット | |
|---|---|
現在、Web チャット統合は
descriptionプロパティーとimage_urlプロパティーを無視します。 代わりに、説明とプレビューの画像が実行時にソースから動的に取得されます。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
ソース | ストリング | 外部コンテンツの URL です。 URL は、HTML | Y |
タイトル | ストリング | 埋め込みコンテンツの前に表示するタイトル。 | N |
説明 | ストリング | 埋め込まれたコンテンツに付随する説明のテキスト。 | N |
image_url | ストリング | 組み込まれたコンテンツのプレビューを表示するイメージの URL。 | N |
channel_options.chat.display | ストリング | ウェブチャットがレスポンスタイプ( | N |
channel_options.chat.dimensions.base_height | 番号になります | コンテンツを特定の表示サイズに拡大縮小するために使用するベースとなる高さ(ピクセル単位)。 このプロパティは、' | N |
サイトによって、コンテンツの組み込みに関する制限が異なります。また、組み込み可能 URL を生成するためのプロセスも異なります。 組み込み可能 URL とは、src 属性 (iframe エレメント) の値として指定できる URL のことです。
例えば、GoogleMapsでインタラクティブマップを埋め込むには、GoogleMaps Embed APIを使います。 (詳細については、 「Maps Embed API の概要」 を参照してください。) 他のサイトには、組み込み可能コンテンツを作成するためのさまざまなプロセスがあります。
ウェブサイトのコンテンツを埋め込めるように Content-Security-Policy: frame-src するための技術的な詳細については、「 CSP: frame-src」 を参照してください。
例
次の例では、タイトルと説明を含むiframeを埋め込んでいます。
{
"generic":[
{
"response_type": "iframe",
"source": "https://example.com/embeddable/example",
"title": "Example iframe",
"description": "An example of embeddable content returned as an iframe response.",
"channel_options": {
"chat": {
"display": "inline",
"base_height": 180
}
}
}
]
}
image
URL で指定された画像を表示する。
統合チャネル・サポート
Webチャット | SMS | Slack | Ms Teams | ||
|---|---|---|---|---|---|
一部のチャネル統合では、画像のタイトルや説明が表示されません。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
ソース | ストリング | イメージの | Y |
タイトル | ストリング | イメージの前に表示するタイトル。 | N |
説明 | ストリング | イメージに付随する説明テキスト。 | N |
alt_text | ストリング | スクリーン・リーダーや、イメージを表示できないその他の状況で使用できる説明テキスト。 | N |
例
次の例は、イメージとタイトルおよび説明テキストを表示します。
{
"generic":[
{
"response_type": "image",
"source": "https://example.com/image.jpg",
"title": "Example image",
"description": "An example image returned as part of a multimedia response."
}
]
}
option
ユーザーが選択できる一連のオプション(ボタンやドロップダウンリストなど)を表示するために使用します。 選択された値は、ユーザー入力として AIアシスタントに送信されます。 ステップで 「オプション 」の顧客応答タイプを選択すると、応答 options が自動的に定義されます。 詳細については、 「顧客からの情報の収集」 を参照してください。
統合チャネル・サポート
Webチャット | 電話番号 | SMS | Slack | Ms Teams | ||
|---|---|---|---|---|---|---|
選択肢の提示方法は、チャネル統合によって異なる。
preferenceフィールドは可能であればサポートされますが、すべてのチャネルがドロップダウン・リストやボタンをサポートするわけではありません。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
タイトル | ストリング | オプションの前に表示するタイトル。 | Y |
説明 | ストリング | オプションに付随する説明テキスト。 | N |
優先 | ストリング | 優先的に表示されるコントロールのタイプ。ただしチャネルによってサポートされる場合 ( | N |
オプション | リスト | ユーザーが選択できるオプションを指定するキーと値のペアのリスト。 | Y |
options[].label | ストリング | ユーザーに対して表示されるオプションのラベル。 | Y |
options[].value | オブジェクト | ユーザーがオプションを選択した場合に、 AIアシスタントビルダー サービスへ送信される応答を定義するオブジェクト。 | Y |
options[].value.input | オブジェクト | オプションに対応するメッセージ入力(入力テキストおよび AIアシスタントビルダー のメッセージの有効な構成要素となるその他のフィールドを含む)を格納するオブジェクト。 詳細については、 APIリファレンスを参照してください。 | N |
例
この例では、2 つのオプション (Buy something と Exit) が示されています。
{
"generic":[
{
"response_type": "option",
"title": "Choose from the following options:",
"preference": "button",
"options": [
{
"label": "Buy something",
"value": {
"input": {
"text": "Place order"
}
}
},
{
"label": "Exit",
"value": {
"input": {
"text": "Exit"
}
}
}
]
}
]
}
pause
チャネルへの次のメッセージの前に一時停止し、オプションで "user is typing" イベントを送信する (サポートしているチャネルの場合)。
統合チャネル・サポート
Webチャット | ||
|---|---|---|
電話連携機能を利用すれば、 AIアシスタントの出力にSSML
break要素を含めることで、一時停止を追加することができます。 詳細については、 『 Text to Speech 』のドキュメントを参照してください。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
時間 | int | 一時停止する時間 (ミリ秒単位)。 | Y |
タイピング | ブール値 | 一時停止の際に「user is typing」イベントを送信するかどうか。 チャネルがこのイベントをサポートしない場合には無視されます。 | N |
例
この例では、"user is typing "イベントを送信し、5秒間休止する。
{
"generic":[
{
"response_type": "pause",
"time": 5000,
"typing": true
}
]
}
speech_to_text
電話連携で使用されている Speech to Text サービスインスタンスにコマンドを送信します。 これらのコマンドは、会話中にサービスの構成または動作を動的に変更できます。
統合チャネル・サポート
電話番号 |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
command_info | オブジェクト | Speech to Text に送信するコマンドを指定する情報。 | Y |
command_info.type | ストリング | 送信するコマンド (現在は | Y |
command_info.parameters | オブジェクト | 「 Speech to Text サービスへの詳細設定の適用」 を参照してください | N |
command_info.type フィールドには、以下のサポートされるコマンドのいずれかを指定できます。
configure: ` Speech to Text `の設定を動的に更新します。 構成変更は、次の会話ターンにのみ適用することも、セッションの残りの部分にのみ適用することもできます。
このコマンドの使用方法については、 「 Speech to Text サービスへの詳細設定の適用」 を参照してください。
例
この例では、` configure command` とともに ` speech_to_text response` タイプを使用し、 Speech to Text サービスの言語モデルをスペイン語に変更し、スマートフォーマットを有効にします。
{
"generic": [
{
"response_type": "speech_to_text",
"command_info": {
"type": "configure",
"parameters": {
"narrowband_recognize": {
"model": "es-ES_NarrowbandModel",
"smart_formatting": true
}
}
},
"channels":[
{
"channel": "voice_telephony"
}
]
}
]
}
start_activities
チャネル統合にコマンドを送信して、そのチャネルに固有の 1 つ以上のアクティビティーを開始します。 このレスポンス・タイプを使用して、以前に「stop_activitiesレスポンス・タイプで停止したアクティビティを再開することができる。
統合チャネル・サポート
電話番号 |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
アクティビティー | リスト | 開始するアクティビティを特定するオブジェクトのリスト。 | Y |
アクティビティ[].タイプ | ストリング | 開始するアクティビティーの名前です。 | Y |
現在、電話統合の以下のアクティビティーを開始できます。
speech_to_text_recognition:音声を認識します。 Speech to Text サービスへのオーディオストリーミングが再開されました。dtmf_collection: 受信DTMF信号を処理する。
例
この例では、start_activities 応答タイプを使用して、音声認識を再開します。 このコマンドは電話統合に固有であるため、channels プロパティーは voice_telephony のみを指定します。
{
"generic": [
{
"response_type": "start_activities",
"activities": [
{
"type": "speech_to_text_recognition"
}
],
"channels":[
{
"channel": "voice_telephony"
}
]
}
]
}
stop_activities
チャネル統合にコマンドを送信して、そのチャネルに固有の 1 つ以上のアクティビティーを停止します。 start_activities応答タイプで再開されるまで、アクティビティは停止したままである。
統合チャネル・サポート
電話番号 |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
アクティビティー | リスト | 停止するアクティビティを特定するオブジェクトのリスト。 | Y |
アクティビティ[].タイプ | ストリング | 停止するアクティビティーの名前です。 | Y |
現在、電話統合の以下のアクティビティーを停止できます。
speech_to_text_recognition: 音声認識を停止します。 Speech to Text サービスへのすべてのオーディオストリーミングが停止されました。dtmf_collection: インバウンド DTMF シグナルの処理を停止します。
例
この例では、stop_activities 応答タイプを使用して、音声認識を停止します。 このコマンドは電話統合に固有であるため、channels プロパティーは voice_telephony のみを指定します。
{
"generic": [
{
"response_type": "stop_activities",
"activities": [
{
"type": "speech_to_text_recognition"
}
],
"channels":[
{
"channel":"voice_telephony"
}
]
}
]
}
table
表形式のレスポンスは、ヘッダーとセルを備えた行と列で構成される構造化されたデータを表示します。
統合チャネル・サポート
Webチャット |
|---|
性質と定義
プロパティー | 説明 | タイプ | 必須 |
|---|---|---|---|
| テーブルのタイトル。 | ストリング | いいえ |
| テーブルの簡単な説明。 | ストリング | いいえ |
| カラムヘッダの配列。 | アレイ | はい |
| それぞれがセルの配列を含む行の配列。 | アレイ | はい |
| 行の各セルのデータ。 | アレイ | はい |
各行にはヘッダーと同じ数のセルがなければならない。 セルとヘッダ間の不一致は、テーブルをレンダリングしようとしたときにウェブチャットがエラーを投げる原因となります。
例
この例では、構造化データをテーブルに表示する。
{
"generic": [
{
"response_type": "table",
"title": "Data Table",
"description": "A table with data",
"headers": ["Column 1", "Column 2"],
"rows": [
{
"cells": ["Row 1, Column 1", "Row 1, Column 2"]
},
{
"cells": ["Row 2, Column 1", "22"]
}
]
}
]
}
text
テキストが表示されます (電話統合の場合は、テキストが読み上げられます)。 種類を増やすために、複数の代替テキスト応答を指定できます。 複数の応答を指定する場合、リスト全体の中で順番に繰り返す方法、ランダムに応答を選択する方法、または指定された応答をすべて出力する方法のいずれかを選択できます。
統合チャネル・サポート
Webチャット | 電話番号 | SMS | Slack | ||
|---|---|---|---|---|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
価値 | リスト | テキスト応答を定義する1つ以上のオブジェクトのリスト。 | Y |
values.[_n_].text_expression | オブジェクト | レスポンスのテキストを記述するオブジェクト。 | N |
values.[_n_]。 text_expression.concat | リスト | テキスト応答のコンポーネントを形成するオブジェクトのリスト。 このオブジェクトには、スカラー・テキスト・ストリング、および変数の参照を含めることができます。 | N |
selection_policy | ストリング | 複数の応答が指定されている場合に、リストから応答を選択する方法。 可能な値は、 | N |
デリミッター | ストリング | 複数の応答間の区切り記号として出力する区切り文字。 | N |
例
この例では、ユーザーに挨拶メッセージを表示する。
{
"generic": [
{
"response_type": "text",
"values": [
{
"text_expression": {
"concat": [
{
"scalar": "Hi, "
},
{
"variable": "step_472"
},
{
"scalar": ". How can I help you?"
}
]
}
}
],
"selection_policy": "sequential"
}
]
}
text_to_speech
電話連携で使用されている Text to Speech サービスインスタンスにコマンドを送信します。 これらのコマンドは、会話中にサービスの構成または動作を動的に変更できます。
統合チャネル・サポート
電話番号 |
|---|
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
command_info | オブジェクト | Text to Speech に送信するコマンドを指定する情報。 | Y |
command_info.type | ストリング | 送信するコマンド ( | Y |
command_info.parameters | オブジェクト | 「 Text to Speech サービスへの詳細設定の適用」 を参照してください | N |
command_info.type フィールドには、以下のサポートされるコマンドのいずれかを指定できます。
configure: ` Text to Speech `の設定を動的に更新します。 構成変更は、次の会話ターンにのみ適用することも、セッションの残りの部分にのみ適用することもできます。disable_barge_in: 音声バージインを無効にして、お客様が話すときに電話統合からの再生が中断されないようにします。enable_barge_in: 音声バージインを有効にして、お客様が話すことによって電話統合からの再生を中断できるようにします。
これらの各コマンドの使用方法の詳細については、 「 Text to Speech サービスへの詳細設定の適用」 を参照してください。
例
この例では、 Text to Speech サービスで使用される音声を変更するために、` configure command` コマンドと ` text_to_speech response` タイプを使用しています。
{
"generic": [
{
"response_type": "text_to_speech",
"command_info": {
"type": "configure",
"parameters" : {
"synthesize": {
"voice": "en-US_LisaVoice"
}
}
},
"channels":[
{
"channel": "voice_telephony"
}
]
}
]
}
user_defined
クライアントまたは統合が処理方法を知っている任意のJSONデータを持つカスタムレスポンスタイプ。 たとえば、特別なカードを表示するようにウェブチャットをカスタマイズしたり、表やグラフで回答をフォーマットするカスタムアプリケーションを構築したりすることができます。
ユーザー定義の応答タイプは、それを処理するコードがチャネルになければ表示されません。 詳しくは、「拡張カスタマイズの適用」を参照してください。
統合チャネル・サポート
Webチャット | 電話番号 | SMS | Slack | ||
|---|---|---|---|---|---|
|
|
電話統合では、
user_defined応答タイプが、レガシー・コマンド (vgwActForceNoInputTurnやvgwActSendSMSなど) の送信に使用されます。 詳しくは、電話対話の処理を参照してください。SMS連携では、この
user_defined応答タイプを使用してアクションコマンド(例:terminateSessionまたはsmsActSendMedia)を送信します。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
user_defined | オブジェクト | クライアントやインテグレーションが処理方法を知っているあらゆるデータを含むオブジェクト。 このオブジェクトには任意の有効な JSON データを含めることができますが、合計サイズ 5000 バイトを超えることはできません。 | Y |
例
この例は、ユーザー定義応答の一般的な例を示している。 user_defined オブジェクトには、任意の有効な JSON データを含めることができます。
{
"generic":[
{
"response_type": "user_defined",
"user_defined": {
"field_1": "String value",
"array_1": [
1,
2
],
"object_1": {
"property_1": "Another string value"
}
}
}
]
}
video
URL で指定されたビデオを表示します。
統合チャネル・サポート
Webチャット | SMS | Slack | ||
|---|---|---|---|---|
一部のチャンネル統合では、動画のタイトルや説明が表示されません。
フィールド
名前 | タイプ | 説明 | 必須かどうか |
|---|---|---|---|
response_type | ストリング |
| Y |
ソース | ストリング | ビデオの | Y |
タイトル | ストリング | ビデオの前に表示するタイトル。 | N |
説明 | ストリング | ビデオに添付されている説明のテキスト。 | N |
alt_text | ストリング | スクリーン・リーダーや、ビデオを見ることができないその他の状況で使用できる説明テキスト。 | N |
channel_options.chat.dimensions.base_height | 番号になります | ビデオを特定の表示サイズに合わせるために使用する基本の高さ (ピクセル単位)。 | N |
source プロパティで指定される URL は、以下のいずれかのタイプである:
標準フォーマット (MPEG や AVI など) のビデオ・ファイルの URL。 ウェブチャットでは、リンクされたビデオは埋め込まれたビデオプレーヤーとしてレンダリングされます。
HLS (.m3u8) および DASH (MPD) ストリーミング動画はサポートされていません。
サポートされているサービスからのビデオの URL。 ウェブチャットでは、リンクされたビデオは、ホスティングサービスの埋め込み可能なプレーヤーでレンダリングされます。
ブラウザで表示したいビデオの URL を指定します(例: https://www.youtube.com/watch?v=52bpMKVigGU )。ウェブチャットは自動的に URL を埋め込み可能な形式に変換します。
以下のサービスの動画を埋め込むことができます:
例
この例では、タイトルと説明テキストを含むビデオを表示します。
{
"generic":[
{
"response_type": "video",
"source": "https://example.com/videos/example-video.mp4",
"title": "Example video",
"description": "An example video returned as part of a multimedia response."
}
]
}