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:
| Endpoint | Rate Limit | Description |
|---|---|---|
| POST /fuel/consumed | 10 requests por minuto | Recupera estimación de fuel used para múltiples vehículos. |
| POST /fuel/level | 10 requests por minuto | Recupera datos de sensor fuel consumed para múltiples vehículos. |
| POST /vehicles/ev-consumption | 10 requests por minuto | Recupera consumo de batería para múltiples vehículos eléctricos. |
| POST /vehicles/range | 10 requests por minuto | Recupera eventos reportados de autonomía EV para múltiples vehículos eléctricos. |
| POST /vehicles/soc | 10 requests por minuto | Recupera eventos de estado de carga (SoC) para múltiples vehículos eléctricos. |
| GET /vehicles/vext | 10 requests por minuto | Recupera 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-AtyX-RateLimit-Retry-After-Secondspara 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.