借助开放式账号预建组件,新用户和现有用户可以开立新账号或查看现有申请的状态。此组件使用出生日期收集、姓名收集和电话号码收集预构建组件来收集用户注册新账号所需的信息。
账号类型
默认情况下,此组件支持以下账号类型:
- 储蓄账户
- 支票账户(也称为活期账户)
- Demat 账户
- 薪资账户
您可以通过修改 prebuilt_components_open_account_account_type 自定义实体来添加或移除受支持的账号类型。
限制
除了常见的预构建组件限制之外,此预构建组件还存在以下限制:
- 此组件不会加密任何数据。
对话示例
以下示例对话展示了此预构建组件处理的常见场景。示例对话展示了通过电话调用组件时的行为,这会在对话开始时触发默认欢迎意图和第一个代理响应。
新建用户
代理收集用户的手机号码,并确定用户未注册账号。然后,该代理会收集详细信息,包括用户的全名和出生日期,并生成申请,发送到用户提供的电话号码。
| 用户输入 | 智能体回答 |
|---|---|
| 请向我们提供电话号码以进行验证。 | |
| 代理使用电话号码收集预构建组件收集用户的电话号码 | |
| 太棒了,我们已完成电话号码收集。 很高兴您想在我们这里开设账号。 |
|
| 代理使用姓名收集预建组件收集用户的全名 | |
| 谢谢,John Doe。 | |
| 代理使用出生日期收集预构建组件收集用户的电话号码 | |
| 太棒了,我们已收集到您的出生日期。 您想开设哪种类型的账号?您可以说“储蓄”“支票”“工资”或“Demat”。 |
|
| 当前账号 | |
| 您想开设一个新的支票账户,对吗? | |
| 是 | |
| 感谢您提供信息。我们正在生成您的申请,请稍候。 您的应用 ID 为 81037。请点击您注册的手机号码上收到的链接,完成申请。 |
现有用户
代理会识别出用户之前已通过身份验证,并确认用户想要开立哪种类型的账号。智能体向用户创建申请,并将说明发送到用户注册的手机号码。
| 用户输入 | 智能体回答 |
|---|---|
| 很高兴您想在我们这里开设新账号。 您想开设哪种类型的账号?您可以说“储蓄”“支票”“工资”或“Demat”。 |
|
| 储蓄账户 | |
| 请确认,您想开设一个新的储蓄账户,对吗? | |
| 是的,没错 | |
| 感谢您提供信息。我们正在生成您的申请,请稍候。 您的应用 ID 为 21430。请点击您注册的手机号码上收到的链接,完成申请。 |
现有申请
代理会识别出用户之前打开过单个应用,并向用户显示当前状态。用户拒绝为新账号打开其他申请。
| 用户输入 | 智能体回答 |
|---|---|
| 请向我们提供电话号码以进行验证。 | |
| 代理使用电话号码收集预构建组件收集用户的电话号码 | |
| 太棒了,我们已完成电话号码收集。 您申请开立储蓄账户(ID:12234)的流程正在进行中。您想开设其他账号吗? |
|
| 否 | |
| 好的,感谢您的来电。 |
命名规则
此预构建组件使用以下命名惯例:
| 功能 | 格式 | 示例 |
|---|---|---|
| Flow | [组件名称] | 开设账号 |
| 特定于组件的 intent | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_open_account_account_type |
| 实体类型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_open_account_account_type |
| 网络钩子 | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_open_account:generate_application |
输入参数
输入参数是用于配置组件某些行为的参数。流程中的一个或多个条件将使用这些参数来确定组件应如何运行。必须在组件的起始页上设置流程范围的参数,如下所述。会话范围的参数可以通过调用流程设置,也可以在此组件的起始页面上设置。
此预构建组件接受以下输入参数:
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.auth_level | (可选)指明调用者的身份验证级别。 | 整数 |
| $session.params.phone_number | (可选)客户用于身份验证的注册手机号码。 | 字符串 |
| $session.params.min_age_limit | 指定允许开设新账号的最低用户年龄。默认值为 18。 |
整数 |
| $session.params.max_age_limit | 指定允许开设新账号的用户的最大年龄。默认值为 100。 |
整数 |
| $flow.max_dob_retry_count | 指定在收集有效出生日期时允许的重试次数。默认值为 2。 |
整数 |
| $flow.max_retry_account_type | 指定在收集用户想要开设的账号类型时允许的重试次数。默认值为 2。 |
整数 |
| $flow.max_retry_another_account | 指定用户想要更改所选账号类型时允许的重试次数。默认值为 2。 |
整数 |
如需配置此组件的输入参数,请展开即可查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择构建标签页。
- 点击流部分中导入的组件。
- 点击页面部分中的“起始页”。
- 点击起始页中的 true 路线。
- 在“路线”窗口中,根据需要修改参数预设值。
- 点击保存。
输出参数
输出参数是会话参数,在退出组件后仍会保持有效。这些参数包含组件收集的重要信息。此预构建组件可为以下输出参数提供值:
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| phone_number | 用户的本地手机号码(不含国家/地区代码),用于标识用户。 | 字符串 |
| transfer_reason | 此参数用于指明流程退出(如果未成功)的原因。返回值包括:agent:最终用户在对话期间的某个时间点请求人工客服。denial_of_information:最终用户拒绝分享组件请求的信息。max_no_input:对话达到无输入事件的最大重试次数。请参阅无输入内置事件。max_no_match:对话已达到无匹配事件的最大重试次数。请参阅内置的“不匹配”事件。webhook_error:发生了网络钩子错误。请参阅 webhook.error 内置事件。webhook_not_found:无法访问网络钩子网址。请参阅webhook.error.not-found 内置事件。 |
字符串 |
基本设置
如需设置此预建组件,请执行以下操作:
- 导入预构建组件。
- 配置所提供的灵活的 Webhook,并提供描述外部服务的配置,请参阅下文中的“Webhook 设置”。
网络钩子设置
如需使用此组件,您需要配置随附的灵活的 Webhook,以便从外部服务检索所需的信息。
电话验证
该组件使用 prebuilt_components_open_account:telephone_verification webhook 获取有关已注册账号以及与用户电话号码关联的先前应用的信息。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.phone_number | 用户的本地手机号码(不含国家/地区代码),用于标识用户。 | 字符串 |
API 响应参数
以下参数会从 API 响应中提取,供组件使用。
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| account_count | 与注册的电话号码相关联的账号数量。这些账号包括用户本人的账号以及用户拥有代理权的账号。如果没有与指定电话号码关联的账号,则此值为 null。 |
整数 |
| user_first_name | 注册用户的名字。如果电话号码未与注册账号关联,则此值为 null。 |
字符串 |
| user_last_name | 注册用户的姓氏。如果电话号码未与注册账号关联,则此值为 null。 |
字符串 |
| user_dob | 注册用户的出生日期,格式为“YYYY-MM-DD”。如果电话号码未与注册账号关联,则此值为 null。 |
字符串 |
| application_count | 与注册电话号码关联的应用数量。如果没有与指定电话号码关联的应用,则此值为 null。 |
整数 |
| application_id | 一个列表,其中包含与指定电话号码关联的每个应用的 ID,例如 ["00000", "11111", "22222"]。此列表中的每个元素表示的应用都与 account_type 和 application_status 中具有相同索引的元素表示的应用相同。如果没有与指定电话号码关联的应用,则此值为 null。 |
列表(字符串) |
| account_type | 一个列表,其中包含与指定电话号码关联的每个应用的账号类型,例如 ["savings", "checking", "demat"]。此列表中的每个元素表示的应用都与 application_id 和 application_status 中具有相同索引的元素表示的应用相同。如果没有与指定电话号码关联的应用,则此值为 null。 |
列表(字符串) |
| application_status | 一个列表,其中包含与指定电话号码(例如 ["in progress", "on hold", "completed"])关联的每个申请的状态。此列表中的每个元素表示的应用都与 application_id 和 account_type 中具有相同索引的元素表示的应用相同。如果没有与指定电话号码关联的应用,则此值为 null。 |
列表(字符串) |
如需为此组件配置电话验证 webhook,请展开即可查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击网络钩子。
- 选择 prebuilt_components_open_account:telephone_verification webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
- 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
生成应用
该组件使用 prebuilt_components_open_account:generate_application webhook 为新账号生成应用。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
| 参数名称 | 说明 | 输入格式 |
|---|---|---|
| $session.params.phone_number | 用户的本地手机号码(不含国家/地区代码),用于标识用户。 | 字符串 |
| user_first_name | 用户的名字。 | 字符串 |
| user_last_name | 用户的姓氏。 | 字符串 |
| user_dob | 用户的出生日期,格式为“YYYY-MM-DD”。 | 字符串 |
API 响应参数
以下参数会从 API 响应中提取,供组件使用。
| 参数名称 | 说明 | 输出格式 |
|---|---|---|
| application_id | 为新账号申请生成的应用 ID。 | 字符串 |
如需配置此组件的“生成应用 Webhook”,请展开本部分以查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击网络钩子。
- 选择 prebuilt_components_open_account:generate_application webhook。
- 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 检查并更新请求正文,以形成适合您网络钩子的正确请求格式。
- 查看并更新响应配置,以从 Webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
完成
您的代理及其 webhook 现在应已设置完毕,可以进行测试了。