View a markdown version of this page

通过集成自定义参与者在 Connect Customer 中自定义聊天流程体验 - Amazon Connect Customer

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过集成自定义参与者在 Connect Customer 中自定义聊天流程体验

您可以将机器人等其他解决方案与 Connect 客户聊天集成在一起,以创建自定义的聊天流程体验。

以下概述了如何自定义聊天流体验。聊天对话开始后,为每个聊天分段实施这些步骤。建议添加一个 AWS Lambda 函数 数据块,以便在聊天流中调用 API。

重要

在 AWS Lambda 函数 数据块之前添加一个 播放提示 数据块。仅当 Invoke AWS Lambda 区块是入站聊天流中的第一个区块时,才需要这样做。

  1. 启用实时聊天消息流。

  2. 调用连接客户 CreateParticipant API 将自定义参与者 (ParticipantRole=CUSTOM_BOT) 添加到聊天联系人中。

    1. 有关如何创建用于调用 Connect 客户 API 的 SDK 客户端的信息,请参阅以下主题:

    2. 保留从中获得ParticipantToken的内容CreateParticipant以进行通话CreateParticipantConnection。CreateParticipantConnection返回 aConnectionToken,您可以使用它来调用其他 Connect 客户参与者 API。

      致电CreateParticipantConnection为自定义参与者创建连接时:

      • 将 ConnectParticipant 设置为 True,可将自定义参与者标记为已连接,以进行消息流式传输。

      • 传递调TypeCONNECTION_CREDENTIALS用后续的 Connect 客户参与者服务 API。

      • 应在调用 CreateParticipant 后的 15 秒内调用 CreateParticipantConnection。

  3. 将参与者添加到联系人后,他们可以使用 Connect 客户参与者服务 API 与客户交换消息。

  4. 要断开参与者的连接,请调用 DisconnectParticipant API。

注意
  • 如果联系人已有座席或 Amazon Lex 自动程序,则无法将自定义参与者添加到聊天中。

  • 当座席或 Amazon Lex 自动程序加入联系人时,自定义参与者将断开连接。

  • 一个联系人只能有一个自定义参与者。

  • 自定义参与者无权访问客户可能上传的附件。

建议配置自定义参与者可以与联系人聊天的时长:

  • 为 ParticipantRole = CUSTOM_BOT 设置 Wait 数据块上的 Timeout 属性。

  • 如果自定义自动程序参与者在超时之前没有断开连接,该联系人将被路由到已超时分支。您可以使用它来决定接下来运行哪个区块来解决客户的查询。

注意

如果联系人被路由到已超时分支,他们就不会断开与该联系人的连接。必须调用 DisconnectParticipant API 才能断开参与者的连接。

为加入自定义参与者的客户激活计时器

您可以为加入自定义参与者(例如自定义机器人)的客户激活计时器。使用计时器,您可以检测客户何时停止响应,这样您就可以终止机器人对话并执行流程中的下一步。通过终止空闲参与者,您可以减少客户与自定义参与者之间无响应的未完成聊天次数。

执行以下步骤集成空闲参与者自定义机器人扩展,并可选择设置自定义计时器值。这些步骤假定您已经在聊天中使用了自定义参与者功能。

  1. 在自定义参与者加入聊天之前,为客户调用 UpdateParticipantRoleConfig API。

    1. 计时器仅为客户激活。自定义参与者没有空闲参与者或自动断开连接的计时器。

    2. 您可以选择调用 API 的方法。

    3. 在此步骤中配置的计时器值将在聊天过程中一直有效。如果您要为客户和座席互动设置不同的计时器值,请参阅步骤 2。

    4. 如果您已经以这种方式设置了客户端,则无需执行任何其他操作即可集成自定义参与者。

  2. (可选)要配置在客户和座席互动期间与客户和自定义参与者互动期间不同的计时器和计时器值:

有关聊天时间的更多信息,请参阅 为聊天参与者设置聊天超时。

启动计时器

在自定义参与者使用 CreateParticipantConnection API 与客户建立连接后,客户的计时器将开始。

当不兼容的参与者加入自定义参与者的聊天时会发生什么情况

以下是座席或 Lex 机器人参与者加入与自定义参与者的聊天并且他们是不兼容的参与者时会发生的情况:

  1. 自定义参与者将自动断开聊天连接。

  2. 所有先前处于活动状态的计时器都将终止,并为连接的参与者创建新的计时器(如果配置了计时器)。

  3. 每个新的计时器也会更新最新配置(如果需要)。这实际上是为新的聊天活跃参与者建立一个新的“闲置会话”。

与等待区块计时器的互动

闲置计时器不会影响 Wait 区块的运行。

聊天联系进入等待区块时启动的等待区块计时器会继续运行。如果等待区块计时器过期,则无论是否有闲置参与者计时器处于活动状态,联系都会恢复流,并顺着时间已过期分支向下传送。

问题排查技巧

  • ResourceNotFoundException:

    如果您在调用 CreateParticipantConnection API 时收到自定义参与者的 ResourceNotFoundException,请检查是否在 CreateParticipant API 调用后 15 秒内调用了 CreateParticipantConnection API。

  • AccessDeniedException:

    如果您收到 AccessDeniedException 错误并且参与者角色为 CUSTOM_BOT,则表示机器人正在尝试访问附件。不允许 CUSTOM_BOT 的参与者角色访问客户上传的附件。