Envoyer des événements

Votre agent envoie des événements d'état à l'appareil de l'utilisateur pour simuler des interactions humaines. Pour les utilisateurs, ces événements s'affichent sous forme de confirmations de lecture ou d'indicateurs de saisie, ce qui les rassure sur le fait que leurs messages sont en cours de traitement.

Pour connaître toutes les options de mise en forme et de valeur, consultez la documentation de référence sur phones.agentEvents.

Pour en savoir plus sur les événements de webhook que votre agent reçoit de la plate-forme RBM, consultez Recevoir des événements.

L'agent envoie un événement READ.

Pour les utilisateurs, cet événement apparaît comme une confirmation de lecture d'un message spécifique. Il permet à l'utilisateur de savoir que la plate-forme RBM a distribué son message et que l'agent le traite.

Les événements READ sont conservés et stockés pendant 30 jours. Si l'utilisateur a activé le RCS, mais qu'il est injoignable, l'événement est mis en file d'attente. Si le RCS n'est pas activé, la plate-forme RCS for Business renvoie une erreur NOT_FOUND (HTTP 404).

Le code suivant envoie un événement READ pour un message avec un messageId correspondant.

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'READ',
  'messageId': 'MESSAGE_ID'
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('@google/rcsbusinessmessaging');

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage('+12223334444', messageId);
Ce code est un extrait d'un exemple d'agent RBM.

Java

import com.google.rbm.RbmApiHelper;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage(messageId, "+12223334444");
Ce code est un extrait d'un exemple d'agent RBM.

Python

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that message_id was read
rbm_service.send_read_event('+12223334444', message_id)
Ce code est un extrait d'un exemple d'agent RBM.

C#

using RCSBusinessMessaging;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that messageId has been read
rbmApiHelper.SendReadMessage(messageId, "+12223334444");
Ce code est un extrait d'un exemple d'agent RBM.

L'agent envoie un événement IS_TYPING.

Pour les utilisateurs, cet événement apparaît sous la forme d'un indicateur de saisie et leur indique que votre agent rédige un message. L'indicateur de saisie expire après un court laps de temps (environ cinq secondes par défaut) ou lorsque l'appareil de l'utilisateur reçoit un nouveau message de votre agent. Votre agent peut envoyer plusieurs événements IS_TYPING pour réinitialiser le minuteur d'expiration de l'indicateur de saisie.

Les événements IS_TYPING sont éphémères et ne sont pas mis en file d'attente.

Le code suivant envoie un événement IS_TYPING.

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \
-d "{
  'eventType': 'IS_TYPING',
}"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('@google/rcsbusinessmessaging');

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage('+12223334444', function() {
    console.log('Typing event sent!');
});
Ce code est un extrait d'un exemple d'agent RBM.

Java

import com.google.rbm.RbmApiHelper;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper();

// Send the device an event to indicate that the agent is typing
rbmApiHelper.sendIsTypingMessage("+12223334444");
Ce code est un extrait d'un exemple d'agent RBM.

Python

# Reference to RBM Python client helper and messaging object structure
from rcs_business_messaging import rbm_service

# Send the device an event to indicate that the agent is typing
rbm_service.send_is_typing_event('+12223334444')
Ce code est un extrait d'un exemple d'agent RBM.

C#

using RCSBusinessMessaging;
…

// Create an instance of the RBM API helper
RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation,
                                                 projectId);

// Send the device an event to indicate that the agent is typing
rbmApiHelper.SendIsTypingMessage(messageId, "+12223334444");
Ce code est un extrait d'un exemple d'agent RBM.