订单状态预构建组件

订单状态预构建组件会检查客户的身份验证级别,然后向已通过身份验证的客户提供有关用户最新或过往订单的信息。此组件 使用 零售身份验证 用于验证用户身份的预构建组件该组件还使用 通话后使用的生成器 摘要。

限制

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

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

示例对话框

以下示例对话框展示了由此函数处理的常见场景 预构建组件。示例对话框演示了组件 使用电话进行调用,这会触发“默认欢迎 intent”和第一个 在对话开始时让客服人员回应你。

近期订单

从未注册号码拨打最终用户的电话;代理对用户进行身份验证 然后提供有关订单中货运的详细信息。用户确认希望系统向其注册的电话号码发送包含更多详细信息的短信。

用户输入 客服人员回复
代理使用 Retail Authentication 预构建组件对用户进行身份验证
好的,John。您是想咨询您最近一次在 2023 年 11 月 10 日下午 6:00 订购的 John Doe 订单,订单包括灯具、衬衫和其他 10 件商品吗?
您的订单包含 2 个配送项,将于 2024 年 1 月 15 日之前送达。

您想详细了解这些配送项吗?
第 1 个运单(包含牛仔裤、腰带和 2 件其他商品)正在运送途中,将于 2024 年 1 月 12 日之前送达。

包含灯具、衬衫和其他 6 件商品的运单 2 已于 2023 年 11 月 12 日送达。

您是否希望接收短信来提供有关您商品的更多详情?
我们向您发送了一条短信,其中包含一个链接,可用于跟踪所有配送的状态。感谢您与我们联系。

重复订单

最终用户之前已通过身份验证。用户请求有关订单的信息,并提供订单的最后五位数字。代理识别出 该用户所下多个订单的后五位数字相同,因此 确认用户想要听到哪个订单的状态,并提供 将订单状态传递给用户。

用户输入 代理响应
好的,Amber。您是想咨询您最近一次在 2023 年 11 月 10 日下午 6:00 订购的 Amber Doe,订单包括灯具、衬衫和其他 2 件商品吗?
能否请您提供要跟踪的订单 ID 的后 5 位数字?
12355
我们得到的订单 ID 的最后五位数是 12355,对吗?
是的,没错
太好了,我们已收集到订单 ID。
根据我们的记录,我们发现了 2 个以相同的 5 位数字 12355 结尾的订单。您要查找哪个订单?

下单时间是 2023 年 11 月 10 日下午 6:00 的 1 号订单,还是 2023 年 11 月 9 日晚上 8:00 的 2 号订单?

若要选择 1 号订单,请说 1,要选择 2 号订单,请说 2。否则请说“不”。
订购一台
您的订单包含 2 个配送项,将于 2024 年 1 月 15 日之前送达。

您想详细了解这些配送项吗?
第 1 个包含牛仔裤的运单正在运送途中,将于 2024 年 1 月 15 日之前送达。

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

您是否希望通过短信收到有关商品的更多详情?
不,仅此而已
感谢您与我们联系。

命名规则

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

特征 格式 示例
流程 [组件名称] 订单状态
网络钩子 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. 选择 Build 标签页。
  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 设置。

网络钩子设置

要使用此组件,您需要配置包含的 灵活的网络钩子 从外部服务获取所需的信息

身份验证

如果您之前没有为 您需要对其进行配置,以启用对 用户。请参阅 Retail 身份验证网络钩子设置 了解详细说明。

获取最近购买商品的

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

API 请求参数

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

获取重复订单

该组件使用 prebuilt_components_retail_services:get_duplicate_order Webhook 检索详细信息,以便在多个订单号的最后五位数字相同时区分订单。

API 请求参数

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

发送短信

该组件使用 prebuilt_components_order_status:send_sms webhook 通过短信将订单详情发送到指定的电话号码。

API 请求参数

该组件会将以下参数作为 API 请求的输入提供给 API 请求。

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

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

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

启用通知

该组件使用 prebuilt_components_order_status:enable_notification webhook 为用户的已注册电话号码启用通知。

API 请求参数

该组件会将以下参数作为 API 请求的输入提供给 API 请求。

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

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

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

完成

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