取消订购预构建组件

取消订单预构建组件会检查用户的身份验证级别。用户通过身份验证后,该组件会提供有关用户最近或过去订单的信息。然后,用户可以选择取消整个订单或取消订单中的特定商品。此组件使用零售身份验证预构建组件对用户进行身份验证。该组件还使用 Generators 进行通话后总结。

限制

除了常见的预构建组件限制之外,此预构建组件还存在以下限制:

  • 此组件不会加密任何数据。

对话示例

以下示例对话展示了此预构建组件处理的常见场景。示例对话展示了使用电话调用组件时的行为,这会在对话开始时触发默认欢迎意图和第一个代理响应。

取消近期订单中的单件商品

最终用户之前已通过身份验证。客服人员确认应取消最新订单中的哪些商品。客服人员会检查原始付款方式,并与用户确认取消详细信息。

用户输入 智能体回答
您来电咨询的是否是您于 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。

您是否要取消整个订单?
请指明取消的原因。您可以说“改变主意了”“不再需要了”“我想购买其他商品”“延迟配送”“买错了”“想更改付款方式”等原因。
不再需要
感谢您告知我们。

我们已生成您的取消申请。

命名规则

此预构建组件使用以下命名惯例:

功能 格式 示例
Flow [组件名称] 取消订单
实体类型 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 指定在多个订单的后五位数字相同时,提供完整订单号时允许的重试次数。默认值为 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" 字符串

如需配置此组件的输入参数,请展开即可查看相关说明。

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择构建标签页。
  5. 点击部分中导入的组件。
  6. 点击页面部分中的“起始页”。
  7. 点击起始页中的 true 路线。
  8. 在“路线”窗口中,根据需要修改参数预设值。
  9. 点击保存

输出参数

输出参数是会话参数,在退出组件后仍会保持有效。这些参数包含组件收集的重要信息。此预构建组件可为以下输出参数提供值:

参数名称 说明 输出格式
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 内置事件
字符串

生成器

此组件使用 Generator 来启用对话的特定部分。

摘要

Summarization 生成器用于生成描述组件处理的对话的通话后总结。

基本设置

如需设置此预建组件,请执行以下操作:

  1. 导入预构建组件
  2. 配置提供的灵活的 Webhook,其中包含描述外部服务的配置,请参阅“Webhook 设置”。

网络钩子设置

如需使用此组件,您需要配置随附的灵活的 Webhook,以便从外部服务检索所需的信息。

身份验证

如果您之前未配置身份验证所需的外部服务,则需要配置这些服务,以便为相应组件启用用户身份验证。如需了解详细说明,请参阅零售身份验证 Webhook 设置

获取最近购买商品的

组件使用 prebuilt_components_cancel_order:get_order_details webhook 检索指定订单的订单详情。

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,请展开即可查看相关说明。

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子
  6. 选择 prebuilt_components_cancel_order:get_order_details webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存

获取重复订单的详细信息

当多个订单号的后五位数字相同时,组件会使用 prebuilt_components_retail_services:get_duplicate_order_details Webhook 来检索详细信息,以便区分订单。

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,请展开即可查看相关说明。

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子
  6. 选择 prebuilt_components_retail_services:get_duplicate_order_details Webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存

取消订阅后的详细信息

该组件使用 prebuilt_components_cancel_order:post_cancellation_details webhook 提交取消请求。

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,请展开即可查看相关说明。

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子
  6. 选择 prebuilt_components_cancel_order:post_cancellation_details webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存

完成

您的代理及其 webhook 现在应已设置完毕,可以进行测试了。