Límites de tasa
Shape del 429, dónde viene el tiempo de espera y el patrón de backoff que también cubre los errores transitorios del SII.
La API de Notta protege su estabilidad con límites de tasa (rate limiting). Cuando superas el límite, la API responde 429 con el código rate_limit y el tiempo de espera en detail.retryAfterSec:
Cómo manejarlo
- Respeta
detail.retryAfterSec: espera esa cantidad de segundos antes de reintentar. - Para reintentos sucesivos usa backoff exponencial con jitter.
- El mismo patrón cubre los errores transitorios del SII:
sii_unavailable(503),boleta.rest.unavailableybhe.rest.unavailable(502) traen el mismodetail.retryAfterSec.
No reintentes los demás 4xx: un 400/422 va a fallar igual hasta que corrijas el payload (ver Catálogo de errores).
Estado actual
El contrato 429 / rate_limit / detail.retryAfterSec ya está mapeado y es estable, así que puedes programar tu manejo de reintentos contra él desde ahora. El enforcement de cuotas por plan se está habilitando.
Próximos pasos
- Catálogo de errores — el shape completo de error y qué códigos se reintentan.
- Paginación — cómo iterar listados sin gatillar el límite con requests gigantes.
- Referencia API de DTEs — los endpoints sujetos a estos límites.
Última actualización