Flux de conversation

L'envoi et la réception de messages et d'événements sont les principaux aspects de la communication entre un agent et un utilisateur. Les agents envoient des messages, des événements et des requêtes aux utilisateurs via des requêtes HTTP POST à l'API RBM, mais reçoivent des messages et des événements créés par l'utilisateur au format JSON depuis Cloud Pub/Sub.

Vous trouverez ci-dessous un exemple de flux de conversation qui utilise des exemples de données pour illustrer comment les messages, les événements et les requêtes peuvent créer des interactions utiles et pertinentes.

Bonjour !

Conversation de base entre un agent et un utilisateur.

Dans cet exemple, l'agent envoie Hello, World! en tant que message à l'utilisateur, qui répond par Hello to you!.

Schéma de sécurité d'un message d'un agent et d'une réponse d'un utilisateur.

  1. L'agent envoie une requête de vérification de capacité pour vérifier que l'appareil de l'utilisateur est compatible RBM.

    L'agent envoie:

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
  2. La plate-forme RBM envoie à l'agent une réponse de vérification des capacités indiquant que l'appareil de l'utilisateur peut recevoir des messages RBM.

    L'agent reçoit:

    {
      "rbmEnabled": true,
      "features": [
        "REVOCATION",
        "RICHCARD_STANDALONE",
        "RICHCARD_CAROUSEL",
        "ACTION_CREATE_CALENDAR_EVENT",
        "ACTION_DIAL",
        "ACTION_OPEN_URL",
        "ACTION_SHARE_LOCATION",
        "ACTION_VIEW_LOCATION"
       ]
    }
  3. L'agent envoie le message Hello, World! à l'API RBM, qui le transmet à l'appareil de l'utilisateur.

    L'agent envoie:

    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 plate-forme RBM envoie le message à l'appareil de l'utilisateur et envoie un événement DELIVERED à l'agent.

    L'agent reçoit:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. L'utilisateur ouvre le message sur son appareil, ce qui envoie un événement READ à l'agent.

    L'agent reçoit:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "READ",
      "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
      "messageId": "123"
    }
  6. L'utilisateur écrit et envoie une réponse à l'agent.

    L'agent reçoit:

    {
      "senderPhoneNumber": "+12223334444",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. La plate-forme RBM envoie automatiquement à l'appareil de l'utilisateur un événement DELIVERED lorsqu'il reçoit le message de l'utilisateur.

  8. L'agent envoie un événement READ en réponse au message de l'utilisateur pour lui indiquer qu'il a été reçu et confirmé.

    L'agent envoie:

    {
      "eventType": "READ",
      "messageId": "msg000999888777a"
    }