RBM-Agents empfangen Nachrichten und Ereignisse über einen Webhook. Wenn ein Nutzer eine Nachricht an Ihren Agent sendet, sendet der RBM-Dienst von Google die Nachricht an Ihren konfigurierten Webhook. Ihr Agent kann die Nachricht dann decodieren, verarbeiten und eine Antwort an den Nutzer senden.

Nutzer können beliebigen Text, Standorte oder Dateien senden, die ihr RCS-Client zulässt. Ihr Agent muss alle Texte, Orte oder Dateien verarbeiten, die der Nutzer möglicherweise sendet, sowie alle Fehlerzustände, die durch diese Nachrichten ausgelöst werden können.
Eingehende Nachrichten verarbeiten
Wie Ihr Agent Nachrichten von Nutzern verarbeitet und darauf reagiert, hängt stark von Ihrer Geschäftslogik ab. Die Schritte zum Antworten auf eine Nutzernachricht sind jedoch in der Regel gleich.
Schritt 1: Art der vom Nutzer gesendeten Nachricht ermitteln
Nutzer können vier Arten von Nachrichten senden:
- Textnachrichten sind Antworten in freiem Format.
- Vorschlagsnachrichten enthalten die Postback-Daten und den Text der vorgeschlagenen Aktion oder Antwort, die der Nutzer ausgewählt hat.
Standortnachrichten enthalten Werte für Breiten- und Längengrad.
File-Nachrichten enthalten den URI für eine Datei und zugehörige Daten.
Schritt 2: Nachrichteninhalt verarbeiten
Der Inhalt der Nutzernachricht sollte die Logik und die nächste Antwort Ihres Agents in der Unterhaltung bestimmen.
Am einfachsten lässt sich die Nutzerintention anhand von Postback-Daten aus einer vorgeschlagenen Antwort oder Aktion ermitteln. Unabhängig vom Text, der mit dem Vorschlag verknüpft ist, sind die Postback-Daten maschinenlesbar.
Wenn ein Nutzer eine SMS sendet, kann Ihr Agent die Antwort nach unterstützten Keywords parsen oder NLU (z. B. Dialogflow) verwenden, um die Nachricht des Nutzers zu verarbeiten und einen weiteren Schritt zu ermitteln.
Standort- und Dateinachrichten enthalten keinen Text oder keine Postback-Daten. Ihr Kundenservicemitarbeiter sollte daher den Kontext der Unterhaltung und die letzten Nachrichten berücksichtigen, bevor er antwortet.
Wenn Ihr Agent nicht weiß, wie er auf die Nachricht des Nutzers reagieren soll, sollte er mit einem Fehlerstatus antworten und versuchen, die Unterhaltung fortzusetzen, indem er den Nutzer um zusätzliche Informationen bittet, ihn auf andere Weise um Eingaben bittet oder vorgeschlagene Antworten und Aktionen präsentiert, auf die der Agent reagieren kann.
Schritt 3: Geschäftslogik für die Interaktion ausführen
Sobald Ihr Agent die richtige Antwort auf die Nachricht des Nutzers gefunden hat, ruft er die erforderlichen Informationen aus Ihrer Infrastruktur ab und interagiert bei Bedarf mit anderen Systemen, um die Geschäftslogik für die Interaktion zu erfüllen.
Schritt 4: Dem Nutzer antworten
Nachdem der Agent die Geschäftslogik für die Interaktion ausgeführt hat, sendet er eine weitere Nachricht und setzt die Unterhaltung mit dem Nutzer fort.
Beispiele
Der folgende Code zeigt, wie Ihr Agent Nachrichten empfängt. Informationen zur Formatierung und zu Werten finden Sie unter UserMessage.
Hinweis: Für Traffic in den USA unterliegen Nutzernachrichten und Tippen auf vorgeschlagene Aktionen den Klassifizierungen des US-Abrechnungsmodells. Wenn Ihr Agent diese Ereignisse empfängt, enthält er das Feld richMessageClassification, das den abrechenbaren Ereignistyp bestimmt. Weitere Informationen zur Klassifizierung finden Sie in der Anleitung zum US-Abrechnungsmodell.
Supportmitarbeiter erhält Text
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"text": "Hello, world!"
}Der Agent erhält eine Nachricht aus einem Vorschlag
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"suggestionResponse": {
"postbackData": "suggestion_1",
"text": "Suggestion #1"
}
}Agent erhält einen Standort
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"location": {
"latitude": 37.422000,
"longitude": -122.084056
}
}Der Agent empfängt eine Datei
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "userFile": { "thumbnail": { "mimeType": "image/jpeg", "fileSizeBytes": 1280, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c8", "fileName": "4_animated.jpeg" }, "payload": { "mimeType": "image/gif", "fileSizeBytes": 127806, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9", "fileName": "4_animated.gif" } } }
Eingehende Ereignisse verarbeiten
Ihr Agent erhält Benachrichtigungen, wenn die Nachrichten, die er an Nutzer sendet, zugestellt und gelesen werden.
Der folgende Code zeigt, wie Ihr Agent Nachrichten empfängt. Informationen zur Formatierung und zu Werten finden Sie unter UserEvent.
Nachricht an Nutzer gesendet
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"eventType": "DELIVERED"
}Nachricht vom Nutzer gelesen
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"eventType": "READ"
}Nutzer gibt gerade Text ein…
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "IS_TYPING",
"eventId": "EVENT_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"agentId": "AGENT_ID"
}