Saltar al contenido principal

Rate Limiting

La Cartrack Fleet API aplica rate limiting a todas las solicitudes API entrantes para proteger recursos de red, mantener el rendimiento del sistema y garantizar una experiencia consistente para todos los usuarios.

Límite por defecto

La API tiene un límite por defecto de 1,000 requests por minuto. Este límite aplica a la mayoría de endpoints API, salvo indicación contraria. Cualquier request que exceda este límite recibirá una respuesta HTTP 429 Too Many Requests.

Límites específicos por endpoint API

Algunos endpoints API tienen límites más estrictos para garantizar equidad y prevenir abuso. A continuación se muestran los límites específicos para esos endpoints:

EndpointRate LimitDescription
POST /fuel/consumed10 requests por minutoRecupera estimación de fuel used para múltiples vehículos.
POST /fuel/level10 requests por minutoRecupera datos de sensor fuel consumed para múltiples vehículos.
POST /vehicles/ev-consumption10 requests por minutoRecupera consumo de batería para múltiples vehículos eléctricos.
POST /vehicles/range10 requests por minutoRecupera eventos reportados de autonomía EV para múltiples vehículos eléctricos.
POST /vehicles/soc10 requests por minutoRecupera eventos de estado de carga (SoC) para múltiples vehículos eléctricos.
GET /vehicles/vext10 requests por minutoRecupera datos VEXT de vehículos independientemente del estado de ignición.

Para límites específicos por endpoint, exceder el límite también resultará en una respuesta HTTP 429 Too Many Requests.

Comportamiento de reintento

Si recibes una respuesta HTTP 429 Too Many Requests, debes respetar los encabezados incluidos en la respuesta. Estos encabezados indican cuándo puedes reintentar:

  • X-RateLimit-Retry-At: Timestamp del próximo reintento más temprano.
  • X-RateLimit-Retry-After-Seconds: Número de segundos hasta el próximo reintento más temprano.

Ejemplo de respuesta

HTTP/1.1 429 Too Many Requests
Content-Type: application/json
X-RateLimit-Retry-At: 1737592000
X-RateLimit-Retry-After-Seconds: 15

{
"error": {
"code": 429,
"message": "Too many requests. Please wait before retrying."
}
}

Cómo manejar 429 Too Many Requests

  • Espera y reintenta: Respeta los encabezados X-RateLimit-Retry-At y X-RateLimit-Retry-After-Seconds para esperar el tiempo recomendado antes de reintentar.
  • Exponential Backoff: Implementa exponential backoff con jitter para evitar violaciones repetidas del límite.

Notas: Violaciones repetidas del rate limiting pueden resultar en restricciones temporales o permanentes de acceso.

Incrementar el límite

Si su aplicación requiere un límite mayor, puede enviar una solicitud de aumento de límite. Las solicitudes se evalúan caso por caso para asegurar compatibilidad con nuestra infraestructura. Los límites aprobados se personalizarán y se comunicarán en consecuencia.