R2 Connect API
Límites de uso
Cuántas solicitudes puedes hacer, cómo saber cuántas te quedan y qué hacer si te pasas.
El límite es de 600 solicitudes por minuto por cada llave. Es un límite por llave, no compartido entre integraciones: el consumo de un sistema no afecta a otro, aunque trabajen en el mismo negocio.
Encabezados de cada respuesta#
| Encabezado | Significado |
|---|---|
X-RateLimit-Limit | Solicitudes permitidas por minuto. |
X-RateLimit-Remaining | Solicitudes que te quedan en la ventana actual. |
X-RateLimit-Reset | Momento en que la ventana se reinicia, en epoch (segundos). |
Retry-After | Solo en respuestas 429: segundos que debes esperar. |
X-Request-Id | Identificador único de la solicitud. Inclúyelo si reportas un problema. |
Cuando excedes el límite#
La respuesta es 429 con el código rate_limited. Espera los segundos que indica Retry-After y reintenta; no reintentes de inmediato ni en ciclo cerrado.
javascript
// Reintento que respeta Retry-After
async function pedir(url, opciones, intentos = 3) {
for (let i = 0; i < intentos; i++) {
const res = await fetch(url, opciones);
if (res.status !== 429) return res;
const espera = Number(res.headers.get("Retry-After") ?? 5);
await new Promise((r) => setTimeout(r, espera * 1000));
}
throw new Error("Límite de solicitudes excedido tras varios intentos");
}Cómo mantenerte holgado#
- Pide
limit=50en vez de muchas páginas chicas: son menos solicitudes para los mismos datos. - Sincroniza de forma incremental con
created_fromdesde tu última corrida, en lugar de releer todo el histórico. - Guarda en tu sistema lo que ya leíste; el catálogo y los clientes cambian poco.
- Programa las cargas grandes fuera del horario de operación del negocio.