GET /api/v1/advertisersGET /api/v1/campaignsPOST /t
01 / Commencer
Authentification
Créez une clé API sous les clés API dans le portail. Sélectionnez uniquement les permissions dont vous avez besoin pour l'intégration. La clé est affichée une fois et appartient au compte où elle a été créée.
Gardez la clé sur votre serveur. Envoyez-le dans l'en-tête Autorisation sur HTTPS, jamais dans un lien ou un JavaScript public. Les exemples lisent la variable d'environnement ADTRADE_API_KEY.
Des exemples utilisent cet environnement. Utilisez les clés, les codes de canaux et les codes annonceurs du même environnement. Toutes les valeurs d'exemple sont fictives; soumettre un achat peut créer une transaction réelle.
Cette référence couvre les intégrations externes. L'API du portail interne utilise une connexion séparée. Une autorisation répertoriée dans la gestion des clés n'a pas nécessairement un paramètre externe correspondant.
Aucun point d'arrêt ne correspond à votre sélection.
GET/api/v1/advertisersÉditeur et annonceur
Obtenez des annonceurs
Lisez les profils et les marchés des annonceurs. Les éditeurs peuvent récupérer des liens pour leur propre canal avec un partenariat approuvé.
Autorisation advertisers:read
Paramètres
Dans la chaîne de requêtes URL
Paramètre/type
Description
pageintegerFacultatif / conditionnel
Page 1–1 000 000. Par défaut : 1.
per_pageintegerFacultatif / conditionnel
1–100 rangées. Par défaut : 50. Demander les pages suivantes jusqu'à ce que toutes les lignes totales aient été lues.
marketstringFacultatif / conditionnel
Code du marché à deux lettres, tel que SE. Préciser le marché des partenariats couvrant plusieurs marchés.
searchstringFacultatif / conditionnel
Rechercher des noms d'annonceurs. Maximum 100 caractères.
channel_codestringFacultatif / conditionnel
Votre chaîne est un code public. Retourne les liens par marché lorsque le partenariat permet le suivi.
La réponse contient des lignes, le total, la page et par_page. Vérifier le statut et approbation_status; la liste peut inclure des annonceurs inactifs ou non approuvés. channel_code nécessite une clé d'éditeur et un canal propriétaire. Utilisez le code public, pas le canal_id interne.
Utilisez tracking_url lorsque tracking_available est vrai dans les liens. Autrement, l'url peut être une adresse de magasin ordinaire sans attribution. Chaque marché a son propre lien. Un marché unique peut également peupler tracking_url sur la ligne de l'annonceur.
GET/api/v1/campaignsÉditeur et annonceur
Campagnes de collecte
Récupérer les offres actuelles et les codes de rabais, avec des liens de suivi pour les canaux d'éditeurs admissibles.
Autorisation campaigns:read
Paramètres
Dans la chaîne de requêtes URL
Paramètre/type
Description
pageintegerFacultatif / conditionnel
Page 1–1 000 000. Par défaut : 1.
per_pageintegerFacultatif / conditionnel
1–100 rangées. Par défaut : 50. Demander les pages suivantes jusqu'à ce que toutes les lignes totales aient été lues.
marketstringFacultatif / conditionnel
Code du marché à deux lettres, tel que SE. Préciser le marché des partenariats couvrant plusieurs marchés.
Seules les campagnes actives pendant leur période de validité sont indiquées; les dates suivent l'heure suédoise. Les campagnes exclusives dépendent de l'accès au compte. Les réponses de l'éditeur incluent tracking_links, qui peut être vide. Les réponses de l'annonceur n'incluent pas ce champ. Réutiliser les liens retournés et leurs paramètres de campagne.
POST/tAnnonceur
Inscrivez les achats et les événements
Envoyer un événement depuis le serveur de l'annonceur en utilisant une clé d'annonceur. La clé doit appartenir à l'annonceur spécifié dans la demande.
Autorisation transactions:write
Paramètres
Corps de la requête JSON
Paramètre/type
Description
eventstringRequis
Nom de l'événement du programme, comme Purchase. Maximum 100 caractères.
advertiserCodestringRequis
Code de l'annonceur public (3 à 8 chiffres pour les événements), et non l'ID de la base de données interne.
channelCodestringRequis
Code du canal de l'éditeur public (6 à 8 chiffres pour les événements), et non l'ID de la base de données interne.
orderReferencestringFacultatif / conditionnel
Requis pour Purchase. Une référence de commande stable et unique par annonceur, maximum 150 caractères. Réutiliser les relevés.
amountstringFacultatif / conditionnel
Requis pour Purchase. Chaîne décimal non-négative avec un point et au plus deux décimales, comme 200,00. Suivez les règles de valeur de commande du programme.
currencystringFacultatif / conditionnel
Requis pour Purchase. Trois lettres, comme SEK. Doit correspondre à la règle de la commission.
marketstringFacultatif / conditionnel
Code du marché à deux lettres, tel que SE. Préciser le marché des partenariats couvrant plusieurs marchés.
clickIdstringFacultatif / conditionnel
clickId depuis l'URL d'atterrissage, maximum 100 caractères. Doit appartenir à la même chaîne et annonceur.
clickRefstringFacultatif / conditionnel
Référence de clic personnalisée optionnelle, maximum 255 caractères. N'envoyez pas de données personnelles.
occurredAtintegerFacultatif / conditionnel
Horodatage Unix en quelques secondes. Par défaut : heure de réception. Au plus 7 jours dans le passé ou 5 minutes dans le futur.
voucherstringFacultatif / conditionnel
Code de réduction en option, maximum 2 000 caractères.
Purchase nécessite orderReference, le montant et la monnaie. Le canal, le marché, le programme, l'attribution et les règles de commission déterminent si une transaction est créée. D'autres noms d'événements doivent correspondre à la configuration du programme. clickId est optionnel dans le protocole; envoyer la valeur de l'URL d'atterrissage pour lier l'achat à un clic enregistré.
200 signifie que le traitement est terminé ; vérifiez recognized, conversion et duplicate. 202 confirme uniquement la réception dans une file durable. receiptId est un identifiant de reçu, pas un identifiant de transaction ni une promesse de commission. Aucun point d’accès public ne permet de rechercher cet identifiant ; consultez les journaux des événements et transactions dans le portail.
Après un résultat de réseau incertain ou 503, réessayez avec les mêmes données d'achat et orderReference. La même référence de commande pour un annonceur protège contre les transactions financières dupliquées, mais des enregistrements d'événements supplémentaires peuvent être enregistrés. Traitez le 202 tel qu'il a été reçu; ne renvoyez pas simplement parce que la transaction n'est pas encore visible.
POST/api/v1/tracking/voucher-purchaseAnnonceur
Achat de bons exclusifs
Serveur optionnel pour les achats sans attribution de clic. La clé API identifie l'annonceur; une campagne exclusive explicitement activée détermine le canal et le programme.
Autorisation transactions:write
Paramètres
Corps de la requête JSON
Paramètre/type
Description
voucherstringRequis
Code de réduction en option, maximum 2 000 caractères.
orderReferencestringRequis
Requis pour Purchase. Une référence de commande stable et unique par annonceur, maximum 150 caractères. Réutiliser les relevés.
amountstringRequis
Requis pour Purchase. Chaîne décimal non-négative avec un point et au plus deux décimales, comme 200,00. Suivez les règles de valeur de commande du programme.
currencystringRequis
Requis pour Purchase. Trois lettres, comme SEK. Doit correspondre à la règle de la commission.
marketstringRequis
Code du marché à deux lettres, tel que SE. Préciser le marché des partenariats couvrant plusieurs marchés.
occurredAtintegerFacultatif / conditionnel
Horodatage Unix en quelques secondes. Par défaut : heure de réception. Au plus 7 jours dans le passé ou 5 minutes dans le futur.
Désactivé par défaut ; renvoie 404 tant qu’il n’est pas activé. Le code doit correspondre exactement, être sans ambiguïté et être valide pour le marché et la date d’achat. N’envoyez jamais clickId ou channelCode ici : les achats avec clic continuent d’utiliser /t. Réutilisez exactement le même orderReference lors des nouvelles tentatives et entre les intégrations ; les commandes existantes ne sont jamais réattribuées. Ce point d’accès traite l’achat directement dans PostgreSQL et renvoie 200 après traitement, même en mode Kafka. Vérifiez conversion, conversionBlocked et duplicate.
Après un résultat de réseau incertain ou 503, réessayez avec les mêmes données d'achat et orderReference. La même référence de commande pour un annonceur protège contre les transactions financières dupliquées, mais des enregistrements d'événements supplémentaires peuvent être enregistrés. Traitez le 202 tel qu'il a été reçu; ne renvoyez pas simplement parce que la transaction n'est pas encore visible.
GET/tÉditeur
Lien de suivi & redirection
Envoyez les visiteurs à l'annonceur via Adtrade. Préférez le tracking_url retourné par l'API ou le portail.
Aucune clé API · lien de suivi public
Paramètres
Dans la chaîne de requêtes URL
Paramètre/type
Description
astringRequis
Code de l'annonceur public (3 à 8 chiffres pour les événements), et non l'ID de la base de données interne.
cstringRequis
Code du canal de l'éditeur public (6 à 8 chiffres pour les événements), et non l'ID de la base de données interne.
mstringFacultatif / conditionnel
Code du marché à deux lettres, tel que SE. Préciser le marché des partenariats couvrant plusieurs marchés.
rstringFacultatif / conditionnel
Référence de clic personnalisée optionnelle, maximum 255 caractères. N'envoyez pas de données personnelles.
HTTP/1.1 302 Found
Location: https://shop.example.com/?advertiserCode=100&channelCode=1234567&market=SE&clickId=...
Ouvert par le navigateur visitators sans clé API. Une société de personnes valide renvoie normalement 302 à la page d'atterrissage de l'annonceur avec clickId et des informations de suivi. Un lien non valide peut afficher une page de repli à la place. Une visite n'est pas un achat et ne garantit pas la commission. Suivez les termes du programme et les paramètres de consentement.
HTTP / JSON
Réponses & erreurs
Les réponses JSON sont retournées directement sans enveloppe de données. Traiter les montants comme des chaînes décimales. Lire les champs de réponse; un statut HTTP réussi ne signifie pas toujours que la commission a été créée.
200
Traitement. Pour les achats, vérifiez également la conversion et le duplicata.
202
Reçu dans une file d'attente. La validation des activités est en cours.
302
Visiteur redirigé vers l'annonceur.
400
Paramètre ou JSON non valide.
401
Clé API manquante, invalide ou expirée.
403
Autorisation insuffisante, mauvais type de compte ou compte indisponible.
404
La ressource n'est pas trouvée dans l'accès au compte.
413
Demander un corps trop grand. /t permet au plus 64 KiB.
422
Les règles commerciales empêchent le traitement.
429
Trop de demandes. Suivez Retry-Après.
503
Indisponible temporairement ou livraison en file d'attente non confirmée.
429 · JSON
HTTP/1.1 429 Too Many Requests
Retry-After: 5
Content-Type: application/json
{
"error": "rate_limit_exceeded",
"retry_after": 5
}
Les limites s'appliquent aux clés de l'API et aux adresses IP et peuvent être ajustées par les opérations. Sur 429 ou 503, suivez Retry-Après lorsqu'il est présent, utilisez des retards croissants et évitez les retraits parallèles. Conservez la même référence de commande lors de la remise d'un achat.