账号对账单预构建组件

账号对账单预构建组件会验证客户的身份验证级别,并将指定时间段内的账号对账单发送给经过身份验证的用户。如果客户有多个账号,该组件会确认用户需要检索哪个账号的账号对账单。

此组件使用身份验证预构建组件对客户进行身份验证,并使用自定义版本的出生日期收集来收集对账单周期的开始日期和结束日期。

限制

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

  • 此组件不会加密任何数据。

对话示例

以下示例对话演示了此预构建组件处理的常见场景。它们展示了您使用电话功能调用组件时的行为,这会在对话开始时触发默认欢迎 intent 和第一个代理响应。

一个账号

如果用户只有一个账号,代理会收集对账单的开始日期和结束日期,询问用户是否要加密对账单,然后将账号对账单发送给用户。

用户输入 智能体回答
代理使用身份验证预构建组件对用户进行身份验证。
谢谢,您已成功通过身份验证。
我们正在获取您的账号详细信息,请稍等。

我们找到了一个与您的号码关联的账号,其尾号为 1001。

请提供账号对账单的开始日期,先输入月份,然后输入日期,最后输入年份。请注意,系统仅会提供过去 90 天的账号对账单。
代理使用出生日期预构建组件收集对账单开始日期。
好的,我们已收集到您的对账单开始日期。

请提供账号对账单结束日期,先输入月份,然后输入日期,最后输入年份。请注意,系统仅会提供过去 90 天的账号对账单。
代理使用出生日期预构建组件收集对账单结束日期。
谢谢!请确认您是否要查找 2023-07-12 至 2023-07-24 期间的账号对账单?
是
我们正在提取您的对账单详情,请稍候。

我们找到了 2023-07-12 至 2023-07-24 期间的交易。您希望通过电子邮件、短信还是 WhatsApp 接收?
短信
您是否希望我们在与您分享文档之前对其进行加密?
不用了
您将在 15 分钟内通过注册的手机收到对账单。

多个账号

如果用户有多个账号,代理会确认用户请求的是哪个账号的对账单。然后,代理会收集对账单的开始日期和结束日期,询问用户是否要加密对账单,并将账号对账单发送给用户。

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

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

您能否提供您所指账号的后 4 位数字?
2002
我们获取的账号后四位数字是 2002,对吗?
是
请提供账号对账单开始日期,格式为月、日、年。请注意,账号对账单期限仅限过去 90 天。
代理使用出生日期预构建组件收集对账单开始日期。
好的,我们已收集到您的对账单开始日期。

请提供账号对账单结束日期,先输入月份,然后输入日期,最后输入年份。请注意,系统仅会提供过去 90 天的账号对账单。
代理使用出生日期预构建组件收集对账单结束日期。
谢谢!请确认您是否需要 2023-07-18 至 2023-07-22 期间的账号对账单?
是
我们正在提取您的对账单详情,请稍候。

我们找到了 2023-07-18 至 2023-07-22 期间的交易。您希望通过电子邮件、短信还是 WhatsApp 接收?
WhatsApp
您是否希望我们在与您分享文档之前对其进行加密?
是
密码详情将发送到您注册的 WhatsApp。

您将在 15 分钟内通过注册的 WhatsApp 收到对账单。

命名规则

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

功能 格式 示例
Flow 组件名称 账户对账单
组件特定 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
网络钩子 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。 布尔值
$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 (可选)需要提供对账单的客户账号的后四位数字。如果客户只有一个账号,系统会在身份验证后自动检索此信息。如果客户有多个账号,则需要向客户收集具体的账号。 字符串
$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. 选择构建标签页。
  5. 在流部分中点击导入的组件。
  6. 点击页面部分中的“Start Page”。
  7. 点击“Start Page”中的 true 路由。
  8. 在“Route”(路线)窗口中,根据需要修改参数预设值。
  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 错误。请参阅 webhook.error 内置事件。

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

基本设置

如需设置预构建组件,请完成以下步骤:

  1. 导入预构建组件。
  2. 使用描述外部服务的设置配置提供的灵活 webhook。如需了解详情,请参阅 Webhook 设置部分。

Webhook 设置

如需使用此组件,您必须配置包含的灵活网络钩子,以便从外部服务检索所需信息。

身份验证

如果您之前未配置身份验证所需的外部服务,请配置这些服务,以便为此组件启用用户身份验证。如需详细了解 webhook 设置,请参阅身份验证 webhook 设置。

验证账号

该组件使用 prebuilt_components_account_services:validate_account webhook,根据用户注册的手机号码和提供的账号后四位来验证账号是否存在。如果账号存在,Webhook 还会返回账号余额。

API 请求参数

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

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

API 响应参数

该组件会从 API 响应中提取以下参数:

参数名称 说明 输出格式
account_found 指明用户的注册账号中是否存在后四位数字与所提供数字相同的账号。 布尔值
余额 账号的当前余额(如果存在)。 数值

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

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

获取交易

组件使用 prebuilt_components_account_statement:get_transactions webhook 根据用户的注册手机号码、账号的后四位数字和对账单周期检索账号的交易。

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 在指定对账单期间内为指定账号找到的交易数量。 整数

如需为此组件配置“获取交易”Webhook,请展开查看相关说明。

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

请求提供对账单

prebuilt_components_account_statement:request_statement webhook 会根据用户的注册手机号码、账号的后四位数字和对账单周期,将账号的对账单发送到所选渠道。

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_channelphn 和 prebuilt_components_account_statement_channelall 自定义实体定义,具体取决于用户是否拥有注册邮箱。默认情况下,支持 email、mobile 和 WhatsApp。 字符串
$flow.encryption_status 指明用户是否希望在将文档发送到指定渠道之前对其进行加密。如果用户未提供任何值,或者主叫方拒绝提供加密偏好设置,则该值默认为 true。 布尔值

如需为此组件配置“请求对账单”Webhook,请展开以查看相关说明。

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

完成

预构建组件及其网络钩子现已设置完毕,可以进行测试。