Envie e receba eventos para enriquecer as conversas

Nas conversas do Business Messages, os eventos informam e enriquecem a conversa de usuários e agentes comunicando conteúdo não em mensagem. Para usuários, os eventos são exibidos como notificações nas conversas e são acionados com base nas várias ações que os usuários podem realizar. Os agentes recebem eventos e enviar eventos com chamadas de API.

Os agentes devem estar cientes dos eventos iniciados pelo usuário e ser capazes de responder de maneira adequada. Por exemplo, se um usuário solicitar um atendente, mas ele não responder positiva ou negativamente à solicitação, o que resulta em um do usuário.

Tipos de evento

Cada evento pertence a um tipo específico:

  • Eventos Live agent requested indica que o usuário quer falar diretamente com um atendente.

    Se o agente puder fazer a transição da conversa para um representante humano, envie um evento mesclado representativo e, em seguida, envia as mensagens subsequentes de um representante humano.

    Se o agente não conseguir fazer a transição da conversa para um representante humano, envie uma mensagem para notificar o usuário e informar quando um atendente disponíveis.

  • Os eventos representantes que participam/esquerda informam aos usuários quando os atendentes entram ou sair de uma conversa. Estes eventos mostram notificações na conversa e ajudar a definir as expectativas do usuário em relação à capacidade de resposta e os tipos de perguntas que eles podem fazer.

    Representante ingressou/saiu

  • Os eventos Typing indicam que o usuário ou agente está digitando.

    Para os usuários, o booleano isTyping indica o status de digitação. Cada status a mudança aciona um novo evento.

    Os agentes podem enviar eventos TYPING_STARTED e TYPING_STOPPED para serem exibidos de digitação de indicadores na conversa. Digitar eventos de agentes informa aos usuários que um representante humano esteja escrevendo uma resposta ou que que a automação esteja processando a pergunta ou solicitação.

    Indicador de digitação

Enviar um evento

Para enviar um evento, execute o comando a seguir. Substitua os seguintes itens:

  • CONVERSATION_ID pelo identificador da conversa que você quer. para enviar a pesquisa
  • EVENT_ID por um identificador exclusivo para o evento
  • PATH_TO_SERVICE_ACCOUNT_KEY pelo caminho para sua conta de serviço. chave na sua máquina
  • EVENT_TYPE com um valor de EventType
  • REPRESENTATIVE_NAME pelo nome voltado ao usuário do agente humano ou automação criando o evento
  • REPRESENTATIVE_TYPE com um 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 opções de formatação e valor, consulte conversations.events

Exemplo: enviar um evento que participe de um representante

# 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'
  }
}"

Receber um evento

Quando um usuário aciona um evento no dispositivo, seu agente recebe o evento em com o webhook. Receber e processar eventos da mesma forma que recebe .

Os eventos iniciados pelo usuário têm o formato a seguir.

{
  "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 opções de formatação e valor, consulte UserMessage