取消订单预构建组件会检查用户的身份验证级别。用户通过身份验证后,该组件会提供有关用户最近或过往订单的信息。然后,用户可以选择取消整个订单或取消订单中的特定商品。此组件使用零售店身份验证预构建组件对用户进行身份验证。该组件还使用生成器进行调用后汇总。
限制
除了常见的预构建组件限制之外,此预构建组件还存在以下限制:
- 此组件不会加密任何数据。
对话框示例
以下示例对话框演示了此预构建组件处理的常见场景。示例对话框演示了使用电话功能调用组件时的行为,该功能会在对话开始时触发默认欢迎 intent 和第一个客服人员响应。
取消近期订单中的单个商品
最终用户之前已通过身份验证。客服人员会确认应取消最近一个订单中的哪些商品。客服人员会查看原始付款方式,并与用户确认取消详情。
用户输入 | 客服人员回复 |
---|---|
您是想咨询 2023 年 11 月 9 日晚上 8:00 下单的订单吗?订单编号以 12978 结尾,包含 5 个水瓶和 1 件 T 恤。 | |
是 | |
我们在您的订单中发现了一些符合条件的商品。请告诉我们您想取消哪件商品。 商品 1:Google 水瓶,商品 2:Google T 恤。 请说出或输入您要选择的商品的商品编号,或说出“下一项”以显示更多商品。 |
|
下一个 | |
我们在记录中未找到任何其他内容。请从分享的列表中进行选择。 商品 1:Google 水瓶,商品 2:Google T 恤。 请说出或输入您要选择的商品的商品编号,或说出“下一项”以显示更多商品。 |
|
1 | |
我想确认一下,您想取消 Google 水瓶订单。对吗? | |
是 | |
我们可以看到,您选择的商品的库存数量为 5。请指定您要取消的商品数量。 | |
4 | |
请指明取消原因。您可以说“我改变了主意”“我不需要了”“我想买其他商品”“配送延迟”“我误买了”“我想更改付款方式”或其他原因。 | |
我想购买其他商品 | |
感谢您告知我们。 您想取消其他产品吗? |
|
否 | |
对于使用电子钱包进行的购买交易,退款会存入电子钱包或商店抵用金账号。退款需要 3 至 5 个工作日才能显示在您的账号中。请注意,退款金额不包括运费和订单处理费。 |
取消整个订单
最终用户之前已通过身份验证。客服人员确认用户想要取消特定订单,然后收集取消原因。客服人员会查看原始付款方式,并与用户确认取消详情。
用户输入 | 客服人员回复 |
---|---|
您是想咨询尾号为 12345 的最新订单吗?该订单包含 1 件衬衫,下单时间为 2023 年 11 月 10 日下午 6:00。 | |
否 | |
您要取消其他订单吗? | |
是 | |
能否请您提供要跟踪的订单 ID 的后 5 位数字? | |
12346 | |
我们收到的订单 ID 的最后五位数是 12346,对吗? | |
是 | |
太棒了,我们已收集订单 ID。 您想取消整个订单吗? |
|
是 | |
请指明取消原因。您可以说“我改变了主意”“我不需要了”“我想买其他商品”“配送延迟”“我误买了”“我想更改付款方式”或其他原因。 | |
不再需要 | |
感谢您告知我们。 您的取消请求已生成。 |
命名规则
此预构建组件使用以下命名惯例:
功能 | 格式 | 示例 |
---|---|---|
流程 | [组件名称] | 取消订单 |
实体类型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_product_cancel_reason |
网络钩子 | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_cancel_order:post_cancellation_details |
输入参数
输入参数是用于配置组件特定行为的参数。流程中一个或多个条件将使用这些参数来确定组件的行为方式。必须在组件的起始页面上设置流程级范围的参数。会话级范围的参数可以通过调用流程或在此组件的首页上设置。
此预构建组件接受以下输入参数:
参数名称 | 说明 | 输入格式 |
---|---|---|
$session.params.phone_number | (可选)用户的本地手机号码(不含国家/地区代码),用于识别用户。 | 字符串 |
$session.params.all_recent_order_id | (可选)此参数列出了与已通过身份验证的用户关联的订单 ID,按下单日期降序排序。数组的第一个元素代表最近的订单。如果用户没有订单,此参数的值为 null 。 |
列表(字符串) |
$session.params.email | (可选)用于注册账号的电子邮件地址。 | 字符串 |
$session.params.user_first_name | (可选)用户的名字,用于问候用户并确认账号的所有权。 | 字符串 |
此预构建组件允许使用以下可选参数来配置组件的行为,包括重试。
参数名称 | 说明 | 格式 |
---|---|---|
$flow.max_retry_another_account_counter | 指定在选择是否使用备用账号继续时允许的重试次数。默认值为 2 。 |
整数 |
$flow.max_retry_order_number | 指定提供订单号的最后 5 位数时允许的重试次数。默认值为 2 。 |
整数 |
$flow.max_retry_another_order | 指定在找不到订单 ID 或订单不符合取消条件的情况下,选择其他订单时允许的重试次数。默认值为 2 。 |
整数 |
$flow.max_retry_select_order_number | 指定在多个订单具有相同的最后 5 位数的情况下,提供完整订单号时允许的重试次数。默认值为 2 。 |
整数 |
$flow.max_product_display_counter | 指定一次轮播中展示的商品数量上限。默认值为 2 。 |
整数 |
$flow.max_product_display | 指定在整个对话过程中可展示的商品数量上限。默认值为 9 。 |
整数 |
$flow.max_retry_product_number_counter | 指定选择要取消的商品时允许的最大重试次数。默认值为 2 。 |
整数 |
$flow.max_product_cancel_confirm_counter | 指定确认所选商品时允许的最大重试次数。默认值为 2 。 |
整数 |
$flow.max_retry_select_quantity | 指定选择要取消的商品数量时允许的最大重试次数。默认值为 2 。 |
整数 |
$flow.order_product_cancel_reason_others | 指定 prebuilt_components_product_cancel_reason 实体的值,表示用户已选择“其他”取消原因。默认值为 "others" 。 |
字符串 |
$flow.max_retry_cancel_reason | 指定确认取消原因时允许的重试次数。默认值为 2 。 |
整数 |
$flow.order_payment_mode_COD | 指定 get_order_details webhook 返回的 order_payment_mode 字段的值,表示采用货到付款 (COD) 付款方式。默认值为 "COD" 。 |
字符串 |
$flow.order_payment_mode_store_credit | 指定 get_order_details webhook 返回的 order_payment_mode 字段的值,表示商店抵用金付款方式。默认值为 "store_credit" 。 |
字符串 |
如需为此组件配置输入参数,请展开相应部分查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择构建标签页。
- 点击流部分中的导入的组件。
- 点击页面部分中的“首页”。
- 点击“开始”页面中的 true 路线。
- 在“路线”窗口中,根据需要修改参数预设值。
- 点击保存。
输出参数
输出参数是会话参数,会在退出组件后保持有效状态。这些参数包含组件收集的重要信息。此预构建组件会为以下输出参数提供值:
参数名称 | 说明 | 输出格式 |
---|---|---|
phone_number | 用户的本地手机号码(不含国家/地区代码),用于识别用户。 | 字符串 |
all_recent_order_id | 此参数列出了与已通过身份验证的用户关联的订单 ID,按订单下单日期降序排序。数组的第一个元素代表最近的订单。如果用户没有订单,此参数的值为 null 。 |
列表(字符串) |
电子邮件 | 用于注册账号的电子邮件地址。 | 字符串 |
user_first_name | 用户的名字,用于问候用户并确认账号的所有权。 | 字符串 |
transfer_reason | 如果流程未成功,此参数会指明流程退出的原因。返回的值如下:agent :最终用户在对话过程中的某个时间点请求了人工客服。denial_of_information :最终用户拒绝分享组件请求的信息。max_no_input :对话达到了无输入事件的最大重试次数。请参阅无输入内置事件。max_no_match :对话达到了无匹配事件的最大重试次数。请参阅无匹配内置事件。webhook_error :发生了网络钩子错误。请参阅 webhook.error 内置事件。webhook_not_found :无法访问某个网络钩子网址。请参阅 webhook.error.not-found 内置事件。 |
字符串 |
生成器
此组件使用生成器来启用对话的特定部分。
摘要
Summarization
生成器用于生成通话后摘要,用于描述组件处理的对话。
基本设置
如需设置此预构建组件,请执行以下操作:
- 导入预构建组件。
- 使用描述外部服务的配置配置提供的灵活的 Webhook,请参阅 Webhook 设置。
网络钩子设置
如需使用此组件,您需要配置随附的灵活的 Webhook,以从外部服务检索所需信息。
身份验证
如果您之前未配置身份验证所需的外部服务,则需要配置这些服务,以便为此组件启用用户身份验证。如需了解详细说明,请参阅零售店身份验证 Webhook 设置。
获取最近购买商品的
该组件使用 prebuilt_components_cancel_order:get_order_details
Webhook 检索指定订单的订单详情。
API 请求参数
该组件会将以下参数作为 API 请求的输入提供给 API 请求。
参数名称 | 说明 | 输入格式 |
---|---|---|
$flow.order_id | 要检索详细信息的订单 ID。 | 字符串 |
API 响应参数
系统会从 API 响应中提取以下参数,以供组件使用。
参数名称 | 说明 | 输出格式 |
---|---|---|
order_date | 下单日期,采用 YYYY-MM-DD 格式。 |
字符串 |
order_time | 下单时间,采用 HH:MM 格式。 |
字符串 |
order_product_count | 订单中的唯一商品数量。 | 整数 |
order_payment_mode | 表示下单时使用的付款方式。 | 字符串 |
cancelable_product_id | 订单中可取消的商品的商品 ID 列表。 | 列表(字符串) |
cancelable_product_name | 订单中可取消的商品的商品名称列表。 | 列表(字符串) |
cancelable_product_brand_name | 订单中可取消的商品的品牌名称列表。 | 列表(字符串) |
cancelable_product_quantity | 订单中可取消的商品的数量列表。 | 列表(字符串) |
如需为此组件配置“获取订单详情”Webhook,请展开相应部分查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击网络钩子。
- 选择 prebuilt_components_cancel_order:get_order_details webhook。
- 将“对话式 AI 助理 (Dialogflow CX)”的 Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
- 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
获取重复订单的详细信息
该组件使用 prebuilt_components_retail_services:get_duplicate_order_details
Webhook 检索详细信息,以便在多个订单号的最后五位数字相同时区分订单。
API 请求参数
该组件会将以下参数作为 API 请求的输入提供给 API 请求。
参数名称 | 说明 | 输入格式 |
---|---|---|
$flow.duplicate_order_id | 包含用户一个或多个订单共享的订单号最后五位数的列表。 | 列表(字符串) |
API 响应参数
系统会从 API 响应中提取以下参数,以供组件使用。
参数名称 | 说明 | 输出格式 |
---|---|---|
all_order_date | 重复订单的订单日期列表,其中包含指定的最后 5 位数(格式为 YYYY-MM-DD )。此数组中的每个元素都与 all_order_time 数组中的同一元素相对应。 |
列表(字符串) |
all_order_time | 重复订单的订单时间列表,其中包含指定的最后 5 位数(采用 HH:MM 格式)。此数组中的每个元素都与 all_order_date 数组中的同一元素相对应。 |
列表(字符串) |
如需为此组件配置“获取重复订单详情”Webhook,请展开相应部分查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击网络钩子。
- 选择 prebuilt_components_retail_services:get_duplicate_order_details webhook。
- 将“对话式 AI 助理 (Dialogflow CX)”的 Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
- 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
取消后详情
该组件使用 prebuilt_components_cancel_order:post_cancellation_details
webhook 提交取消请求。
API 请求参数
该组件会将以下参数作为 API 请求的输入提供给 API 请求。
参数名称 | 说明 | 输入格式 |
---|---|---|
$session.params.phone_number | 用户的本地手机号码(不含国家/地区代码),用于识别用户。 | 字符串 |
$flow.order_id | 要为其提交工单的订单 ID。 | 字符串 |
$flow.cancel_product_id_list | 用户想要取消的商品 ID 列表。 | 列表(字符串) |
$flow.cancel_product_quantity_list | 用户想要取消的商品数量列表,对应于 $flow.cancel_product_id_list 中的每个元素。 |
列表(字符串) |
$flow.cancel_reason_list | 每个已取消商品的取消原因列表,对应于 $flow.cancel_product_id_list 中的每个元素。 |
列表(字符串) |
$flow.order_refund_mode | 退款的付款方式。有效值由 prebuilt_components_cancel_mode_of_refund 实体定义。 |
字符串 |
API 响应参数
系统会从 API 响应中提取以下参数,以供组件使用。
参数名称 | 说明 | 输出格式 |
---|---|---|
order_cancellation_ticket_id | 已提交的取消请求的支持服务工单 ID。 | 字符串 |
如需为此组件配置“取消详情发布”Webhook,请展开相应部分查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击网络钩子。
- 选择 prebuilt_components_cancel_order:post_cancellation_details webhook。
- 将“对话式 AI 助理 (Dialogflow CX)”的 Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
- 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
完成
您的客服人员及其网络钩子现在应该已设置完毕,可以进行测试了。