Przekazywanie od bota do agenta na żywo

Gdy użytkownicy komunikują się z pracownikami obsługi klienta, ich oczekiwania są ustalane przez sposób, w jaki i kto jest twórcą otrzymywanych wiadomości. Za każdym razem, gdy agent wysyła wiadomość, może określić, czy jest to automatyczny (BOT) czy pracownik obsługi klienta. (HUMAN) reprezentatywny jest autorem wiadomości. Użytkownicy widzą te informacje w rozmowie, a do tego pomaga użytkownikom zrozumieć, jakiego rodzaju interakcji mogą oczekiwać w danym momencie w czasie rzeczywistym.

Jeśli pracownik obsługi klienta obsługuje zarówno przedstawicieli BOT, jak i HUMAN, ważne jest, aby zapewniają kontekst przy przechodzeniu między nimi. Podczas przechodzenia z karty BOT na Przedstawiciel firmy HUMAN, wyślij REPRESENTATIVE_JOINED zdarzenie przed wysyła wiadomości od przedstawiciela firmy HUMAN i odpowiednio oznaczaj wszystkie to wiadomości od pracowników obsługi klienta na żywo od przedstawicieli firmy HUMAN. Gdy Pracownik obsługi klienta opuszcza rozmowę, wyślij zdarzenie REPRESENTATIVE_LEFT. Te które informują użytkowników, że mogą zadawać bardziej złożone pytania możesz oczekiwać większej liczby swobodnych odpowiedzi.

W tym procesie pierwsza interakcja użytkownika to użytkownik wysyłający wiadomości jako przedstawiciel BOT, ale dołącza do niego pracownik obsługi klienta w rozmowie i wysyła wiadomości jako przedstawiciel HUMAN. Na żywo wiadomości agenta są umieszczone w ramkach przez elementy REPRESENTATIVE_JOINED i REPRESENTATIVE_LEFT zdarzeń.

  1. Użytkownik rozpoczyna rozmowę z agentem.
  2. Gdy użytkownik rozpocznie wpisywanie odpowiedzi, wysyła zdarzenie pisania do funkcji .

    {
      "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. Użytkownik wysyła wiadomość „Cześć, mam problem” jako wiadomość.

    {
      "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. Pracownik obsługi klienta wysyła wiadomość „Dziękujemy za skontaktowanie się z nami. Przekażę to dalej, gdy na żywo pracownik obsługi klienta jest dostępny na czacie”. jako wiadomość z urządzenia BOT przedstawiciel handlowy.

    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. Stanie się dostępny pracownik obsługi klienta.

  6. Agent wysyła zdarzenie REPRESENTATIVE_JOINED przed wysłaniem pierwszego na czacie.

    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. Pracownik obsługi klienta wysyła wiadomość: „Widzę, że masz problem. W czym mogę pomóc?” jako wiadomość od przedstawiciela firmy 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. Aktywnego agenta i wiadomości między użytkownikiem a wymianą wiadomości do momentu, gdy żądanie użytkownika zostanie zrealizowano. Wszystkie wiadomości utworzone przez pracownika obsługi klienta są wysyłane z Przedstawiciel firmy HUMAN.

  9. Agent wysyła zdarzenie REPRESENTATIVE_LEFT, gdy pracownik obsługi klienta opuści rozmowy.

    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. Agent wysyła wszystkie kolejne wiadomości do przedstawicieli BOT, chyba że inny pracownik obsługi klienta dołączył do rozmowy.