wysyłać i odbierać wydarzenia w celu wzbogacania rozmów;

Dzięki konwersjom w Business Messages wydarzenia mogą przekazywać informacje i wzbogacać rozmowy zarówno użytkowników, jak i agentów, przekazując im treści inne niż wiadomości. W przypadku użytkowników zdarzenia są wyświetlane jako powiadomienia w rozmowach i uruchamiane na podstawie różnych działań, które mogą wykonywać użytkownicy. Agenty odbierają zdarzenia w webhookach i wysyłają zdarzenia za pomocą wywołań interfejsu API.

Agenty powinni mieć świadomość zdarzeń zainicjowanych przez użytkownika i być w stanie odpowiednio reagować. Jeśli na przykład użytkownik poprosi o nagranie na żywo, ale agent nie będzie w stanie pozytywnie lub negatywnie odpowiedzieć na żądanie, może to pogorszyć komfort użytkownika.

Typy zdarzeń

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

  • Zdarzenia z żądaniem agenta na żywo oznaczają, że użytkownik chce porozmawiać bezpośrednio z pracownikiem obsługi klienta.

    Jeśli agent może przenieść rozmowę do człowieka, wyślij zdarzenie Dołączono przedstawiciela, a następnie wyślij kolejne wiadomości od przedstawiciela człowieka.

    Jeśli agent nie może przenieść rozmowy do przedstawiciela, wyślij wiadomość z informacją użytkownika, gdy będzie dostępny.

  • Zdarzenia dołączonego/przedstawionego przez przedstawiciela informują użytkowników, kiedy uczestnicy czatu dołączają do rozmowy lub ją opuszczają. Te zdarzenia wyświetlają powiadomienia w rozmowie i pomagają określić oczekiwania użytkowników dotyczące reakcji i rodzajów pytań, jakie mogą zadać.

    Przedstawiciel dołączył/doszedł po lewej stronie

  • Zdarzenia związane z wpisywaniem wskazują, że użytkownik lub agent pisze.

    Wartość logiczna isTyping wskazuje użytkownikom stan wpisywania. Każda zmiana stanu wyzwala nowe zdarzenie.

    Agenty mogą wysyłać zdarzenia TYPING_STARTED i TYPING_STOPPED, aby wyświetlać wskaźniki pisania w rozmowie. Zdarzenia dotyczące pisania pochodzące od agentów informują użytkowników, że człowiek tworzy odpowiedź lub że automatyczna baza danych przetwarza jego pytanie lub żądanie.

    Wskaźnik pisania

Wyślij wydarzenie

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

  • CONVERSATION_ID z identyfikatorem rozmowy, do której chcesz wysłać ankietę
  • EVENT_ID z unikalnym identyfikatorem zdarzenia
  • PATH_TO_SERVICE_ACCOUNT_KEY ze ścieżką do klucza konta usługi na Twoim komputerze
  • EVENT_TYPE z wartością z EventType
  • REPRESENTATIVE_NAME z widoczną dla użytkownika nazwą na żywo lub zautomatyzowanego tworzenia zdarzenia
  • REPRESENTATIVE_TYPE z 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',
  },
}"

Opcje formatowania i wartości znajdziesz w sekcji conversations.events.

Przykład: wyślij przedstawiciela, który dołączył do wydarzenia

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

Odbieranie wydarzenia

Gdy użytkownik wywoła zdarzenie na urządzeniu, agent otrzyma je w swoim webhooku. Odbieraj i przetwarzaj zdarzenia w taki sam sposób, w jaki otrzymujesz 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",
  }
}

Opcje formatowania i wartości znajdziesz w sekcji UserMessage.