交易记录预构建组件

交易记录 预构建组件 检查客户的身份验证级别, 然后收集交易时间段和 检索交易记录。此组件支持以下过滤条件:

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

如果客户有多个账号,该组件会确认客户想要检索哪个特定账号的交易记录。该组件使用 Authentication 用于验证用户身份的预构建组件,并使用 出生日期收集 来收集交易记录的开始日期和结束日期。

限制

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

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

示例对话框

以下示例对话框展示了由此函数处理的常见场景 预构建组件。示例对话框演示了通过电话调用组件时的行为,这会触发默认欢迎 intent 并在对话开始时发出第一个客服人员回复。

多个账号

最终用户有多个账号;客服人员确认用户请求查看哪个账号的交易记录。代理收集交易开始并 结束日期、用户希望对交易应用的任何过滤条件,以及 用户是否想要加密交易记录。客服人员将交易记录发送给用户。

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

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

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

请提供交易结束日期,格式为月、日、年。请注意,我们只会提供过去 90 天的交易记录。
代理使用 Date of birth 预构建组件收集交易开始日期
谢谢!请确认您要查找的是 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
网络钩子 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 布尔值
$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 (可选)需要提供交易记录的客户账号的后 4 位数字。如果客户只有一个账号,系统会在身份验证后自动检索此信息。如果客户有多个账号,则从客户那里收集特定账号。 字符串
$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. 配置提供的 灵活的网络钩子, 描述外部服务的配置,请参阅网络钩子 设置。

网络钩子设置

如需使用此组件,您需要配置随附的灵活的 Webhook,以从外部服务检索所需信息。

身份验证

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

验证账号

该组件使用 prebuilt_components_account_services:validate_account 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. 点击 Webhook
  6. 选择 prebuilt_components_account_services:validate_account webhook。
  7. 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的 响应。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 查看并根据需要更新身份验证设置。
  11. 点击保存

获取交易

该组件使用 prebuilt_components_transaction_history: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”格式。如果用户未提供任何值,或调用方拒绝提供结束日期,则此值默认为当前日期。 字符串
$flow.transaction_credit_debit 用户请求的交易类型。有效值由 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. 选择 prebuilt_components_transaction_historyt:get_transactions webhook。
  7. 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的 响应。请勿修改参数名称,因为组件需要这些名称才能访问返回的字段值。
  10. 查看并根据需要更新身份验证设置。
  11. 点击保存

发送信息

prebuilt_components_transaction_history:send_info 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.transaction_credit_debit 用户请求的交易类型。有效值由 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 布尔值

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

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

完成

您的客服人员及其网络钩子现在应该已设置完毕,可以进行测试了。