订单状态预构建组件

订单状态预建组件会检查客户的身份验证级别,然后向经过身份验证的客户提供有关用户最新订单或过往订单的信息。此组件使用 Retail 身份验证预构建组件对用户进行身份验证。该组件还使用 Generators 进行通话后总结。

限制

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

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

对话示例

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

近期订单

最终用户使用未注册的号码来电;客服人员对用户进行身份验证,然后提供订单中货件的详细信息。用户确认他们希望系统向其注册的手机号码发送包含其他详细信息的短信。

用户输入 智能体回答
代理使用零售身份验证预构建组件对用户进行身份验证
好的,John。您来电咨询的是否是 John Doe 于 2023 年 11 月 10 日下午 6:00 下达的最新订单,其中包含灯具、衬衫和其他 10 件商品?
是
您的订单包含 2 个运单,将于 2024 年 1 月 15 日之前送达。

您想详细了解这些运单吗?
是
包含牛仔裤、腰带和其他 2 件商品的配送服务 1 正在运输途中,将于 2024-01-12 之前送达。

包含灯具、衬衫和其他 6 件商品的配送服务 2 已于 2023-11-12 送达。

您是否希望通过短信接收有关商品的更多详细信息?
是
我们已向您发送一条短信,其中包含一个链接,您可以通过该链接跟踪所有货件的状态。感谢您致电我们。

重复订单

最终用户之前已通过身份验证。用户请求了解某订单的相关信息,并提供了该订单的后五位数字。代理会识别出该用户下的多个订单的后五位数字相同,因此会确认用户想要了解哪个订单的状态,并向用户提供该订单的状态。

用户输入 智能体回答
好的,Amber。您来电咨询的是 Amber Doe 于 2023 年 11 月 10 日下午 6:00 下达的最新订单吗?该订单包含灯具、衬衫和其他 2 件商品。
否
请提供您要跟踪的订单 ID 的后 5 位数字。
12355
我们收到的订单 ID 的最后五位数字是 12355,对吗?
是的,没错
太棒了,我们已完成订单 ID 的收集。
根据我们的记录,我们发现有 2 个订单的末尾 5 位数字都是 12355。您要查找哪个订单?

是 2023 年 11 月 10 日下午 6 点下的订单 1,还是 2023 年 11 月 9 日晚上 8 点下的订单 2?

如需选择订单 1,请说“1”;如需选择订单 2,请说“2”。否则,说“否”。
订购一个
您的订单包含 2 个运单,将于 2024 年 1 月 15 日之前送达。

您想详细了解这些运单吗?
是
包含牛仔裤的货件 1 正在运输途中,将于 2024-01-15 送达。

包含灯具、衬衫和 1 件其他商品的货件 2 已取消。

您是否希望通过短信接收有关商品的更多详细信息?
没有了
感谢您致电我们。

命名规则

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

功能 格式 示例
Flow [组件名称] Order Status
网络钩子 prebuilt_components_[component_name]:[webhook_action] prebuilt_components_order_status:get_order_details

输入参数

输入参数是用于配置组件某些行为的参数。流程中的一个或多个条件将使用这些参数来确定组件应如何运行。必须在组件的起始页面上设置流程范围的参数。会话级范围的参数可以通过调用流程设置,也可以在此组件的起始页面上设置。

此预构建组件接受以下输入参数:

参数名称 说明 输入格式
$session.params.phone_number (可选)用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
$session.params.all_recent_order_id (可选)此参数列出了与已通过身份验证的用户关联的订单 ID,并按订单提交日期降序排序。数组的第一个元素表示最近的订单。如果用户没有订单,此参数的值为 null。 列表(字符串)
$session.params.email (可选)与账号关联的电子邮件地址。 字符串
$session.params.user_first_name (可选)用户的名字,用于问候用户和确认账号的所有权。 字符串
$flow.max_shipment 指定一次向用户显示的货件数量。默认值为 2。 整数
$flow.tracking_status_delivered 指定 webhook 返回的值,用于指示订单状态为已送达。默认值为 "delivered"。 字符串
$flow.tracking_status_cancelled 指定 webhook 返回的值,用于指示订单状态为“已取消”。默认值为 "cancelled"。 字符串
$flow.tracking_status_returned 指定了 Webhook 返回的值,用于指示退回的订单状态。默认值为 "returned"。 字符串
$flow.tracking_status_partially_returned 指定 webhook 返回的值,用于指示部分退货订单状态。默认值为 "partially returned"。 字符串
$flow.max_retry_alternate_profile 指定在通过未注册的手机号码或备用个人资料请求订单状态时允许的重试次数。默认值为 3。 整数
$flow.max_retry_order_number 指定在提供订单号时允许的重试次数。默认值为 3。 整数
$flow.max_retry_another_order_id 指定在提供无效订单号后允许的重试次数。默认值为 3。 整数

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

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

基本设置

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

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

网络钩子设置

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

身份验证

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

获取最近购买商品的

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

API 请求参数

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

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

API 响应参数

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

参数名称 说明 输出格式
order_date 下单日期,采用 YYYY-MM-DD 格式。 字符串
order_time 下单时间,采用 HH:MM 格式。 字符串
order_status 表示订单的状态。示例值包括 "pending"、"processing"、"in-transit"、"on-hold"、"cancelled"、"delivered"、"returned"、"partially returned"。 字符串
order_product_name 订单中的商品名称列表。 列表(字符串)
order_product_quantity 订单中每种商品的订购总数。 整数
order_product_count 订单中不同商品的数量。 整数
order_status_notification 指明相应订单是否已启用通知。 布尔值
return_eligibility_date 列表,其中包含订单中每件商品可退货的截止日期,采用 YYYY-MM-DD 格式。 列表(字符串)
order_customer_billing_name 订单的客户结算名称中的名字。 字符串
order_latest_delivery_date 相应订单中所有货件的预计送达日期中最晚的日期,格式为 YYYY-MM-DD。 字符串
order_shipment_multiple 表示相应订单是否包含多个运单。 布尔值
order_shipment_count 相应订单中的货件数量。 整数
order_shipment_product_count 相应订单中每次发货的商品总数。 列表(整数)
order_shipment_product_name 相应订单中每次发货的商品名称列表。 列表(字符串)
order_estimated_delivery_date 订单中每单发货的预计送达日期列表,格式为 YYYY-MM-DD。 列表(字符串)
order_shipment_status 列表,用于指明相应订单中每批货件的状态。示例值包括 "pending"、"processing"、"in-transit"、"on-hold"、"cancelled"、"delivered"、"returned"、"partially returned"。 列表(字符串)

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

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

收到重复订单

当多个订单号的后五位数字相同时,组件会使用 prebuilt_components_retail_services:get_duplicate_order 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 webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择合适的方法。
  8. 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
  9. 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存。

发送短信

该组件使用 prebuilt_components_order_status:send_smsWebhook 通过短信将订单详细信息发送到指定的手机号码。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
$flow.order_id 要发送订单详细信息的订单 ID。 字符串

如需为此组件配置“发送短信”Webhook,请展开本部分以查看相关说明。

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

启用通知

组件使用 prebuilt_components_order_status:enable_notification webhook 为用户的注册手机号码启用通知。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
$flow.order_notification 指明是否应为用户启用通知。 布尔值

如需为此组件配置“启用通知”网络钩子,请展开即可查看相关说明。

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

完成

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