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

Autenticación

Claves API: cómo generarlas, cómo enviarlas y cómo rotarlas sin cortar el servicio.

La API se autentica con claves API: un par formado por un token (identificador público, afer_tk_…) y una secret (contraseña, afer_sk_…). La clave identifica tu cuenta de Afer: no hace falta enviar ningún identificador de cuenta en el cuerpo de las peticiones.

X-API-KEYcabecera Token de la clave (afer_tk_…). Identifica la clave; puedes verlo en cualquier momento desde Afer.
X-API-SECRETcabecera Secret de la clave (afer_sk_…). Solo se muestra al generar o rotar la clave: guárdala en un lugar seguro en ese momento.

Obtener y gestionar tus claves

La API es una función de pago: las claves están disponibles en los planes Advanced y Premium con el extra de IA contratado (Tier 1 o superior), y cada plan trae su cupo de claves activas y su ritmo de peticiones — la tabla completa está en Límites de uso.

Las claves se generan desde Afer, en la ficha de tu organización: Configuración → Integraciones → API de Afer. Desde ahí puedes:

  • Generar tantas claves como necesites (por ejemplo, una por aplicación que integre contigo).
  • Rotar la secret de una clave: el token se mantiene y la secret anterior deja de funcionar en el momento.
  • Revocar una clave de forma definitiva.

Para rotar credenciales sin corte de servicio, genera una clave nueva, actualiza tu integración y revoca la antigua cuando ya no reciba tráfico (la columna Último uso te lo confirma).

Seguridad

Trata la secret como una contraseña: guárdala en el servidor (variables de entorno o un gestor de secretos) y no la expongas nunca en código que se ejecute en el navegador. Las llamadas desde dominios web requieren además que Afer autorice tu dominio (CORS). Si una secret se ve comprometida, rótala desde Afer.

Prueba de conexión

El endpoint /health responde sin necesidad de datos y sirve para verificar conectividad y credenciales:

POST https://api.afer.pro/health
{
  "errorCode": 200,
  "errorMsg": "",
  "data": { "status": "ok" }
}