L'invio e la ricezione di messaggi ed eventi sono gli aspetti principali della comunicazione tra un agente e un utente. Gli agenti inviano messaggi, eventi e richieste agli utenti tramite richieste POST HTTP all'API RBM, ma ricevono messaggi ed eventi creati dall'utente in formato JSON da Cloud Pub/Sub.
Di seguito è riportato un flusso di conversazione di esempio che utilizza dati di esempio per illustrare come messaggi, eventi e richieste possono creare interazioni utili e significative.
Un saluto da Google!
In questo esempio, l'agente invia Hello, World!
come messaggio all'utente e quest'ultimo risponde con Hello to you!
.
L'agente invia una richiesta di controllo delle funzionalità per verificare che il dispositivo dell'utente supporti la funzionalità RBM.
L'agente invia:
GET /v1/phones/+12223334444/capabilities?requestId=147547143069602483572 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json
La piattaforma RBM invia all'agente una risposta di controllo della funzionalità che indica che il dispositivo dell'utente può ricevere messaggi RBM.
L'agente riceve:
{ "rbmEnabled": true, "features": [ "REVOCATION", "RICHCARD_STANDALONE", "RICHCARD_CAROUSEL", "ACTION_CREATE_CALENDAR_EVENT", "ACTION_DIAL", "ACTION_OPEN_URL", "ACTION_SHARE_LOCATION", "ACTION_VIEW_LOCATION" ] }
L'agente invia il messaggio
Hello, World!
all'API RBM, che lo trasmette al dispositivo dell'utente.L'agente invia:
POST /v1/phones/+12223334444/agentMessages?messageId=123 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json { "contentMessage": { "text": "Hello, World!", } }
La piattaforma RBM invia il messaggio al dispositivo dell'utente e invia un evento
DELIVERED
all'agente.L'agente riceve:
{ "senderPhoneNumber": "+12223334444", "eventType": "DELIVERED", "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg", "messageId": "123" }
L'utente apre il messaggio sul proprio dispositivo, che invia un evento
READ
all'agente.L'agente riceve:
{ "senderPhoneNumber": "+12223334444", "eventType": "READ", "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj", "messageId": "123" }
L'utente scrive e invia una risposta all'agente.
L'agente riceve:
{ "senderPhoneNumber": "+12223334444", "messageId": "msg000999888777a", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello to you!", }
La piattaforma RBM invia automaticamente al dispositivo dell'utente un evento
DELIVERED
quando riceve il messaggio dell'utente.L'agente invia un evento
READ
in risposta al messaggio dell'utente per informarlo che è stato ricevuto e confermato.L'agente invia:
{ "eventType": "READ", "messageId": "msg000999888777a" }