打开账号预构建组件

开放帐号预构建组件允许新用户和现有用户开设新帐号或检查现有应用的状态。此组件使用出生日期收集姓名收集电话号码收集预构建组件来收集注册新帐号的用户信息。

账号类型

默认情况下,此组件支持以下帐号类型:

  • 储蓄账户
  • 支票账户,也称为活期账户
  • Demat 账号
  • 薪资账户

您可以通过修改 prebuilt_components_open_account_account_type 自定义实体来添加或移除支持的帐号类型。

限制

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

  • 该组件不加密任何数据。

示例对话框

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

新用户

代理会收集用户的手机号码并确定用户尚未注册帐号。然后,代理会收集包括用户全名和出生日期在内的详细信息,并生成一个应用并发送给用户提供的电话号码。

用户输入 代理响应
请向我们提供电话号码以用于验证目的。
代理使用电话号码收集预构建组件收集用户的电话号码
太棒了,我们已完成电话号码收集。
很高兴您想向我们开立账号。
代理使用名称收集预构建组件收集用户的全名
谢谢,John Doe
代理使用出生日期收集预构建组件收集用户的电话号码
太好了,我们已经收集了您的出生日期。

您想要开设哪种类型的账号?例如储蓄、支票、工资或 demat。
当前账户
确认一下,您想要开设一个新的支票账号,对吗?
感谢您提供相关信息。我们正在生成您的应用,请稍候。

您的应用 ID 是 81037。请点击您的注册手机号码上提供的链接,完成您的申请。

现有用户

代理会识别用户之前已通过身份验证,并确认用户想要打开的帐号类型。代理会为用户创建应用,并将说明发送到用户的注册手机号码。

用户输入 代理响应
您想让我们开立一个新账号,对此我们非常高兴。

您想要开设哪种类型的账号?例如储蓄、支票、工资或 demat。
请告诉我储蓄账号
确认一下,您想要开设一个新的储蓄账户,对吗?
是的,没错
感谢您提供相关信息。我们正在生成您的应用,请稍候。

您的应用 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
Webhook 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 整数

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

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

输出参数

输出参数是在退出组件后将保持活跃状态的会话参数。这些参数包含该组件收集的重要信息。此预构建组件提供了以下输出参数的值:

参数名称 说明 输出格式
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 内置事件
字符串

基本设置

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

  1. 导入预构建组件
  2. 使用描述 Dialogflow 外部服务的配置来配置所提供的灵活 webhook,请参阅下面的 webhook 设置。

网络钩子设置

为了使用此组件,您需要配置所包含的灵活网络钩子,以从外部服务中检索所需信息。

电话号码验证

该组件使用 prebuilt_components_open_account:telephone_verification 网络钩子来获取与用户的电话号码关联的已注册帐号和先前应用的相关信息。

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_typeapplication_status 中具有相同索引的元素相同的应用。如果没有与指定电话号码相关联的应用,则此值为 null 列表(字符串)
account_type 包含与指定电话号码关联的每个应用的帐号类型的列表,例如 ["savings", "checking", "demat"]。此列表中的每个元素都表示与 application_idapplication_status 中具有相同索引的元素相同的应用。如果没有与指定电话号码相关联的应用,则此值为 null 列表(字符串)
application_status 包含与给定电话号码关联的每个应用的状态的列表,例如 ["in progress", "on hold", "completed"]。此列表中的每个元素都表示与 application_idaccount_type 中具有相同索引的元素相同的应用。如果没有与指定电话号码相关联的应用,则此值为 null 列表(字符串)

如需为此组件配置电话验证网络钩子,请展开查看相关说明。

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

生成应用

该组件使用 prebuilt_components_open_account:generate_application 网络钩子为新帐号生成应用。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
user_first_name 用户的名字。 字符串
user_last_name 用户的姓氏。 字符串
user_dob 用户出生日期,采用“YYYY-MM-DD”格式。 字符串

API 响应参数

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

参数名称 说明 输出格式
application_id 为新账号申请生成的应用 ID。 字符串

如需为此组件配置“Generate application webhook”,请展开查看相关说明。

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

完成

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