取消订购预构建组件

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

限制

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

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

对话框示例

以下示例对话框演示了此预构建组件处理的常见场景。示例对话框演示了使用电话功能调用组件时的行为,该功能会在对话开始时触发默认欢迎 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" 字符串

如需为此组件配置输入参数,请展开相应部分查看说明。

  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 内置事件
字符串

生成器

此组件使用生成器来启用对话的特定部分。

摘要

Summarization 生成器用于生成通话后摘要,用于描述组件处理的对话。

基本设置

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

  1. 导入预构建组件
  2. 使用描述外部服务的配置配置提供的灵活的 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,请展开相应部分查看说明。

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

获取重复订单的详细信息

该组件使用 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,请展开相应部分查看说明。

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

取消后详情

该组件使用 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,请展开相应部分查看说明。

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

完成

您的客服人员及其网络钩子现在应该已设置完毕,可以进行测试了。