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 los usuarios a través de solicitudes HTTP POST a la API de RBM, pero reciben mensajes y eventos creados por el usuario en el webhook configurado.

A continuación, se muestra un ejemplo de flujo de conversación que usa 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 mensaje al usuario, y este responde con Hello to you!.

Un flujo 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 comprobar que el dispositivo del usuario sea compatible con RBM.

    El agente envía lo siguiente:

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572&agentId=welcome-bot
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
  2. La plataforma de RBM envía al agente una respuesta de verificación de capacidades 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 lo pasa al dispositivo del usuario.

    El agente envía lo siguiente:

    POST
    /v1/phones/+12223334444/agentMessages?messageId=123&agentId=welcome-bot
    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 un evento DELIVERED al agente.

    El agente recibe lo siguiente:

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. El usuario abre el mensaje en su dispositivo, lo que envía un evento READ al agente.

    El agente recibe lo siguiente:

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "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",
      "agentId": "welcome-bot@rbm.goog",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. La plataforma de RBM envía automáticamente un evento DELIVERED al dispositivo del usuario cuando recibe su mensaje.

  8. El agente envía un evento READ en respuesta al mensaje del usuario para informarle que se recibió y confirmó.

    El agente envía lo siguiente:

    POST
      /v1/phones/+12223334444/agentEvents?eventId=1234&agentId=welcome-bot
      HTTP/1.1
      Host: us-rcsbusinessmessaging.googleapis.com
      Content-Type: application/json
      {
        "eventType": "READ",
        "messageId": "msg000999888777a"
    }