En este documento, se explica cómo la plataforma de RCS para empresas controla el envío de mensajes y otras interacciones de la API, y se distinguen las operaciones síncronas de las asíncronas.
En general, las interacciones de la API de RBM siguen un patrón de solicitud-respuesta síncrono 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
Desde la perspectiva de la API, la solicitud a la API de phones.agentMessages.create
se procesa de forma síncrona. Cuando realizas una solicitud HTTP a la plataforma de RCS para empresas, 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 la batería esté agotada o que no tenga habilitado el RCS.
- Condiciones de la red: Los problemas de la red del operador pueden retrasar o impedir la entrega de mensajes.
La plataforma de RCS for Business proporciona actualizaciones del estado de entrega de los 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 confiar en los eventos asíncronos de webhook 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 de solicitud-respuesta síncrono. Estas APIs proporcionan una respuesta HTTP inmediata que indica el estado de la solicitud (correcta o con errores). Sin embargo, si bien la solicitud es síncrona, las acciones resultantes de la solicitud pueden involucrar 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. Es posible que haya una pequeña demora en la propagación.
Extremo de webhook: Eventos asíncronos
Los siguientes eventos se entregan de forma asíncrona a tu extremo de webhook:
- Mensajes entrantes del usuario: La plataforma de RCS for Business envía los mensajes entrantes del usuario a tu endpoint de webhook. Asegúrate de verificar los mensajes entrantes.
- Confirmaciones de entrega y lectura: Las notificaciones de entrega y estado de lectura de los mensajes 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 revocación y vencimiento de mensajes: La plataforma de RCS para empresas envía eventos para confirmar si se revocó correctamente un mensaje vencido.