Flujos de conversación

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!

Una conversación básica entre un agente y un usuario.

En este ejemplo, el agente envía Hello, World! como un mensaje al usuario y este responde con Hello to you!.

Un diagrama de secuencia de un mensaje de un agente y una respuesta de un usuario.

  1. 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
  2. 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"
       ]
    }
  3. 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!",
      }
    }
  4. 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"
    }
  5. 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"
    }
  6. 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!",
    }
  7. La plataforma de RBM envía automáticamente un dispositivo DELIVERED al dispositivo del usuario cuando recibe el mensaje del usuario.

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