GET /api/v2/events y recibe eventos como un flujo de Server-Sent Events (SSE). Puede controlar cuándo conectarse, cómo reanudar la conexión después de una desconexión y con qué rapidez consumir los eventos.
Este enfoque es útil cuando necesita:
- Procesar eventos a su propio ritmo sin tener que implementar un endpoint de webhook.
- Reproducir eventos desde un momento específico para completar datos históricos o recuperarse de errores.
- Integrarse con sistemas que prefieren el sondeo en lugar de la entrega push.
Cómo funciona la Events API
id que actúa como un offset. Si la conexión se interrumpe, su aplicación se vuelve a conectar y proporciona el último offset que recibió. Auth0 reanuda la entrega desde ese punto, por lo que no se pierde ningún evento.
El flujo de SSE incluye los siguientes tipos de mensajes:
Ejemplo de flujo SSE
Requisitos previos
-
Un inquilino de Auth0 con Events habilitado. La cantidad de conexiones de flujo de eventos disponibles depende de tu plan:
-
Un token de acceso de la Management API con el scope
read:events. Para obtener más información, consulta Management API Access Tokens.
Conéctese a la Events API
curl:
Parámetros de consulta
Reanudar después de una desconexión
- Encabezado
Last-Event-ID— el mecanismo estándar de reconexión de SSE. La mayoría de las bibliotecas cliente SSE establecen este encabezado automáticamente al volver a conectarse. - Parámetro de consulta
from— úselo cuando su cliente no admita el encabezadoLast-Event-ID.
Last-Event-ID tiene prioridad.
Guarda el valor más reciente de
id de cada mensaje (incluidos los mensajes offset-only) en almacenamiento persistente. Si tu aplicación se reinicia, usa el offset guardado para reanudar la entrega desde donde se interrumpió.Procesar tipos de mensajes
Eventos reales
event coincide con un tipo de evento conocido (por ejemplo, user.created) contienen la carga útil completa del evento en el campo data. Analiza el JSON y procesa el evento según tu lógica de negocio.
Mensajes solo de offset
offset-only a intervalos regulares (según la frecuencia de heartbeat) para avanzar su posición en el flujo. Estos mensajes no contienen una carga útil de evento. Actualice el offset almacenado cuando los reciba para que una reconexión futura no vuelva a reproducir eventos que ya haya superado.
Mensajes de error
event: error indica un error terminal, como un offset vencido o un problema del lado del servidor. Después de recibir este mensaje, el flujo se cierra. Su aplicación debe registrar el error y, a continuación, volver a conectarse con el offset adecuado o con un from_timestamp nuevo.
Latidos
: son comentarios de SSE que se usan como latidos. Mantienen la conexión activa a través de proxies y balanceadores de carga. No se requiere ningún procesamiento.
Rotación de conexiones del lado del servidor
eventsource) se reconectan automáticamente mediante el encabezado Last-Event-ID, por lo que su aplicación reanuda el procesamiento desde el offset correcto sin perder eventos.
Si crea un cliente SSE personalizado, asegúrese de que gestione las caídas de conexión correctamente; para ello, conserve el offset más reciente y vuelva a conectarse con él.
Implementar un consumidor
El paquete npm
eventsource implementa el protocolo SSE y gestiona la reconexión automáticamente mediante el encabezado Last-Event-ID. Si usa una biblioteca SSE diferente, verifique que admita la reconexión automática y el reenvío del offset.