账号余额 预构建组件 会检查客户的身份验证级别,然后向通过身份验证的客户提供账号余额 信息。如果客户有多个账号,该组件会确认客户想要检索账号余额的具体账号。此组件使用 身份验证 预构建组件对用户进行身份验证。
限制
除了 常见的预构建组件限制之外, 此预构建组件还有以下限制:
- 此组件不会加密任何数据。
对话示例
以下对话示例展示了此预构建组件处理的常见场景。对话示例展示了通过电话调用组件时的行为,这会在对话开始时触发默认欢迎意图和第一个智能体回答。
一个账号
最终用户只有一个账号,系统会向其提供账号余额。
| 用户输入 | 智能体回答 |
|---|---|
| 智能体使用身份验证预构建组件对用户进行身份验证 | |
| 谢谢,您已成功通过身份验证。 | |
| 请稍候,我们正在获取您的账号详细信息。 与以 4567 结尾的账号关联的余额为 50.00 美元。 |
多个账号
最终用户有多个账号;智能体会请求并确认账号的后四位数字,并提供该账号的账号余额。
| 用户输入 | 智能体回答 |
|---|---|
| 智能体使用身份验证预构建组件对用户进行身份验证 | |
| 谢谢,您已成功通过身份验证。 | |
| 请稍候,我们正在获取您的账号详细信息。 我们发现有 2 个账号与您的号码相关联。 您能否提供您所指账号的后 4 位数字? |
|
| 2002 | |
| 我们获取的账号的后四位数字是 2002,对吗? | |
| 是 | |
| 与以 2002 结尾的账号关联的余额为 5000 美元。 |
具有上下文的多个账号
最终用户有多个账号,系统会保留之前意图中的引用账号,并提供账号余额。
| 用户输入 | 智能体回答 |
|---|---|
| 请稍候,我们正在获取您的账号详细信息。 我们发现有 3 个账号与您的号码相关联。 您要查找的是以 4567 结尾的账号吗? |
|
| 是 | |
| 与以 4567 结尾的账号关联的余额为 50 美元。 |
命名规则
此预构建组件使用以下命名规则:
| 功能 | 格式 | 示例 |
|---|---|---|
| 流 | [组件名称] | 账号余额 |
| 组件专用意图 | 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 |
整数 |
如需为此组件配置输入参数,请展开即可查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择构建 标签页。
- 点击流 部分中导入的组件。
- 点击页面 部分中的起始页。
- 点击起始页中的 true 路由。
- 在“路由”窗口中,根据需要修改参数预设 值。
- 点击保存 。
输出参数
输出参数是会话参数,在退出组件后仍会保持有效状态。这些参数包含组件收集的重要信息。此预构建组件为以下输出参数提供值:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| 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 内置事件。 |
字符串 |
基本设置
如需设置此预构建组件,请执行以下操作:
网络钩子设置
如需使用此组件,您需要配置包含的 灵活网络钩子,以从外部服务检索 所需的信息。
身份验证
如果您之前未配置身份验证所需的外部服务,则需要配置这些服务,以便为此组件启用用户身份验证。如需了解详细说明,请参阅身份验证网络钩子设置 。
验证账号
组件使用 prebuilt_components_account_services:validate_account
网络钩子来验证账号是否存在,验证依据是用户的注册手机号码和提供的账号的后四位数字。
如果账号存在,网络钩子还会返回账号余额。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.phone_number | 用户的本地手机号码(不含国家/地区代码),用于标识用户。 | 字符串 |
| $session.params.last_four_digit_of_account_number | 用户选择并确认接收账号余额信息的账号的后四位数字。 | 字符串 |
API 响应参数
以下参数从 API 响应中提取,供组件使用。
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| account_found | 表示用户的注册账号是否存在后四位数字与提供的后四位数字相同的账号。 | 布尔值 |
| balance | 账号的当前余额(如果账号存在)。 | 数值 |
如需为此组件配置“验证账号”网络钩子,请展开即可查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理 标签页。
- 点击网络钩子 。
- 选择 prebuilt_components_account_services:validate_account 网络钩子。
- 将 Dialogflow CX 网络钩子网址 字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择合适的方法 。
- 查看并更新请求正文 ,以形成适合您的网络钩子的请求格式。
- 查看并更新响应配置 ,以从网络钩子的 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问 返回的字段值。
- 根据需要查看并更新身份验证 设置。
- 点击保存 。
完成
您的代理及其网络钩子现在应该已设置完毕,可以进行测试了。