退货和退款预构建组件

退货和退款预构建组件会检查用户的身份验证级别。用户通过身份验证后,该组件会提供有关用户最近或过去订单的信息。然后,用户可以选择退回订单中的多件商品,并选择退款和退货方式等选项。此组件使用零售身份验证预构建组件对用户进行身份验证。该组件还使用 Generators 进行通话后总结和常见问题解答。

限制

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

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

对话示例

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

单件商品的实体店退货

最终用户之前已通过身份验证。客服人员会确认最新订单中的哪些商品需要退货,并收集退货原因。 用户选择在实体店退货,然后代理提供附近实体店的列表。用户选择商店后,智能体便会生成配送标签,并将其发送到用户注册的渠道。

用户输入 智能体回答
您来电咨询的是否是您于 2023 年 11 月 10 日下单的尾号为 12345 的最新订单(包含 2 个灯具)?
是
确认您有意退回 Google 灯具。是否正确?
是
我们可以看到,您所选商品的现有数量为 2。请指定您要退回的商品数量。
二
请指明退货原因。您可以说明商品存在缺陷或无法正常使用、不再需要、尺寸或合身度有问题、发送了错误的商品、商品到货太晚、买错了商品,也可以说明其他原因。
其他
请说明退货原因。
质量不佳
为了验证,退货原因是质量差。是否正确?
是
请告诉我们您希望通过哪种方式接收退款。您可以说“商店抵用金”或“来源账号”等。
源账号
感谢您确认要将退款退至原付款方式。

最后一步,您希望如何退回商品?您可以说“在实体店内退货”“在自提点退货”或“安排取件”。
实体店内退货
让我们来查找您附近的商店。
代理使用邮政编码收集预构建组件收集邮政编码
以下是您输入的邮政编码附近的地点列表。
地址 1:Google Texas, 500 W 2nd St, Suite 2900 Austin, Texas 78701, US。
地址 2:Google California, 19510 Jamboree Road, Irvine, California 92612, US。

请说出或输入您要选择的地址编号,或说出“下一个”以显示更多商店地址。
1
确认您已选择 Google Texas,地址为 500 W 2nd St, Suite 2900 Austin, Texas 78701, US。对吗?
是
太棒了!我们已将配送标签和支持请求编号发送到您注册的手机号码和电子邮件地址。请打印出来并将其贴在包裹上,然后在 30 天内将退货商品寄出。
我们的仓库收到退货商品后,退款会在 3 到 5 个工作日内退回到您的账号中。请注意:退款金额不包括运费和手续费。
感谢您的来电。

命名规则

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

功能 格式 示例
Flow [组件名称] 退货和退款
实体类型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_return_refund_mode_of_return
网络钩子 prebuilt_components_[component_name]:[webhook_action] prebuilt_components_return_refund:post_return_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 位数时允许的重试次数。默认值为 3。 整数
$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_return_confirm_counter 指定确认所选商品时允许的最大重试次数。默认值为 2。 整数
$flow.max_retry_return_reason_counter 指定在确认退货原因时允许的重试次数。默认值为 2。 整数
$flow.order_product_return_reason_others 指定 prebuilt_components_return_refund_reason 实体的价值,表示用户已选择“其他”退货原因。默认值为 "others"。 字符串
$flow.max_retry_select_quantity 指定在选择要退回的商品数量时允许的最大重试次数。默认值为 2。 整数
$flow.max_store_display_counter 指定单轮对话中要呈现的最大商店数量。默认值为 1。 整数
$flow.max_store_display 指定整个对话中要呈现的商店数量上限。默认值为 10。 整数
$flow.max_retry_store_number_counter 指定选择商店时允许的最大重试次数。默认值为 2。 整数
$flow.max_retry_store_selection 指定在确认商店选择时允许的重试次数。默认值为 2。 整数
$flow.max_retry_another_zip_code 指定在提供邮政编码时允许的最大重试次数。默认值为 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"。 字符串
$flow.order_refund_mode_source_account 指定 prebuilt_components_return_refund_mode_of_refund 实体的价值,表示用户选择退款到其来源账号。默认值为 source_account。 字符串
$flow.order_return_location_scheduled_for_pickup 指定 prebuilt_components_exchange_order_location 实体的值,该值表示用户选择安排退货取件。默认值为 scheduled_for_pickup。 字符串

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

  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 错误。请参阅 webhook.error 内置事件。

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

生成器

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

常见问题解答

FAQ 生成器用于处理有关退货和换货的常见问题,包括:

  • 退货流程是否有截止日期?
  • 我可以换货吗?
  • 商品价格与退款金额不同。这是为什么?

摘要

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

基本设置

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

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

网络钩子设置

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

身份验证

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

获取最近购买商品的

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

API 请求参数

以下参数由组件提供,作为 API 请求的输入。

参数名称 说明 输入格式
$flow.order_id 要检索详细信息的订单 ID。 字符串

API 响应参数

以下参数会从 API 响应中提取,供组件使用。

参数名称 说明 输出格式
order_date 下单日期,采用 YYYY-MM-DD 格式。 字符串
order_product_count 订单中不同商品的数量。 整数
order_payment_mode 表示下单时使用的付款方式。 字符串
returnable_product_id 相应订单中可退货商品的商品 ID 列表。 列表(字符串)
returnable_product_name 相应订单中可退货商品的商品名称列表。 列表(字符串)
returnable_product_brand_name 相应订单中可退货商品的品牌名称列表。 列表(字符串)
returnable_product_quantity 相应订单中可退货商品的数量列表。 列表(字符串)

如需为此组件配置“获取订单详情”Webhook,请展开即可查看相关说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击网络钩子。
  6. 选择 prebuilt_components_return_refund: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_return_refund:get_store_details Webhook 来检索用户提供的邮政编码附近的商店列表。

API 请求参数

以下参数由组件提供,作为 API 请求的输入。

参数名称 说明 输入格式
$flow.zip_code 用于搜索附近商店的邮政编码。 字符串

API 响应参数

以下参数会从 API 响应中提取,供组件使用。

参数名称 说明 输出格式
store_id 商店 ID 列表。 列表(字符串)
store_address 与 store_id 的每个元素对应的实体店地址列表。 列表(字符串)

如需为此组件配置“获取商店详细信息”Webhook,请展开即可查看相关说明。

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

发布退货详情

组件使用 prebuilt_components_return_refund:post_return_details 网络钩子提交退货。

API 请求参数

以下参数由组件提供,作为 API 请求的输入。

参数名称 说明 输入格式
$session.params.phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
$flow.order_id 要提交支持请求的订单 ID。 字符串
$flow.return_product_id_list 用户想要退回的商品 ID 列表。 列表(字符串)
$flow.return_product_quantity_list 用户想要退回的商品数量列表,与 $flow.return_product_id_list 中的每个元素对应。 列表(字符串)
$flow.return_reason_list 每个退回商品的退货原因列表,与 $flow.return_product_id_list 中的每个元素对应。 列表(字符串)
$flow.order_return_location 所选的退货方式。有效值由 prebuilt_components_exchange_order_location 实体定义。 字符串
$flow.order_return_store_id 用户为实体店退货选择的实体店的 ID。 字符串
$flow.order_refund_mode 退款的付款方式。有效值由 prebuilt_components_return_refund_mode_of_return 实体定义。如果不需要退款,则此值为 null。 字符串

API 响应参数

以下参数会从 API 响应中提取,供组件使用。

参数名称 说明 输出格式
order_return_ticket_id 提交的退货的工单 ID。 字符串

如需为此组件配置“退货详情”Webhook,请展开即可查看相关说明。

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

发送货到付款退款信息

该组件使用 prebuilt_components_return_refund:send_COD_refund_information 网络钩子 向用户发送退货相关的支付信息。

API 请求参数

以下参数由组件提供,作为 API 请求的输入。

参数名称 说明 输入格式
$session.params.phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
$flow.order_id 要提交支持请求的订单 ID。 字符串
$flow.channel 用于发送信息的特定渠道。有效值由 prebuilt_components_channel_email_phone 实体定义。默认情况下,支持 phone 和 email。 字符串

如需为此组件配置“发送货到付款退款信息”Webhook,请展开即可查看相关说明。

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

完成

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