GET /api/v1/advertisersGET /api/v1/campaignsPOST /t
01 / Empezar
Autenticación
Cree una clave de API bajo las teclas de API en el portal. Seleccione sólo los permisos que necesita su integración. La clave se muestra una vez y pertenece a la cuenta donde fue creada.
Mantenga la llave en su servidor. Envíelo en el encabezado de Autorización sobre HTTPS, nunca en un enlace o JavaScript público. Los ejemplos leen la variable entorno ADTRADE_API_KEY.
Ejemplos utilizan este entorno. Utilice claves, códigos de canal y códigos de publicidad del mismo entorno. Todos los valores de ejemplo son ficticios; enviar una compra puede crear una transacción real.
Esta referencia abarca las integraciones externas. El portal interno API utiliza un registro independiente. Un permiso enumerado en la gestión clave no necesariamente tiene un punto final externo correspondiente.
No hay puntos finales que coincidan con su selección.
GET/api/v1/advertisersPublisher & anunciante
Fetch anunciantes
Lea los perfiles y mercados del anunciante. Los afiliados pueden recuperar enlaces para su propio canal con una asociación aprobada.
Permiso advertisers:read
Parámetros
En la cadena de consulta URL
Parámetro/tipo
Descripción
pageintegerOpcional / condicional
Página 1–1,000,000. Default: 1.
per_pageintegerOpcional / condicional
1–100 hileras. Predeterminado: 50. Solicitar páginas posteriores hasta que se hayan leído todas las filas totales.
marketstringOpcional / condicional
Código de mercado de dos letras, como SE. Especifique el mercado de las asociaciones que abarcan múltiples mercados.
searchstringOpcional / condicional
Buscar nombres de anunciantes. Máximo 100 caracteres.
channel_codestringOpcional / condicional
Código público de su canal. Devuelve enlaces por mercado cuando la asociación permite el seguimiento.
La respuesta contiene hileras, total, página y per_page. Check status and approval_status; la lista puede incluir anunciantes inactivos o no aprobados. channel_code requiere una clave de afiliado y un canal de propiedad. Utilice el código público, no el canal_id interno.
Use tracking_url cuando tracking_available es cierto en enlaces. De lo contrario, url puede ser una dirección de tienda ordinaria sin atribución. Cada mercado tiene su propio vínculo. Un solo mercado también puede poblar tracking_url en la fila del anunciante.
GET/api/v1/campaignsPublisher & anunciante
Campañas de captura
Recuperar las ofertas actuales y los códigos de descuento, con enlaces de seguimiento para los canales de afiliado elegibles.
Permiso campaigns:read
Parámetros
En la cadena de consulta URL
Parámetro/tipo
Descripción
pageintegerOpcional / condicional
Página 1–1,000,000. Default: 1.
per_pageintegerOpcional / condicional
1–100 hileras. Predeterminado: 50. Solicitar páginas posteriores hasta que se hayan leído todas las filas totales.
marketstringOpcional / condicional
Código de mercado de dos letras, como SE. Especifique el mercado de las asociaciones que abarcan múltiples mercados.
Sólo se muestran campañas activas dentro de su período de validez; las fechas siguen el tiempo sueco. Las campañas exclusivas dependen del acceso a la cuenta. Las respuestas del afiliado incluyen tracking_links, que pueden estar vacías. Las respuestas de los anunciantes no incluyen este campo. Reutiliza los enlaces devueltos y sus parámetros de campaña.
POST/tAnunciante
Registro de compras y eventos
Envíe un evento desde el servidor del anunciante usando una clave del anunciante. La clave debe pertenecer al anunciante especificado en la solicitud.
Permiso transactions:write
Parámetros
Cuerpo de la solicitud JSON
Parámetro/tipo
Descripción
eventstringNecesario
Nombre del evento del programa, como Purchase. Máximo 100 caracteres.
advertiserCodestringNecesario
Código publicitario (3-8 dígitos para eventos), no el ID de base de datos interno.
channelCodestringNecesario
Código de canal público (6-8 dígitos para eventos), no el ID de base de datos interno.
orderReferencestringOpcional / condicional
Necesario para Purchase. Una referencia de orden estable y única por anunciante, máximo 150 caracteres. Reutilizar en las retries.
amountstringOpcional / condicional
Necesario para Purchase. Cadena decimal no negativa con un punto y en la mayoría de dos lugares decimales, como 200.00. Siga las reglas del valor de orden del programa.
currencystringOpcional / condicional
Necesario para Purchase. Tres cartas, como SEK. Debe coincidir con la regla de la comisión.
marketstringOpcional / condicional
Código de mercado de dos letras, como SE. Especifique el mercado de las asociaciones que abarcan múltiples mercados.
clickIdstringOpcional / condicional
clickId desde la URL de aterrizaje, máximo 100 caracteres. Debe pertenecer al mismo canal y anunciante.
clickRefstringOpcional / condicional
Referencia de clic personalizado opcional, máximo 255 caracteres. No envíe datos personales.
occurredAtintegerOpcional / condicional
Unix timestamp en segundos. Default: tiempo de recepción. Al menos 7 días en el pasado o 5 minutos en el futuro.
voucherstringOpcional / condicional
Código de descuento opcional, máximo 2.000 caracteres.
Purchase requiere orderReference, cantidad y moneda. Las reglas de canal, mercado, programa, atribución y comisión determinan si se crea una transacción. Otros nombres de eventos deben coincidir con la configuración del programa. clickId es opcional en el protocolo; enviar el valor de la URL de aterrizaje para vincular la compra a un clic registrado.
200 significa que el procesamiento ha terminado; comprueba recognized, conversion y duplicate. 202 solo confirma la recepción en una cola duradera. receiptId es un identificador de recibo, no un identificador de transacción ni una promesa de comisión. No existe un endpoint público de consulta para este identificador; revisa los registros de eventos y transacciones del portal.
Después de un resultado de red incierto o 503, reingrese con los mismos datos de compra y orderReference. La misma referencia de pedido para un anunciante protege contra las transacciones financieras duplicadas, pero se pueden registrar registros adicionales de eventos. Trate 202 como se ha recibido; no reenviar sólo porque la transacción todavía no es visible.
POST/api/v1/tracking/voucher-purchaseAnunciante
Compra de comprobante exclusivo
Información de servidor opcional para compras sin atribución de clics. La clave de API identifica al anunciante; una campaña exclusiva activada explícitamente determina el canal y el programa.
Permiso transactions:write
Parámetros
Cuerpo de la solicitud JSON
Parámetro/tipo
Descripción
voucherstringNecesario
Código de descuento opcional, máximo 2.000 caracteres.
orderReferencestringNecesario
Necesario para Purchase. Una referencia de orden estable y única por anunciante, máximo 150 caracteres. Reutilizar en las retries.
amountstringNecesario
Necesario para Purchase. Cadena decimal no negativa con un punto y en la mayoría de dos lugares decimales, como 200.00. Siga las reglas del valor de orden del programa.
currencystringNecesario
Necesario para Purchase. Tres cartas, como SEK. Debe coincidir con la regla de la comisión.
marketstringNecesario
Código de mercado de dos letras, como SE. Especifique el mercado de las asociaciones que abarcan múltiples mercados.
occurredAtintegerOpcional / condicional
Unix timestamp en segundos. Default: tiempo de recepción. Al menos 7 días en el pasado o 5 minutos en el futuro.
Desactivado por defecto; devuelve 404 hasta que se active. El código debe coincidir exactamente, ser inequívoco y ser válido para el mercado y la fecha de compra. Nunca envíes clickId ni channelCode aquí: las compras con clic siguen usando /t. Reutiliza exactamente el mismo orderReference en los reintentos y entre integraciones; los pedidos existentes nunca se reasignan. Este endpoint procesa la compra directamente en PostgreSQL y devuelve 200 tras procesarla, incluso en modo Kafka. Comprueba conversion, conversionBlocked y duplicate.
Después de un resultado de red incierto o 503, reingrese con los mismos datos de compra y orderReference. La misma referencia de pedido para un anunciante protege contra las transacciones financieras duplicadas, pero se pueden registrar registros adicionales de eventos. Trate 202 como se ha recibido; no reenviar sólo porque la transacción todavía no es visible.
GET/tAfiliado
Enlace de seguimiento " redirect
Enviar visitantes al anunciante a través de Adtrade. Preferir el tracking_url devuelto por la API o portal.
No API key · enlace de seguimiento público
Parámetros
En la cadena de consulta URL
Parámetro/tipo
Descripción
astringNecesario
Código publicitario (3-8 dígitos para eventos), no el ID de base de datos interno.
cstringNecesario
Código de canal público (6-8 dígitos para eventos), no el ID de base de datos interno.
mstringOpcional / condicional
Código de mercado de dos letras, como SE. Especifique el mercado de las asociaciones que abarcan múltiples mercados.
rstringOpcional / condicional
Referencia de clic personalizado opcional, máximo 255 caracteres. No envíe datos personales.
HTTP/1.1 302 Found
Location: https://shop.example.com/?advertiserCode=100&channelCode=1234567&market=SE&clickId=...
Abierta por el navegador del visitante sin una clave de API. Una asociación válida normalmente devuelve 302 a la página de aterrizaje del anunciante con clickId y la información de seguimiento. Un enlace inválido puede mostrar una página de retroceso en su lugar. Una visita no es una compra y no garantiza comisión. Siga los términos del programa y los ajustes de consentimiento.
HTTP / JSON
Respuestas " errores
Las respuestas de JSON se devuelven directamente sin un sobre de datos. Treat equivale a cadenas decimales. Lea los campos de respuesta; un estado de HTTP exitoso no siempre significa que se creó la comisión.
200
Procesado. Para compras, también compruebe la conversión y duplicar.
202
Recibido en una cola. La validación de negocios está pendiente.
302
Visitante redireccionado al anunciante.
400
Parámetro inválido o JSON.
401
Desaparecido, inválido o caducado clave de API.
403
Permiso insuficiente, tipo de cuenta incorrecta o cuenta no disponible.
404
Recursos no encontrados dentro del acceso de la cuenta.
413
Solicitar cuerpo demasiado grande. /t permite a la mayoría de 64 KiB.
422
Las reglas de negocio evitan el procesamiento.
429
Demasiadas solicitudes. Sigue a Retry-After.
503
Temporalmente indisponible o la cola no confirmada.
429 · JSON
HTTP/1.1 429 Too Many Requests
Retry-After: 5
Content-Type: application/json
{
"error": "rate_limit_exceeded",
"retry_after": 5
}
Los límites se aplican a las claves de API y direcciones IP y pueden ser ajustados por las operaciones. En 429 o 503, siga Retry-Después de estar presente, utilice retrasos crecientes y evite retries paralelos. Mantenga la misma referencia en el pedido al reenviar una compra.