Transferência do bot para o agente em tempo real

Quando os usuários se comunicam com os agentes, as expectativas são definidas pela forma como eles se apresenta e quem escreve as mensagens recebidas. Sempre que um agente envia uma mensagem, identifica se um atendente automático (BOT) ou em tempo real (HUMAN) de vendas compôs a mensagem. Os usuários veem essas informações na conversa ajuda os usuários a entender que tipos de interações eles podem esperar em qualquer dado em um determinado momento.

Se um agente oferecer suporte a representantes da BOT e do HUMAN, é importante fornecer contexto ao alternar entre os dois. Ao mudar de um BOT para um Representante de HUMAN, envie um REPRESENTATIVE_JOINED evento antes de enviar mensagens do representante de HUMAN e rotular todas corretamente a seguir mensagens de atendentes em tempo real de HUMAN representantes. Quando o o agente em tempo real sair da conversa, enviar um evento REPRESENTATIVE_LEFT. Esses eventos de enquadramento informam aos usuários que eles podem fazer perguntas mais complicadas e que podem esperar mais respostas livres.

Nesse fluxo de conversa, as primeiras interações do usuário são com um que envia mensagens como um representante do BOT, mas um atendente participa a conversa e envia mensagens como um representante HUMAN. A transmissão as mensagens do agente são enquadradas por REPRESENTATIVE_JOINED e REPRESENTATIVE_LEFT eventos.

  1. O usuário inicia a conversa com o agente.
  2. Quando o usuário começa a digitar uma resposta, ele envia um evento de digitação para o 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",
    }
    
  3. O usuário envia "Oi, eu tenho um problema". como uma mensagem.

    {
      "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",
    }
    
  4. O agente envia "Agradecemos seu contato. Vou repassar essas informações quando um está disponível para conversar com você." como uma mensagem de BOT representante de vendas.

    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'
      }
    }"
    
  5. Um agente humano é disponibilizado.

  6. O agente envia um evento REPRESENTATIVE_JOINED antes de enviar o primeiro do agente em tempo real.

    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',
      },
    }"
    
  7. O agente envia: "Vejo que você tem um problema. Como posso ajudar?" como uma mensagem com um representante da empresa 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'
      }
    }"
    
  8. O agente em tempo real e o usuário trocam mensagens até que a solicitação do usuário seja cumpridas. Todas as mensagens escritas pelo agente em tempo real são enviadas por um Representante de HUMAN.

  9. O agente envia um evento REPRESENTATIVE_LEFT quando sai da conversa.

    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',
      },
    }"
    
  10. O agente envia todas as mensagens subsequentes com representantes BOT, a menos que outro atendente entra na conversa.