信用卡对帐单预构建组件会检查客户的身份验证级别,然后将信用卡对帐单在指定时间段内发送给经过身份验证的客户。如果客户有多张信用卡,该组件会确认客户想要检索其信用卡对账单的具体卡。此组件使用自定义版本的 Authentication 预构建组件对持卡人进行身份验证,并使用自定义版本的出生日期收集来收集对账单期限的开始日期和结束日期。
限制
除了常见的预构建组件限制之外,此预构建组件还具有以下限制:
- 该组件不加密任何数据。
示例对话框
以下示例对话框展示了此预构建组件处理的常见场景。这些示例对话框演示了通过电话调用组件时的行为,这会在对话开始时触发“默认欢迎意图”和第一个代理响应。
单一信用卡
最终用户拥有一张信用卡。代理会收集对账单的开始日期和结束日期、用户是否想要加密对账单,并将信用卡对账单发送给用户。
用户输入 | 代理响应 |
---|---|
代理使用 Authentication 预构建组件对用户进行身份验证 | |
谢谢,您已成功进行身份验证。 | |
我们正在获取您的卡的详细信息,请稍候。 我们发现一个尾号为 1002 的卡号与您的卡号相关联。 |
|
请提供信用卡对账单开始日期,从月份开始,然后是日期,然后是年份。请注意,我们只会提供过去 180 天的信用卡对账单。 | |
代理使用出生日期预构建组件收集对账单开始日期 | |
太好了,我们已经收集了您的信用卡对账单开始日期。 请提供信用卡对账单结束日期,从月份开始,接着是日期,然后是年份。请注意,我们只会提供过去 180 天的信用卡对账单。 |
|
代理使用出生日期预构建组件收集对账单结束日期 | |
太好了,我们已经收集了您的信用卡对账单结束日期。 谢谢。请确认您查找的是 2023 年 6 月 1 日至 2023 年 6 月 30 日期间的声明。 |
|
是 | |
我们正在获取您的对账单详细信息,请稍候。 我们发现了 2023 年 6 月 1 日至 2023 年 6 月 30 日期间的交易。你想通过电子邮件、短信还是 WhatsApp 接收? |
|
发送到我的电子邮件地址 | |
要在我们与您分享文档之前对其进行加密吗? | |
不用了 | |
您将在 15 分钟内通过注册的电子邮件收到该声明。 |
多张信用卡
最终用户有多张信用卡;代理确认用户请求的是哪张卡的信用卡对账单。代理会收集对账单的开始日期和结束日期、用户是否想要加密对账单,并将信用卡对账单发送给用户。
用户输入 | 代理响应 |
---|---|
代理使用 Authentication 预构建组件对用户进行身份验证 | |
谢谢,您已成功验证。 | |
我们正在获取您的信用卡详细信息,请稍候。 我们发现有 2 张卡与您的电话号码关联。能否请您提供所提及的银行卡的后 4 位数字? |
|
1122 | |
我们得到的卡号后四位数是 1122,对吗? | |
是 | |
请提供信用卡对账单开始日期,从月份开始,然后是日期,然后是年份。请注意,我们只会提供过去 180 天的信用卡对账单。 | |
代理使用出生日期预构建组件收集对账单开始日期 | |
太好了,我们已经收集了您的信用卡对账单开始日期。 请提供信用卡对账单结束日期,从月份开始,接着是日期,然后是年份。请注意,我们只会提供过去 180 天的信用卡对账单。 |
|
代理使用出生日期预构建组件收集对账单结束日期 | |
太好了,我们已经收集了您的信用卡对账单结束日期。 谢谢。请确认您是否查找 2023 年 7 月 13 日至 2023 年 7 月 14 日期间的声明。 |
|
是 | |
我们正在获取您的对账单详细信息,请稍候。 我们发现了 2023 年 7 月 13 日至 2023 年 7 月 14 日期间的交易。你想通过电子邮件、短信还是 WhatsApp 接收? |
|
短信 | |
要在我们与您分享文档之前对其进行加密吗? | |
是 | |
系统会在您注册的移动设备上分享密码详细信息。 您会在 15 分钟内在注册的移动设备上收到该声明。 |
命名惯例
此预构建组件使用以下命名惯例:
特征 | 形式 | 示例 |
---|---|---|
流 | [组件名称] | 信用卡对账单 |
实体类型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_statement_channel_all |
Webhook | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_credit_card_statement:request_statement |
输入参数
输入参数是用于配置组件某些行为的参数。流中的一个或多个条件将使用这些参数来确定组件的行为方式。流范围的参数必须在组件的初始页上设置,如下所述。会话级范围的参数可以通过调用流设置,也可以在此组件的初始页上设置。
此预构建组件接受以下输入参数:
参数名称 | 说明 | 输入格式 |
---|---|---|
$session.params.auth_level | (可选)指示调用方的身份验证级别。 | 整数 |
$session.params.auth_level_req | 用于指明用户访问其信用卡对账单前需达到的身份验证级别。此值在 check auth level 页面中页面条目执行方式的参数预设中配置。默认情况下,此值为 1 。 |
整数 |
$session.params.account_auth_enabled | 指明是否应按照身份验证级别中所述的账号持有人对用户进行身份验证。此值在 check auth level 页面中页面条目执行方式的参数预设中配置。默认情况下,此值为 false 。 |
boolean |
$session.params.card_auth_enabled | 指明用户是否应作为持卡人进行身份验证(如身份验证级别中所述)。此值在 check auth level 页面中页面条目执行方式的参数预设中配置。默认情况下,此值为 true 。 |
boolean |
$session.params.phone_number | (可选)用于验证身份的客户已注册手机号码。 | 字符串 |
$session.params.credit_card_count | (可选)与经过身份验证的用户关联的信用卡的数量。 | 整数 |
$session.params.last_four_digit_of_card_number | (可选)需要提供对账单的客户卡号的后四位数字。如果客户只有一张卡,系统会在身份验证后自动检索此信息。如果客户有多张卡,则会向客户收集具体卡号。 | 字符串 |
$session.params.credit_card_statement_max_days | 指定对账单开始日期允许的当前日期之前的最大天数。默认情况下,此值为 -180 ,表示对账单开始日期不得超过当前日期前 180 天。此参数在初始页 true 路由中配置。 |
整数 |
$flow.max_retry_count | 指定提示最终用户提供有效的对账单结束日期时允许的重试次数。默认值为 3 。 |
整数 |
如需为此组件配置输入参数,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择 Build 标签页。
- 在流部分中点击导入的组件。
- 点击网页部分中的初始页。
- 点击初始页中的 true 路由。
- 在“路由”窗口中,根据需要修改参数预设值。
- 点击保存。
输出参数
输出参数是在退出组件后将保持活跃状态的会话参数。这些参数包含该组件收集的重要信息。此预构建组件提供了以下输出参数的值:
参数名称 | 说明 | 输出格式 |
---|---|---|
auth_level | 指示调用方的身份验证级别。 | 整数 |
phone_number | 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 | 字符串 |
credit_card_count | 与注册电话号码相关联的信用卡的号码。 | 整数 |
last_four_digit_of_card_number | 如果用户拥有一张卡,则返回卡号的最后四位数。如果用户拥有多张银行卡,则此参数的值为用户选择接收信用卡对账单信息的卡号的最后四位数。 | 字符串 |
transfer_reason | 此参数指示数据流退出的原因(如果失败的话)。返回值为以下值之一:agent :在对话期间的某个时间点,最终用户请求了人工客服。denial_of_information :最终用户拒绝分享该组件请求的信息。max_no_input :对话已达到无输入事件的重试次数上限。请参阅无输入内置事件。max_no_match :对话已达到无匹配事件的重试次数上限。请参阅无匹配的内置事件。webhook_error :发生了网络钩子错误。请参阅 webhook.error 内置事件。webhook_not_found :无法访问网络钩子网址。请参阅 webhook.error.not-found 内置事件。 |
字符串 |
基本设置
如需设置此预构建组件,请执行以下操作:
- 导入预构建组件。
- 使用描述 Dialogflow 外部服务的配置来配置所提供的灵活 webhook,请参阅下面的 webhook 设置。
网络钩子设置
为了使用此组件,您需要配置所包含的灵活网络钩子,以从外部服务中检索所需信息。
Authentication
如果您之前未配置过身份验证所需的外部服务,则需要对其进行配置,以便为此组件启用用户身份验证功能。如需查看详细说明,请参阅 Authentication 网络钩子设置。
获取信用卡详细信息
组件使用 prebuilt_components_credit_card_statement:credit_card_details
网络钩子检索已注册的电话号码的信用卡详细信息。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
参数名称 | 说明 | 输入格式 |
---|---|---|
$session.params.phone_number | 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 | 字符串 |
API 响应参数
以下参数是从 API 响应中提取的,供组件使用。
参数名称 | 说明 | 输出格式 |
---|---|---|
credit_card_count | 与注册电话号码相关联的信用卡的号码。 | 整数 |
credit_card | 客户信用卡号的后四位。如果客户有多张卡,则此值为 null 。 |
字符串 |
电子邮件 | 用户的注册电子邮件。如果没有注册到该电话号码的电子邮件地址,则此值为 null 。 |
字符串 |
如需为此组件配置“获取信用卡详情”网络钩子,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhook。
- 选择预建组件_credit_card_statement:credit_card_details webhook。
- 将 Dialogflow 网络钩子网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择合适的方法。
- 查看并更新请求正文,以构成网络钩子的正确请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件必须使用这些参数名称才能访问返回的字段值。
- 查看并视需要更新 Authentication 设置。
- 点击保存。
验证卡
该组件使用 prebuilt_components_credit_card_statement:validate_date
网络钩子来验证某个已注册的电话号码是否存在给定信用卡。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
参数名称 | 说明 | 输入格式 |
---|---|---|
$session.params.phone_number | 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 | 字符串 |
$session.params.last_four_digit_of_card_number | 用户所提供信用卡号的后四位数字。 | 字符串 |
API 响应参数
以下参数是从 API 响应中提取的,供组件使用。
参数名称 | 说明 | 输出格式 |
---|---|---|
valid_card | 指明是否找到了与注册电话号码对应的指定卡。 | boolean |
如需为此组件配置“验证”卡片网络钩子,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhook。
- 选择 build_components_credit_card_statement:validate_card 网络钩子。
- 将 Dialogflow 网络钩子网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择合适的方法。
- 查看并更新请求正文,以构成网络钩子的正确请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件必须使用这些参数名称才能访问返回的字段值。
- 查看并视需要更新 Authentication 设置。
- 点击保存。
获取交易
根据用户的注册手机号码、卡号的最后 4 位数字和对帐单期限,该组件使用 prebuilt_components_credit_card_statement:card_transaction_details
网络钩子来检索卡的交易记录。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
参数名称 | 说明 | 输入格式 |
---|---|---|
$session.params.phone_number | 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 | 字符串 |
$session.params.last_four_digit_of_card_number | 用户选择并确认可接收信用卡对账单信息的卡号的最后四位数。 | 字符串 |
$flow.statement_start_date | 所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。 | 字符串 |
$flow.statement_end_date | (可选)所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。如果用户未提供任何值或调用方拒绝提供结束日期,则该值将默认为当前日期。 | 字符串 |
API 响应参数
以下参数是从 API 响应中提取的,供组件使用。
参数名称 | 说明 | 输出格式 |
---|---|---|
transactions_count | 在指定对帐单期间,指定信用卡对应的交易次数。 | 整数 |
如需为此组件配置“获取事务”网络钩子,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhook。
- 选择预建组件_credit_card_statement:card_transaction_details webhook。
- 将 Dialogflow 网络钩子网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择合适的方法。
- 查看并更新请求正文,以构成网络钩子的正确请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件必须使用这些参数名称才能访问返回的字段值。
- 查看并视需要更新 Authentication 设置。
- 点击保存。
请求对账单
该组件使用 prebuilt_components_credit_card_statement:request_statement
网络钩子,根据用户的注册手机号码、信用卡号的最后四位数和声明期限,向所选渠道发送信用卡声明。
API 请求参数
以下参数由组件提供,作为 API 请求的输入。
参数名称 | 说明 | 输入格式 |
---|---|---|
$session.params.phone_number | 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 | 字符串 |
$session.params.last_four_digit_of_card_number | 用户选择并确认可接收信用卡对账单信息的卡号的最后四位数。 | 字符串 |
$flow.statement_start_date | 所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。 | 字符串 |
$flow.statement_end_date | (可选)所请求的对帐单开始日期,采用“YYYY-MM-DD”格式。如果用户未提供任何值或调用方拒绝提供结束日期,则该值将默认为当前日期。 | 字符串 |
$flow.channel_medium | 用户选择用来接收消息的频道。有效值由 prebuilt_components_statement_channel_phone 和 prebuilt_components_statement_channel_all 自定义实体定义,具体取决于用户是否拥有注册的电子邮件地址。默认情况下,支持 email 、mobile 和 WhatsApp 。 |
字符串 |
$flow.encryption_status | 指明用户是否希望文档在发送到指定通道之前进行加密。如果用户未提供任何值或调用方拒绝提供结束日期,则该值默认为 true 。 |
boolean |
如需为此组件配置请求语句 webhook,请展开查看相关说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击 Webhook。
- 选择预建组件_credit_card_statement:request_statement webhook。
- 将 Dialogflow 网络钩子网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择合适的方法。
- 查看并更新请求正文,以构成网络钩子的正确请求格式。
- 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件必须使用这些参数名称才能访问返回的字段值。
- 查看并视需要更新 Authentication 设置。
- 点击保存。
完成
现在,您的代理及其 webhook 应该已设置完毕,可以开始测试了。