Saltar al contenido principal

Límite de Peticiones y Control de Concurrencia

Para salvaguardar la estabilidad de la base de datos de BaseGes y evitar sobrecargas accidentales por bucles infinitos de sincronización, la API implementa un limitador de frecuencia global.


Política Estándar​

  • Límite: 60 peticiones por minuto por cliente/IP.
  • Ventana: Ventana fija de 1 minuto (FixedWindowLimiter).
  • Cola de espera: Hasta 5 peticiones adicionales pueden quedar en cola brevemente antes de ser rechazadas.
  • Identificador de cliente: Se prioriza el valor de X-Api-Key; si no está presente, se utiliza la dirección IP de origen de la conexión.

Respuesta ante Exceso de Tráfico (429 Too Many Requests)​

Cuando un cliente supera el cupo permitido y la cola está llena, el servidor responderá de inmediato:

  • Código HTTP: 429 Too Many Requests
  • Cuerpo de respuesta:
{
"type": "https://tools.ietf.org/html/rfc6585#section-4",
"title": "Too Many Requests",
"status": 429,
"detail": "Ha superado el límite de peticiones por minuto permitidas."
}
Buenas Prácticas para Integradores
  1. Paginación adecuada: En lugar de solicitar páginas de tamaño 1000 en ráfaga, utilice pageSize=50 o 100 con un pequeño retardo (exponential backoff).
  2. Filtro incremental (updatedAfter): Para sincronizaciones periódicas, no descargue todo el catálogo o clientes; solicite únicamente los registros modificados desde la última sincronización.