Quando os usuários se comunicam com agentes, as expectativas deles são definidas pela forma como o agente
se apresenta e quem escreve as mensagens recebidas. Cada vez que um agente
envia uma mensagem, ele pode identificar se um agente (BOT
)
ativo ou automatizado
(HUMAN
)
representativo
criou a mensagem. Os usuários veem essas informações na conversa, o que
ajuda a entender que tipos de interações eles podem esperar em um determinado
momento.
Se um agente for compatível com representantes BOT
e HUMAN
, é importante
fornecer contexto ao alternar entre os dois. Ao mudar de um BOT
para um representante HUMAN
, envie um evento REPRESENTATIVE_JOINED
antes de enviar mensagens do representante HUMAN
e rotule corretamente todas as mensagens a seguir dos agentes ativos como de representantes HUMAN
. Quando o
agente em tempo real sair da conversa, envie um evento REPRESENTATIVE_LEFT
. Esses
eventos de enquadramento informam aos usuários que eles podem fazer perguntas mais complicadas e podem
esperar mais respostas em formato livre.
Nesse fluxo de conversa, as primeiras interações dos usuários são com uma resposta automática que envia mensagens como um representante BOT
, mas um agente em tempo real participa da conversa e envia mensagens como um representante HUMAN
. As mensagens do agente em tempo real são enquadradas por eventos REPRESENTATIVE_JOINED
e REPRESENTATIVE_LEFT
.
- O usuário inicia a conversa com o agente.
Quando o usuário começa a digitar uma resposta, ele envia um evento de digitação para o agente.
{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "live-agent-handoff", "requestId": "1234567890", "userStatus": { "isTyping": "true", "createTime": "2020-10-02T15:01:23.045123456Z", }, "sendTime": "2020-10-02T15:01:24.045123456Z", }
O usuário envia "Oi, eu tenho um problema" como uma mensagem.
{ "agent": "brands/1111/agents/2222", "conversationId": "3333", "customAgentId": "live-agent-handoff", "requestId": "123123123", "message": { "messageId": "4444", "name": "conversations/12345/messages/67890", "text": "Hi, I have a problem", "createTime": "2020-10-02T15:05:23.045123456Z", }, "context": { "entryPoint": "PLACESHEET", "userInfo": { "displayName": "Michael", "userDeviceLocale": "en", }, "resolvedLocale": "en", } "sendTime": "2020-10-02T15:05:24.045123456Z", }
O agente envia "Agradecemos seu contato. Transmitirei isso quando um agente ativo estiver disponível para conversar com você." como uma mensagem de um representante
BOT
.curl -X POST "https://businessmessages.googleapis.com/v1/conversations/3333/messages" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json path/to/service/account/key.json businessmessages`" \ -d "{ 'messageId': '5555', 'text': 'Thanks for contacting us. I'll pass this along when a live agent is available to chat with you.', 'representative': { 'avatarImage': 'https://live.agent/bot-avatar.jpg', 'displayName': 'Hello World Agent', 'representativeType': 'BOT' } }"
Um agente em tempo real fica disponível.
O agente envia um evento
REPRESENTATIVE_JOINED
antes de enviar a primeira mensagem do agente em tempo real.curl -X POST "https://businessmessages.googleapis.com/v1/conversations/12345/events?eventId=6666" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json /path/to/service/account/key.json businessmessages`" \ -d "{ 'eventType': 'REPRESENTATIVE_JOINED', 'representative': { 'avatarImage': 'https://live.agent/human-avatar.jpg', 'displayName': 'Jane Doe', 'representativeType': 'HUMAN', }, }"
O agente envia "Vejo que você está com um problema. Como posso ajudar? Como mensagem de um representante do
HUMAN
.curl -X POST "https://businessmessages.googleapis.com/v1/conversations/3333/messages" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json path/to/service/account/key.json businessmessages`" \ -d "{ 'messageId': '7777', 'text': 'I see you have a problem. How can I help?', 'representative': { 'avatarImage': 'https://live.agent/human-avatar.jpg', 'displayName': 'Jane Doe', 'representativeType': 'HUMAN' } }"
O agente em tempo real e o usuário trocam mensagens até que a solicitação do usuário seja atendida. Todas as mensagens compostas pelo agente em tempo real são enviadas de um representante
HUMAN
.O agente envia um evento
REPRESENTATIVE_LEFT
quando o agente em tempo real sai da conversa.curl -X POST "https://businessmessages.googleapis.com/v1/conversations/12345/events?eventId=6666" \ -H "Content-Type: application/json" \ -H "`oauth2l header --json /path/to/service/account/key.json businessmessages`" \ -d "{ 'eventType': 'REPRESENTATIVE_LEFT', 'representative': { 'avatarImage': 'https://live.agent/human-avatar.jpg', 'displayName': 'Jane Doe', 'representativeType': 'HUMAN', }, }"
O agente envia todas as mensagens subsequentes com representantes
BOT
, a menos que outro agente ativo participe da conversa.