Passaggio da bot ad operatore

Quando gli utenti comunicano con gli agenti, le loro aspettative vengono stabilite dal modo in cui questi ultimi si presenta e chi compone i messaggi che ricevono. Ogni volta che un agente invia un messaggio, può identificare se un operatore automatico (BOT) o (HUMAN) rappresentativo ha scritto il messaggio. Gli utenti vedono queste informazioni all'interno della conversazione e aiuta gli utenti a capire quali tipi di interazioni potrebbero aspettarsi in un determinato in un determinato momento.

Se un agente supporta sia i rappresentanti BOT sia HUMAN, è importante fornire un contesto quando si passa da uno all'altro. Quando passi da BOT a Rappresentante HUMAN, invia REPRESENTATIVE_JOINED evento prima del giorno inviare messaggi dal rappresentante di HUMAN ed etichettare correttamente tutti seguenti messaggi di operatori provenienti da rappresentanti di HUMAN. Quando l'operatore abbandona la conversazione e invia un evento REPRESENTATIVE_LEFT. Questi gli eventi di inquadratura informano gli utenti che possono porre domande più complicate e possono sono previste più risposte libere.

In questo flusso di conversazione, le prime interazioni dell'utente avvengono con una un risponditore che invia messaggi in qualità di rappresentante di BOT, ma un operatore partecipa la conversazione e invia messaggi in qualità di rappresentante di HUMAN. Il live streaming i messaggi dell'agente sono inquadrati da REPRESENTATIVE_JOINED e REPRESENTATIVE_LEFT eventi.

  1. L'utente avvia la conversazione con l'agente.
  2. Quando l'utente inizia a digitare una risposta, invia un evento di digitazione all' un 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. L'utente invia "Ciao, ho un problema" come messaggio.

    {
      "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. L'agente invia "Grazie per averci contattato. Lo indicherò quando un live streaming un agente è disponibile per chattare con te." come messaggio da un BOT responsabile.

    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. Un operatore diventa disponibile.

  6. L'agente invia un evento REPRESENTATIVE_JOINED prima di inviare il primo un messaggio da parte dell'operatore.

    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. L'agente invia un messaggio "Vedo che hai un problema. Come posso aiutarti?" come messaggio da un rappresentante di 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. L'agente live e l'utente si scambiano messaggi finché la richiesta dell'utente non viene completato. Tutti i messaggi composti dall'agente in tempo reale vengono inviati da un Rappresentante di HUMAN.

  9. L'agente invia un evento REPRESENTATIVE_LEFT quando l'operatore lascia la conversazione.

    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. L'agente invia tutti i messaggi successivi con BOT rappresentanti a meno che un altro operatore si unisce alla conversazione.