API: conexión y consulta de datos
Prepara tu integración con AffiliateCore: tokens, permisos, consultas, paginación, registros de conversiones y errores.
La API v1 se lanzó el 10 de octubre de 2026. Consulta datos de tu propia función y proyecto. Un titular autorizado crea el token en el panel; el enlace a la guía no concede permisos.
Datos disponibles
La API permite leer datos propios. Los webmasters consultan el catálogo disponible y sus campañas y conversiones. Los anunciantes consultan su proyecto, ofertas, campañas y conversiones. La analítica cuenta registros de conversiones por día y estado, no visitantes, clics brutos, ingresos ni saldos. Esta versión no crea ofertas, activa campañas, recarga saldos ni solicita retiros.
Cómo conectarse
- Inicia sesión con la función adecuada, verifica el correo y completa los requisitos de la cuenta.
- Abre Cuenta y configuración → Acceso API. El anunciante debe ser propietario del proyecto seleccionado; ser gestor o responsable financiero no basta.
- Nombra la integración, elige los permisos mínimos y confirma tu contraseña actual. Para un resumen del webmaster basta
publisher:analytics:read. - Guarda inmediatamente el token en almacenamiento seguro: no se mostrará otra vez. Dura 30 días, con máximo cinco activos por usuario/contexto. Otra función o proyecto requiere otro token.
- Envíalo solo por HTTPS en
Authorization: Bearer, nunca en URL, JavaScript público, mensajes o registros. Con MFA activo no se emiten tokens en esta versión; consulta soporte sin desactivar la protección.
Solicitud y respuesta
El ejemplo didáctico es para un webmaster. YOUR_TOKEN es un marcador. El anunciante utiliza el ID numérico de su proyecto, no el slug. Los permisos son independientes: la analítica no permite exportar conversiones individuales.
GET /api/v1/publisher/analytics?from=2026-10-01&to=2026-10-07
Host: affiliate-core.com
Authorization: Bearer YOUR_TOKEN
Accept: application/json
| GET | Scope |
|---|---|
/api/v1/publisher/offers |
publisher:offers:read |
/api/v1/publisher/campaigns |
publisher:campaigns:read |
/api/v1/publisher/conversions |
publisher:conversions:read |
/api/v1/publisher/analytics |
publisher:analytics:read |
/api/v1/advertiser/{id}/company |
advertiser:company:read |
/api/v1/advertiser/{id}/offers |
advertiser:offers:read |
/api/v1/advertiser/{id}/campaigns |
advertiser:campaigns:read |
/api/v1/advertiser/{id}/conversions |
advertiser:conversions:read |
/api/v1/advertiser/{id}/analytics |
advertiser:analytics:read |
Páginas y fechas
Las listas devuelven data y meta.next_cursor. per_page admite 1–100 y vale 25 por defecto. Envía el cursor recibido con los mismos filtros y tamaño hasta obtener next_cursor=null. No lo construyas ni descifres. Los detalles y la analítica están en data.
from y to usan YYYY-MM-DD en UTC, ambos días incluidos. Máximo 30 días naturales; por defecto los últimos 30. No se admiten fechas futuras. Se usa event_at. Del 1 al 7 de octubre son siete días; del 10 de septiembre al 9 de octubre, 30. Divide historiales mayores en ventanas.
Ofertas: status, payout_model; campañas: status, offer_id; conversiones: status, event_type, offer_id, campaign_id, from, to. La analítica acepta los cinco últimos, sin status. Los detalles y company no aceptan parámetros. Los desconocidos producen 422. Un cero correcto significa que no hay registros; 503 no equivale a cero conversiones.
Errores y mantenimiento
401: token/caducidad; 403: permisos/estado de cuenta; 404: objeto inexistente o inaccesible, o API desactivada; 405: método no admitido; 422: parámetros; 429: esperar Retry-After; 503: reintentar después con pausas crecientes. No repitas 401/403 indefinidamente.
Límite de 60 consultas por minuto y usuario entre todos sus tokens; analítica, además, 10 por minuto y usuario/contexto. Rota creando otro token, actualizando la integración y revocando el anterior. Cambiar la contraseña invalida los tokens existentes. Revoca de inmediato un token expuesto.
Empieza con un período corto y compara registros y estados con el panel para la misma ventana UTC. Registra aparte la última sincronización correcta y los errores. Facilita a soporte ruta sin credenciales, hora, código y descripción anonimizada.