退货和退款预构建组件会检查用户的身份验证级别。用户通过身份验证后,该组件会提供有关用户最近或过去订单的信息。然后,用户可以选择退回订单中的多件商品,并选择退款和退货方式等选项。此组件使用零售身份验证预构建组件对用户进行身份验证。该组件还使用生成器进行通话后总结和常见问题解答。
限制
除了常见的预构建组件限制之外,此预构建组件还具有以下限制:
- 此组件不会加密任何数据。
对话示例
以下示例对话展示了此预构建组件处理的常见场景。示例对话演示了使用电话服务调用组件时的行为,这会在对话开始时触发默认欢迎 intent 和第一个代理响应。
单件商品的实体店退货
最终用户之前已通过身份验证。客服人员确认最近订单中的哪些商品需要退货,并收集退货原因。 用户选择在实体店退货,代理便会提供最近的实体店列表。用户选择一家门店,智能体生成配送标签并发送到用户的注册渠道。
| 用户输入 | 智能体回答 |
|---|---|
| 您致电是为了咨询您最近的订单吗?该订单的订单号以 12345 结尾,包含 2 盏灯,下单时间为 2023 年 11 月 10 日。 | |
| 是 | |
| 确认一下,您想退回 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 | [Component Name] | 退货和退款 |
| 实体类型 | 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 | 指定在提供订单号后五位时允许的重试次数。默认值为 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。 |
字符串 |
如需为此组件配置输入参数,请展开以查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择构建标签页。
- 在流部分中点击导入的组件。
- 点击页面部分中的“Start Page”。
- 点击“Start Page”中的 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 内置事件。 |
字符串 |
生成器
此组件使用生成器来启用对话的特定部分。
常见问题解答
FAQ 生成器用于处理有关退货和换货的常见问题,包括:
- 退货流程是否有截止日期?
- 我可以换货吗?
- 商品价格与退款金额不一致。这是为什么?
摘要
Summarization 生成器用于生成通话后摘要,以描述组件处理的对话。
基本设置
如需设置此预构建组件,请执行以下操作:
- 导入预构建组件。
- 使用描述外部服务的配置来配置提供的灵活 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,请展开查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_return_refund:get_order_details webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
获取重复订单详情
当多个订单号的后五位数字相同时,组件会使用 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,请展开查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_retail_services:get_duplicate_order_details webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
获取商店详情
组件使用 prebuilt_components_return_refund:get_store_details webhook 检索用户提供的邮政编码附近的商店列表。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $flow.zip_code | 用于搜索附近商店的邮政编码。 | 字符串 |
API 响应参数
系统会从 API 响应中提取以下参数,供组件使用。
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| store_id | 商店 ID 列表。 | 列表(字符串) |
| store_address | 与 store_id 的每个元素对应的商店地址列表。 |
列表(字符串) |
如需为此组件配置“获取商店详情”Webhook,请展开查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_return_refund:get_store_details webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
发布退货详情
组件使用 prebuilt_components_return_refund:post_return_details webhook 提交退货。
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。 | 字符串 |
如需为此组件配置“Post return details”Webhook,请展开查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_return_refund:post_return_details webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
发送货到付款退款信息
该组件使用 prebuilt_components_return_refund:send_COD_refund_information webhook 向用户发送与退货相关的付款信息。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.phone_number | 用户的本地手机号码(不含国家/地区代码),用于识别用户。 | 字符串 |
| $flow.order_id | 要提交工单的订单 ID。 | 字符串 |
| $flow.channel | 要将信息发送到的特定频道。有效值由 prebuilt_components_channel_email_phone 实体定义。默认情况下,系统支持 phone 和 email。 |
字符串 |
如需为此组件配置“发送货到付款退款信息”Webhook,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhooks。
- 选择 prebuilt_components_return_refund:send_COD_refund_information webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
完成
您的代理及其 webhook 现在应该已设置完毕,可以进行测试了。