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

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の詳細を確認できます。

例えば、ランタイム・レスポンス・タイプを表示するには、以下のようにする:

  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

タイトル

ストリング

オーディオ・プレイヤーの前に表示するタイトル。

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_back、'custom_event、'show_panel、'url

Y

種類

ストリング

ボタンの種類 例えば、「primary、「secondary、「tertiary、「danger、「link。 デフォルト値はprimaryです。

N

image_url

ストリング

ボタンとしてレンダリングする画像のURL。

N

alt_text

ストリング

アクセシビリティのために画像にラベル付けする代替テキスト。

N

post_back ボタンの種類

ユーザーが post_back ボタンをクリックすると、 AI アシスタントに応答が送信されます。 送信するレスポンスを設定するには、`` プロパティ value と `` label プロパティの両方を使用できます。

フィールド

名前

タイプ

説明

必須かどうか

オブジェクト

ユーザーがオプションを選択した際に、 WebChat がAIアシスタントサービスに送信する応答を定義します。 注: を定義 value.input.textしない場合、 WebChat はの値を AIアシスタントに送信します label

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チャットでは、ユーザーがボタンを 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 クリックすると、 AIアシスタントがパネルを開き、ユーザーはそのパネルを使って追加情報を確認したり、タスクを完了したりすることができます。

フィールド

名前

タイプ

説明

必須かどうか

パネル

ストリング

パネルの内容を定義するオブジェクト。

Y

panel.title

ストリング

パネルのタイトル

N

panel.show_animations

ブール値

ユーザーがパネルを開いたり閉じたりするときに、パネルのアニメーションを有効または無効にするオブジェクト。 デフォルト値は次のとおりです。 true

Y

panel.body[]

リスト

リッチなビジュアル・コンテンツを作成するためのレスポンス・タイプのリスト。 リストには最大10種類のレスポンスが登録できる。 対応するレスポンスタイプ: 'text 、 'image 、 'video 、 'audio 、 'iframe 、 'grid 、 'card、 '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

この例では、ボタンをクリックするとibmibm.comに移動するボタンを表示しています。

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

card

cardユーザーの情報体験を向上させるビジュアルコンテンツ。

統合チャネル・サポート

WebChat

はい

フィールド

名前

タイプ

説明

必須かどうか

response_type

ストリング

card

Y

body[]

リスト

リッチコンテンツを作成するためのレスポンスタイプのリスト。 リストには最大10種類のレスポンスが登録できる。 対応するレスポンスタイプ:「text、「image、「video、「audio、「iframe、「grid、「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連携では、action terminateSession コマンドを使用してセッションを終了することができます。

フィールド

名前

タイプ

説明

必須かどうか

response_type

ストリング

end_session

Y

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

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

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

grid

ユーザーに消費してもらいたい情報を伝えるコンテンツを提示するために必要なレイアウトを柔軟に作成できます。

統合チャネル・サポート

WebChat

はい

フィールド

名前

タイプ

説明

必須かどうか

response_type

ストリング

grid

Y

水平アライメント

ストリング

グリッド内のすべての項目の水平アライメント(left、'center、'right)。 デフォルト値は leftです。

N

垂直アライメント

ストリング

グリッド内のすべての項目の垂直アライメント(top、'center、または'bottom)。 デフォルト値は です top

N

columns[]

リスト

列のリスト。 リストには最大5列まで入れることができる。 各カラムは8pxのスペースで区切られている。

N

列[].幅

ストリング

列の幅。 幅の値は、数値(例: 1)またはピクセル(例: 48 px)を使用して設定できます。列幅の数値は、行の合計幅と、その行内の他の列の幅に基づいて計算されます。 たとえば、1列目の幅が 1 で、2列目の幅が2の場合、1列目と2列目はそれぞれ行の全幅の3分の1と3分の2を占めることになります。 デフォルトでは、width の数値は です 1

Y

rows[]

リスト

行のリスト。 リストには最大5行まで入れることができる。 各行は8pxのスペースで区切られている。

Y

rows[].cells[]

リスト

行のセルのリスト。 各セルは行の列である(例えば、セル1は行の列1)。 セルの幅は列の幅に等しい。

Y

rows[].cells[].items[]

リスト

回答型項目のリスト。 各項目は、 8px のスペースで区切られています。 リストには、最大5つの回答型項目を含めることができます。 対応する応答タイプ項目は、「text、「image、「vdeo、「audio、「iframe、「grid、「user_definedである。 は、の grid 内部かつ第1階層以下の場所に grid のみ設定できます。 セル内の grid Aには、グリッド応答タイプを含めることはできません。

Y

rows[].cells[].horizontal_alignment

ストリング

セル内の項目の水平アライメント(left、'center、'right)。 デフォルト値は leftです。

N

rows[].cells[].vertical_alignment

ストリング

セル内の項目の垂直アライメント(top、'center、'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

タイトル

ストリング

埋め込みコンテンツの前に表示するタイトル。

N

説明

ストリング

埋め込まれたコンテンツに付随する説明のテキスト。

N

image_url

ストリング

組み込まれたコンテンツのプレビューを表示するイメージの URL。

N

channel_options.chat.display

ストリング

ウェブチャットがレスポンスタイプ(inlineまたは'panel)をレンダリングする方法。 このレスポンス・タイプのデフォルト値は「panelである。

N

channel_options.chat.dimensions.base_height

番号になります

コンテンツを特定の表示サイズに拡大縮小するために使用するベースとなる高さ(ピクセル単位)。 このプロパティは、'displayが 'inline に設定されている場合にのみ機能する。

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

Facebook

WhatsApp

Ms Teams

はい

はい

はい

はい

はい

はい

  • 一部のチャネル統合では、画像のタイトルや説明が表示されません。

フィールド

名前

タイプ

説明

必須かどうか

response_type

ストリング

image

Y

ソース

ストリング

イメージの https: の URL。 指定される画像は、.jpg フォーマット、.gif フォーマット、または .png フォーマットでなければなりません。

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

Facebook

WhatsApp

Ms Teams

はい

はい

はい

はい

はい

はい

はい

  • 選択肢の提示方法は、チャネル統合によって異なる。 preference フィールドは可能であればサポートされますが、すべてのチャネルがドロップダウン・リストやボタンをサポートするわけではありません。

フィールド

名前

タイプ

説明

必須かどうか

response_type

ストリング

option

Y

タイトル

ストリング

オプションの前に表示するタイトル。

Y

説明

ストリング

オプションに付随する説明テキスト。

N

優先

ストリング

優先的に表示されるコントロールのタイプ。ただしチャネルによってサポートされる場合 (dropdown または button)。

N

オプション

リスト

ユーザーが選択できるオプションを指定するキーと値のペアのリスト。

Y

options[].label

ストリング

ユーザーに対して表示されるオプションのラベル。

Y

options[].value

オブジェクト

ユーザーがオプションを選択した場合に、 AIアシスタントビルダー サービスへ送信される応答を定義するオブジェクト。

Y

options[].value.input

オブジェクト

オプションに対応するメッセージ入力(入力テキストおよび AIアシスタントビルダー のメッセージの有効な構成要素となるその他のフィールドを含む)を格納するオブジェクト。 詳細については、 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

チャネルへの次のメッセージの前に一時停止し、オプションで "user is typing" イベントを送信する (サポートしているチャネルの場合)。

統合チャネル・サポート

Webチャット

Facebook

WhatsApp

はい

はい

はい

  • 電話連携機能を利用すれば、 AIアシスタントの出力にSSML break 要素を含めることで、一時停止を追加することができます。 詳細については、 Text to Speech 』のドキュメントを参照してください。

フィールド

名前

タイプ

説明

必須かどうか

response_type

ストリング

pause

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

ストリング

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 サービスへの詳細設定の適用」 を参照してください。

この例では、` 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

ストリング

start_activities

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

ストリング

stop_activities

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チャット

はい

性質と定義

プロパティー

説明

タイプ

必須

title

テーブルのタイトル。

ストリング

いいえ

description

テーブルの簡単な説明。

ストリング

いいえ

headers

カラムヘッダの配列。

アレイ

はい

rows

それぞれがセルの配列を含む行の配列。

アレイ

はい

rows[].cells

行の各セルのデータ。

アレイ

はい

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

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

{
    "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) です。

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 サービスへの詳細設定の適用」 を参照してください。

この例では、 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

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

タイトル

ストリング

ビデオの前に表示するタイトル。

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