En las conversaciones de Business Messages, los eventos informan y enriquecen la conversación de usuarios y agentes a través de la comunicación de contenido Para a los usuarios, los eventos se muestran como notificaciones en sus conversaciones y activan basada en las diversas acciones que los usuarios pueden realizar. Los agentes reciben eventos en su webhooks y enviar eventos con llamadas a la API.
Los agentes deben estar al tanto de los eventos iniciados por el usuario y ser capaces de responder según corresponda. Por ejemplo, si un usuario solicita un agente humano, pero el agente responder de forma positiva o negativa a la solicitud, se generará un mal usuario una experiencia fluida a los desarrolladores.
Tipos de eventos
Cada evento pertenece a un tipo en particular:
Los eventos solicitud de agente en vivo indican que el usuario desea hablar. directamente a un agente humano.
Si el agente puede transferir la conversación a un representante humano, envía un evento unido representativo y, luego, enviar los mensajes subsiguientes de un representativo humano.
Si el agente no puede transferir la conversación a un representante humano, envía un mensaje para notificar al usuario e informarle cuándo estará disponible un agente humano disponibles.
Los eventos representativos a los que se unió/a la izquierda les indican a los usuarios si un agente humano se une o abandonar una conversación. Estos eventos muestran notificaciones en la conversación y ayudan a establecer las expectativas de los usuarios en torno a la capacidad de respuesta y los tipos de preguntas que pueden hacer.
Los eventos de escritura indican que el usuario o agente está escribiendo.
En el caso de los usuarios, el valor booleano
isTypingindica el estado de escritura. Cada estado un cambio activa un evento nuevo.Los agentes pueden enviar eventos
TYPING_STARTEDyTYPING_STOPPEDpara mostrar los indicadores de escritura en la conversación. Los eventos de escritura de los agentes le indican a los usuarios que un representante está redactando una respuesta o que la automatización está procesando su pregunta o solicitud.
Envía un evento
Para enviar un evento, ejecuta el siguiente comando. Reemplaza los siguientes elementos:
- CONVERSATION_ID por el identificador de la conversación que deseas para enviar la encuesta
- EVENT_ID por un identificador único para el evento
- PATH_TO_SERVICE_ACCOUNT_KEY por la ruta de acceso a la cuenta de servicio en la máquina
- EVENT_TYPE con un valor de
EventType - REPRESENTATIVE_NAME por el nombre del agente humano que verá el usuario o automatización que crea el evento
- REPRESENTATIVE_TYPE con un valor de
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',
},
}"Para ver las opciones de formato y valor, consulta
conversations.events
Ejemplo: Envía un representante a un evento al que te uniste
# 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' } }"
Cómo recibir un evento
Cuando un usuario activa un evento en su dispositivo, tu agente recibe el evento en su webhook. Recibe y procesa eventos de la misma manera en que los recibes. mensajes.
Los eventos iniciados por el usuario tienen el siguiente 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", } }
Para ver las opciones de formato y valor, consulta
UserMessage