Base URL https://api.afer.pro Referencia aferapp.com Reservar demo

Límites de uso

Quién puede usar la API, cuántas peticiones entran por minuto y al mes, y qué pasa cuando te pasas.

Quién tiene acceso

La API REST está en todos los planes. Cualquier cuenta con un plan vivo —Lite, Standard, Advanced o Premium— puede generar sus claves y empezar a integrar; lo que cambia entre planes es el ritmo, no el acceso.

La única excepción es el servidor MCP: conectar un asistente de IA a tu cuenta requiere el extra de IA contratado (Tier 1 o superior). Son las mismas claves; lo que cambia es quién puede usar esa puerta.

La comprobación de plan se hace en cada petición, no solo al generar la clave: si una cuenta se queda sin plan, sus claves dejan de funcionar en ese momento y la API responde 403. No hace falta revocar nada a mano.

403 · la cuenta no tiene plan con acceso
{
  "errorCode": 403,
  "errorMsg": "This account does not have an active plan with API access. Current plan: unknown.",
  "data": null
}

Cuánto puedes pedir

Hay dos ventanas: por minuto, que protege de las ráfagas, y llamadas al mes, que es la cuota del plan. La cuota mensual está dimensionada para el volumen de facturación que cubre cada plan, con margen para el trabajo de integración habitual: sincronizar contactos, leer el catálogo, sacar informes.

Plan Peticiones / minuto Llamadas / mes Claves activas
Lite601.0001
Standard12010.0002
Advanced18040.0005
Premium600150.00010

Los límites son por cuenta, no por clave: repartir el tráfico entre varias claves no da más cupo. Las claves activas son las que puedes tener a la vez; revocar una libera su hueco al momento, y rotar una clave no consume cupo porque no crea ninguna nueva.

Las llamadas del servidor MCP salen de la misma bolsa: un asistente conectado consume la cuota de la cuenta igual que tu integración.

El contador mensual se reinicia el día 1 (hora del servidor) y el de minuto, al empezar cada minuto de reloj. En tu cuenta los ves en Configuración → Integraciones → API de Afer.

Cabeceras de cada respuesta

No hace falta que esperes al error para saber cómo vas: todas las respuestas traen el estado del límite que esté más cerca de agotarse.

X-RateLimit-Limitcabecera Peticiones que permite la ventana que se está aplicando.
X-RateLimit-Remainingcabecera Las que te quedan en esa ventana. Nunca baja de 0.
X-RateLimit-Resetcabecera Momento en que la ventana se reinicia, en segundos Unix.
X-RateLimit-Windowcabecera Cuál de las dos manda ahora mismo: minute o month.
Retry-Aftersolo en 429 Segundos que hay que esperar antes de reintentar.

Cuando te pasas

La API responde 429 con el envelope de siempre y la cabecera Retry-After. La petición no se ejecuta: nada se crea ni se modifica, así que reintentar es seguro.

429 · ritmo excedido
{
  "errorCode": 429,
  "errorMsg": "Rate limit exceeded: 120 requests per minute on the standard plan. Retry after 23 seconds.",
  "data": null
}

Cómo no llegar al límite

  • Reintenta con espera creciente. Ante un 429, espera lo que diga Retry-After y dobla la espera en cada reintento. Machacar la API con reintentos inmediatos solo alarga el bloqueo.
  • Pide páginas grandes. Una llamada con por_pagina: 500 gasta lo mismo que una de 10 resultados. Bajar la paginación multiplica las peticiones sin traer más datos.
  • Usa los agregados. consultarResumen trae en una llamada lo que si no son ocho; los agrupar de ventas, compras y resultado evitan recorrer documento a documento.
  • Cachea los catálogos. métodos de pago, series, estados, familias o funnels cambian muy de vez en cuando: cárgalos una vez y guárdalos.
  • Acota por fechas. Sincroniza solo lo que ha cambiado desde tu última pasada en lugar de releer el histórico entero.
Notas
  • Si necesitas más volumen del que da tu plan, habla con tu comercial antes de repartir el tráfico entre claves: el límite es por cuenta y no se salta así.
  • La cuota del mes se cuenta por mes natural, no por los últimos 30 días: el día 1 empieza de cero.
  • health también cuenta para el límite: no lo uses como ping cada pocos segundos.