Article

Automatiser le suivi des conversions via l’API

L’API Affilae vous permet de créer, d’accepter, de refuser ou d’ajuster vos conversions depuis votre propre système, sans passer par l’interface. C’est la solution quand votre volume de commandes rend la validation manuelle trop lourde.

Cette page décrit les routes utiles et l’ordre dans lequel les appeler. La référence technique complète est publiée sur rest.affilae.com/reference.

Prérequis : votre clé API annonceur, qui sert de jeton d’authentification, l’URL de base de l’API https://rest.affilae.com, et les droits d’accès nécessaires sur votre programme.

Les règles communes à tous les appels

  • Chaque requête doit porter l’en-tête Authorization: Bearer {YOUR_TOKEN}
  • Les montants des conversions, envoyés ou reçus, sont exprimés en centimes. Ainsi 100 vaut 1,00 €.
  • Les dates sont en UTC.

Créer une conversion (Server-to-Server)

En Server-to-Server, vous pouvez envoyer chaque commande par l’API plutôt que par l’URL de postback. Appelez POST /advertiser/conversions.add avec kind = tracking et les identifiants de clic que vous avez conservés.

CHAMP OBLIGATOIRE VALEUR
kind Oui tracking : la conversion est rattachée aux clics ou au code promo envoyés.
program Oui Program ID.
rule Oui Rule ID, la première partie de la clé de la règle.
externalId Oui Numéro de commande, unique par règle : un second envoi du même numéro répond « Conversion already exists ».
ip Oui Adresse IP v4 ou v6 de l’acheteur.
cids Recommandé Identifiants de clic (24 caractères) reçus dans aecid, en tableau. Un clic plus ancien que la Durée du tracking (en jours) de la règle, ou postérieur à la date de la conversion, n’est pas pris en compte.
amount Oui pour une vente Montant HT en centimes, après remises et hors frais de livraison : 8990 vaut 89,90.
currency Non Code ISO 4217, par exemple EUR. Il doit faire partie des Devises de la règle, sinon l’appel répond « Currency not defined on … ».
date Non Date de la commande (ISO 8601, UTC). Par défaut, l’heure de l’appel.
voucher Non Code promo utilisé, écrit exactement comme il est créé dans Affilae.
customerId Non Identifiant de votre client. Indispensable si la règle active le mode commissions récurrentes.
subId Non Référence libre de votre choix, remontée avec la conversion.
paymentMethod Non Moyen de paiement enregistré avec la conversion, par exemple online.
notify Non true par défaut : l’affilié est notifié, postback compris. false pour ne pas le notifier.

Exemple :

curl -X POST https://rest.affilae.com/advertiser/conversions.add \
  -H "Authorization: Bearer {YOUR_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"kind": "tracking", "program": "5e336e000000000000000000", "rule": "5e336e000000000000000001",
       "externalId": "CMD-10245", "amount": 8990, "currency": "EUR",
       "cids": ["603ed1800000000000000000"], "ip": "185.179.113.132"}'

Les réponses :

  • 201 : la conversion est créée et renvoyée dans conversion.data.
  • 202 « No contributions found » : aucun clic ni code promo ne peut être rattaché, aucune conversion n’est créée.
  • 400 : la requête est refusée, le message indique pourquoi, par exemple « Conversion already exists » ou « Invalid clickIDs ».

Récupérer l’ID d’une conversion

Avant d’accepter, de refuser ou de modifier une conversion, vous devez connaître son ID interne Affilae. Deux méthodes sont possibles.

1. Lister vos conversions

Appelez GET /advertiser/conversions.list pour obtenir la liste de vos conversions.

Vous pouvez filtrer par :

  • statut, avec pending, accepted ou refused ;
  • période, avec from et to ;
  • identifiant client, avec customerId ;
  • identifiant externe, avec externalId.

2. Obtenir les détails d’une conversion

Appelez GET /advertiser/conversions.info si vous connaissez déjà l’identifiant externe ou le client. Cette route renvoie toutes les informations liées à la conversion, dont son ID interne Affilae. Le paramètre program, l’identifiant du programme, est requis.

Accepter ou refuser une conversion

Une fois l’ID connu, vous pouvez automatiser vos décisions de validation. Une conversion verrouillée ne peut plus être acceptée ni refusée.

Accepter

Appelez POST /advertiser/conversions.accept. La conversion est validée et marquée comme acceptée.

Champs requis :

  • program, l’identifiant du programme annonceur ;
  • id, l’identifiant interne de la conversion.

Refuser

Appelez POST /advertiser/conversions.refuse, par exemple pour un retour produit, une fraude ou une commande de test.

Champs requis :

  • program, l’identifiant du programme ;
  • id, l’identifiant interne de la conversion ;
  • reason, le motif du refus.

Ajuster le montant d’une conversion

En cas de retour produit ou d’ajustement de panier, vous pouvez modifier le montant d’une conversion. Appelez POST /advertiser/conversions.update.

Conditions :

  • la conversion ne doit être ni refusée, ni verrouillée, ni incluse dans un paiement ;
  • le montant ajusté ne doit pas dépasser le montant initial ;
  • le montant n’a pas déjà été modifié.

Champs requis :

  • id, l’identifiant interne de la conversion ;
  • amount, le nouveau montant en centimes ;
  • reason, la raison de l’ajustement, par exemple un retour partiel de panier.

Récapitulatif des routes

ACTION MÉTHODE ROUTE
Lister les conversions GET /advertiser/conversions.list
Obtenir une conversion GET /advertiser/conversions.info
Créer une conversion POST /advertiser/conversions.add
Accepter une conversion POST /advertiser/conversions.accept
Refuser une conversion POST /advertiser/conversions.refuse
Ajuster un montant POST /advertiser/conversions.update

Bonnes pratiques

Astuce : réalisez vos tests sur un petit volume de conversions avant de déployer votre script sur tout votre trafic. Une erreur de statut passée à l’échelle se rattrape difficilement.
  • Conservez la correspondance entre vos commandes, l’externalId, et les ID Affilae, pour éviter les doublons.
  • Stockez votre clé API de manière sécurisée et ne la partagez pas.
  • L’API impose des limites de débit. Prévoyez leur gestion dans vos appels.
  • Conservez les logs de vos appels, ils facilitent le suivi et le support.

Besoin d’aide

Notre équipe support est disponible depuis votre interface annonceur pour toute assistance technique.

Articles liés

Questions
fréquentes

Voir plus de questions

Oui. Appelez POST /advertiser/conversions.add avec kind = tracking, le Program ID, le Rule ID, le numéro de commande (externalId), l’adresse IP de l’acheteur et les identifiants de clic reçus dans aecid (cids). Le montant s’envoie en centimes.

Les montants des conversions sont en centimes. Un montant de 100 correspond donc à 1,00 €. Cela vaut pour les montants que vous envoyez comme pour ceux que vous recevez.

Chaque requête doit porter l’en-tête Authorization: Bearer {YOUR_TOKEN}, où le jeton est votre clé API annonceur. L’URL de base est https://rest.affilae.com.

Deux méthodes. GET /advertiser/conversions.list renvoie la liste de vos conversions, filtrable par statut, période, customerId ou externalId. GET /advertiser/conversions.info renvoie le détail d’une conversion si vous connaissez déjà l’identifiant externe ou le client.

Trois champs sont requis : program, l’identifiant du programme, id, l’identifiant interne de la conversion, et reason, le motif du refus. Le motif est obligatoire, contrairement à l’acceptation qui n’en demande pas.

Non. L’ajustement sert aux retours produits et aux paniers réduits : le montant ajusté ne doit pas dépasser le montant initial. La conversion ne doit pas non plus être refusée, verrouillée ou incluse dans un paiement, ni avoir déjà été modifiée.

Non. Une conversion dont le montant a déjà été modifié n’est plus éligible à un nouvel ajustement. Vérifiez donc votre montant avant l’appel.

Oui, l’API impose des limites de débit. Prévoyez leur gestion dans vos scripts, avec une reprise en cas de refus, et conservez les logs de vos appels pour faciliter le support.

En UTC. Pensez à convertir vos dates avant de filtrer sur les paramètres from et to, sans quoi vous risquez de manquer les conversions des bords de période.

Besoin d’aide ?

Restez informés des dernières tendances en affiliation marketing et ne manquez aucun de nos articles.

Contactez-nous