交易记录预构建组件

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

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

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

限制

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

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

对话示例

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

多个账号

最终用户有多个账号;代理确认用户请求的是哪个账号的交易记录。代理会收集交易的开始日期和结束日期、用户希望应用于交易的所有过滤条件,以及用户是否希望加密交易记录。代理向用户发送交易记录。

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

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

您能否提供您所指账号的后 4 位数字?
1001
我们获取的账号后四位是 1001,对吗?
是
请提供交易开始日期,先输入月份,然后输入日期,最后输入年份。请注意,我们只会提供过去 90 天内的交易记录。
智能体使用出生日期预构建组件收集交易开始日期
好的,我们已收集到您的交易开始日期。

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

我们找到了 2023-06-2 至 2023-07-21 期间的交易。您希望通过短信还是 WhatsApp 接收?
短信
您是否希望我们在与您分享文档之前对其进行加密?
好的
密码详情将发送到您注册的手机上。

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

命名规则

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

功能 格式 示例
Flow [Component Name] 交易记录
组件特定 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 (可选)需要提供交易记录的客户账号的后四位数字。如果客户只有一个账号,系统会在身份验证后自动检索此信息。如果客户有多个账号,则需要向客户收集具体的账号。 字符串
$session.params.transaction_history_max_days 指定交易开始日期距离当前日期的最大天数。默认情况下,此值为 -90,表示交易开始日期不得早于当前日期之前 90 天。此参数在起始页 true 路由中设置。 整数
$flow.max_retry_count 指定在提示最终用户提供有效的交易开始日期和结束日期时允许的重试次数。默认值为 3。 整数

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

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择构建标签页。
  5. 在流部分中点击导入的组件。
  6. 点击页面部分中的“Start Page”。
  7. 点击“Start Page”中的 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 错误。请参阅 webhook.error 内置事件。

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

基本设置

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

  1. 导入预构建组件。
  2. 使用描述外部服务的配置来配置提供的灵活 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 指明用户的注册账号中是否存在后四位为所提供数字的账号。 布尔值
余额 账号的当前余额(如果存在)。 数值

如需为此组件配置“验证账号”Webhook,请展开查看说明。

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击 Webhooks。
  6. 选择 prebuilt_components_account_services:validate_account webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
  8. 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
  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 在指定对账单期间,指定账号中应用所选过滤条件后找到的交易数量。 整数

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

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击 Webhooks。
  6. 选择 prebuilt_components_transaction_historyt:get_transactions webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
  8. 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
  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_phone 和 prebuilt_components_transaction_history_channel 自定义实体定义,具体取决于用户是否拥有注册邮箱。默认情况下,支持 email、mobile 和 whatsapp。 字符串
$flow.encryption_status 指明用户是否希望在将文档发送到指定渠道之前对其进行加密。如果用户未提供值,或者来电者拒绝提供结束日期,则该值默认为 true。 布尔值

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

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

完成

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