响应类型引用
您可以使用 JSON 编辑器来指定许多不同类型的响应。 您可以使用 JSON 编辑器来指定对客户查询的响应。 通过在 JSON 编辑器中添加 JSON 脚本,助手将使用 JSON 脚本中提到的响应格式。
有关更多信息,请参阅 使用 JSON 编辑器定义响应。
当操作和消息 API 中的变量在运行时不同时,操作和消息 API 中的响应类型的格式也不同。 以下示例显示了使用消息 API 和 JSON 编辑器时响应类型格式的差异。
如果来自消息 API 的 text 响应具有以下格式:
{ "response_type": "text", "text": "Hello world" }
然后,助手将在单个步骤中显示实际文本消息 Hello world
。
如果来自 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 的详细信息。
例如,要查看运行时响应类型,请执行以下操作:
- 在 响应 部分中,单击 输出 中的
MessageOutput
以查看 通用 部分。 - 在
generic
部分中,单击RuntimeResponseGeneric[]
。 - 在
One of
下拉列表中选择一个选项。
要查看有关所选选项的更多详细信息,请单击 One of
。
JSON 编辑器中支持以下响应类型。
audio
播放由 URL 指定的音频片段。
集成通道支持
Web 聊天 | 电话 | SMS | Slack | ||
---|---|---|---|---|---|
- 某些通道集成不会显示音频标题或描述。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | audio |
Y |
source | 字符串 | 音频片段的 https: URL。 URL 可以指定音频文件或支持托管服务的音频片段。 |
Y |
标题 | 字符串 | 在音频播放器之前显示的标题。 | N |
描述 | 字符串 | 音频播放器附带的描述文本。 | N |
alt_text | 字符串 | 可用于屏幕朗读器或其他无法看到音频播放器的情况的描述性文本。 | N |
channel_options.voice_telephony.loop | 字符串 | 音频剪辑是否无限重复 (仅限电话集成)。 | N |
source
属性指定的 URL 可以是以下类型之一:
-
任何标准格式(如 MP3 或 WAV)音频文件的 URL。 在网络聊天中,链接的音频剪辑呈现为嵌入式音频播放器。
-
支持的流媒体服务中音频片段的 URL。 在 Web 聊天中,链接的音频剪辑通过将可嵌入播放器用于托管服务来呈现。
指定用于在浏览器中访问音频文件的 URL (例如
https://soundcloud.com/ibmresearchfallen-star-amped
)。网络聊天会自动将 URL 转换为可嵌入的形式。您可以嵌入托管在受支持服务上的音频:
对于电话集成,URL 必须指定单声道(单声道)和 PCM 编码的音频文件,采样频率为 8000 Hz,每次采样 16 比特。
示例
这个例子播放一个带有标题和描述性文字的音频片段。
{
"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."
}
]
}
card
可视内容,通过使用 card
来改善用户的信息体验。
集成通道支持
WebChat |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | card |
Y |
身体 [] | 列表 | 用于创建丰富内容的响应类型的列表。 列表中最多允许 10 个响应类型。
受支持的响应类型: |
Y |
页脚 [] | 列表 | 仅 button 响应类型的列表。 列表中最多允许 5 个按钮。 |
N |
可以在面板中呈现 card
,但不允许它具有按钮。
示例
以下示例显示了用于构建 card
响应类型的基本结构:
{
"response_type": "card",
"body": [
{
"response_type": "text",
"text": "# Heading"
},
{
"response_type": "text",
"text": "body"
}
]
}
carousel
carousel
,用于显示具有丰富内容的卡。 如果轮播中只有一张卡,那么 Web 聊天集成将仅呈现卡,而不是轮播中的卡。
集成通道支持
WebChat |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | carousel |
Y |
项目 [] | 列表 | card 响应类型的列表。 列表中最多允许 5 个卡。 |
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
将对话传输到其他通道集成。 当前,Web 聊天集成是通道传输的唯一受支持目标。
集成通道支持
电话 | SMS | Slack | ||
---|---|---|---|---|
- 指定的通道集成支持 启动 通道传输 (当前,Web 聊天集成是唯一受支持的传输目标)。
- 从电话集成启动通道传输需要同时配置 SMS 集成。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | channel_transfer |
Y |
message_to_user | 字符串 | 要在用于启动传输的链接之前向用户显示的消息。 | Y |
传输信息 | 对象 | 集成用于将对话传输到其他通道的信息。 | Y |
transfer_info.target.chat | 字符串 | 网络聊天主机网站的 URL,对话将被传输到该网站。 | Y |
示例
此示例请求从 WhatsApp 到 Web 聊天的传输。 除 channel_transfer
响应外,输出还包含 text
响应,将由传输后的 Web 聊天集成显示。 使用 channels
数组可确保 channel_transfer
响应仅由 WhatsApp 集成 (在传输之前) 处理,而 connect_to_agent
响应仅由 Web
聊天集成 (在传输之后) 处理。
{
"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 聊天 | 电话 | |
---|---|---|
- 有关向 Web 聊天集成添加服务台支持的信息,请参阅 添加联系中心支持。
- 有关向电话集成添加服务台支持的信息,请参阅 配置备份呼叫中心支持。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | connect_to_agent |
Y |
message_to_human_agent | 字符串 | 要向要向其传输对话的实时代理显示的消息。 | Y |
代理程序可用 | 字符串 | 代理程序可用时要向用户显示的消息。 | Y |
代理程序不可用 | 字符串 | 在没有可用代理程序时向用户显示的消息。 | Y |
传输信息 | 对象 | Web 聊天服务台集成用于路由传输的信息。 | 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 交谈中,客户可以通过单击交互式日期选取器或在输入字段中输入日期值来指定日期值。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | date |
Y |
示例
此示例发送文本响应,该响应要求用户指定日期,然后显示交互式日期选取器。
{
"generic": [
{
"response_type": "text",
"text": "What day will you be checking in?"
},
{
"response_type": "date"
}
]
}
dtmf
向电话集成发送命令以使用双音多频 (DTMF) 信号控制输入或输出。 (DTMF是一种传输音调的协议,当用户在按键电话上按下按键时,就会产生音调。)
集成通道支持
电话 |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | dtmf |
Y |
命令信息 | 对象 | 指定要发送到电话集成的 DTMF 命令的信息。 | Y |
command_info.type | 字符串 | 要发送的 DTMF 命令 (collect ,disable_barge_in ,enable_barge_in 或 send )。 |
Y |
command_info.parameters | 对象 | 请参阅 处理电话交互。 | N |
command_info.type
字段可以指定以下任何受支持的命令:
collect
: 收集 DTMF 小键盘输入。disable_barge_in
: 禁用 DTMF 打断,以便客户按键时不会中断电话集成中的回放。enable_barge_in
:启用双音多频插话,以便客户按下按键即可中断电话集成的播放。send
: 发送 DTMF 信号。
有关如何使用其中每个命令的详细信息,请参阅 处理电话交互。
示例
此示例显示了带有 collect
命令的 dtmf
响应类型,用于收集 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
操作命令结束会话。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | end_session |
Y |
对于电话集成,您可以使用 channel_options
对象将定制头包含在生成的 SIP BYE
请求中。 有关更多信息,请参阅 结束呼叫。
示例
此示例使用 end_session
响应类型来结束对话。
{
"generic": [
{
"response_type": "end_session"
}
]
}
grid
使您能够灵活地创建所需的布局,以呈现传达您希望用户使用的信息类型的内容。
集成通道支持
WebChat |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | grid |
Y |
水平对齐 | 字符串 | 网格 (left ,center 或 right ) 中所有项的水平对齐方式。
默认值为 |
N |
垂直对齐 | 字符串 | 网格中所有项的垂直对齐方式 (top ,center 或 bottom )。
默认值为 |
N |
列 [] | 列表 | 列的列表。 列表中最多允许 5 列。 每列由 8px 空格分隔。 | N |
列[].width | 字符串 | 列的宽度。 您可以使用数字 (例如,1 ) 或像素 (例如,48 px ) 来设置宽度值。
列宽的数字值是根据行的总宽度和行中其他列的宽度计算的。 例如,如果第一列的宽度为 缺省情况下,宽度的数字值为 |
Y |
行数 [] | 列表 | 行列表。 列表中最多允许 5 行。 每行用 8px 空格分隔。 | Y |
行[].cells[] | 列表 | 行中单元格的列表。 每个单元格都是行中的列 (例如,单元格 1 是行中的列 1)。 单元格的宽度等于列的宽度。 | Y |
行[].cells[].items[] | 列表 | 响应类型项的列表。 每个项由 8px 空格分隔。 列表中最多允许 5 个响应类型项。
受支持的响应类型项为 grid 中设置 grid 。 单元格中的 grid 不能包含网格响应类型。 |
Y |
行[].cells[].horizon | 字符串 | 单元格中项的水平对齐方式 (left ,center 或 right )。
默认值为 |
N |
行[].cells[].vertical_对齐 | 字符串 | 单元格 (top ,center 或 bottom ) 中项的垂直对齐。
默认值为 |
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
属性。 而是在运行时从源动态检索描述和预览图像。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | iframe |
Y |
source | 字符串 | 外部内容的 URL。 URL 必须指定可嵌入 HTML iframe 元素的内容。 |
Y |
标题 | 字符串 | 在嵌入式内容之前显示的标题。 | N |
描述 | 字符串 | 嵌入式内容附带的描述文本。 | N |
Image_url | 字符串 | 显示嵌入内容预览的图片的 URL。 | N |
channel_options.chat.display | 字符串 | Web 聊天呈现响应类型 (inline 或 panel ) 的方式。 此响应类型的缺省值为 panel 。 |
N |
channel_options.chat.dimensions.base_height | 数字 | 用于将内容缩放到特定显示大小的基本高度 (以像素为单位)。 仅当 display 设置为 inline 时,此属性才有效。 |
N |
不同的站点对嵌入内容有不同的限制,而生成可嵌入 URL 的过程也不同。 可嵌入 URL 是指可指定为 iframe
元素的 src
属性值的 URL。
例如,要使用 Google 地图嵌入交互式地图,可以使用 Google 地图嵌入 API。 (有关更多信息,请参阅 地图嵌入 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 | MS 团队 | ||
---|---|---|---|---|---|
- 某些通道集成不会显示图像标题或描述。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | image |
Y |
source | 字符串 | 图片的 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
用于显示一组可供用户选择的选项 (例如按钮或下拉列表)。 选定的值随后作为用户输入发送给助手。 当您为步骤选择 选项 客户响应类型时,将自动定义 options
响应。 有关更多信息,请参阅 从客户收集信息。
集成通道支持
Web 聊天 | 电话 | SMS | Slack | MS 团队 | ||
---|---|---|---|---|---|---|
- 选项的显示方式因通道集成而异。 可能时支持
preference
字段,但并非所有通道都支持下拉列表或按钮。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | option |
Y |
标题 | 字符串 | 要在选项前面显示的标题。 | Y |
描述 | 字符串 | 选项附带的描述的文本。 | N |
preference | 字符串 | 要显示的首选类型的控件(如果通道支持)(dropdown 或 button )。 |
N |
options | 列表 | 一个键值对列表,用于指定可供用户选择的选项。 | Y |
选项 [].label | 字符串 | 面向用户的选项标签。 | Y |
选项 [].value | 对象 | 一个对象,用于定义在用户选择选项时发送到 watsonx Assistant 服务的响应。 | Y |
选项 []value.input | 对象 | 包含与选项对应的消息输入的对象,包括输入文本以及作为 watsonx Assistant 消息的有效部分的任何其他字段。 有关更多信息,请参阅 API 参考。 | N |
示例
此示例提供了两个选项 (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
在向频道发送下一条消息之前暂停,并可选择发送“用户正在输入”事件(适用于支持该功能的频道)。
集成通道支持
Web 聊天 | ||
---|---|---|
- 通过电话集成,您可以通过在助手输出中包含 SSML
break
元素来添加暂停。 有关更多信息,请参阅 Text to Speech 文档。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | pause |
Y |
时间 | 英特 | 暂停持续时间(以毫秒为单位)。 | Y |
typing | 布尔值 | 暂停期间是否发送“用户正在输入”事件。 如果通道不支持此事件,将忽略此事件。 | N |
示例
这个示例发送“用户正在输入”事件,并暂停5秒。
{
"generic":[
{
"response_type": "pause",
"time": 5000,
"typing": true
}
]
}
speech_to_text
将命令发送到电话集成所使用的 Speech to Text 服务实例。 这些命令可以在对话期间动态更改服务的配置或行为。
集成通道支持
电话 |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | speech_to_text |
Y |
命令信息 | 对象 | 指定要发送到 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
向通道集成发送命令以启动特定于该通道的一个或多个活动。 您可以使用此响应类型来重新启动先前使用 stop_activities
响应类型停止的任何活动。
集成通道支持
电话 |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | start_activities |
Y |
活动 | 列表 | 用于标识要启动的活动的对象列表。 | Y |
活动[].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
向通道集成发送命令以停止特定于该通道的一个或多个活动。 这些活动将保持停止状态,直到使用 start_activities
响应类型重新启动为止。
集成通道支持
电话 |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | stop_activities |
Y |
活动 | 列表 | 标识要停止的活动的对象的列表。 | Y |
活动[].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
Beta
网络聊天支持新的 "table
响应类型,以行、列、标题和单元格表示结构化数据。
集成通道支持
Web 聊天 |
---|
属性和定义
属性 | 描述 | Type | 必需 |
---|---|---|---|
title |
表格的标题。 | 字符串 | False |
description |
表格的简要说明。 | 字符串 | False |
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 | ||
---|---|---|---|---|---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | text |
Y |
值 | 列表 | 定义文本响应的一个或多个对象的列表。 | Y |
值。[n].text_expression | 对象 | 用于描述响应文本的对象。 | N |
值。[n]。text_expression.concat | 列表 | 构成文本响应组件的对象的列表。 这些对象可以包含标量文本字符串和对变量的引用。 | N |
selection_policy | 字符串 | 指定了多个响应时,如何从列表中选择响应。 可能的值为 sequential 、random 和 multiline 。 |
N |
delimiter | 字符串 | 输出作为响应之间分隔符的定界符。 仅当 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 服务实例。 这些命令可以在对话期间动态更改服务的配置或行为。
集成通道支持
电话 |
---|
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | text_to_speech |
Y |
命令信息 | 对象 | 指定要发送到 Text to Speech的命令的信息。 | Y |
command_info.type | 字符串 | 要发送的命令 (configure ,disable_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
命令配合使用,以更改 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 聊天以显示特殊卡,或者构建定制应用程序以使用表或图表格式化响应。
除非通道具有用于处理用户定义的响应类型的代码,否则不会显示该响应类型。 更多信息,请参阅 自定义和开发。
集成通道支持
Web 聊天 | 电话 | SMS | Slack | ||
---|---|---|---|---|---|
- 通过电话集成,
user_defined
响应类型用于发送旧命令 (例如,vgwActForceNoInputTurn
或vgwActSendSMS
)。 有关更多信息,请参阅 处理电话交互。 - 通过 SMS 集成,
user_defined
响应类型用于发送操作命令 (例如,terminateSession
或smsActSendMedia
)。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | user_defined |
Y |
用户定义的 | 对象 | 包含客户机或集成知道如何处理的任何数据的对象。 此对象可以包含任何有效的 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 | ||
---|---|---|---|---|
- 某些通道集成不会显示视频标题或描述。
字段
名称 | Type | 描述 | 必需? |
---|---|---|---|
response_type | 字符串 | video |
Y |
source | 字符串 | 视频的 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。 在 Web 聊天中,链接的视频与托管服务的可嵌入播放器呈现。
指定要在浏览器中查看的视频 URL (例如
https://www.youtube.com/watch?v=52bpMKVigGU
)。网络聊天会自动将 URL 转换为可嵌入的形式。您可以嵌入托管在以下服务中的视频:
- YouTube
- 脸书
- 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."
}
]
}