Límite de consumo de la API

Nuestra API implementa un sistema de limitación de consumo que se basa en la dirección IP y es independiente para cada empresa, compañía o integración. A continuación, se detallan los aspectos clave de este sistema:

Concepto de límite de consumo

Cada solicitud enviada a nuestra API debe esperar una respuesta antes de enviar otra solicitud. Este enfoque es ideal por varias razones:

  • Rendimiento optimizado: El tiempo de respuesta de cada solicitud es de aproximadamente 200ms (en la práctica nuestros servidores se demoran 30ms en entregar una respuesta, pero el viaje de los servidores desde EEUU a Chile (ping) hace que la respuesta se demore más, pero si tus servidores se encuentran en EEUU la respuesta la tendrás en 30ms). Enviar solicitudes de manera secuencial garantiza que el sistema pueda procesarlas de manera eficiente.
  • Límites: 20 request por segundo, 350 request por minuto.
  • Evitar errores: Enviar múltiples solicitudes en paralelo puede causar congestión y afectar negativamente el tiempo de respuesta.

Throttling y manejo de solicitudes excesivas

En situaciones donde se envían solicitudes paralelas de manera indiscriminada, Duemint implementa un mecanismo de throttling para evitar el agotamiento de la API. Si se excede el límite de solicitudes permitidas por una integración en un período de tiempo determinado, se aplicará un tiempo de espera o bloqueo temporal antes de permitir nuevas solicitudes.

Código de error HTTP 429 - Too many requests

Cuando se sobrepasa el límite de solicitudes, la API responde con un código de error HTTP 429 - Too many requests. Esto indica que se ha excedido el número máximo de solicitudes permitidas en una ventana de tiempo específica.

Manejo del código de error 429

Si tu integración recibe un código de error 429, debes esperar el tiempo especificado en segudos en el encabezado de la respuesta antes de reintentar. La respuesta incluirá un encabezado como el siguiente:

Retry-After: 2

Efectos de las solicitudes paralelas

Enviar múltiples solicitudes en paralelo no solo es una mala práctica, sino que también puede afectar negativamente el tiempo de respuesta. Puede que la primera solicitud enviada se responda después de que se hayan procesado todas las solicitudes paralelas, lo que puede resultar en demoras significativas.


Buenas prácticas


Para optimizar el uso de nuestra API y evitar restricciones, sigue estas recomendaciones:

  • Envía solicitudes secuencialmente, intentando esperar la respuesta antes de enviar la siguiente.
  • Monitorea los tiempos de respuesta y ajusta el ritmo de envío de solicitudes en consecuencia.
  • Implementa un manejo adecuado de errores, reintentando solo después del tiempo especificado en el encabezado de la respuesta.

Al seguir estas prácticas, asegurarás un uso eficiente y fluido de nuestra API, evitando bloqueos y mejorando la eficiencia de tus integraciones.