借助“开设账号”预构建组件,新用户和现有用户可以开设新账号或查看现有申请的状态。此组件使用出生日期收集组件、姓名收集组件和电话号码收集组件预构建组件来收集用户信息以注册新账号。
账号类型
默认情况下,此组件支持以下账号类型:
- 储蓄账户
- 支票账户(也称为“支票账号”)
- 证券账户
- 薪资账户
您可以通过修改 prebuilt_components_open_account_account_type
自定义实体来添加或移除受支持的账号类型。
限制
除了常见的预构建组件限制之外,此预构建组件还存在以下限制:
- 此组件不会加密任何数据。
对话框示例
以下示例对话框演示了此预构建组件处理的常见场景。示例对话框演示了通过电话调用组件时的行为,这会触发默认欢迎 intent 并在对话开始时发出第一个客服人员回复。
新用户
客服人员会收集用户的手机号码,并确定用户未注册账号。然后,客服人员会收集详细信息(包括用户的全名和出生日期),并生成一个应用,将其发送到用户提供的电话号码。
用户输入 | 客服人员回复 |
---|---|
请提供电话号码以便我们进行验证。 | |
客服人员使用电话号码收集预构建组件收集用户的电话号码 | |
太棒了,我们已收集电话号码。 很高兴您想在我们这里开设账号。 |
|
代理使用姓名收集预构建组件收集用户的完整姓名 | |
谢谢,John Doe。 | |
代理使用出生日期收集预构建组件收集用户的电话号码 | |
太棒了,我们已收集您的出生日期。 您打算开设哪种类型的账号?您可以说储蓄账户、支票账户、工资账户或证券账户。 |
|
当前账号 | |
确认一下,您想开设新的支票账户,对吗? | |
是 | |
感谢您提供信息。正在生成您的申请,请稍候。 您的应用 ID 是 81037。请点击您注册的手机号码上提供的链接,完成申请。 |
现有用户
客服人员确认用户之前已通过身份验证,并确认用户想要开设哪种类型的账号。客服人员会为用户创建申请,并向用户的注册手机号码发送说明。
用户输入 | 客服人员回复 |
---|---|
很高兴您想在我们这里开设新账号。 您打算开设哪种类型的账号?您可以说储蓄账户、支票账户、工资账户或证券账户。 |
|
请使用储蓄账户 | |
确认一下,您想开设一个新的储蓄账户,对吗? | |
是的,没错 | |
感谢您提供信息。正在为您生成申请,请稍候。 您的应用 ID 是 21430。请点击您注册的手机号码上提供的链接,完成申请。 |
现有应用
代理会识别出用户之前打开了一个应用,并向用户显示当前状态。用户拒绝为新账号打开其他应用。
用户输入 | 客服人员回复 |
---|---|
请提供电话号码以便我们进行验证。 | |
客服人员使用电话号码收集预构建组件收集用户的电话号码 | |
太棒了,我们已收集到电话号码。 您的开设储蓄账户申请(ID 为 12234)正在处理中。您想再开设一个账号吗? |
|
否 | |
好的,感谢您与我们联系。 |
命名规则
此预构建组件使用以下命名惯例:
功能 | 格式 | 示例 |
---|---|---|
流程 | [组件名称] | 打开账号 |
特定于组件的 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 请求的输入提供给 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。
- 将“对话式 AI 助理 (Dialogflow CX)”的 Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
- 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
生成应用
该组件使用 prebuilt_components_open_account:generate_application
webhook 为新账号生成应用。
API 请求参数
该组件会将以下参数作为 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。
- 将“对话式 AI 助理 (Dialogflow CX)”的 Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
- 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
- 查看并更新响应配置,以从您的 webhook 响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
- 根据需要查看并更新身份验证设置。
- 点击保存。
完成
您的客服人员及其网络钩子现在应该已设置完毕,可以进行测试了。