Fundamentos

Rate limiting

Todas las llamadas están sujetas a un límite de solicitudes por minuto. El cupo se aplica por API Key y la ventana se reinicia cada minuto.

Cupos por defecto

RecursoSolicitudes por minuto
Endpoints generales (CRUD, catálogos)60
Emisión de comprobantes (POST /documents con emit: true)30
Descarga de archivos (GET /documents/{id}/download)30

Cómo leer el cupo en cada respuesta

Cada respuesta incluye estos headers:

http
HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
Content-Type: application/json

Qué hacer al recibir 429

  1. Detén las solicitudes durante los segundos indicados por Retry-After.
  2. Reintenta una sola vez. Si vuelves a recibir 429, aplica backoff exponencial.
  3. Si una llamada lenta o un job de fondo está consumiendo todo tu cupo, encolala y limita la concurrencia.

Buenas prácticas para no chocar contra el límite

  • Cachea en tu lado los catálogos (cambian con muy baja frecuencia).
  • Evita el polling agresivo. Para conocer el estado de un documento, espera la respuesta de la emisión o usa { "verify": true } con cadencia razonable.
  • Concentra escrituras en una sola llamada cuando sea posible (por ejemplo, enviar el documento ya con emit: true evita una segunda llamada para emitir el borrador).
  • Distribuye la carga a lo largo del día si tu proceso es batch nocturno.