Nelle conversazioni Business Messages, gli eventi informano e arricchiscono l'esperienza di conversazione tra utenti e agenti comunicando contenuti che non sono messaggi. Per gli utenti, gli eventi vengono visualizzati come notifiche all'interno delle conversazioni e si attivano in base a varie azioni che gli utenti potrebbero eseguire. Gli agenti ricevono eventi nei propri webhook e inviano eventi con chiamate API.
Gli agenti devono essere a conoscenza degli eventi avviati dall'utente e essere in grado di rispondere di conseguenza. Ad esempio, se un utente richiede un operatore, ma l'agente non può rispondere in modo positivo o negativo alla richiesta, l'esperienza utente ne risulterebbe negativa.
Tipi di eventi
Ogni evento appartiene a un determinato tipo:
Gli eventi Richiesta di operatore indicano che l'utente vuole parlare direttamente con un operatore.
Se l'agente può eseguire la transizione della conversazione a un rappresentante umano, invia un evento Rappresentante che ha partecipato, quindi invia i messaggi successivi di un rappresentante umano.
Se l'agente non può eseguire la transizione della conversazione a un rappresentante umano, invia un messaggio per avvisare l'utente e informarlo quando sarà disponibile un operatore.
Gli eventi rappresentati nel gruppo/a sinistra indicano agli utenti quando gli agenti partecipano a una conversazione o la lasciano. Questi eventi mostrano notifiche nella conversazione e aiutano a definire le aspettative degli utenti in merito alla reattività e al tipo di domande che possono porre.
Gli eventi di digitazione indicano che l'utente o l'agente sta digitando.
Per gli utenti, il valore booleano
isTyping
indica lo stato di digitazione. Ogni modifica dello stato attiva un nuovo evento.Gli agenti possono inviare eventi
TYPING_STARTED
eTYPING_STOPPED
per visualizzare gli indicatori di digitazione nella conversazione. Gli eventi di digitazione degli agenti indicano agli utenti che un rappresentante umano sta scrivendo una risposta o che l'automazione backend sta elaborando la propria domanda o richiesta.
Invia un evento
Per inviare un evento, esegui il comando seguente. Sostituisci i seguenti elementi:
- CONVERSATION_ID con l'identificatore della conversazione a cui vuoi inviare il sondaggio
- EVENT_ID con un identificatore univoco per l'evento
- PATH_TO_SERVICE_ACCOUNT_KEY con il percorso della chiave dell'account di servizio sulla macchina
- EVENT_TYPE con un valore di
EventType
- REPRESENTATIVE_NAME con il nome lato utente dell'agente dal vivo o dell'automazione che crea l'evento
- REPRESENTATIVE_TYPE con un valore di
RepresentativeType
curl -X POST "https://businessmessages.googleapis.com/v1/conversations/CONVERSATION_ID/events?eventId=EVENT_ID" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messages" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY businessmessages`" \ -d "{ 'eventType': 'EVENT_TYPE', 'representative': { 'avatarImage': 'REPRESENTATIVE_AVATAR_URL', 'displayName': 'REPRESENTATIVE_NAME', 'representativeType': 'REPRESENTATIVE_TYPE', }, }"
Per le opzioni di formattazione e valore, consulta
conversations.events
.
Esempio: inviare un rappresentante che ha partecipato all'evento
# Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # https://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # This code sends a REPRESENTATIVE_JOINED event to the user. # Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/message/events#send # Replace the __CONVERSATION_ID__ with a conversation id that you can send messages to # Make sure a service account key file exists at ./service_account_key.json curl -X POST "https://businessmessages.googleapis.com/v1/conversations/__CONVERSATION_ID__/events?eventId=6a0af2c6-787d-4097-870d-93fe20351747" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-messages" \ -H "$(oauth2l header --json ./service_account_key.json businessmessages)" \ -d "{ 'eventType': 'REPRESENTATIVE_JOINED', 'representative': { 'avatarImage': 'https://developers.google.com/identity/images/g-logo.png', 'displayName': 'Chatbot', 'representativeType': 'HUMAN' } }"
Ricevi un evento
Quando un utente attiva un evento sul proprio dispositivo, l'agente riceve l'evento nel suo webhook. Ricevi ed elabora gli eventi nello stesso modo in cui ricevi i messaggi.
Gli eventi avviati dall'utente hanno il seguente formato.
{ "agent": "brands/BRAND_ID/agents/AGENT_ID", "requestId": "REQUEST_ID", "conversationId": "CONVERSATION_ID", "customAgentId": "CUSTOM_AGENT_ID", "sendTime": "SEND_TIME", "userStatus": { "isTyping": "BOOLEAN", "requestedLiveAgent": "BOOLEAN", "createTime": "CREATION_TIME", } }
Per le opzioni di formattazione e valore, consulta
UserMessage
.