Termine senden und empfangen, um Unterhaltungen anzureichern

In Business Messages-Unterhaltungen werden Ereignisse nicht nur als Nachrichten, sondern auch durch Unterhaltungen für Nutzer und Agents angereichert. Für Nutzer werden Ereignisse als Benachrichtigungen in ihren Unterhaltungen angezeigt und basierend auf verschiedenen Aktionen ausgelöst, die Nutzer möglicherweise ausführen. Agents empfangen Ereignisse an ihren Webhooks und senden Ereignisse mit API-Aufrufen.

Agents sollten vom Nutzer initiierte Ereignisse kennen und in der Lage sein, entsprechend zu reagieren. Wenn ein Nutzer beispielsweise einen Live-Agent anfordert, der Agent jedoch nicht positiv oder negativ auf die Anfrage reagieren kann, hat dies eine negative Nutzererfahrung zur Folge.

Ereignistypen

Jedes Ereignis gehört zu einem bestimmten Typ:

  • Live-Agent-Anfragen geben an, dass der Nutzer direkt mit einem Kundenservicemitarbeiter sprechen möchte.

    Wenn der Agent die Unterhaltung an einen Mitarbeiter weiterleiten kann, senden Sie ein Repräsentatives Ereignis und senden Sie dann die nachfolgenden Nachrichten von einem Mitarbeiter.

    Wenn der Kundenservicemitarbeiter die Unterhaltung nicht an einen Kundenservicemitarbeiter weiterleiten kann, senden Sie eine Nachricht, um den Nutzer zu benachrichtigen und zu informieren, wann ein Kundenservicemitarbeiter verfügbar ist.

  • Ereignisse des Typs Repräsentative Join/Left informieren Nutzer darüber, wann Kundenservicemitarbeiter einer Unterhaltung beitreten oder sie verlassen. Bei diesen Ereignissen werden Benachrichtigungen in der Unterhaltung angezeigt und Nutzer können so ihre Reaktionsfähigkeit und die Art von Fragen, die ihnen gestellt werden, besser einschätzen.

    Bevollmächtigter beigetreten/verlassen

  • Tippereignisse geben an, dass der Nutzer oder Agent gerade etwas eingibt.

    Für Nutzer gibt der boolesche Wert isTyping ihren Eingabestatus an. Jede Statusänderung löst ein neues Ereignis aus.

    Agents können TYPING_STARTED- und TYPING_STOPPED-Ereignisse senden, um Eingabeindikatoren für die Unterhaltung anzuzeigen. Wenn Sie Ereignisse von Agents eingeben, werden Nutzer darüber informiert, dass ein menschlicher Vertreter eine Antwort erstellt oder dass die Frage oder Anfrage von der Back-End-Automatisierung verarbeitet wird.

    Eingabeanzeige

Ereignis senden

Führen Sie den folgenden Befehl aus, um ein Ereignis zu senden. Ersetzen Sie die folgenden Elemente:

  • CONVERSATION_ID durch die ID der Unterhaltung, an die Sie die Umfrage senden möchten
  • EVENT_ID durch eine eindeutige Kennung für das Ereignis
  • PATH_TO_SERVICE_ACCOUNT_KEY durch den Pfad zu Ihrem Dienstkontoschlüssel auf Ihrem Computer
  • EVENT_TYPE mit einem Wert von EventType
  • REPRESENTATIVE_NAME durch den für den Nutzer sichtbaren Namen des Live-Agents oder der Automatisierung, mit der das Ereignis erstellt wird
  • REPRESENTATIVE_TYPE mit einem Wert von 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',
  },
}"

Formatierungs- und Wertoptionen finden Sie unter conversations.events.

Beispiel: An einen Mitarbeiter weitergeleitete Veranstaltung senden

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

Ereignis empfangen

Wenn ein Nutzer ein Ereignis auf seinem Gerät auslöst, empfängt der Agent das Ereignis an seinem Webhook. Ereignisse werden genauso empfangen und verarbeitet wie Nachrichten.

Vom Nutzer initiierte Ereignisse haben das folgende 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",
  }
}

Formatierungs- und Wertoptionen finden Sie unter UserMessage.