取消订购预构建组件

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

此组件使用零售身份验证预构建组件对用户进行身份验证。该组件还使用生成器进行通话后总结。

限制

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

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

对话示例

示例对话展示了此预构建组件处理的常见场景。 它们演示了用户使用电话呼叫组件时的行为,这会在对话开始时触发默认欢迎 intent 和第一个代理回答。

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

  1. 用户之前已通过身份验证。
  2. 客服人员确认要取消最近一笔订单中的哪些商品。
  3. 客服人员会检查原付款方式,并与用户确认取消详情。
用户输入 智能体回答
您致电是为了咨询您最近的订单吗?该订单编号以 12978 结尾,包含 5 个水瓶和 1 件 T 恤,下单时间为 2023 年 11 月 9 日晚上 8 点。
是
我们在您的订单中发现了一些符合条件的商品。请告诉我们您想取消哪件商品。
商品 1:Google 水瓶,商品 2:Google T 恤。

请说出或输入您要选择的商品的编号,或说“下一个”以显示更多商品。
下一页
我们在记录中未找到任何其他商品。请从分享的列表中选择。
商品 1:Google 水壶,商品 2:Google T 恤。

请说出或输入您要选择的商品的编号,或说“下一个”以显示更多商品。
1
为了确认,您是想取消 Google 水杯吗?代码是否正确?
是
可以看到,您所选商品的可用数量为 5。请指定您要取消的商品数量。
4
请说明取消原因。您可以说:改变主意了、不再需要、我想购买其他商品、延迟送货、误购、想更改支付方式,或说其他原因。
我想购买其他商品
感谢您告知我们。

您想取消其他产品吗?
否
对于使用钱包进行的购买交易,退款会发放到钱包或商店抵用金账号。退款需要 3 到 5 个工作日才能显示在您的账户中。请注意,退款金额不包括运费和手续费。

取消整个订单

  1. 用户之前已通过身份验证。
  2. 代理确认用户想要取消特定订单,然后收集取消原因。
  3. 客服人员会检查原付款方式,并与用户确认取消详情。
用户输入 智能体回答
您致电是为了咨询您最近的订单吗?该订单的订单号以 12345 结尾,包含 1 件衬衫,下单时间为 2023 年 11 月 10 日下午 6 点。
否
您要取消其他订单吗?
是
能否请您提供要跟踪的订单 ID 的后 5 位数字?
12346
我们获得的订单 ID 的最后五位数字是 12346,对吗?
是
好的,我们已收集完订单 ID。

您要取消整个订单吗?
是
请说明取消原因。您可以说:改变主意了、不再需要、我想购买其他商品、延迟送货、误购、想更改支付方式,或说其他原因。
不再需要
感谢您告知我们。

您的取消请求已生成。

命名规则

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

功能 格式 示例
Flow [Component Name] 取消订单
实体类型 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 指定在多个订单的后五位数字相同的情况下,提供完整订单号时允许的重试次数。默认值为 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. 点击页面部分中的“Start Page”。
  7. 点击“Start Page”中的 true 路由。
  8. 在“Route”(路线)窗口中,根据需要修改参数预设值。
  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 错误。请参阅 webhook.error 内置事件。

webhook_not_found:网络钩子网址无法访问。请参阅 webhook.error.not-found 内置事件。
字符串

生成器

生成器为对话的特定部分提供支持。

摘要

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

基本设置

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

  1. 导入预构建组件。
  2. 通过提供描述外部服务的配置来配置提供的灵活 webhook,请参阅 Webhook 设置。

Webhook 设置

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

身份验证

如果您之前未配置身份验证所需的外部服务,请配置这些服务,以便为此组件启用用户身份验证。如需详细了解身份验证,请参阅 Retail 身份验证 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. 点击 Webhooks。
  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. 点击 Webhooks。
  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 网络钩子提交取消请求。

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. 点击 Webhooks。
  6. 选择 prebuilt_components_cancel_order:post_cancellation_details webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
  8. 查看并更新请求正文,为您的网络钩子设置正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存。

完成

取消订单预构建组件及其网络钩子现已设置完毕,可以进行测试。