锁定卡预构建组件

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

限制

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

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

对话示例

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

未经身份验证的用户,有多张卡

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

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

我们发现有多张卡注册了您的号码。我们有尾号为 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 [Component Name] 锁定卡
实体类型 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 页面中页面条目执行方式的参数预设中配置的。默认情况下,此值为 1。 整数
$session.params.account_auth_enabled 指明是否应按照身份验证类型中的说明,将用户作为账号持有人进行身份验证。此值是在 check auth level 页面中页面条目执行方式的参数预设中配置的。默认情况下,此值为 false。 布尔值
$session.params.card_auth_enabled 指明是否应将用户作为持卡人进行身份验证,如身份验证类型中所述。此值是在 check auth level 页面中页面条目执行方式的参数预设中配置的。默认情况下,此值为 true。 布尔值
$session.params.phone_number (可选)用于身份验证的客户注册手机号码。 字符串
$session.params.card_count (可选)与经过身份验证的用户关联的信用卡数量。 整数
$flow.card_status_active 指定验证卡片网络钩子返回的参数值,以表明所选卡片当前处于有效状态。默认情况下,值为 "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. 选择构建标签页。
  5. 在流部分中点击导入的组件。
  6. 点击页面部分中的“Start Page”。
  7. 点击“Start Page”中的 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 错误。请参阅 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. 点击 Webhooks。
  6. 选择 prebuilt_components_account_services:get_card_details webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
  8. 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的响应中提取特定字段。请勿修改参数名称,因为组件需要这些名称来访问返回的字段值。
  10. 根据需要查看并更新身份验证设置。
  11. 点击保存。

验证卡

该组件使用 prebuilt_components_lock_card:validate_card webhook 来获取有关用户账号中注册的特定卡的信息。

API 请求参数

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

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

API 响应参数

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

参数名称 说明 输出格式
zip_code 用户账号中注册的邮政编码。 字符串
card_vendor 所选信用卡的供应商。 字符串
card_status 表示卡片的当前状态。默认情况下,有效值为 active、temporarily blocked 或 permanently blocked。这些状态由参数 $flow.card_status_active、$flow.card_status_lock_temp 和 $flow.card_status_lock_permanent 指定。请参阅输入参数。 字符串

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

  1. 打开 Dialogflow CX 控制台。
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 选择管理标签页。
  5. 点击 Webhooks。
  6. 选择 prebuilt_components_lock_card:validate_card webhook。
  7. 将 Dialogflow CX 网络钩子网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法。
  8. 查看并更新请求正文,为您的 webhook 形成正确的请求格式。
  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 已创建的锁卡请求的工单编号。 整数

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

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

完成

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