账号活动报告预构建组件

帐号活动报告预构建组件会检查客户的身份验证级别,然后将指定时间段内的帐号活动报告发送给经过身份验证的客户。如果客户有多个帐号,该组件会确认客户想要检索其帐号对账单的具体帐号。此组件使用 Authentication 预构建组件对用户进行身份验证,并使用自定义版本的“出生日期”收集功能收集对账单期限的开始日期和结束日期。

限制

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

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

示例对话框

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

一个账号

最终用户只有一个帐号。代理会收集对账单的开始日期和结束日期、用户是否想要加密对账单,并将帐号对账单发送给用户。

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

我们发现了一个尾号为 1001 的账号与您的号码相关联。

请提供账号对账单开始日期,从月份开始,接着是日期,然后是年份。请注意,我们只能提供过去 90 天的对账单期限。
代理使用出生日期预构建组件收集对账单开始日期
太好了,我们已经收集了您的对账单开始日期。

请提供账号对账单的结束日期,从月份开始,接着是日期,然后是年份。请注意,我们只能提供过去 90 天的对账单期限。
代理使用出生日期预构建组件收集对账单结束日期
谢谢!请确认您是否查找 2023 年 7 月 12 日至 2023 年 7 月 24 日之间的账号对账单?
我们正在获取您的对账单详细信息,请稍候。

我们发现了 2023 年 7 月 12 日至 2023 年 7 月 24 日期间的交易。你想通过电子邮件、短信还是 WhatsApp 接收?
短信
要在我们与您分享文档之前对其进行加密吗?
不用了
您将在 15 分钟内在注册的手机上收到该对账单。

多个账号

最终用户有多个帐号;代理确认用户请求针对哪个帐号发出帐号对帐单。代理会收集对账单的开始日期和结束日期、用户是否想要加密对账单,并将帐号对账单发送给用户。

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

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

能否请您提供所指账号的最后 4 位数字?
2002
我们获得的账号的最后四位数是 2002,对吗?
请提供账号对账单的开始日期,从月份开始,然后是日期,然后是年份。请注意,我们只能提供过去 90 天的对账单期限。
代理使用出生日期预构建组件收集对账单开始日期
太好了,我们已经收集了您的对账单开始日期。

请提供账号对账单的结束日期,从月份开始,接着是日期,然后是年份。请注意,我们只能提供过去 90 天的对账单期限。
代理使用出生日期预构建组件收集对账单结束日期
谢谢!请确认您是否查找 2023 年 7 月 18 日至 2023 年 7 月 22 日期间的账号对账单?
我们正在获取您的对账单详细信息,请稍候。

我们发现了 2023 年 7 月 18 日至 2023 年 7 月 22 日期间的交易。你想通过电子邮件、短信还是 WhatsApp 接收?
WhatsApp
要在我们与您分享文档之前对其进行加密吗?
系统会在您注册的 WhatsApp 中分享密码详细信息。

您会在 15 分钟内通过注册的 WhatsApp 收到该声明。

命名惯例

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

特征 形式 示例
[组件名称] 账号活动报告
组件专用 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_account_number_collection_four_digit_account_number
实体类型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_account_statement_channelall
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_account_statement:request_statement

输入参数

输入参数是用于配置组件某些行为的参数。流中的一个或多个条件将使用这些参数来确定组件的行为方式。流范围的参数必须在组件的初始页上设置,如下所述。会话级范围的参数可以通过调用流设置,也可以在此组件的初始页上设置。

此预构建组件接受以下输入参数:

参数名称 说明 输入格式
$session.params.auth_level (可选)指示调用方的身份验证级别。 整数
$session.params.auth_level_req 用于指明用户访问其帐号活动报告前所需达到的身份验证级别。此值在 check auth level 页面中页面条目执行方式参数预设中配置。默认情况下,此值为 1 整数
$session.params.account_auth_enabled 指明用户是否应该作为帐号持有人进行身份验证(如身份验证类型中所述)。此值在 check auth level 页面中页面条目执行方式参数预设中配置。默认情况下,此值为 true boolean
$session.params.card_auth_enabled 用于指明用户是否应该以持卡人身份接受身份验证(如身份验证类型中所述)。此值在 check auth level 页面中页面条目执行方式参数预设中配置。默认情况下,此值为 false boolean
$session.params.phone_number (可选)用于验证身份的客户已注册手机号码。 字符串
$session.params.account_count (可选)与经过身份验证的用户关联的帐号数量。 整数
$session.params.last_four_digit_of_account_number (可选)需要提供对账单的客户账号的后四位数字。如果客户只有一个帐号,系统会在身份验证后自动检索这些信息。如果客户有多个帐号,系统会从客户那里收集具体帐号。 字符串
$session.params.account_statement_max_days 指定对账单开始日期允许的当前日期之前的最大天数。默认情况下,此值为 -90,表示对账单开始日期最多只能比当前日期早 90 天。此参数在初始页 true 路由中配置。 整数
$flow.max_retry_count 指定提示最终用户提供有效的对账单结束日期时允许的重试次数。默认值为 3 整数
$flow.max_retry_confirm_period_counter 指定在与最终用户确认对账单期限时允许的重试次数。默认值为 3 整数
$flow.max_retry_statement_counter 指定在提供的语句期间未检索到任何事务时允许的重试次数。默认值为 3 整数

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

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择 Build 标签页。
  5. 部分中点击导入的组件。
  6. 点击网页部分中的初始页。
  7. 点击初始页中的 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.error 内置事件

webhook_not_found:无法访问网络钩子网址。请参阅 webhook.error.not-found 内置事件
字符串

基本设置

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

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

网络钩子设置

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

Authentication

如果您之前未配置过身份验证所需的外部服务,则需要对其进行配置,以便为此组件启用用户身份验证功能。如需查看详细说明,请参阅 Authentication 网络钩子设置

验证账号

该组件使用 prebuilt_components_account_services:validate_account 网络钩子,根据用户的注册手机号码和所提供帐号的最后四位数来验证帐号是否存在。如果存在帐号,网络钩子还会返回帐号余额。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$session.params.last_four_digit_of_account_number 用户选择并确认可接收其账号对账单信息的账号的后四位数。 字符串

API 响应参数

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

参数名称 说明 输出格式
account_found 指明用户的注册帐号是否存在提供后四位数字的帐号。 boolean
余额 相关账号的当前余额(如有)。 数字

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

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

获取交易

根据用户的注册手机号码、帐号的最后 4 位数字和对帐单期限,该组件使用 prebuilt_components_account_statement:get_transactions 网络钩子来检索帐号的交易。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$session.params.last_four_digit_of_account_number 用户选择并确认可接收其账号对账单信息的账号的后四位数。 字符串
$flow.statement_start_date 所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。 字符串
$flow.statement_end_date (可选)所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。如果用户未提供任何值或调用方拒绝提供结束日期,则该值将默认为当前日期。 字符串

API 响应参数

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

参数名称 说明 输出格式
transactions_count 在指定对帐单周期内找到的指定账号的交易数量。 整数

如需为此组件配置“获取事务”网络钩子,请展开查看相关说明。

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

请求对账单

该组件使用 prebuilt_components_account_statement:request_statement 网络钩子,根据用户的注册手机号码、账号的最后四位数和对帐单期限,将帐号的对账单发送到所选频道。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$session.params.last_four_digit_of_account_number 用户选择并确认可接收其账号对账单信息的账号的后四位数。 字符串
$flow.statement_start_date 所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。 字符串
$flow.statement_end_date (可选)所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。如果用户未提供任何值或调用方拒绝提供结束日期,则该值将默认为当前日期。 字符串
$flow.channel_medium 用户选择用来接收消息的频道。有效值由 prebuilt_components_account_statement_channelphnprebuilt_components_account_statement_channelall 自定义实体定义,具体取决于用户是否拥有注册的电子邮件地址。默认情况下,支持 emailmobileWhatsApp 字符串
$flow.encryption_status 指明用户是否希望文档在发送到指定通道之前进行加密。如果用户未提供任何值或调用方拒绝提供结束日期,则该值默认为 true boolean

如需为此组件配置请求语句 webhook,请展开查看相关说明。

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

完成

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