Límites de requests

Algunos endpoints aplican diferentes políticas de límite de requests (rate limiting).

La API de Zipnova define cuatro niveles de límite a la cantidad de requests por minuto que acepta el servidor. Cada uno de ellos tiene un máximo de requests admitidos por minuto, y un tiempo específico en que el consumo es liberado en caso de superar el máximo permitido.

Nivel
Límite
Liberación
Impacta en

🔴 Alto

100 reqs/minuto

3 minutos

Creación de envíos

🟠 Medio

500 reqs/minuto

2 minutos

Cotización de envíos

🟡 Bajo

1000 reqs/minuto

1 minuto

Obtención de envíos y tracking

🟢 Nulo

Ninguno

Resto de los endpoints

Actualmente, los límites son aplicados por IP.

Monitorear el consumo de requests

Cuando hagas requests a un endpoint limitado, notarás que aparecen los siguientes headers en la respuesta:

  • X-RateLimit-Limit indica el límite de requests para el endpoint.

  • X-RateLimit-Remaining indica cuántos requests disponibles tienes actualmente.

Si consumieras todos los requests permitidos en el minuto, la API te devolverá un error HTTP con código 429: Too Many Requests.

Verás que aparecen otros headers adicionales en la respuesta:

  • Retry-After indica cuantos segundos faltan para que se resetee la disponibilidad de requests.

  • X-RateLimit-Reset es un timestamp UNIX de cuándo reseteará la disponibilidad de requests.

Recomendamos que utilices algún método para consumir el retry-after o utilizar backoff exponencial evitar errores en tu integración. Muchos clientes tienen la posibilidad de utilizar middlewares para gestionar esto automáticamente.

Por ejemplo, si utilizas PHP y el cliente Guzzle, podrías usar el paquete este paquete.

Última actualización