Übergabe vom Bot an den Kundenservicemitarbeiter

Wenn Nutzer mit Agents kommunizieren, werden ihre Erwartungen dadurch bestimmt, wie der Agent sich präsentiert und wer die Nachrichten verfasst. Jedes Mal, wenn ein Agent eine Nachricht sendet, kann er feststellen, ob ein automatischer (BOT) oder Live-Agent (HUMAN) repräsentativ die Nachricht verfasst hat. Nutzer sehen diese Informationen in der Unterhaltung und können so besser nachvollziehen, welche Interaktionen zu einem bestimmten Zeitpunkt zu erwarten sind.

Wenn ein Agent sowohl die Bevollmächtigten BOT als auch HUMAN unterstützt, ist es wichtig, beim Wechseln zwischen den beiden Szenarien Kontext anzugeben. Wenn du von einem BOT-Mitarbeiter zu einem HUMAN-Mitarbeiter wechselst, kannst du ein REPRESENTATIVE_JOINED-Ereignis senden, bevor du Nachrichten von einem HUMAN-Mitarbeiter sendest. Alle folgenden Nachrichten von Live-Kundenservicemitarbeitern müssen von den HUMAN-Beauftragten korrekt mit Labels versehen werden. Wenn der Live-Agent die Unterhaltung verlässt, senden Sie ein REPRESENTATIVE_LEFT-Ereignis. Durch diese Framing-Ereignisse werden Nutzer darauf hingewiesen, dass sie kompliziertere Fragen stellen und mehr freie Antworten erwarten können.

Bei diesem Unterhaltungsablauf erfolgt die erste Interaktion des Nutzers mit einer automatischen Antwort, die Nachrichten als BOT-Ansprechpartner sendet. Ein Live-Agent nimmt dann an der Unterhaltung teil und sendet Nachrichten als HUMAN-Ansprechpartner. Die Nachrichten des Live-Agents werden von REPRESENTATIVE_JOINED- und REPRESENTATIVE_LEFT-Ereignissen umgeben.

  1. Der Nutzer beginnt die Unterhaltung mit dem Agent.
  2. Sobald der Nutzer beginnt, eine Antwort einzugeben, sendet er ein Eingabeereignis an den Agent.

    {
      "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. Der Nutzer sendet als Nachricht „Hallo, ich habe ein Problem“.

    {
      "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. Der Kundenservicemitarbeiter sendet eine Nachricht, dass Sie sich mit uns in Verbindung gesetzt haben. Ich leite dies weiter, wenn ein Live-Kundenservicemitarbeiter mit Ihnen chatten kann. Dies ist eine Nachricht von einem BOT-Ansprechpartner.

    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. Ein Kundenservicemitarbeiter ist verfügbar.

  6. Der Agent sendet ein REPRESENTATIVE_JOINED-Ereignis, bevor die erste Nachricht vom Live-Agent gesendet wird.

    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. Der Kundenservicemitarbeiter sendet „Sie haben ein Problem. Wie kann ich dir als Nachricht von einem HUMAN-Ansprechpartner helfen?

    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. Der Live-Agent und der Nutzer tauschen Nachrichten aus, bis die Anfrage des Nutzers ausgeführt wird. Alle vom Live-Agent verfassten Nachrichten werden von einem HUMAN-Ansprechpartner gesendet.

  9. Der Agent sendet ein REPRESENTATIVE_LEFT-Ereignis, wenn der Live-Agent die Unterhaltung verlässt.

    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. Der Agent sendet alle nachfolgenden Nachrichten an BOT-Ansprechpartner, es sei denn, ein anderer Live-Agent nimmt an der Unterhaltung teil.