锁定卡片预构建组件

锁定卡预构建组件可以对用户进行身份验证,检索为用户注册的卡,并允许用户暂时锁定卡、永久锁定卡或重新激活卡。确认已锁定的卡后,该组件会允许用户申请一张新卡。此组件使用自定义版本的 Authentication 预构建组件对持卡人进行身份验证。

限制

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

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

示例对话框

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

持有多张卡且未通过身份验证的用户

代理会识别用户之前未进行身份验证,并收集信息以验证用户是否是已注册的持卡人。用户通过身份验证后,代理会检索与用户注册的卡有关的信息。用户确认要暂时锁定所选卡,代理生成锁定卡请求。

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

我们发现多张卡注册了您的电话号码。我们有尾号为 5555 的 Visa 卡、尾号为 6666 的 Visa 卡、尾号为 4444 的 MasterCard 卡以及尾号为 4449 的 MasterCard 卡。

请告诉我们你要锁定或重新激活的卡的后 4 位数字。
4444
我们得到的卡号后四位数字是 4444,对吗?
您想要暂时或永久锁定银行卡吗?
我想暂时锁定它
请告诉我们您锁定银行卡的原因。您可以选择损坏、被盗、丢失等选项。
设备已损坏
得知您遇到的问题,我深感抱歉。出于安全考虑,我们需要验证您的身份,因此会向您发送验证码。您是希望通过手机还是电子邮件接收验证码?
发送到我的手机
好的,在继续操作之前,我们会向您注册的手机号码发送验证码。能否请您确认一下代码以验证请求?
123456
好的,尾号为 4444 的卡将被暂时锁定。一旦锁定,您将无法使用该银行卡在线或在 POS 机上进行任何交易。确定要执行此操作吗?
您的银行卡已成功锁定。您的请求编号为 9711485,已成功与您的注册手机号码共享。

使用单张卡通过身份验证的用户

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

用户输入 代理响应
我们正在获取您的银行卡详细信息,请稍候。

我们发现您的 MasterCard 卡的尾号为 4444。您想要暂时或永久锁定银行卡吗?
永久
请告诉我们您锁定银行卡的原因。您可以选择损坏、被盗、丢失等选项。
设备已损坏
得知您遇到的问题,我深感抱歉。别担心,我们会永久锁定您的卡。您可以确认一下卡的尾号就是 4444 吗?
好的,在继续操作之前,我们会向您注册的手机号码发送验证码。能否请您确认一下代码以验证请求?
123456
好的,尾号为 4444 的卡将被暂时锁定。一旦锁定,您将无法使用该银行卡在线或在 POS 机上进行任何交易。确定要执行此操作吗?
您的银行卡已成功锁定。您的请求编号为 6108410,并且已成功分享给您注册的手机号码。

要重新签发新卡吗?
我们会将该卡寄送到您的注册地址。请确认你的送货地址为邮政编码 12345 吗?
正确
好的,请稍等几秒钟,我们正在提交新卡的重发请求。

新卡的重发请求已成功完成。您的请求编号为 3808109,并且已成功分享给您注册的手机号码。

该卡将在 3 个工作日内寄送到您的注册地址。如需使用该卡,请按照该卡随附的说明操作。

重新激活卡

代理识别用户需要额外的身份验证,并发送动态密码来验证用户身份。用户请求重新激活卡,代理将其转接给人工客服以继续。

用户输入 代理响应
出于安全考虑,我们需要验证您的身份,因此会向您发送验证码。您是否更喜欢通过手机接收验证码?
我们已向您尾号为 5041 的注册手机号码发送验证码。这可能需要几秒钟的时间。您可以确认一下该代码吗?
123456
非常感谢,您已成功验证。

我们正在获取您的卡的详细信息,请稍候。

我们发现您用自己的号码注册了多张卡。我们有尾号为 1456 的 Visa 卡、尾号为 1457 的 MasterCard、尾号为 1345 的 American Express 卡以及尾号为 3456 的 Visa 卡。

请告诉我们你要锁定或重新激活的卡的后 4 位数字。
1456
我们得到的卡号后四位数字是 1456,对吗?
请求的银行卡已处于临时锁定状态。您是想重新激活该卡,还是永久屏蔽该卡?
重新启用
为了更好地为您提供帮助,请稍等,我们正在转接您的电话。

命名惯例

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

特征 形式 示例
[组件名称] 锁定银行卡
实体类型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_lock_card_locked_reason
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_lock_card:lock_card_ticket_number

输入参数

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

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

参数名称 说明 输入格式
$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.card_count (可选)与经过身份验证的用户关联的信用卡的数量。 整数
$flow.card_status_active 指定验证卡 webhook 返回的参数值,以指示所选卡当前处于活跃状态。默认情况下,值为 "active" 字符串
$flow.card_status_lock_temp 指定验证卡片 webhook 返回的参数值,以指明所选卡已暂时锁定。默认情况下,值为 "inactive" 字符串
$flow.card_status_lock_permanent 指定验证卡 webhook 返回的参数值,以指示所选卡已永久锁定。默认情况下,值为 "blocked" 字符串
$flow.card_status_reactivate 指定验证卡片 webhook 返回的参数值,以指示所选卡已重新激活。默认情况下,值为 "reactivate" 字符串
$flow.max_retry_card_number 指定收集信用卡的最后四位数时允许的重试次数。默认值为 3 整数
$flow.max_otp_retry_count 指定向用户收集动态密码 (OTP) 时允许的重试次数。默认值为 3 整数

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

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

输出参数

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

参数名称 说明 输出格式
auth_level 指示调用方的身份验证级别。 整数
phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
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 内置事件
字符串

基本设置

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

  1. 导入预构建组件
  2. 使用描述 Dialogflow 外部服务的配置来配置所提供的灵活 webhook,请参阅下面的 webhook 设置。

网络钩子设置

为了使用此组件,您需要配置所包含的灵活网络钩子,以从外部服务中检索所需信息。

Authentication

如果您之前未配置过身份验证所需的外部服务,则需要对其进行配置,以便为此组件启用用户身份验证功能。如需查看详细说明,请参阅 Authentication 网络钩子设置

获取卡的详细信息

该组件使用 prebuilt_components_account_services:get_card_details 网络钩子来获取用户注册的卡的相关信息。

API 请求参数

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

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

API 响应参数

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

参数名称 说明 输出格式
last_four_digit_of_all_cards 包含用户注册的每张卡的最后四位数的列表,例如 ["0000", "1111", "2222"]。此列表中的每个元素都与 card_vendor_all 中具有相同索引的元素表示同一张卡片。 列表(字符串)
card_vendor_all 包含用户注册的每张卡的信用卡供应商的列表,例如 ["Visa", "Mastercard", "Discover"]。此列表中的每个元素都与 last_four_digit_of_all_cards 中具有相同索引的元素表示同一张卡片。 列表(字符串)
card_count 与经过身份验证的用户关联的卡数。 整数

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

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

验证卡

该组件使用 prebuilt_components_lock_card:validate_card 网络钩子来获取注册到用户帐号的特定卡的相关信息。

API 请求参数

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

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

API 响应参数

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

参数名称 说明 输出格式
zip_code 在用户账号中注册的邮政编码。 字符串
card_vendor 所选卡的信用卡供应商。 字符串
card_status 指示银行卡的当前状态。默认情况下,有效值为“有效”“暂时屏蔽”或“永久屏蔽”。这些状态由参数 $flow.card_status_active$flow.card_status_lock_temp$flow.card_status_lock_permanent 指定。请参阅输入参数 字符串

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

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

锁定银行卡

该组件使用 prebuilt_components_lock_card:lock_card_ticket_number 网络钩子来创建锁定所选卡的请求。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$session.params.last_four_digit_of_card_number 用户请求锁定的卡号的最后四位数。 字符串
$flow.lock_type 表示要应用到用户卡的锁定类型。有效值由 prebuilt_components_lock_card_lock_type_active 自定义实体定义。默认情况下,支持 "blocked"(永久锁定)和 "inactive(临时锁定)。 字符串
$flow.lock_reason 指明用户请求锁定银行卡的原因。有效值由 prebuilt_components_lock_card_locked_reason 自定义实体定义。默认情况下,支持 "damaged""stolen""lost""others" 字符串

API 响应参数

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

参数名称 说明 输出格式
ticket_number 创建的锁定卡请求的工单编号。 整数

如需为此组件配置锁定卡片网络钩子,请展开查看相关说明。

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

重发卡

该组件使用 prebuilt_components_lock_card:reissue_card_number 网络钩子创建请求,重新签发新卡或升级卡。

API 请求参数

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

参数名称 说明 输入格式
$session.params.phone_number 用于识别用户的用户的本地手机号码(不含国家/地区代码)。 字符串
$session.params.last_four_digit_of_card_number 用户请求锁定的卡号的最后四位数。 字符串
zip_code 在用户账号中注册的邮政编码。 字符串

API 响应参数

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

参数名称 说明 输出格式
acknowledgement_number 创建的重发卡请求的工单号。 整数

如需为此组件配置重发卡网络钩子,请展开查看相关说明。

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

完成

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