锁定卡片预构建组件

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

限制

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

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

示例对话框

以下示例对话框展示了由此函数处理的常见场景 预构建组件。示例对话框演示了通过电话调用组件时的行为,这会触发默认欢迎 intent 并在对话开始时发出第一个客服人员回复。

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

代理识别出用户之前未经过身份验证, 收集信息以验证用户是否为已注册的持卡人。用户完成身份验证后,代理会检索已注册给用户的卡片的相关信息。用户确认要暂时锁定所选卡,客服人员随即生成锁定卡片请求。

用户输入 客服人员回复
代理使用身份验证预构建组件对用户进行身份验证
谢谢,您已成功通过身份验证。
我们正在提取您的卡片详细信息,请耐心等待。

我们发现有多个卡片使用您的电话号码注册。我们有尾号为 5555 的 Visa 卡、尾号为 6666 的 Visa 卡、尾号为 4444 的 MasterCard 卡和尾号为 4449 的 MasterCard 卡。

请告诉我们您要锁定或重新激活的卡的最后 4 位数字。
4444
我们所获卡号的后 4 位数字是 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,对吗?
请求的银行卡已处于临时锁定状态。您是想重新激活该卡,还是永久将其屏蔽?
重新激活
在我们为您转接电话时,请不要挂断,以便更好地为您提供帮助。

命名规则

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

特征 格式 示例
流程 [组件名称] 锁定卡
实体类型 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 指定 Validate card webhook 返回的参数值,以指示所选卡目前处于有效状态。默认情况下,值为 "active" 字符串
$flow.card_status_lock_temp 指定 Validate card webhook 返回的参数值,以指示所选卡片已暂时锁定。默认值为 "inactive" 字符串
$flow.card_status_lock_permanent 指定 Validate card 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. 点击页面部分中的“首页”。
  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 设置

获取卡的详细信息

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

API 请求参数

该组件会将以下参数作为 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. 选择预构建_components_account_services:get_card_details 网络钩子。
  7. 将 Conversational Agents (Dialogflow CX) Webhook 网址 字段中的网址替换为服务的端点 哪些组件需要集成从下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的 响应。请勿修改参数名称,因为组件要访问这些参数名称 所返回的字段值。
  10. 查看并根据需要更新身份验证设置。
  11. 点击保存

验证卡

该组件使用 prebuilt_components_lock_card:validate_card Webhook 来获取注册到用户账号的特定卡片的相关信息。

API 请求参数

该组件会将以下参数作为 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. 选择预构建_components_lock_card:validate_card 网络钩子。
  7. 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。在下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的 响应。请勿修改参数名称,因为组件要访问这些参数名称 所返回的字段值。
  10. 查看并根据需要更新身份验证设置。
  11. 点击保存

锁定卡

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

API 请求参数

该组件会将以下参数作为 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. 选择预构建_components_lock_card:lock_card_ticket_number 网络钩子。
  7. 将“对话式客服 (Dialogflow CX)”Webhook 网址字段中的网址替换为您要集成的服务的端点。从下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的 响应。请勿修改参数名称,因为组件要访问这些参数名称 所返回的字段值。
  10. 查看并根据需要更新身份验证设置。
  11. 点击保存

重新签发卡

该组件使用 prebuilt_components_lock_card:reissue_card_number webhook 创建重新签发新卡或升级后的卡的请求。

API 请求参数

该组件会将以下参数作为 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. 点击网络钩子
  6. 选择预构建_components_lock_card:reissue_card_number 网络钩子。
  7. 将 Conversational Agents (Dialogflow CX) Webhook 网址 字段中的网址替换为服务的端点 哪些组件需要集成从下拉菜单中选择适当的方法
  8. 查看并更新请求正文,为您的网络钩子构成正确的请求格式。
  9. 查看并更新响应配置,以从 webhook 的 响应。请勿修改参数名称,因为组件要访问这些参数名称 所返回的字段值。
  10. 查看并根据需要更新身份验证设置。
  11. 点击保存

完成

现在,您的代理及其 webhook 应该已设置完毕并准备好进行测试。