交易记录预构建组件

交易记录预构建组件会检查客户的身份验证级别,然后收集在检索交易记录时应用的交易时间段和其他过滤条件。此组件支持针对以下内容的过滤器:

  • 事务类型
  • 商家名称
  • 交易金额

如果客户有多个帐号,组件会确认客户想要检索其交易记录的特定帐号。此组件使用 Authentication 预构建组件对用户进行身份验证,并使用自定义版本的出生日期收集收集交易记录的开始日期和结束日期。

限制

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

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

示例对话框

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

多个账号

最终用户有多个帐号;代理确认用户请求的是哪个帐号的交易历史记录。代理会收集交易开始日期和结束日期、用户想要应用于交易的任何过滤条件,以及用户是否想要加密交易记录。代理会将交易记录发送给用户。

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

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

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

请提供交易结束日期,从月份开始,然后是日期,然后是年份。请注意,我们仅提供过去 90 天的交易记录。
代理使用出生日期预构建组件收集交易开始日期
谢谢!请确认您要查找的是 2023 年 6 月 25 日至 2023 年 7 月 21 日之间的交易吗?
请告诉我们您想获取其交易信息的商家的名称。
Google
我们捕获的商家名称是“Google”。能否请您回答“是”或“否”?
您想查看您的借记卡或信用卡的交易记录吗?
积分
请提供一个金额,以检索等额或超过指定金额的交易。例如,如果您想查找高于 100.30 美元的交易,请说“100”。
500
我们正在获取您的交易详情,请稍候。

我们找到了 2023 年 6 月 2 日至 2023 年 7 月 21 日期间的交易。你想通过短信还是 WhatsApp 接收短信?
短信
要在我们与您分享文档之前对其进行加密吗?
好的
系统会在您注册的移动设备上分享密码详细信息。

您会在 15 分钟内在注册的移动设备上收到该声明。

命名惯例

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

特征 形式 示例
[组件名称] 交易记录
组件专用 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_transaction_history_transaction_collection
实体类型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_transaction_history_det_cred
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_transaction_history:get_transactions

输入参数

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

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

参数名称 说明 输入格式
$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.transaction_history_max_days 指定交易开始日期允许的当前日期之前的最大天数。默认情况下,此值为 -90,表示交易开始日期最多只能比当前日期早 90 天。此参数在初始页 true 路由中设置。 整数
$flow.max_retry_count 指定提示最终用户提供有效交易开始日期和结束日期时允许的重试次数。默认值为 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. 点击保存

获取交易

在给定用户的注册手机号码、帐号的最后四位数字、交易记录期限以及用户选择的任何过滤条件的情况下,该组件会使用 prebuilt_components_transaction_history: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”格式。如果用户未提供任何值或调用方拒绝提供结束日期,则该值将默认为当前日期。 字符串
$flow.transaction_credit_payments 用户请求的交易类型。有效值由 prebuilt_components_transaction_history_det_cred 自定义实体定义。默认情况下,支持 "credit""debit"。如果用户拒绝选择类型,则此值为空字符串 "",且系统会统计任何类型的交易。 字符串
$flow.merchant_name 用户请求的商家名称。如果用户拒绝提供商家名称,则此值为空字符串 "",并且应统计来自所有商家的交易。 字符串
$flow.high_amount_value 用户请求的最低交易金额。如果用户拒绝提供金额,此参数的默认值是 0 整数

API 响应参数

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

参数名称 说明 输出格式
transactions_count 在指定对账单期内找到的符合所选过滤条件的交易数量。 整数

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

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

发送信息

根据用户的注册手机号码、账号的最后四位数、交易记录期限以及用户选择的任何过滤条件,该组件会使用 prebuilt_components_transaction_history:send_info 网络钩子将交易记录发送到所选渠道。

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.transaction_credit_payments 用户请求的交易类型。有效值由 prebuilt_components_transaction_history_det_cred 自定义实体定义。默认情况下,支持 "credit""debit"。如果用户拒绝选择类型,则此值为空字符串 "",系统应发送任何类型的交易。 字符串
$flow.merchant_name 用户请求的商家名称。如果用户拒绝提供商家名称,则此值为空字符串 "",并且来自所有商家的交易都应发送。 字符串
$flow.high_amount_value 用户请求的最低交易金额。如果用户拒绝提供金额,此参数的默认值是 0 整数
$flow.channel_medium 用户选择用来接收消息的频道。有效值由 prebuilt_components_transaction_history_phoneprebuilt_components_transaction_history_channel 自定义实体定义,具体取决于用户是否拥有注册的电子邮件地址。默认情况下,支持 emailmobilewhatsapp 字符串
$flow.encryption_status 指明用户是否希望文档在发送到指定通道之前进行加密。如果用户未提供任何值或调用方拒绝提供结束日期,则该值默认为 true boolean

如需为此组件配置“发送信息”网络钩子,请展开查看相关说明。

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

完成

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