T-Suite envía actualizaciones en vivo — nuevas notificaciones, decisiones de whitelist de wallets, aprobaciones de KYC y KYB y similares — a los usuarios con sesión iniciada mediante un stream Server-Sent Events (SSE). Esta página explica cómo se abre y se mantiene el stream, y qué existe hoy en materia de webhooks.
text/event-stream de larga duración de la API del marketplace, una por cada pestaña abierta del navegador.El EventSource del navegador no puede enviar una cabecera Authorization, y poner un token de acceso en una URL lo filtraría a logs y trazas. Por eso el stream se abre con un ticket de un solo uso:
POST autenticado a /auth/notifications/stream-ticket (bajo la ruta base /marketplace/v1) con el token de acceso del usuario en la cabecera Authorization.ticket y su vida útil en segundos.Los tickets son:
Se abre un EventSource sobre /auth/notifications/stream, pasando el ticket como parámetro de consulta ticket. El token de acceso nunca aparece en la URL.
Si todo va bien, el servidor envía:
| Trama | Significado |
|---|---|
Evento hello | Se envía una vez al abrirse el stream — la conexión está activa |
| Eventos con nombre | Uno por actualización — por ejemplo notification, además de eventos para solicitudes y decisiones de whitelist de wallets, aprobaciones de whitelist de inversionistas, aprobaciones de KYC y KYB, y ofertas recién creadas. Cada uno lleva un contenido JSON |
| Comentario de heartbeat | Se envía aproximadamente cada 25 segundos para que los proxies no cierren una conexión inactiva. Los clientes lo ignoran |
El conjunto de nombres de eventos puede crecer a medida que los productos añaden actualizaciones en vivo. Los nombres desconocidos deben gestionarse con tolerancia — refrescar las notificaciones es una opción segura por defecto.
Como cada ticket funciona una sola vez, es el cliente — y no la reconexión automática integrada de EventSource — quien debe encargarse de reconectar:
EventSource.401 o 403, la sesión ya no es válida. Hay que detenerse. Solo se reconecta cuando el usuario vuelva a iniciar sesión.5xx), se reintenta.Mientras el stream esté caído, se recurre a consultar periódicamente la API de notificaciones, y esas consultas se vuelven a espaciar cuando el stream esté sano.
Estado: Próximamente
Si una integración necesita entrega de eventos del lado del servidor, debe plantearse a Libertum al definir el alcance de la integración.