Agenty RBM otrzymują wiadomości i zdarzenia przez webhooka. Gdy użytkownik wysyła wiadomość do agenta, usługa RBM Google wysyła do skonfigurowanego webhooka. Agent może zdekodować wiadomość, przetworzyć je i wysłać odpowiedź użytkownikowi.

Użytkownicy mogą wysyłać dowolny tekst, lokalizacje i pliki, na które pozwala klient RCS. Agent musi obsługiwać teksty, lokalizacje i pliki wysyłane przez użytkownika, a także wszelkie komunikaty o błędach, które mogą się pojawić.
Obsługa wiadomości przychodzących
Sposób, w jaki agent obsługuje wiadomości od użytkowników i odpowiada na nie, zależy w dużym stopniu na logikę biznesową. Ogólnie rzecz biorąc, czynności, jakie należy wykonać, aby odpowiedzieć użytkownikowi, są spójne.
Krok 1. Określ typ wiadomości wysłanej przez użytkownika
Użytkownicy mogą wysyłać 4 typy wiadomości:
- SMS-y to dowolne odpowiedzi.
- Sugestie zawierają dane wywołania zwrotnego i tekst sugerowane działanie lub sugerowana odpowiedź użytkownika.
- Komunikaty o lokalizacji obejmują długość i szerokość geograficzną. 
- Wiadomości dotyczące pliku zawierają identyfikator URI pliku i powiązane z nim dane. 
Krok 2. Przetwarzanie treści wiadomości
Treść wiadomości dla użytkownika powinna stanowić wytyczne dla logiki agenta i następnej odpowiedzi w rozmowie.
Najłatwiejszym sposobem zidentyfikowania zamiaru użytkownika jest użycie danych wywołania zwrotnego z sugerowane odpowiedzi lub sugerowane działania. Niezależnie od tekstu powiązanego z dane wywołania zwrotnego są czytelne dla komputera.
Jeśli użytkownik wyśle SMS-a, agent może przeanalizować odpowiedź: obsługiwanych słów kluczowych lub nie używać NLU (np. Dialogflow) do przetworzenia wiadomości użytkownika. i określić ścieżkę.
Wiadomości dotyczące lokalizacji i plików nie zawierają danych tekstowych ani wywołań zwrotnych, więc agent powinien wziąć pod uwagę kontekst rozmowy i ostatnie wiadomości zanim zareagujesz.
Jeśli agent nie wie, jak odpowiedzieć na wiadomość użytkownika, powinien odpowiedzieć ze stanem błędu i spróbować kontynuować rozmowę przez prosząc użytkownika o podanie dodatkowych informacji przez lub przez przedstawienie sugerowanych odpowiedzi i działań, który wie, jak zareagować.
Krok 3. Spełnij logikę biznesową interakcji
Gdy agent zidentyfikuje prawidłową odpowiedź na wiadomość użytkownika, gromadzi niezbędne informacje z Twojej infrastruktury i angażuje się z innymi systemami w celu spełnienia logiki biznesowej interakcji.
Krok 4. Odpowiedz użytkownikowi
Gdy agent wykona logikę biznesową interakcji, wysyła kolejną wiadomość i kontynuujesz rozmowę z użytkownikiem.
Przykłady
Poniższy kod pokazuje, jak agent odbiera wiadomości. Formatowanie informacje o wartości, patrz UserMessage.
Pracownik obsługi klienta odbiera SMS-a
{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "text": "Hello, world!"
}
Pracownik obsługi klienta otrzymuje wiadomość z sugestii
{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "suggestionResponse": {
    "postbackData": "suggestion_1",
    "text": "Suggestion #1"
  }
}
Pracownik obsługi klienta otrzymuje lokalizację
{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "location": {
    "latitude": 37.422000,
    "longitude": -122.084056
  }
}
Agent odbiera plik
{
  "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"
    }
  }
}
Obsługuj zdarzenia przychodzące
Agent otrzymuje powiadomienia, gdy wiadomości wysyłane do użytkowników są i przeczytaniu.
Poniższy kod pokazuje, jak agent odbiera wiadomości. Formatowanie informacje o wartości, patrz UserEvent.
Wiadomość została dostarczona do użytkownika
{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "DELIVERED"
}
Wiadomość przeczytana przez użytkownika
{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "READ"
}
Użytkownik pisze
{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "IS_TYPING",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "agentId": "AGENT_ID"
}