Skip to main content
Veripay aplica dos capas de control respaldadas por Redis:
CapaAlcanceDefault plan StartupHeader al exceder
Rate limitPor API key (por minuto)60 req/min429 RATE_LIMITED
Cuota mensualPor usuario (todas sus keys)1,000 req/mes402 QUOTA_EXCEEDED

Cómo funciona

1

Per-minute (rate limit)

Bucket por api_key.id que se incrementa con INCR y expira a los 60s. Cuando excedes per_minute, devolvemos 429 con details.remaining = 0.
2

Mensual (cuota)

Bucket por user_id con clave quota:{user}:{YYYY-MM} que expira al fin de mes. Al exceder monthly_quota devolvemos 402 para que tu cliente sepa que necesita upgrade, no que reintente.

Respuesta de rate limit

{
  "error": "RATE_LIMITED",
  "message": "Rate limit excedido",
  "details": { "remaining": 0 }
}
{
  "error": "QUOTA_EXCEEDED",
  "message": "Cuota mensual excedida",
  "details": { "remaining": 0 }
}

Recomendaciones de cliente

Backoff con jitter

Para 429, espera 200–800ms aleatorio y reintenta. Nunca reintentes un 402.

Cache lecturas

El CEP de una transferencia es inmutable. Cachéalo después de la primera descarga; no vuelvas a pegarle al gateway.

Batch nocturno

Si conciliarás miles de movimientos, distribúyelos en una ventana larga en vez de ráfagas.

Plan Enterprise

Sin límite de cuota y per_minute configurable. Contáctanos en soporte@datagora.mx.
Si ves muchos 429 aislados, no necesariamente necesitas más cuota: probablemente estás haciendo concurrencia descontrolada. Limita a ≤ per_minute / 60 peticiones simultáneas.