Wysyłaj i odbieraj zdarzenia, aby wzbogacić rozmowy

Wydarzenia w rozmowach w Business Messages są źródłem informacji i wzbogacają rozmowę zarówno użytkowników, jak i agentów, przekazując treści inne niż wiadomości. Dla: użytkowników, zdarzenia są wyświetlane jako powiadomienia w ich rozmowach i wywołują na podstawie różnych działań użytkowników. Agenci otrzymują zdarzenia w webhooków i wysyłania zdarzeń za pomocą wywołań interfejsu API.

Agenty powinny mieć dostęp do informacji o zdarzeniach inicjowanych przez użytkownika i móc na nie odpowiadać odpowiednio się zmienia. Jeśli na przykład użytkownik poprosi o dostęp do agenta, który nie będzie mógł udzielić pozytywnej lub negatywnej odpowiedzi na prośbę użytkownika, i uzyskiwanie dodatkowych informacji.

Typy zdarzeń

Każde zdarzenie należy do określonego typu:

  • Zdarzenie Żądanie agenta na żywo wskazuje, że użytkownik chce coś powiedzieć. bezpośrednio do pracownika obsługi klienta.

    Jeśli pracownik obsługi klienta ma możliwość przeniesienia rozmowy do przedstawiciela, wyślij zdarzenia dołączonego reprezentacji, a następnie wysyłaj kolejne wiadomości z człowiekiem.

    Jeśli pracownik obsługi klienta nie może przekazać rozmowy do przedstawiciela, wyślij wiadomość do użytkownika z powiadomieniem i informacją, kiedy będzie na nim pracownik obsługi klienta i dostępności informacji.

  • Zdarzenia reprezentatywne dołączenie lub dołączenie informują użytkowników, kiedy pracownicy obsługi klienta dołączają do spotkania lub opuścić rozmowę. Te zdarzenia wyświetlają powiadomienia w rozmowie i pomóc określić oczekiwania użytkowników w zakresie responsywności i typów pytań, jakie mogą zadać.

    Przedstawiciel dołączył/odszedł

  • Zdarzenia wpisania wskazują, że użytkownik lub klient pisze.

    W przypadku użytkowników wartość logiczna isTyping wskazuje stan pisania. Każdy stan powoduje uruchomienie nowego zdarzenia.

    Agenci mogą wysyłać do wyświetlenia zdarzenia TYPING_STARTED i TYPING_STOPPED wskaźników pisania w wątku. Pisanie zdarzeń agentów informuje użytkowników że przedstawiciel redaguje odpowiedź lub że backend automatyzacja przetwarza ich pytanie lub prośbę.

    Wskaźnik pisania

Wyślij wydarzenie

Aby wysłać zdarzenie, uruchom następujące polecenie. Zastąp te elementy:

  • CONVERSATION_ID – identyfikator interesującej Cię rozmowy aby wysłać ankietę
  • EVENT_ID z unikalnym identyfikatorem zdarzenia
  • PATH_TO_SERVICE_ACCOUNT_KEY ze ścieżką do Twojego konta usługi klucz na komputerze
  • EVENT_TYPE o wartości z EventType.
  • REPRESENTATIVE_NAME z nazwą pracownika obsługi klienta widoczną dla użytkownika lub automatyzacji tworzenia zdarzenia,
  • REPRESENTATIVE_TYPE o wartości z 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',
  },
}"

Informacje o opcjach formatowania i wartości znajdziesz w conversations.events

Przykład: wyślij reprezentatywne wydarzenie, do którego dołączył(a)

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

Odbieraj zdarzenie

Gdy użytkownik wywoła zdarzenie na urządzeniu, agent otrzyma to zdarzenie na adres jego webhooka. Odbieraj i przetwarzaj zdarzenia w taki sam sposób jak otrzymuj je wiadomości.

Zdarzenia inicjowane przez użytkownika mają następujący format.

{
  "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",
  }
}

Informacje o opcjach formatowania i wartości znajdziesz w UserMessage