通过集成自定义参与者,在 Amazon Connect 中自定义聊天流体验
您可以将其他解决方案(例如自动程序)与 Amazon Connect 聊天集成,以创建自定义的聊天流体验。
以下概述了如何自定义聊天流体验。聊天对话开始后,为每个聊天分段实施这些步骤。建议添加一个 AWS Lambda 函数 数据块,以便在聊天流中调用 API。
重要
在 AWS Lambda 函数 数据块之前添加一个 播放提示 数据块。只有当 Invoke AWS Lambda 数据块是入站聊天流中的第一个数据块时,才需要这样做。
-
调用 Amazon Connect CreateParticipant API 向聊天联系中添加一个自定义参与者 (
ParticipantRole=CUSTOM_BOT)。-
有关如何创建用于调用 Amazon Connect API 的 SDK 客户端的信息,请参阅以下主题:
-
保留从 CreateParticipant 获取的
ParticipantToken,以调用 CreateParticipantConnection。CreateParticipantConnection会返回一个ConnectionToken,您可以使用它来调用其他 Amazon Connect Participant API。在调用 CreateParticipantConnection 为自定义参与者创建连接时:
-
将
ConnectParticipant设置为True,可将自定义参与者标记为已连接,以进行消息流式传输。 -
将
Type设为CONNECTION_CREDENTIALS,以调用后续的 Amazon Connect Participant Service API。 -
应在调用
CreateParticipant后的 15 秒内调用CreateParticipantConnection。
-
-
-
将参与者添加到联系人后,他们就可以使用 Amazon Connect Participant Service API 与客户交换消息了。
-
要断开参与者的连接,请调用 DisconnectParticipant API。
注意
-
如果联系人已有座席或 Amazon Lex 自动程序,则无法将自定义参与者添加到聊天中。
-
当座席或 Amazon Lex 自动程序加入联系人时,自定义参与者将断开连接。
-
一个联系人只能有一个自定义参与者。
-
不允许自定义参与者访问客户可能上传的附件。
建议配置自定义参与者可以与联系人聊天的时长:
-
为
ParticipantRole=CUSTOM_BOT设置 Wait 数据块上的 Timeout 属性。 -
如果自定义自动程序参与者在超时之前没有断开连接,该联系人将被路由到已超时分支。这样,您就可以决定接下来运行哪个数据块来解决客户的查询了。
注意
如果联系人被路由到已超时分支,他们就不会断开与该联系人的连接。您必须调用 DisconnectParticipant API 才能断开参与者的连接。
为加入自定义参与者的客户激活计时器
您可以为加入自定义参与者(例如自定义机器人)的客户激活计时器。这样,您就能检测到客户何时停止回复,从而终止机器人对话,并执行流中的下一步。通过终止空闲参与者,您可以减少客户与自定义参与者之间无响应的未完成聊天次数。
执行以下步骤集成空闲参与者自定义机器人扩展,并可选择设置自定义计时器值。这些步骤假定您已经在聊天中使用了自定义参与者功能。
-
在自定义参与者加入聊天之前,调用客户的 UpdateParticipantRoleConfig API。
-
计时器仅为客户激活。自定义参与者没有空闲参与者或自动断开连接的计时器。
-
您可以选择调用 API 的方法。
-
在此步骤中配置的计时器值将在聊天过程中一直有效。如果您要为客户和座席互动设置不同的计时器值,请参阅步骤 2。
-
如果您已经以这种方式设置了客户端,则无需执行任何其他操作即可集成自定义参与者。
-
-
(可选)要配置在客户和座席互动期间与客户和自定义参与者互动期间不同的计时器和计时器值:
-
在座席加入聊天之前,再次调用 UpdateParticipantRoleConfig API,并输入所需的配置。
-
有关聊天时间的更多信息,请参阅 为聊天参与者设置聊天超时。
启动计时器
自定义参与者使用 CreateParticipantConnection API 与客户建立连接后,客户的计时器开始计时。
当不兼容的参与者加入自定义参与者的聊天时会发生什么情况
以下是座席或 Lex 机器人参与者加入与自定义参与者的聊天并且他们是不兼容的参与者时会发生的情况:
-
自定义参与者将自动断开聊天连接。
-
所有先前处于活动状态的计时器都将终止,并为连接的参与者创建新的计时器(如果配置了计时器)。
-
每个新的计时器也会更新最新配置(如果需要)。这实际上是为新的聊天活跃参与者建立一个新的“闲置会话”。
与等待区块计时器的互动
闲置计时器不会影响 Wait 区块的运行。
聊天联系进入等待区块时启动的等待区块计时器会继续运行。如果等待区块计时器过期,则无论是否有闲置参与者计时器处于活动状态,联系都会恢复流,并顺着时间已过期分支向下传送。
故障排除技巧
ResourceNotFoundException:如果您在调用
CreateParticipantConnectionAPI 时收到自定义参与者的ResourceNotFoundException,请检查是否在CreateParticipantAPI 调用后 15 秒内调用了CreateParticipantConnectionAPI。AccessDeniedException:如果您收到
AccessDeniedException错误并且参与者角色为 CUSTOM_BOT,则表示机器人正在尝试访问附件。不允许 CUSTOM_BOT 的参与者角色访问客户上传的附件。