账号余额预构建组件

账号余额预构建组件会检查客户的身份验证级别,然后向已通过身份验证的客户提供账号余额信息。如果客户有多个账号,该组件会确认客户想要检索哪个账号的账号余额。此组件使用预建的身份验证组件对用户进行身份验证。

限制

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

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

对话示例

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

单个账号

最终用户拥有一个账号,并获知了账号余额。

用户输入 智能体回答
代理使用身份验证预构建组件对用户进行身份验证
谢谢,您已成功通过身份验证。
我们正在提取您的账号详情,请稍等。

与尾号为 4567 的账号关联的余额为 50.00 美元。

多个账号

最终用户有多个账号;代理请求并确认账号的后四位数字,然后提供相应账号的余额。

用户输入 智能体回答
代理使用身份验证预构建组件对用户进行身份验证
谢谢,您已成功通过身份验证。
我们正在提取您的账号详细信息,请稍等。

我们发现您的号码关联了 2 个账号。

您能否提供您所指账号的后 4 位数字?
2002
我们收到的账号的后四位是 2002,对吗?
与尾号为 2002 的账号关联的余额为 5,000 美元。

包含上下文的多个账号

最终用户有多个账号,推荐的账号号码从之前的 intent 中保留下来,并随账号余额一起提供。

用户输入 智能体回答
请稍等,我们正在提取您的账号详细信息。

我们发现您的号码关联了 3 个账号。

您要查找的是账号末尾为 4567 的账号吗?
与尾号为 4567 的账号关联的余额为 50 美元。

命名规则

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

功能 格式 示例
Flow [组件名称] 账号余额
特定于组件的 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_account_number_collection_four_digit_account_number
网络钩子 prebuilt_components_[component_name]:[webhook_action] prebuilt_components_account_balance:get_account_balance

输入参数

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

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

参数名称 说明 输入格式
$session.params.auth_level (可选)指明调用者的身份验证级别 整数
$session.params.auth_level_req 指明用户在访问其账号余额之前需要完成的身份验证级别。此值是在 check auth level 页面的网页入口 fulfillment参数预设中配置的。默认情况下,此值为 1 整数
$session.params.account_auth_enabled 指示是否应按照身份验证类型中的说明对用户进行账号持有者身份验证。此值是在 check auth level 页面的网页入口 fulfillment参数预设中配置的。默认情况下,此值为 true 布尔值
$session.params.card_auth_enabled 指明是否应按照身份验证类型中的说明对用户进行持卡人身份验证。此值是在 check auth level 页面的网页入口 fulfillment参数预设中配置的。默认情况下,此值为 false 布尔值
$session.params.phone_number (可选)客户用于身份验证的注册手机号码。 字符串
$session.params.account_count (可选)与经过身份验证的用户相关联的账号数量。 整数
$session.params.last_four_digit_of_account_number (可选)需要提供余额的客户账号的后四位数字。如果客户只有一个账号,系统会在身份验证后自动检索此信息。如果客户有多个账号,则会向客户收集具体账号。 字符串
$flow.max_retry_acc_number 指定在收集最终用户账号的后四位数字时允许的重试次数。默认值为 3 整数

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

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择构建标签页。
  5. 点击部分中导入的组件。
  6. 点击页面部分中的“起始页”。
  7. 点击起始页中的 true 路线。
  8. 在“路线”窗口中,根据需要修改参数预设值。
  9. 点击保存

输出参数

输出参数是会话参数,在退出组件后仍会保持有效。这些参数包含组件收集的重要信息。此预构建组件可为以下输出参数提供值:

参数名称 说明 输出格式
auth_level 指示调用者的身份验证级别 整数
phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
account_count 与注册的电话号码相关联的账号数量。这些账号包括用户本人的账号以及用户拥有代理权的账号。 整数
last_four_digit_of_account_number 如果用户只有一个账号,则返回账号的后四位数字。如果用户有多个账号,此形参的值是用户选择接收账号余额信息的账号的后四位数。 字符串
transfer_reason 此参数用于指明流程退出(如果未成功)的原因。返回值包括:

agent:最终用户在对话期间的某个时间点请求人工客服。

denial_of_information:最终用户拒绝分享组件请求的信息。

max_no_input:对话达到无输入事件的最大重试次数。请参阅无输入内置事件

max_no_match:对话已达到无匹配事件的最大重试次数。请参阅内置的“不匹配”事件

webhook_error:发生了网络钩子错误。请参阅 webhook.error 内置事件

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

基本设置

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

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

网络钩子设置

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

身份验证

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

验证账号

该组件使用 prebuilt_components_account_services:validate_account webhook 来验证是否存在与用户注册的手机号码和提供的账号后四位数字对应的账号。如果存在账号,Webhook 还会返回账号余额。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用户的本地手机号码(不含国家/地区代码),用于标识用户。 字符串
$session.params.last_four_digit_of_account_number 用户选择并确认要接收余额信息的账号的后四位数字。 字符串

API 响应参数

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

参数名称 说明 输出格式
account_found 表示用户的注册账号中是否存在后四位与所提供数字相同的账号。 布尔值
余额 账号的当前余额(如果存在)。 数字

如需为此组件配置“验证账号”网络钩子,请展开即可查看相关说明。

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

完成

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