VerifikaDocs
Guías

Límites de uso

Cuántas peticiones por minuto, qué devuelve un 429 y cómo reintentar bien.

El límite se cuenta por llave, no por IP: si tu servidor comparte salida con otros —cualquier nube lo hace— nadie te gasta tu cuota.

PlanPeticiones por minuto
Crecimiento120
Multi300

Toda respuesta trae el estado actual:

RateLimit-Limit: 120
RateLimit-Remaining: 117
RateLimit-Reset: 43

Cuando te pasas

HTTP/1.1 429 Too Many Requests
Retry-After: 43
{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Demasiadas peticiones. Espera unos segundos y reintenta.",
    "requestId": "req_914fc7cb6c4d4192b6616aace5c10c62"
  }
}

Respeta Retry-After. Reintentar de inmediato solo consume tu propia cuota.

async function conReintentos(fn, maxIntentos = 4) {
  for (let i = 1; i <= maxIntentos; i++) {
    const res = await fn();
    if (res.status !== 429) return res;

    const espera = Number(res.headers.get('Retry-After') ?? 2 ** i);
    // Un poco de aleatoriedad para que N procesos no reintenten todos a la vez.
    await new Promise((r) => setTimeout(r, (espera + Math.random()) * 1000));
  }
  throw new Error('Verifika: límite de peticiones excedido tras varios reintentos');
}

Cómo no llegar al límite

  • Pide páginas de 100, no de 10. Diez veces menos peticiones por el mismo dato.
  • Filtra por fecha en lugar de traer todo y descartar en tu lado.
  • No hagas polling cada segundo. Para enterarte de un pago en el momento, lo que corresponde son los webhooks — están en camino.
  • Cachea lo que casi no cambia, como /v1/plan o la lista de sucursales.

En esta página