En este documento, se aclara cómo la plataforma de RBM controla el envío de mensajes y otras interacciones con la API, y se distingue entre operaciones síncronas y asíncronas.
Por lo general, las interacciones con la API de RBM siguen un patrón síncrono de solicitud-respuesta a nivel de HTTP. Sin embargo, los resultados de muchas llamadas a la API, en especial la entrega de mensajes, se controlan de forma asíncrona a través de webhooks. Consulta las siguientes secciones para obtener más detalles.
Envío de mensajes: Solicitud síncrona, entrega asíncrona
La solicitud a la API de phones.agentMessages.create
se procesa de forma síncrona desde la perspectiva de la API. Cuando realizas una solicitud HTTP a la plataforma de RBM, el servidor responde casi de inmediato con un código de estado HTTP estándar (como 200 OK
o un error) para indicar si se recibió la solicitud y si es válida.
Sin embargo, la entrega real del mensaje al usuario final se procesa de forma asíncrona. Los siguientes factores pueden afectar este proceso:
- Estado del destinatario: Es posible que el usuario no tenga conexión, que tenga la batería descargada o que no tenga habilitados los RCS.
- Condiciones de la red: Los problemas de la red del operador pueden retrasar o impedir la entrega de mensajes.
La plataforma de RBM proporciona actualizaciones de estado de entrega de mensajes (como confirmaciones de entrega y confirmaciones de lectura) de forma asíncrona a través de webhooks.
Por lo tanto, si bien la solicitud inicial a la API es síncrona, debes usar
eventos
de webhook asíncronos para hacer un seguimiento de la entrega de mensajes. No esperes una confirmación inmediata del estado de entrega en la respuesta de phones.agentMessages.create
.
Otras interacciones con la API de RBM
La mayoría de las otras APIs de RBM basadas en HTTP también operan con un modelo síncrono de solicitud-respuesta. Estas APIs proporcionan una respuesta HTTP inmediata que indica el estado de la solicitud (éxito o error). Sin embargo, si bien la solicitud es síncrona, las acciones que resultan de ella pueden implicar procesos asíncronos. Por ejemplo, una respuesta correcta a una llamada a la API para actualizar la información del agente no significa que la actualización se refleje de inmediato en todas partes; puede haber una demora de propagación breve.
Extremo del webhook: Eventos asíncronos
Los siguientes eventos se entregan de forma asíncrona a tu extremo de webhook:
- Mensajes entrantes de los usuarios: La plataforma de RBM envía los mensajes entrantes de los usuarios a tu extremo de webhook. Asegúrate de verificar los mensajes entrantes.
- Confirmaciones de entrega y lectura: Las notificaciones de entrega de mensajes y el estado de lectura se envían a través de webhooks.
- Eventos de conversación: Algunos eventos relacionados con la conversación, como los indicadores de escritura, se envían a través de webhooks.
- Eventos de vencimiento y revocación de mensajes: La plataforma de RBM envía eventos para confirmar si se revocó correctamente un mensaje vencido.