Tu agente envía eventos de estado al dispositivo del usuario para simular interacciones humanas. Para los usuarios, estos eventos se muestran como confirmaciones de lectura o indicadores de escritura, lo que les asegura que sus mensajes se están procesando.
Para ver todas las opciones de formato y valores, consulta la referencia de phones.agentEvents.
Para obtener detalles sobre los eventos de webhook que tu agente recibe de la plataforma de RBM, consulta Cómo recibir eventos.
El agente envía un evento READ
Para los usuarios, este evento aparece como una confirmación de lectura de un mensaje específico. Le permite al usuario saber que la plataforma de RBM entregó su mensaje y que el agente lo está procesando.
Los eventos de READ se conservan y almacenan durante 30 días. Si el usuario tiene habilitados los RCS, pero no se puede comunicar con él, el evento se pone en cola. Si no tienen habilitados los RCS, la plataforma de RCS for Business devuelve un error NOT_FOUND (HTTP 404).
El siguiente código envía un evento READ para un mensaje con un messageId coincidente.
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);
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");
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)
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");
El agente envía un evento IS_TYPING
Para los usuarios, este evento aparece como un indicador de escritura y les permite saber que tu agente está redactando un mensaje. El indicador de escritura vence después de un breve período (aproximadamente 20 segundos) o cuando el dispositivo del usuario recibe un mensaje nuevo de tu agente. Tu agente puede enviar varios eventos IS_TYPING para restablecer el temporizador de vencimiento del indicador de escritura.
Los eventos de IS_TYPING son efímeros y no se ponen en cola.
El siguiente código envía un evento 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!'); });
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");
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')
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");