El envío y la recepción de mensajes y eventos son los aspectos principales de la comunicación entre un agente y un usuario. Los agentes envían mensajes, eventos y solicitudes a usuarios mediante solicitudes HTTP POST a la API de RBM, pero reciben mensajes y eventos creados por el usuario como JSON desde Cloud Pub/Sub.
A continuación, se muestra un flujo de conversación de ejemplo que utiliza datos de muestra para ilustrar cómo los mensajes, los eventos y las solicitudes pueden crear interacciones útiles y significativas.
¡Hola, mundo!
En este ejemplo, el agente envía Hello, World!
como un mensaje al usuario y este responde con Hello to you!
.
El agente envía una solicitud de verificación de capacidad para verificar que el dispositivo del usuario sea compatible con RBM.
El agente envía:
GET /v1/phones/+12223334444/capabilities?requestId=147547143069602483572 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json
La plataforma de RBM le envía al agente una respuesta de verificación de capacidad que indica que el dispositivo del usuario puede recibir mensajes de RBM.
El agente recibe lo siguiente:
{ "rbmEnabled": true, "features": [ "REVOCATION", "RICHCARD_STANDALONE", "RICHCARD_CAROUSEL", "ACTION_CREATE_CALENDAR_EVENT", "ACTION_DIAL", "ACTION_OPEN_URL", "ACTION_SHARE_LOCATION", "ACTION_VIEW_LOCATION" ] }
El agente envía el mensaje
Hello, World!
a la API de RBM, que la pasa al dispositivo del usuario.El agente envía:
POST /v1/phones/+12223334444/agentMessages?messageId=123 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json { "contentMessage": { "text": "Hello, World!", } }
La plataforma de RBM envía el mensaje al dispositivo del usuario y envía un evento
DELIVERED
al agente.El agente recibe lo siguiente:
{ "senderPhoneNumber": "+12223334444", "eventType": "DELIVERED", "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg", "messageId": "123" }
El usuario abre el mensaje en su dispositivo, que envía un evento
READ
al agente.El agente recibe lo siguiente:
{ "senderPhoneNumber": "+12223334444", "eventType": "READ", "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj", "messageId": "123" }
El usuario escribe y envía una respuesta al agente.
El agente recibe lo siguiente:
{ "senderPhoneNumber": "+12223334444", "messageId": "msg000999888777a", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello to you!", }
La plataforma de RBM envía automáticamente un dispositivo
DELIVERED
al dispositivo del usuario cuando recibe el mensaje del usuario.El agente envía un evento
READ
en respuesta al mensaje del usuario para informarle que lo recibió y confirmó.El agente envía:
{ "eventType": "READ", "messageId": "msg000999888777a" }