Nachrichten empfangen

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

Der Nutzer sendet eine Nachricht an den Agent

Nutzer können beliebige Texte, Standorte oder Dateien senden, die ihr RCS-Client zulässt. Der Agent muss alle Texte, Standorte oder Dateien verarbeiten können, die der Nutzer möglicherweise sendet, z. B. sowie alle Fehlerstatus, die diese Meldungen auslösen könnten.

Eingehende Nachrichten verarbeiten

Wie der Agent Nachrichten von Nutzern verarbeitet und darauf reagiert, hängt stark davon ab, auf Ihre Geschäftslogik. Im Allgemeinen sind die Schritte zum Reagieren Nachrichten konsistent sind.

Schritt 1: Art der Nachricht identifizieren, die der Nutzer gesendet hat

Nutzer können vier Arten von Nachrichten senden:

  • SMS sind freie Antworten.
  • Vorschlagsnachrichten enthalten die Postback-Daten und den Text die vorgeschlagene Aktion oder vorgeschlagene Antwort, die der Nutzer angetippt hat.
  • Standortnachrichten enthalten Breiten- und Längengradwerte.

  • Nachrichten vom Typ Datei enthalten den URI für eine Datei und zugehörige Daten.

Schritt 2: Nachrichteninhalt verarbeiten

Der Inhalt der Nutzernachricht sollte die Logik Ihres Agents und die nächste Antwort steuern in der Unterhaltung.

Am einfachsten lässt sich die Nutzerabsicht mit Postback-Daten aus einer vorgeschlagene Antwort oder vorgeschlagene Aktion. Unabhängig von dem Text, der mit die Postback-Daten maschinenlesbar sind.

Wenn ein Nutzer eine SMS sendet, parst Ihr Agent möglicherweise die Antwort für oder NLU verwenden (z. B. Dialogflow), um die Nachricht des Nutzers zu verarbeiten, und einen Weg nach vorn zu identifizieren.

Nachrichten zu Speicherorten und Dateien enthalten keine Text- oder Postback-Daten. Ihre Der Kundenservicemitarbeiter sollte den Kontext der Unterhaltung und die letzten Nachrichten berücksichtigen bevor Sie antworten.

Wenn der Agent nicht weiß, wie er auf die Nachricht des Nutzers antworten soll, sollte er mit einem Fehlerstatus antworten und versuchen, der Nutzer zur Eingabe zusätzlicher Informationen auffordert, indem er oder durch Präsentieren von Antwortvorschlägen und Aktionen, der Kundenservicemitarbeiter weiß, wie er antworten soll.

Schritt 3: Geschäftslogik für die Interaktion erfüllen

Sobald Ihr Agent die richtige Antwort auf die Nachricht des Nutzers identifiziert hat, die notwendigen Informationen aus Ihrer Infrastruktur sammelt mit anderen Systemen zu verknüpfen, wenn dies erforderlich ist, um die Geschäftslogik Interaktion.

Schritt 4: Dem Nutzer antworten

Nachdem der Agent die Geschäftslogik für die Interaktion erfüllt hat, sendet er weitere Nachricht und setzt die Unterhaltung mit dem Nutzer fort.

Beispiele

Der folgende Code zeigt, wie der Agent Nachrichten empfängt. Für Formatierungs- und finden Sie unter UserMessage verwenden.

Kundenservicemitarbeiter erhält Text

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "text": "Hello, world!"
}

Kundenservicemitarbeiter erhält eine Nachricht über einen Vorschlag

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "suggestionResponse": {
    "postbackData": "suggestion_1",
    "text": "Suggestion #1"
  }
}

Kundenservicemitarbeiter erhält Standort

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "location": {
    "latitude": 37.422000,
    "longitude": -122.084056
  }
}

Kundenservicemitarbeiter erhält 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, geliefert und gelesen werden.

Der folgende Code zeigt, wie der Agent Nachrichten empfängt. Für Formatierungs- und finden Sie unter UserEvent übergeben.

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