El presupuesto
La ventana es fija. Empieza con la primera solicitud que hace la clave después de que terminó la ventana anterior, y se reinicia 60 segundos después. Cuenta toda solicitud que pasa la autenticación, sea cual sea su resultado: un
200, un 400, un 404 o un 429 usan una unidad cada uno. Las solicitudes siguen contando mientras estás por encima del límite, pero no alargan la ventana.
Las solicitudes rechazadas con 401 api_keys.invalid o 403 api_keys.scope_missing se descartan antes de revisar el presupuesto: no cuentan y no traen encabezados de límite.
Estos son los valores actuales. Lee el presupuesto en los encabezados de la respuesta en lugar de fijarlo en tu código, para que tu integración siga cualquier cambio.
Encabezados en cada respuesta
Toda respuesta a una solicitud autenticada informa el estado del presupuesto en dos familias de encabezados: los muy usadosX-RateLimit-* y los encabezados RateLimit del borrador de la IETF.
Cuando superas el límite: 429
La solicitud que supera el presupuesto se rechaza con 429 Too Many Requests, un encabezado Retry-After con los segundos que debes esperar, los mismos encabezados de límite y un documento de problema con el código common.too_many_requests.
Accept-Language: es
Retry-After.
Cómo esperar
- Espera lo que indica
Retry-Afteren cada429. Reintentar antes solo suma solicitudes rechazadas a la misma ventana. - Baja el ritmo antes de llegar al límite. Cuando
X-RateLimit-Remainingse acerque a0, esperaX-RateLimit-Resetsegundos antes de la siguiente ráfaga. - Usa páginas grandes. Recorre las listas paginadas con
limit=200(consulta Paginación). - Guarda en caché lo que casi no cambia. No necesitas leer sedes, bodegas y categorías en cada ejecución.
- Consulta las exportaciones con calma. Una consulta cada pocos segundos es suficiente mientras se genera una exportación (consulta Exportaciones).
- No ejecutes procesos superpuestos con la misma clave. Prográmalos uno después del otro.
- Usa una clave por integración. Cada clave tiene su propio presupuesto, así un proceso intenso no deja sin solicitudes a otro.