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
isTyping
indica el estado de escritura. Cada estado un cambio activa un evento nuevo.Los agentes pueden enviar eventos
TYPING_STARTED
yTYPING_STOPPED
para 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