锁定卡预构建组件

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

限制

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

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

对话示例

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

未通过身份验证的用户(有多张卡)

代理会识别出用户之前未通过身份验证,并收集信息以验证用户是否为注册持卡人。用户通过身份验证后,智能体便会检索用户注册的卡片的相关信息。用户确认要暂时锁定所选卡片,然后代理生成锁定卡片请求。

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

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

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

已通过身份验证的用户(单卡)

代理识别出用户之前已通过身份验证,并检索与用户注册的卡相关的信息。用户选择永久锁定卡片,然后代理生成永久锁定卡片请求。然后,客服人员会询问用户是否要为永久锁定的卡重新签发新卡,并为该卡创建重新签发请求。

用户输入 智能体回答
我们正在提取您的卡详细信息,请稍等。

我们找到了您尾号为 4444 的 MasterCard 卡。您想暂时锁定卡片还是永久锁定卡片?
永久
请告诉我们您锁定卡的原因。您可以选择“损坏”“被盗”“丢失”或其他选项。
设备损坏
得知这个情况,我深感抱歉。不用担心,我们会永久锁定您的卡。请确认一下卡号末四位是否为 4444?
好的,在继续之前,我们会向您注册的手机号码发送验证码。能否请您确认一下验证码,以验证相应请求?
123456
好的,我们将暂时锁定您尾号为 4444 的卡。锁定后,您将无法使用该卡在线或在 POS 机上进行任何交易。您确认此操作吗?
您的卡已成功锁定。您的申请编号为 6108410,已成功分享到您的注册手机号码。

您是否要重新签发新卡?
我们会将卡片寄送到您的注册地址。您好!请确认您的配送地址邮政编码是否为 12345?
回答正确
好的,请稍等片刻,我们正在提交重新签发新卡的申请。

新卡的重新签发申请已成功提交。您的申请编号为 3808109,已成功发送到您登记的手机号码。

该卡将在 3 个工作日内送达您登记的地址。如需使用该卡,请按照随卡附带的说明操作。

重新激活卡

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

用户输入 智能体回答
出于安全考虑,我们需要验证您的身份,因此会向您发送验证码。您是否希望通过手机接收验证码?
我们已向您登记的尾号为 5041 的手机号码发送验证码。这可能需要几秒钟的时间。您能否确认一下此代码?
123456
谢谢,您已成功通过验证。

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

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

请告知我们您要锁定或重新激活的卡的后 4 位数字。
1456
我们收到的卡号的后四位是 1456,对吗?
所请求的卡片已处于临时锁定状态。您想重新激活该卡,还是永久冻结该卡?
重新激活
为了更好地为您提供帮助,我们会转接您的电话,请稍候。

命名规则

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

功能 格式 示例
Flow [组件名称] 锁定卡
实体类型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_lock_card_locked_reason
网络钩子 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 页面的网页入口 fulfillment参数预设中配置的。默认情况下,此值为 1 整数
$session.params.account_auth_enabled 指示是否应按照身份验证类型中的说明对用户进行账号持有者身份验证。此值是在 check auth level 页面的网页入口 fulfillment参数预设中配置的。默认情况下,此值为 false 布尔值
$session.params.card_auth_enabled 指明是否应按照身份验证类型中的说明对用户进行持卡人身份验证。此值是在 check auth level 页面的网页入口 fulfillment参数预设中配置的。默认情况下,此值为 true 布尔值
$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 指定 Validate card webhook 返回的参数值,以指示所选卡永久锁定。默认情况下,值为 "blocked" 字符串
$flow.card_status_reactivate 指定 Validate card webhook 返回的参数值,以指示所选卡已重新激活。默认情况下,值为 "reactivate" 字符串
$flow.max_retry_card_number 指定在收集信用卡后四位数字时允许的重试次数。默认值为 3 整数
$flow.max_otp_retry_count 指定在向用户收集动态密码 (OTP) 时允许的重试次数。默认值为 3 整数

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

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择构建标签页。
  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. 配置所提供的灵活的 Webhook,并提供描述外部服务的配置,请参阅下文中的“Webhook 设置”。

网络钩子设置

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

身份验证

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

获取卡片详细信息

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

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 与经过身份验证的用户相关联的卡片数量。 整数

如需为此组件配置“获取卡详细信息”Webhook,请展开即可查看相关说明。

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

锁定卡

该组件使用 prebuilt_components_lock_card:lock_card_ticket_number Webhook 创建请求,以锁定所选卡片。

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 已创建的锁定卡请求的工单编号。 整数

如需为此组件配置锁定卡片 webhook,请展开本部分以查看相关说明。

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

重新发行卡片

该组件使用 prebuilt_components_lock_card:reissue_card_number Webhook 创建请求,以重新发放新卡或升级卡。

API 请求参数

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

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

API 响应参数

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

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

如需为此组件配置“重新发放卡”Webhook,请展开本部分以查看相关说明。

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

完成

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