La API de Eulerian utiliza un token Bearer que se pasa en el encabezado Authorization HTTP.
Authorization: Bearer <votre_token_api>
- Nunca incluyas el token directamente en el código fuente. Utiliza una variable de entorno o un almacén de secretos (Vault, AWS Secrets Manager, etc.).
- Restringir los tokens a los permisos estrictamente necesarios (principio de mínimo privilegio).
- No registre los encabezados de autorización en los archivos de registro de la aplicación.
Todas las solicitudes deben enviarse a través de HTTPS.
El dominio es específico de su cuenta euleriana (por ejemplo,
https://<votre_domaine_eulerian>/ea/v2/<endpoint>
dem.api.eulerian.com ).
Content-Type: application/json
Authorization: Bearer <token>
- Respete los límites de velocidad impuestos por Eulerian (consulte la documentación de su contrato).
- Implementar un mecanismo de retroceso exponencial en caso de una respuesta
429 Too Many Requests . - Evite la paralelización excesiva de las llamadas: prefiera las colas de procesamiento ordenadas.
- Para las solicitudes de creación de trabajos, utilice un identificador de negocio (
jobrun_id en el lado del cliente) para evitar duplicados en caso de reintento. - Comprueba si ya existe un trabajo similar antes de crear uno nuevo.
es el mecanismo principal para extraer grandes volúmenes de datos analíticos de la plataforma Euleriana. A diferencia de las consultas síncronas (limitadas a pequeños volúmenes), la generación de informes por lotes funciona :
Usted envía una solicitud de informe → Eulerian crea un y devuelve un jobrun_id .
Usted revisa periódicamente el estado del trabajo ( ).
Una vez que el trabajo esté terminado ( DONE ), descargue el archivo de resultados.
Extracción de datos durante más de 7 días
Volumen esperado > 10.000 líneas
Tratamientos programados / ETL nocturno
Paneles de control en tiempo real (< 1000 filas)
Pruebas/exploración ad hoc
[SUBMIT] → PENDING → RUNNING → DONE
Trabajo en cola, aún no procesado.
El procesamiento está en marcha por parte de Euleriano.
Informe listo para descargar.
Error durante el procesamiento (ver el campo error )
El archivo de resultados no se cargó a tiempo.
Los archivos generados por Eulerian están disponibles durante un tiempo limitado (normalmente de 24 a 72 horas). Descargue y archive los resultados tan pronto como el estado sea DONE .
Estrategia de sondeo recomendada
GET /ea/v2/report/batch/status.json?jobrun-id={jobrun_id}
Nunca realice sondeos excesivamente agresivos: esto consume innecesariamente su cuota de llamadas a la API.
Defina un tiempo de espera general (por ejemplo, 4 horas). Transcurrido este tiempo, considere que la tarea ha fallado y alerte al sistema.
- Almacene el
jobrun_id de forma persistente (en una base de datos o un archivo) para que el sondeo pueda reanudarse después de reiniciar la aplicación. - No inicie un nuevo trabajo si ya hay un trabajo idéntico en curso (
PENDING o RUNNING ).
TANT QUE timeout non atteint :
statut = GET /batch/status.json?jobrun-id{jobrun_id}
SI statut == DONE → télécharger résultat → FIN
SI statut == FAILED → logger erreur → FIN
SI statut == EXPIRED → relancer job → FIN
ATTENDRE intervalle_adaptatif()
7. Recuperación y procesamiento de resultados
SINON → alerter équipe ops
La respuesta contiene el archivo directamente para su reproducción en streaming o una URL de descarga temporal.
GET /ea/v2/report/batch/download.json?jobrun-id={jobrun_id}
- la descarga en streaming en lugar de cargar el archivo completo en la memoria (los archivos pueden alcanzar varios cientos de MB).
- Archive el archivo original antes de cualquier procesamiento (principio de idempotencia del procesamiento).
- Siempre especifique la codificación
UTF-8 al abrir el archivo. - Gestiona las filas de encabezado de forma dinámica (las columnas pueden cambiar).
- Verifique el número de columnas en cada fila antes de insertarla en la base de datos.
- Maneje explícitamente los valores nulos / cadenas vacías (no los confunda con
0 ).
Para archivos de más de 100 MB:
- Procesar línea por línea en modo de transmisión continua (nunca cargar todo en la RAM).
- Insertar datos en la base de datos en (inserción masiva).
- Implementar la recuperación de errores marcando la última línea procesada.
Registra la respuesta, corrige la configuración.
Verificar los derechos del token
El trabajo ha caducado o el ID es incorrecto.
Se ha alcanzado el límite de velocidad.
Retroceso exponencial (mínimo 60 s)
Error del servidor euleriano
Inténtelo de nuevo después de un breve lapso; póngase en contacto con el servicio de asistencia si el problema persiste.
Reintentar con retroceso, monitorear el estado euleriano
Tentative 2 : +5 secondes
Tentative 3 : +15 secondes
Tentative 4 : +60 secondes
Tentative 5 : +300 secondes
Nunca vuelvas a intentarlo si cometes errores.
Au-delà : alerter et abandonner
400 , 401 , 403 (errores del cliente: corrija el problema primero).
- Registra sistemáticamente: marca de tiempo, punto final llamado, código HTTP recibido,
job_id , duración de la solicitud. - Nunca registres el token de la API ni los datos personales del usuario final.
- Conserve los registros de errores durante al menos 30 días para facilitar la depuración.
- El token de la API se almacena en una variable de entorno (nunca se incluye directamente en el código).
- HTTPS forzado en todas las llamadas
- Los registros no contienen el token ni los datos personales.
- Reintentar con retroceso exponencial implementado
- Tiempo de espera global para el sondeo definido (recomendado: 4 horas)
-
jobrun_id se mantuvo para la recuperación después del fallo. - Comprobar el estado antes de reiniciar el mismo trabajo.
- Rangos de fechas divididos en ventanas de ≤ 90 días
- La selección de columnas se limita al mínimo indispensable.
- Descarga en streaming (sin carga completa de memoria)
- Inserción en la base de datos por lotes (inserción masiva)
- Alertas sobre trabajos que
FAILED o KILLED - Alertas de error para
401 / 403 (token caducado) - Panel de control para el seguimiento del tiempo de procesamiento de trabajos
- Archivar archivos sin procesar antes de su procesamiento.
- Pruebas con intervalos de tiempo cortos antes de entrar en producción.
- Validación del formato CSV de salida (número de columnas, codificación)
- Comportamiento de prueba en caso de un
429 (limitación de velocidad) - Prueba de reanudación tras interrupción durante el sondeo.