Quando gli utenti comunicano con gli agenti, le loro aspettative vengono stabilite dal modo in cui questi ultimi
si presenta e chi compone i messaggi che ricevono. Ogni volta che un agente
invia un messaggio, può identificare se un operatore automatico (BOT
) o
(HUMAN
)
rappresentativo
ha scritto il messaggio. Gli utenti vedono queste informazioni all'interno della conversazione e
aiuta gli utenti a capire quali tipi di interazioni potrebbero aspettarsi in un determinato
in un determinato momento.
Se un agente supporta sia i rappresentanti BOT
sia HUMAN
, è importante
fornire un contesto quando si passa da uno all'altro. Quando passi da BOT
a
Rappresentante HUMAN
, invia REPRESENTATIVE_JOINED
evento prima del giorno
inviare messaggi dal rappresentante di HUMAN
ed etichettare correttamente tutti
seguenti messaggi di operatori provenienti da rappresentanti di HUMAN
. Quando
l'operatore abbandona la conversazione e invia un evento REPRESENTATIVE_LEFT
. Questi
gli eventi di inquadratura informano gli utenti che possono porre domande più complicate e possono
sono previste più risposte libere.
In questo flusso di conversazione, le prime interazioni dell'utente avvengono con una
un risponditore che invia messaggi in qualità di rappresentante di BOT
, ma un operatore partecipa
la conversazione e invia messaggi in qualità di rappresentante di HUMAN
. Il live streaming
i messaggi dell'agente sono inquadrati da REPRESENTATIVE_JOINED
e REPRESENTATIVE_LEFT
eventi.
- L'utente avvia la conversazione con l'agente.
Quando l'utente inizia a digitare una risposta, invia un evento di digitazione all' un 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", }
L'utente invia "Ciao, ho un problema" come messaggio.
{ "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", }
L'agente invia "Grazie per averci contattato. Lo indicherò quando un live streaming un agente è disponibile per chattare con te." come messaggio da un
BOT
responsabile.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' } }"
Un operatore diventa disponibile.
L'agente invia un evento
REPRESENTATIVE_JOINED
prima di inviare il primo un messaggio da parte dell'operatore.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', }, }"
L'agente invia un messaggio "Vedo che hai un problema. Come posso aiutarti?" come messaggio da un rappresentante di
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' } }"
L'agente live e l'utente si scambiano messaggi finché la richiesta dell'utente non viene completato. Tutti i messaggi composti dall'agente in tempo reale vengono inviati da un Rappresentante di
HUMAN
.L'agente invia un evento
REPRESENTATIVE_LEFT
quando l'operatore lascia la conversazione.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', }, }"
L'agente invia tutti i messaggi successivi con
BOT
rappresentanti a meno che un altro operatore si unisce alla conversazione.