取消订单 预构建组件 检查用户的身份验证级别。在用户通过身份验证后,该组件会提供有关用户最近或过往订单的信息。然后,用户可以选择取消整个订单或取消订单中的特定商品。此组件使用零售店身份验证预构建组件对用户进行身份验证。该组件还使用 通话后使用的生成器 摘要。
限制
除了常见的预构建组件限制之外,此预构建组件还存在以下限制:
- 此组件不会加密任何数据。
示例对话框
以下示例对话框展示了由此函数处理的常见场景 预构建组件。示例对话框演示了使用电话功能调用组件时的行为,该功能会在对话开始时触发默认欢迎 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)且在 2023 年 11 月 10 日下午 06:00 下单的 1 件衬衫吗? | |
否 | |
要取消其他订单吗? | |
是 | |
能否提供要跟踪的订单 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 | 指定在提供订单号的最后五位数时允许的重试次数。默认值为 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 网络钩子返回的 order_payment_mode 字段的值。默认值为 "store_credit" 。 |
字符串 |
若要配置此组件的输入参数,请展开即可查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择 Build 标签页。
- 点击流部分中的导入的组件。
- 点击页面部分中的“首页”。
- 点击初始页中的 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 错误。请参阅 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 | 订单中可取消的商品的数量列表。 | 列表(字符串) |
如需为此组件配置“获取订单详情”网络钩子,请展开即可查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击网络钩子。
- 选择预构建_components_cancel_order:get_order_details 网络钩子。
- 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择适当的方法。
- 查看并更新请求正文,为 webhook 构建正确的请求格式。
- 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
获取重复订单的详细信息
该组件使用 prebuilt_components_retail_services:get_duplicate_order_details
Webhook 检索详细信息,以便在多个订单号的最后五位数字相同时区分订单。
API 请求参数
该组件会将以下参数作为 API 请求的输入提供给 API 请求。
参数名称 | 说明 | 输入格式 |
---|---|---|
$flow.duplicate_order_id | 包含用户一个或多个订单共享的订单号最后五位数的列表。 | 列表(字符串) |
API 响应参数
系统会从 API 响应中提取以下参数,以供组件使用。
参数名称 | 说明 | 输出格式 |
---|---|---|
all_order_date | 重复订单的订单日期列表,包含指定的最后五位数字,格式为 YYYY-MM-DD 。此数组中的每个元素都与 all_order_time 数组中的同一元素相对应。 |
列表(字符串) |
all_order_time | 重复订单的订单时间列表,包含指定的最后五位数字,采用 HH:MM 格式。此数组中的每个元素都与 all_order_date 数组中的同一元素相对应。 |
列表(字符串) |
如需为此组件配置“获取重复订单详情”Webhook,请展开相应部分查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhook。
- 选择预构建_components_retail_services:get_duplicate_order_details 网络钩子。
- 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择适当的方法。
- 查看并更新请求正文,为 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 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhook。
- 选择预构建_components_cancel_order:post_cancellation_details 网络钩子。
- 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择适当的方法。
- 查看并更新请求正文,为 webhook 构建正确的请求格式。
- 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
完成
您的客服人员及其网络钩子现在应该已设置完毕,可以进行测试了。