Fluxos de conversas

Enviar e receber mensagens e eventos são os principais aspectos da comunicação entre um agente e um usuário. Os agentes enviam mensagens, eventos e solicitações para os usuários por solicitações POST HTTP para a API RBM, mas recebem mensagens e eventos criados pelo usuário no webhook configurado.

Confira a seguir um exemplo de fluxo de conversa que usa dados de amostra para ilustrar como mensagens, eventos e solicitações podem criar interações úteis e significativas.

Olá, mundo!

Uma conversa básica entre um agente e um usuário.

Neste exemplo, o agente envia Hello, World! como uma mensagem para o usuário, que responde com Hello to you!.

Fluxo de sequência de uma mensagem de um agente e uma resposta de um usuário.

  1. O agente envia uma solicitação de verificação de recursos para verificar se o dispositivo do usuário é compatível com o RBM.

    O agente envia:

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572&agentId=welcome-bot
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
  2. A plataforma RBM envia ao agente uma resposta de verificação de recursos indicando que o dispositivo do usuário pode receber mensagens RBM.

    O agente recebe:

    {
      "rbmEnabled": true,
      "features": [
        "REVOCATION",
        "RICHCARD_STANDALONE",
        "RICHCARD_CAROUSEL",
        "ACTION_CREATE_CALENDAR_EVENT",
        "ACTION_DIAL",
        "ACTION_OPEN_URL",
        "ACTION_SHARE_LOCATION",
        "ACTION_VIEW_LOCATION"
       ]
    }
  3. O agente envia a mensagem Hello, World! para a API RBM, que a transmite ao dispositivo do usuário.

    O agente envia:

    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. A plataforma RBM envia a mensagem para o dispositivo do usuário e um evento DELIVERED para o agente.

    O agente recebe:

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. O usuário abre a mensagem no dispositivo, que envia um evento READ para o agente.

    O agente recebe:

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "eventType": "READ",
      "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
      "messageId": "123"
    }
  6. O usuário escreve e envia uma resposta ao agente.

    O agente recebe:

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. A plataforma RBM envia automaticamente um evento DELIVERED ao dispositivo do usuário quando recebe a mensagem dele.

  8. O agente envia um evento READ em resposta à mensagem do usuário para informar que ela foi recebida e confirmada.

    O agente envia:

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