Wysyłanie i odbieranie wiadomości i zdarzeń to główne aspekty komunikacji między agentem a użytkownikiem. Agenty wysyłają wiadomości, zdarzenia i żądania do użytkowników za pomocą żądań POST HTTP do interfejsu RBM API, ale otrzymują utworzone przez użytkowników wiadomości i zdarzenia w formacie JSON z Cloud Pub/Sub.
Poniżej znajdziesz przykładowy przepływ rozmowy, który korzysta z przykładowych danych, aby zilustrować to, jak wiadomości, zdarzenia i żądania mogą prowadzić do użytecznych i istotnych interakcji.
Witaj, świecie!
W tym przykładzie agent wysyła Hello, World!
jako wiadomość do użytkownika, a użytkownik odpowiada przy użyciu Hello to you!
.
Agent wysyła prośbę o sprawdzenie, czy urządzenie użytkownika jest zgodne z modelem RBM.
Agent wysyła:
GET /v1/phones/+12223334444/capabilities?requestId=147547143069602483572 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json
Platforma RBM wysyła agenta, aby potwierdzić, że urządzenie użytkownika może odbierać wiadomości RBM.
Agent otrzymuje:
{ "rbmEnabled": true, "features": [ "REVOCATION", "RICHCARD_STANDALONE", "RICHCARD_CAROUSEL", "ACTION_CREATE_CALENDAR_EVENT", "ACTION_DIAL", "ACTION_OPEN_URL", "ACTION_SHARE_LOCATION", "ACTION_VIEW_LOCATION" ] }
Agent wysyła komunikat
Hello, World!
do interfejsu RBM API, który przekazuje go na urządzenie użytkownika.Agent wysyła:
POST /v1/phones/+12223334444/agentMessages?messageId=123 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json { "contentMessage": { "text": "Hello, World!", } }
Platforma RBM wysyła wiadomość na urządzenie użytkownika i wysyła zdarzenie
DELIVERED
do agenta.Agent otrzymuje:
{ "senderPhoneNumber": "+12223334444", "eventType": "DELIVERED", "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg", "messageId": "123" }
Użytkownik otwiera wiadomość na urządzeniu, co wysyła do agenta zdarzenie
READ
.Agent otrzymuje:
{ "senderPhoneNumber": "+12223334444", "eventType": "READ", "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj", "messageId": "123" }
Użytkownik pisze i wysyła odpowiedź do agenta.
Agent otrzymuje:
{ "senderPhoneNumber": "+12223334444", "messageId": "msg000999888777a", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello to you!", }
Platforma RBM automatycznie wysyła zdarzenie
DELIVERED
po otrzymaniu wiadomości użytkownika.Agent wysyła zdarzenie
READ
w odpowiedzi na wiadomość użytkownika, aby poinformować go, że został odebrany.Agent wysyła:
{ "eventType": "READ", "messageId": "msg000999888777a" }