账号余额预构建组件

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

限制

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

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

对话示例

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

一个账号

最终用户只有一个账号,系统会提供该账号的余额。

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

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

多个账号

最终用户有多个账号;客服人员请求并确认账号的后四位数字,并提供该账号的账号余额。

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

我们发现有 2 个账号与您的号码相关联。

您能否提供您所指账号的后 4 位数字?
2002
我们获取的账号后四位数字是 2002,对吗?
是
尾号为 2002 的账号余额为 5000 美元。

多个账号(含上下文)

最终用户有多个账号,系统会保留上一个 intent 中提及的账号,并提供该账号的余额。

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

我们发现有 3 个账号与您的号码相关联。

您要找的是以 4567 结尾的账号吗?
是
您尾号为 4567 的账号余额为 50 元。

命名规则

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

功能 格式 示例
Flow [Component Name] 账号余额
组件特定 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 页面中页面条目执行方式的参数预设中配置的。默认情况下,此值为 1。 整数
$session.params.account_auth_enabled 指明是否应按照身份验证类型中的说明,将用户作为账号持有人进行身份验证。此值是在 check auth level 页面中页面条目执行方式的参数预设中配置的。默认情况下,此值为 true。 布尔值
$session.params.card_auth_enabled 指明是否应将用户作为持卡人进行身份验证,如身份验证类型中所述。此值是在 check auth level 页面中页面条目执行方式的参数预设中配置的。默认情况下,此值为 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. 点击页面部分中的“Start Page”。
  7. 点击“Start Page”中的 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 错误。请参阅 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 指明用户的注册账号中是否存在后四位为所提供数字的账号。 布尔值
余额 账号的当前余额(如果存在)。 数值

如需为此组件配置“验证账号”Webhook,请展开查看说明。

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

完成

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