IBM Cloud Docs
応答タイプ・リファレンス

応答タイプ・リファレンス

JSON エディターを使用すれば、多種多様なタイプの応答を指定できます。 JSON エディターを使用して、顧客照会に対する応答を指定できます。 JSON エディターで JSON スクリプトを追加することにより、アシスタントは JSON スクリプトで示されている応答形式を使用します。

詳しくは、 JSON エディターを使用した応答の定義 を参照してください。

アクションとメッセージ API の変数が実行時に異なる場合は、アクションとメッセージ API の応答タイプの形式も異なります。 以下の例は、メッセージ API と JSON エディターを使用する場合の応答タイプ・フォーマットの違いを示しています。

メッセージ API からの text 応答の形式は以下のとおりです。

{ "response_type": "text", "text": "Hello world" }

次に、アシスタントは、実際のテキスト・メッセージ Hello world を 1 つのステップで表示します。

JSON アクション・エディターからの text 応答の形式は以下のとおりです。

{
  "generic": [
    {
      "response_type": "text",
      "values": [
        {
          "text_expression": {
            "concat": [
              {
                "scalar": "Hi, "
              },
              {
                "variable": "step_472"
              },
              {
                "scalar": ". How can I help you?"
              }
            ]
          }
        }
      ],
      "selection_policy": "sequential"
    }
  ]
}

次に、アシスタントは、 variable の実際の値を values 配列内の他の項目と結合し、応答を表示します。 例えば、 step_472 の値が「Bob」の場合、アシスタントには Hi, Bob. How can I help you? と表示されます。

実行時の応答タイプの表示

watsonx Assistantの API 資料 を参照して、 応答タイプと API の詳細を確認できます。

例えば、ランタイム応答タイプを表示するには、以下のようにします。

  1. 「応答」 セクションで、 「出力」MessageOutput をクリックして、 「汎用」 セクションを表示します。
  2. generic セクションで、 RuntimeResponseGeneric[] をクリックします。
  3. One of ドロップダウンでオプションを選択します。

選択したオプションに関する詳細を表示するには、 One of をクリックします。

応答タイプ・リファレンス

JSON エディターでは、以下の応答タイプがサポートされます。

audio

URLで指定された音声クリップを再生します。

統合チャネル・サポート

Web チャット 電話番号 SMS Slack Facebook WhatsApp
はい はい はい はい はい はい
  • 一部のチャネル統合では、音声のタイトルや説明が表示されません。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング audio Y
ソース ストリング https: オーディオ・クリップの URL。 URL には、サポートされるホスティング・サービス上のオーディオ・ファイルまたはオーディオ・クリップのいずれかを指定できます。 Y
title ストリング オーディオ・プレイヤーの前に表示するタイトル。 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 ストリング button Y
ラベル ストリング ボタンのラベル Y
ボタン・タイプ ストリング ボタンのタイプ。 例えば、 post_backcustom_eventshow_panel、および url などです。 Y
種類 ストリング ボタンの種類。 例えば、 primarysecondarytertiarydanger、および link などです。

デフォルト値は primaryです。

N
image_url ストリング ボタンとしてレンダリングされるイメージの URL。 N
alt_text ストリング アクセシビリティーの目的でイメージにラベルを付けるための代替テキスト。 N

post_back ボタン・タイプ

post_back ボタンは、ユーザーがボタンをクリックすると、アシスタントに応答を送信します。 value プロパティーと label プロパティーの両方を使用して、送信する応答をセットアップできます。

フィールド

名前 タイプ 説明 必須ですか?
オブジェクト ユーザーがオプションを選択したときに WebChat が watsonx Assistant サービスに送信する応答を定義します。

注: value.input.text を定義しない場合、 WebChat は label の値をアシスタントに送信します。

N

以下の例は、ユーザーがボタンをクリックしたときに作成済みテキスト入力をアシスタントに送信するためのボタンの JSON 構成を示しています。

{
  "response_type": "button",
  "button_type": "post_back",
  "label": "Send message",
  "value": {
    "input": {
      "text": "[Message to send]"
    }
  }
}

custom_event ボタン・タイプ

ユーザーが custom_event ボタンをクリックすると、ユーザー定義データとともに構成したカスタム・イベントがトリガーされます。 カスタム・コードを使用して目的の動作を実現するには、イベントを作成する必要があります。 Web チャットでは、 messageItemCustom イベントを使用して、ユーザーがボタンをクリックしたときに必要な動作を適用できます。

フィールド

名前 タイプ 説明 必須ですか?
カスタム・イベント名 ストリング ユーザーがボタンをクリックしたときにトリガーされるカスタム・イベントの名前。

ウェブチャットでは、ユーザーが'custom_event ボタンをクリックすると、messageItemCustomイベントがトリガーされます。

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 ボタンをクリックすると、アシスタントはパネルを開きます。このパネルを使用して、追加情報を取得したり、タスクを実行したりすることができます。

フィールド

名前 タイプ 説明 必須ですか?
パネル ストリング パネルの内容を定義するオブジェクトです。 Y
panel.title ストリング パネルのタイトルです。 N
panel.show_animations ブール値 ユーザーがパネルを開いたり閉じたりしたときに、パネル内のアニメーションを使用可能または使用不可にするオブジェクト。 デフォルト値: true Y
panel.body[] リスト リッチ・ビジュアル・コンテンツを作成するための応答タイプのリスト。 リストでは最大 10 個の応答タイプが許可されます。

サポートされる応答タイプ: textimagevideoaudioiframegridcard 、および user_defined

注: パネル内のカード応答タイプは、ボタンをサポートしていません。

Y
panel.footer[] リスト button 応答タイプのリスト。 リストには最大 5 つのボタンを使用できます。

注: このリストでは、ボタン・タイプ show_panel はサポートされていません。

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 を開くための場所。 例えば、 _blank_self などです。 _blank と入力すると、新しいタブで URL が開きます。 _self は、同じタブで URL を開きます。

デフォルト値は _blankです。

N

この例では、ボタンをクリックするとユーザーが ibm.com に移動するボタンを示しています。

{
  "response_type": "button",
  "button_type": "url",
  "label": "Visit ibm.com",
  "url": "https://www.ibm.com"
}

card

card を使用してユーザーの情報エクスペリエンスを向上させるためのビジュアル・コンテンツ。

統合チャネル・サポート

WebChat
はい

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング card Y
本体 [] リスト リッチ・コンテンツを作成するための応答タイプのリスト。 リストには最大 10 個の応答タイプを指定できます。

サポートされる応答タイプ: textimagevideoaudioiframegrid、および user_defined

Y
フッター [] リスト button 応答タイプのみのリスト。 リストには最大 5 つのボタンを使用できます。 N

card はパネルでレンダリングできますが、ボタンを持つことはできません。

以下の例は、 card 応答タイプを作成するための基本構造を示しています。

{
  "response_type": "card",
  "body": [
    {
      "response_type": "text",
      "text": "# Heading"
    },
    {
      "response_type": "text",
      "text": "body"
    }
  ]
}

channel_transfer

会話を別のチャネル統合に転送します。 現在、ウェブチャットの統合が唯一サポートされているチャネル転送の対象です。

統合チャネル・サポート

電話番号 SMS Slack Facebook WhatsApp
はい はい はい はい はい
  • 示されているチャネル統合は、チャネル転送の 開始 をサポートしています (現在、サポートされている転送ターゲットは Web チャット統合のみです)。
  • 電話統合からチャネル転送を開始するには、SMS 統合も構成する必要があります。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング channel_transfer 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

会話をライブ・エージェントに転送して支援を得ます。 サービス・デスク・サポートは、チャネル統合用に構成されていなければなりません。

統合チャネル・サポート

Web チャット 電話番号 WhatsApp
はい はい はい

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング connect_to_agent 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 ストリング date Y

この例では、ユーザーに日付を指定するよう求めるテキスト応答を送信し、その後、インタラクティブな日付選択ツールを表示します。

{
  "generic": [
    {
      "response_type": "text",
      "text": "What day will you be checking in?"
    },
    {
      "response_type": "date"
    }
  ]
}

dtmf

電話統合にコマンドを送信し、デュアルトーンマルチ周波数(DTMF)信号で入出力の制御を行います。 (DTMFは、プッシュホン電話のキーを押した際に発生するトーンを送信するプロトコルです。)

統合チャネル・サポート

電話番号
はい

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング dtmf Y
command_info オブジェクト 電話統合に送信する DTMF コマンドを指定する情報。 Y
command_info.type ストリング 送信する DTMF コマンド (collectdisable_barge_inenable_barge_in、または send)。 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統合では、 terminateSession アクションコマンドを使用してセッションを終了できます。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング end_session Y

電話統合の場合、channel_options オブジェクトを使用して、生成される SIP BYE 要求にカスタム・ヘッダーを組み込むことができます。 詳しくは、呼び出しを終了する を参照してください。

この例では、end_session 応答タイプを使用して会話を終了します。

{
  "generic": [
    {
      "response_type": "end_session"
    }
  ]
}

grid

ユーザーが消費する情報のタイプを伝えるコンテンツを表示するために必要なレイアウトを柔軟に作成できるようにします。

統合チャネル・サポート

WebChat
はい

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング grid Y
水平位置合わせ ストリング グリッド内のすべての項目の水平位置合わせ (leftcenter、または right)。

デフォルト値は leftです。

N
垂直位置合わせ ストリング グリッド内のすべての項目の垂直位置合わせ (topcenter、または bottom)。

デフォルト値は top です。

N
列 [] リスト 列のリスト。 リストには最大 5 つのカラムを使用することができます。 各列は、スペースの 8px で区切られます。 N
列[].width ストリング コラムの幅。 幅の値は、数値 (例えば、 1) またはピクセル (例えば、 48 px) を使用して設定できます。

列幅の数値は、行の合計幅および行内の他の列の幅に基づいて計算されます。 例えば、最初の列の幅が 1 で、2 番目の列の幅が 2 の場合、最初の列と 2 番目の列の幅は、それぞれ行の合計幅の 3 分の 1 と 3 分の 2 になります。

デフォルトでは、幅の数値は 1 です。

Y
列 [] リスト 行のリスト。 リストでは最大 5 行が許可されます。 各行は、スペースの 8px で区切られます。 Y
行[].cells[] リスト 行内のセルのリスト。 各セルは、行内の列です (例えば、セル 1 は行内の列 1 です)。 セルの幅は、列の幅と等しくなります。 Y
行[].cells[].items[] リスト 応答タイプの項目のリスト。 各項目は、スペースの 8px で区切られます。 リストには、最大 5 つの応答タイプ項目を指定できます。

サポートされる応答タイプ項目は、 textimagevdeoaudioiframegrid、および user_defined です。

grid は、 grid 内および第 1 レベルより下でのみセットアップできます。 セル内の
A grid にグリッド応答タイプを含めることはできません。
Y
行[].cells[].horizontal_alignment ストリング セル内の項目の水平位置合わせ (leftcenter、または right)。

デフォルト値は leftです。

N
行[].cells[].vertical_alignment ストリング セル内の項目の垂直位置合わせ (topcenter、または bottom)。

デフォルト値は top です。

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 チャット Facebook
はい はい
  • 現在、Web チャット統合は description プロパティーと image_url プロパティーを無視します。 代わりに、説明とプレビューの画像が実行時にソースから動的に取得されます。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング iframe Y
ソース ストリング 外部コンテンツの URL です。 URL は、HTML iframe 要素に埋め込むことができるコンテンツを指定する必要があります。 Y
title ストリング 埋め込みコンテンツの前に表示するタイトル。 N
説明 ストリング 埋め込まれたコンテンツに付随する説明のテキスト。 N
image_url ストリング 組み込まれたコンテンツのプレビューを表示するイメージの URL。 N
channel_options.chat.display ストリング Web チャットが応答タイプ (inline または panel) をレンダリングする方法。 この応答タイプのデフォルト値は panel です。 N
channel_options.chat.dimensions.base_height number コンテンツを特定の表示サイズに拡大縮小する際に使用するベースの高さ(ピクセル単位)。 このプロパティーは、 displayinline に設定されている場合にのみ機能します。 N

サイトによって、コンテンツの組み込みに関する制限が異なります。また、組み込み可能 URL を生成するためのプロセスも異なります。 組み込み可能 URL とは、src 属性 (iframe エレメント) の値として指定できる URL のことです。

例えば Googleのインタラクティブマップを埋め込むには、 Google を使用できます。 (詳しくは、 マップ組み込み API の概要を参照してください。) 他のサイトには、組み込み可能コンテンツを作成するためのさまざまなプロセスがあります。

Content-Security-Policy: frame-src を使用して Web サイト・コンテンツを埋め込むことができるようにする方法について詳しくは、 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 Facebook WhatsApp MS チーム
はい はい はい はい はい はい
  • 一部のチャネル統合では、画像のタイトルや説明が表示されません。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング image Y
ソース ストリング イメージの https: の URL。 指定される画像は、.jpg フォーマット、.gif フォーマット、または .png フォーマットでなければなりません。 Y
title ストリング イメージの前に表示するタイトル。 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

ユーザーが選択できるオプション(ボタンやドロップダウンリストなど)を表示するために使用します。 その後、選択された値がユーザー入力としてアシスタントに送信されます。 ステップの 「オプション」 顧客応答タイプを選択すると、 options 応答が自動的に定義されます。 詳しくは、 顧客からの情報の収集 を参照してください。

統合チャネル・サポート

Web チャット 電話番号 SMS Slack Facebook WhatsApp MS チーム
はい はい はい はい はい はい はい
  • オプションの表示方法は、チャネル統合によって異なります。 preference フィールドは可能であればサポートされますが、すべてのチャネルがドロップダウン・リストやボタンをサポートするわけではありません。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング option Y
title ストリング オプションの前に表示するタイトル。 Y
説明 ストリング オプションに付随する説明テキスト。 N
preference ストリング 優先的に表示されるコントロールのタイプ。ただしチャネルによってサポートされる場合 (dropdown または button)。 N
options リスト ユーザーが選択できるオプションを指定するキーと値のペアの一覧。 Y
options[].label ストリング ユーザーに対して表示されるオプションのラベル。 Y
options[].value オブジェクト ユーザーがオプションを選択した場合に watsonx Assistant サービスに送信される応答を定義するオブジェクト。 Y
options[].value.input オブジェクト オプションに対応するメッセージ入力を含むオブジェクト。入力テキスト、および watsonx Assistant メッセージの有効な部分であるその他すべてのフィールドが含まれます。 詳しくは、 API リファレンスを参照してください。 N

この例では、2 つのオプション (Buy somethingExit) が示されています。

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

チャンネルへの次のメッセージの前に一時停止し、オプションで「ユーザーが入力中」イベントを送信します(対応しているチャンネルの場合)。

統合チャネル・サポート

Web チャット Facebook WhatsApp
はい はい はい
  • 電話統合では、アシスタント出力に SSML の break 要素を含めることで、一時停止を追加できます。 詳しくは、 Text to Speech の資料を参照してください。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング pause Y
時間 int 一時停止する時間 (ミリ秒単位)。 Y
typing ブール値 一時停止の際に「user is typing」イベントを送信するかどうか。 チャネルがこのイベントをサポートしない場合には無視されます。 N

この例では、「ユーザーが入力中」のイベントを送信し、5秒間停止します。

{
    "generic":[
      {
        "response_type": "pause",
        "time": 5000,
        "typing": true
      }
    ]
}

speech_to_text

電話統合によって使用される Speech to Text サービス・インスタンスにコマンドを送信します。 これらのコマンドは、会話中にサービスの構成または動作を動的に変更できます。

統合チャネル・サポート

電話番号
はい

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング speech_to_text Y
command_info オブジェクト Speech to Textに送信するコマンドを指定する情報。 Y
command_info.type ストリング 送信するコマンド (現在は configure コマンドのみがサポートされています)。 Y
command_info.parameters オブジェクト Speech to Text サービスへの詳細設定の適用 を参照 N

command_info.type フィールドには、以下のサポートされるコマンドのいずれかを指定できます。

  • configure: Speech to Text 構成を動的に更新します。 構成変更は、次の会話ターンにのみ適用することも、セッションの残りの部分にのみ適用することもできます。

このコマンドの使用方法については、 Speech to Text サービスへの拡張設定の適用 を参照してください。

この例では、 speech_to_text のレスポンスタイプと configure コマンドを使用して、言語モデル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 ストリング start_activities Y
アクティビティー リスト 開始するアクティビティを特定するオブジェクトの一覧。 Y
activities[].type ストリング 開始するアクティビティーの名前です。 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 ストリング stop_activities Y
アクティビティー リスト 停止すべき活動を特定するオブジェクトの一覧。 Y
activities[].type ストリング 停止するアクティビティーの名前です。 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

ベータ

新しい'table レスポンスタイプのウェブチャットサポートは、行と列、ヘッダーとセルで構造化されたデータを表します。

統合チャネル・サポート

Web チャット
はい

特性と定義

プロパティー (Property) 説明 タイプ 必須
title テーブルのタイトル。 ストリング いいえ
description 表の簡単な説明。 ストリング いいえ
headers カラムヘッダの配列。 Array<String, Number> ある
rows それぞれがセルの配列を含む行の配列。 Array<Object> ある
rows[].cells 行の各セルのデータ。 Array<String, Number> ある

各行にはヘッダーと同じ数のセルがなければならない。 セルとヘッダ間の不一致は、テーブルをレンダリングしようとしたときにウェブチャットがエラーを投げる原因となります。

この例では、構造化データを表に表示する。

{
    "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 Facebook WhatsApp
はい はい はい はい はい はい

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング text Y
リスト テキスト形式の応答を定義する1つ以上のオブジェクトのリスト。 Y
values.[n].text_expression オブジェクト 応答のテキストを説明するオブジェクト。 N
values.[n].text_expression.concat リスト テキスト応答のコンポーネントを形成するオブジェクトのリスト。 このオブジェクトには、スカラー・テキスト・ストリング、および変数の参照を含めることができます。 N
selection_policy ストリング 複数の応答が指定されている場合に、リストから応答を選択する方法。 可能な値は、sequentialrandom、および multiline です。 N
区切り記号 ストリング 複数の応答間の区切り記号として出力する区切り文字。 selection_policy=multilineの場合にのみ使用されます。デフォルトの区切り文字は改行 ( ) です。 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 ストリング text_to_speech Y
command_info オブジェクト Text to Speech に送信するコマンドを指定する情報。 Y
command_info.type ストリング 送信するコマンド (configuredisable_barge_in、または enable_barge_in)。 Y
command_info.parameters オブジェクト Text to Speech サービスへの詳細設定の適用 を参照 N

command_info.type フィールドには、以下のサポートされるコマンドのいずれかを指定できます。

  • configure: Text to Speech 構成を動的に更新します。 構成変更は、次の会話ターンにのみ適用することも、セッションの残りの部分にのみ適用することもできます。
  • disable_barge_in: 音声バージインを無効にして、お客様が話すときに電話統合からの再生が中断されないようにします。
  • enable_barge_in: 音声バージインを有効にして、お客様が話すことによって電話統合からの再生を中断できるようにします。

これらの各コマンドの使用方法について詳しくは、Text to Speech サービスへの詳細設定の適用を参照してください。

この例では、configure コマンドで text_to_speech 応答タイプを使用して、Text to Speech サービスで使用される音声を変更します。

{
  "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 Facebook WhatsApp
はい はい* はい* はい はい はい
  • 電話統合では、user_defined 応答タイプが、レガシー・コマンド (vgwActForceNoInputTurnvgwActSendSMS など) の送信に使用されます。 詳しくは、電話対話の処理を参照してください。
  • SMS 統合では、 user_defined 応答タイプを使用してアクション・コマンド (例えば、 terminateSession または smsActSendMedia) が送信されます。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング user_defined 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 Facebook WhatsApp
はい はい はい はい はい
  • 一部のチャンネル統合では、ビデオのタイトルや説明が表示されないことがあります。

フィールド

名前 タイプ 説明 必須ですか?
response_type ストリング video Y
ソース ストリング ビデオの https: の URL。 URLは、サポートされているホスティングサービス上のビデオファイルまたはストリーミングビデオを指定できます。 Y
title ストリング ビデオの前に表示するタイトル。 N
説明 ストリング ビデオに添付されている説明のテキスト。 N
alt_text ストリング スクリーン・リーダーや、ビデオを見ることができないその他の状況で使用できる説明テキスト。 N
channel_options.chat.dimensions.base_height number ビデオを特定の表示サイズに合わせるために使用する基本の高さ (ピクセル単位)。 N

source プロパティで指定される URLは、以下のタイプのいずれかである:

  • 標準フォーマット (MPEG や AVI など) のビデオ・ファイルの URL。 ウェブチャットでは、リンクされた動画は埋め込み動画プレーヤーとして表示されます。

    HLS (.m3u8) および DASH (MPD) ストリーミング動画はサポートされていません。

  • サポートされているサービスのビデオの URL。 ウェブチャットでは、ホスティングサービスの埋め込み可能なプレーヤーでリンクされた動画が再生されます。

    ブラウザで見たいビデオの URLを指定します(例: https://www.youtube.com/watch?v=52bpMKVigGU )。ウェブチャットは自動的に URLを埋め込み可能な形式に変換します。

    以下のサービスでホストされている動画を埋め込むことができます

    • YouTube
    • Facebook
    • Vimeo
    • ぴくっと動く
    • ストリーミング可能
    • Wistia
    • Vidyard

この例では、タイトルと説明文付きの動画を表示します。

{
  "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."
    }
  ]
}