异议预构建组件

异议预构建组件可验证用户身份,并允许用户对费用、交易和费用提出异议或提出异议。此组件使用 Authentication 预构建组件的自定义版本对帐号持有人和持卡人进行身份验证。该组件还使用自定义版本的出生日期预构建组件来收集有争议的交易的日期。

限制

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

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

示例对话框

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

存在交易争议且未经身份验证的用户

代理会识别用户之前未经过身份验证,并收集信息以验证用户是否为已注册的帐号持有人。代理会收集有关争议的信息(包括帐号、争议模式、日期和金额),并为争议创建新案例。

用户输入 代理响应
代理使用 Authentication 预构建组件对用户进行身份验证
谢谢,您已成功进行身份验证。
请注意,您可以在网上银行门户上提出退款申请或对扣款提出异议。要继续此对话以提出版权主张或异议吗?
是的,提出异议
请告知我们您的争议是否与信用卡结算或交易有关。
与我的交易有关
我们正在获取您的帐号详细信息,请稍候。

我们发现有 2 个帐号与您的电话号码关联。请告诉我们您所指账号的后 4 位数字。
1001
谢谢,我们收集的最后 4 位数字是 1001。对吗?
首先,这笔交易是哪一天完成的?
代理使用出生日期预构建组件收集交易日期
您能否确认转账金额?例如,如果您想查找高于 100.30 美元的交易,请说“100”。
15 美元
您为 2023 年 5 月 0 日输入的异议金额为 15 美元。你想对自己的账号提出异议吗?
我们已针对您的异议创建了一个新支持请求。您的支持请求编号为 448639,并且已分享给您注册的电子邮件地址。在检查您提供的信息后,我们会将款项退还至尾号为 1001 的账户中。

发生信用卡争议且经过身份验证的用户

代理会识别用户之前已经过身份验证,并检索与用户注册的卡相关的信息。用户选择永久锁定银行卡,代理生成永久锁定卡请求。然后,代理会询问用户是否希望为永久锁定的卡重新签发一张新卡,并针对该卡创建重发申请。

用户输入 代理响应
我们发现有 2 张信用卡与您的电话号码关联。您要查找尾号为 4321 的卡号吗?
如果您的争议与信用卡结算有关,请说“信用卡结算”。
信用卡结算
您是否想要就超额收费或信用卡账单费用提出异议?
向我多收取了费用
首先,能否请您确认一下潜在问题是在哪个月份发生的?
04
您能否确认要领取的金额?例如,如果您想查找超过 100.30 美元的索赔,请说“100”。
4567
谢谢!能否请您确认一下与此潜在问题相关的费用?您可以选择年费、交易费、逾期付款或其他费用。
需要年费
您为 2023 年 4 月 1 日输入的异议金额为 4567 美元。您想要对信用卡提出异议吗?
我们已针对您的异议创建了一个新支持请求。您的支持请求编号为 111236,并且已分享给您注册的手机号码。您的支持请求将在接下来的 3 个工作日内得到解决。

命名惯例

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

特征 形式 示例
[组件名称] 异议
组件专用 intent prebuilt_components_[component_name]_[intent_name] prebuilt_components_disputes_dispute_type
实体类型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_disputes_dispute_reason
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_disputes:get_disputed_transaction

输入参数

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

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

参数名称 说明 输入格式
$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.card_count (可选)与经过身份验证的用户关联的信用卡的数量。 整数
$session.params.account_count (可选)与注册的电话号码相关联的帐号数量。这些帐号包括自己的帐号和用户拥有委托书的帐号。 整数
$session.params.last_four_digit_of_card_number (可选)提出异议的卡号的后四位数。如果客户只有一张卡,系统会在身份验证后自动检索此信息。如果客户有多张卡,则会向客户收集具体卡号。 字符串
$session.params.last_four_digit_of_account_number (可选)可提出异议的客户账号的最后四位数。如果客户只有一个帐号,系统会在身份验证后自动检索这些信息。如果客户有多个帐号,系统会从客户那里收集具体帐号。 字符串
$flow.max_dispute_month 指定有争议的交易日期允许的最长月数(相对于当前日期)。默认情况下,此值为 -6,表示可以对当前日期前 6 个月内的交易提出异议。 整数
$flow.max_attempts 指定向用户收集动态密码 (OTP) 时允许的重试次数。默认值为 2 整数
flow.max_retry_counter 指定从用户收集信息时允许的重试次数。默认值为 2 整数

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

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择 Build 标签页。
  5. 部分中点击导入的组件。
  6. 点击网页部分中的初始页。
  7. 点击初始页中的 true 路由。
  8. 在“路由”窗口中,根据需要修改参数预设值。
  9. 点击保存

输出参数

输出参数是在退出组件后将保持活跃状态的会话参数。这些参数包含该组件收集的重要信息。此预构建组件提供了以下输出参数的值:

参数名称 说明 输出格式
auth_level 指示调用方的身份验证级别 整数
phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
card_count 与经过身份验证的用户关联的信用卡数量。 整数
account_count 与注册的电话号码相关联的帐号数量。这些帐号包括自己的帐号和用户拥有委托书的帐号。 整数
last_four_digit_of_card_number 提出异议的卡号的后四位数字。 字符串
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:get_credit_card_details 网络钩子来获取与用户注册的信用卡相关的信息。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串

API 响应参数

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

参数名称 说明 输出格式
credit_card_count 与注册电话号码相关联的信用卡的号码。 整数
last_four_digit_of_credit_card_number 如果用户拥有一张信用卡,会返回该卡号的最后四位数。如果用户有多张卡片,则此参数的值为 null 字符串
电子邮件 在该帐号中注册的电子邮件地址。如果该账号没有注册任何电子邮件地址,此参数的值为 null 字符串

如需为此组件配置“获取信用卡详情”网络钩子,请展开查看相关说明。

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

验证信用卡

组件使用 prebuilt_components_disputes:validate_credit_card 网络钩子来验证用户是否已注册指定信用卡。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$session.params.last_four_digit_of_card_number 用户请求提出异议的卡号的最后四位数。 字符串

API 响应参数

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

参数名称 说明 输出格式
card_found 指示所请求的银行卡是否存在。 boolean

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

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

验证账号

该组件使用 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_disputes:validate_transaction 网络钩子来验证指定事务是否存在。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$flow.dispute_type 有争议的交易的类型。有效值由 prebuilt_components_disputes_dispute_type 自定义实体定义。 字符串
$flow.dispute_date 有争议的交易的日期,采用 YYYY-MM-DD 格式。 字符串
$flow.dispute_amount 有争议的交易的金额。 整数
$flow.last_four_digits 存在争议的交易所在信用卡或账号的后四位数。 字符串

API 响应参数

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

参数名称 说明 输出格式
transaction_found 指示请求的事务是否存在。 boolean

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

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

创建争议支持请求

该组件会使用 prebuilt_components_disputes:create_dispute_case 网络钩子为争议创建新案例。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$flow.dispute_type 争议的类型。有效值由 prebuilt_components_disputes_dispute_type 自定义实体定义。 字符串
$flow.dispute_date 有争议的交易的日期,采用 YYYY-MM-DD 格式。 字符串
$flow.dispute_amount 有争议的交易的金额。 整数
$flow.dispute_reason 提出异议的原因。有效值由 prebuilt_components_disputes_dispute_reason 自定义实体定义。 字符串
$flow.dispute_fee_type 异议的费用类型。有效值由 prebuilt_components_disputes_fee_types 自定义实体定义。 字符串
$flow.last_four_digits 存在争议的交易所在信用卡或账号的后四位数。 字符串

API 响应参数

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

参数名称 说明 输出格式
dispute_case_number 所创建争议的案例编号。 整数

如需为此组件配置“创建争议支持请求”网络钩子,请展开查看相关说明。

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

完成

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