Personalizar experiências de fluxo de chat do Amazon Connect integrando participantes personalizados
Você pode integrar outras soluções, como bots, ao chat do Amazon Connect para criar experiências personalizadas de fluxo de chat.
Veja a seguir uma visão geral de como você pode personalizar a experiência de fluxo de chat. Implemente essas etapas para cada segmento de chat após o início da conversa. Recomendamos adicionar um bloco Função do AWS Lambda para chamar as APIs no fluxo de chat.
Importante
Adicione um bloco Play prompt (Reproduzir aviso) antes de um bloco Função do AWS Lambda. Isso é necessário somente quando um bloco Invocar AWS Lambda é o primeiro bloco no fluxo de chat de entrada.
-
Chame a API CreateParticipant do Amazon Connect para adicionar um participante personalizado (
ParticipantRole=CUSTOM_BOT) ao contato do chat.-
Para obter informações sobre como criar o cliente do SDK para chamar as APIs do Amazon Connect, consulte os tópicos a seguir:
-
Mantenha o
ParticipantTokenque foi obtido em CreateParticipant para chamar CreateParticipantConnection.CreateParticipantConnectionretorna umConnectionToken, que você pode usar para chamar outras APIs de participantes do Amazon Connect.Ao chamar CreateParticipantConnection para criar uma conexão para um participante personalizado:
-
Defina
ConnectParticipantcomoTruepara marcar o participante personalizado como conectado para transmissão de mensagens. -
Transmita
TypecomoCONNECTION_CREDENTIALSpara chamar as APIs subsequentes de serviço de participante do Amazon Connect. -
CreateParticipantConnectiondeve ser chamado dentro de 15 segundos após a chamada deCreateParticipant.
-
-
-
Depois que o participante é adicionado ao contato, ele pode trocar mensagens com o cliente usando as APIs de serviço de participante do Amazon Connect.
-
Para desconectar o participante, chame a API DisconnectParticipant.
nota
-
Um participante personalizado não pode ser adicionado a um chat quando um atendente ou bot do Amazon Lex já está presente no contato.
-
Um participante personalizado será desconectado quando um atendente ou bot do Amazon Lex entrar em um contato.
-
Somente um participante personalizado pode estar presente em um contato.
-
Um participante personalizado não tem permissão para acessar os anexos que um cliente possa carregar.
Recomendamos configurar por quanto tempo um participante personalizado pode conversar com um contato:
-
Defina a propriedade Tempo limite no bloco Wait para
ParticipantRole=CUSTOM_BOT. -
Se o participante do bot personalizado não for desconectado antes do tempo limite, o contato será encaminhado para a ramificação Tempo expirado. Isso permite que você decida qual bloco executar em seguida para resolver a consulta do cliente.
nota
Se um contato for encaminhado pela ramificação Tempo expirado, ele não será desconectado do contato. Chame a API DisconnectParticipant para desconectar o participante.
Ativar temporizadores para clientes que estão associados a um participante personalizado
Você pode ativar temporizadores em clientes que estão associados a participantes personalizados, como bots personalizados. Isso permite que você detecte quando um cliente para de responder para que você possa encerrar a conversa do bot e realizar a próxima etapa do fluxo. Ao encerrar participantes inativos, é possível reduzir o número de chats abertos em que há um cliente não responsivo interagindo com um participante personalizado.
Execute as etapas a seguir para integrar uma extensão de bot personalizada de participante inativo e, opcionalmente, definir valores de temporizador personalizados. Essas etapas partem do pressuposto de que você já usa o recurso de participantes personalizados no chat.
-
Antes de o participante personalizado entrar no chat, invoque a API UpdateParticipantRoleConfig para o cliente.
-
Os temporizadores são ativados somente para o cliente. Os participantes personalizados não têm temporizadores de participante inativo ou de desconexão automática.
-
Você pode escolher o método para invocar a API.
-
Os valores do temporizador configurados nesta etapa permanecem ativos pela duração do chat. Se você quiser valores de temporizador diferentes para a interação entre o cliente e o atendente, consulte a Etapa 2.
-
Se o cliente já estiver configurado dessa forma, você não precisa realizar nenhuma outra ação adicional para integrar o participante personalizado.
-
-
(Opcional) Para configurar temporizadores e valores de temporizador que sejam diferentes durante a interação entre o cliente e o atendente e durante a interação entre o cliente e o participante personalizado:
-
Antes de o atendente entrar no chat, invoque novamente a API UpdateParticipantRoleConfig com as configurações desejadas.
-
Para obter mais informações sobre os temporizadores de chat, consulte Configurar tempos limite de chat para participantes do chat.
Iniciar os temporizadores
Um temporizador é iniciado para o cliente após o participante personalizado estabelecer uma conexão usando a API CreateParticipantConnection.
O que acontece quando participantes não compatíveis entram em um chat com um participante personalizado
A seguir, explicamos o que acontece quando um atendente ou participante do bot Lex entra em um chat com um participante personalizado, mas não ele não é um participante compatível:
-
O participante personalizado é automaticamente desconectado do chat.
-
Todos os temporizadores anteriormente ativos são encerrados e novos temporizadores são criados para os participantes conectados (se os temporizadores estiverem configurados).
-
Cada novo temporizador também é atualizado com a configuração mais recente (se necessário). Isso efetivamente estabelece uma nova “sessão ociosa” para o novo conjunto de participantes ativos no chat.
Interação com o temporizador do bloco de espera
O temporizador de tempo ocioso não afeta o funcionamento do bloco Wait.
O temporizador do bloco de Espera que começa quando o contato do chat entra em um bloco de Espera continua funcionando. Se o temporizador do bloco de Espera expirar, o contato retoma o fluxo e é encaminhado para a ramificação Tempo expirado, independentemente se há um temporizador de participante ocioso ativo ou não.
Dicas de solução de problemas
ResourceNotFoundException:Se você receber uma
ResourceNotFoundExceptionpara o participante personalizado ao chamar a APICreateParticipantConnection, verifique se a APICreateParticipantConnectionfoi chamada dentro de 15 segundos após a APICreateParticipant.AccessDeniedException:Se você receber um erro
AccessDeniedExceptione o perfil do participante for CUSTOM_BOT, isso indica que o bot está tentando acessar os anexos. O perfil de participante CUSTOM_BOT não tem permissão para acessar os anexos que os clientes carregam.