Catégorie: Tutorials

API de campagne publicitaire CPAlead : créer et gérer des offres

Auteur: CPAlead
API de campagne publicitaire CPAlead : créer et gérer des offres

Vous souhaitez qu’un agent IA vous aide à créer ou gérer vos campagnes CPAlead ?

Partagez ce guide public avec votre agent : https://www.cpalead.com/en/blog/tutorials/cpalead-advertiser-campaign-api-guide

Partagez également le schéma OpenAPI public à https://www.cpalead.com/api/v1/advertiser/openapi.json. Le guide et le schéma sont publics ; votre jeton bearer ne l’est pas. Configurez le jeton séparément comme secret dans un client IA de confiance, un serveur MCP, un plugin ou une intégration. Ne collez jamais un jeton dans une conversation publique, une URL, un champ de campagne, une capture d’écran ou un dépôt de code source.

L’API Campaign n’est pas un accès au tableau de bord. Un jeton Campaign API n’autorise que les permissions de campagne que vous sélectionnez. Il ne peut pas être utilisé pour se connecter à votre tableau de bord CPAlead. L’accès IA Publisher est une fonctionnalité distincte réservée aux publishers.

L’API Campaign CPAlead permet à un annonceur self-serve vérifié d’utiliser du code, un agent IA, un serveur MCP ou un plugin pour travailler avec des campagnes CPA, CPI et CPC. Un client autorisé peut lire les exigences actuelles de campagne, valider une campagne complète avant de l’enregistrer, téléverser une création, créer une campagne, lister et récupérer des campagnes, modifier une campagne avec protection de version, et démarrer ou mettre en pause explicitement une campagne éligible.

Il s’agit du compagnon d’automatisation du tableau de bord annonceur normal. Si vous voulez d’abord une explication champ par champ des types de campagnes, du tracking, du ciblage, des payouts, des plafonds, du financement, de la validation et du lancement, lisez Comment faire de la publicité sur CPAlead en 2026 : ajouter et lancer votre première offre. Utilisez cet article lorsque vous êtes prêt à exprimer cette configuration sous forme de JSON structuré et d’actions API contrôlées.

Le flux de démarrage rapide le plus sûr

  1. Créez un jeton Campaign API à courte durée de vie avec uniquement campaigns:read et campaigns:validate.
  2. Donnez à votre client de confiance l’URL OpenAPI publique et configurez le jeton de manière privée comme secret bearer.
  3. Appelez GET /requirements pour CPA, CPI ou CPC au lieu de deviner les limites actuelles.
  4. Rédigez le JSON complet de la campagne et appelez POST /campaigns/validate.
  5. Examinez chaque erreur, avertissement, payout, budget, règle de ciblage, planning et frais possibles.
  6. Ce n’est qu’ensuite que vous ajoutez les permissions de téléversement d’image et de création de campagne.
  7. Créez avec une clé d’idempotence unique, puis inspectez l’état de review et de diffusion retourné.
  8. Révoquez le jeton une fois la tâche terminée.

Ce que l’API Campaign peut faire

Opérations de l’API Campaign annonceur CPAlead et permissions requises
Action Méthode et chemin Permission Règle de sécurité
Lire OpenAPIGET /openapi.jsonPublicAucun jeton requis
Lire les exigencesGET /requirementscampaigns:validateLire avant de construire le JSON
Valider le JSONPOST /campaigns/validatecampaigns:validateNe crée pas de campagne
Téléverser une imagePOST /imagesassets:createID temporaire, expirant, à usage unique
Lister les campagnesGET /campaignscampaigns:readPaginé et filtrable
Créer une campagnePOST /campaignscampaigns:createUnique Idempotency-Key
Obtenir une campagneGET /campaigns/{campaign}campaigns:readRenvoie le ETag actuel
Mettre à jour une campagnePATCH /campaigns/{campaign}campaigns:updateETag exact dans If-Match
Démarrer une campagnePOST /campaigns/{campaign}/actions/startcampaigns:toggleSans corps et idempotent
Mettre en pause une campagnePOST /campaigns/{campaign}/actions/pausecampaigns:toggleSans corps et idempotent

L’API ne fournit pas actuellement d’opération d’archivage, de suppression, de création en lot ou de bascule générique. Les opérations d’archivage ou de suppression restent un flux du tableau de bord. Les actions de démarrage et de pause sont séparées afin qu’une personne ou un client IA puisse demander une confirmation claire avant de modifier la diffusion.

L’API Campaign et l’importation via Offer API sont différentes

  • API Campaign : Une API bearer token à portée limitée qui valide, crée, lit, modifie, démarre et met en pause des campagnes dans votre compte annonceur.
  • Importation via Offer API : Un flux séparé du tableau de bord annonceur qui lit des offres depuis un flux externe compatible et mappe ses champs dans CPAlead.

Le centre Advertiser API garde ces outils sur des pages séparées. Connectez-vous, ouvrez Setup → API, puis choisissez l’outil qui correspond à votre tâche. Utilisez l’API Campaign lorsque votre propre application, agent, serveur MCP ou plugin possède déjà les données de l’offre et a besoin d’un moyen structuré de travailler avec CPAlead. Utilisez l’importateur lorsque CPAlead doit récupérer et mapper un flux d’offres pris en charge. Ne donnez pas à une intégration un jeton plus large que nécessaire à sa mission.

Créer un jeton Campaign API

  1. Connectez-vous à un compte annonceur self-serve vérifié.
  2. Ouvrez Setup → API, puis sélectionnez Campaign API.
  3. Donnez au jeton un nom reconnaissable, comme « Campaign validator » ou « My MCP agent ».
  4. Choisissez une expiration. L’option 48 heures est recommandée pour la configuration IA ; les options 30 jours, 90 jours et 365 jours sont aussi disponibles.
  5. Sélectionnez uniquement les permissions dont le client a besoin.
  6. Créez le jeton et copiez-le immédiatement. CPAlead ne peut plus afficher le jeton complet après le rechargement de la page.
  7. Stockez-le dans la configuration secrète du client de confiance et révoquez-le lorsque la tâche se termine.

Un annonceur peut avoir jusqu’à 10 jetons Campaign API actifs. Utilisez des jetons séparés pour des intégrations distinctes afin de limiter les permissions, examiner l’utilisation et révoquer une intégration sans en interrompre une autre.

Où créer votre jeton Campaign API

Un jeton Campaign API est l’identifiant API privé envoyé dans l’en-tête Authorization. Ce n’est pas votre mot de passe CPAlead, et il ne peut pas être utilisé pour se connecter au tableau de bord CPAlead. Après vous être connecté, ouvrez Setup → API, sélectionnez Campaign API, puis utilisez le formulaire Créer un jeton.

CPAlead Campaign API token form with name, expiration, permission checkboxes, and Create token button
Ouvrez Setup → API, sélectionnez Campaign API, puis nommez le jeton, choisissez une expiration et accordez uniquement les permissions nécessaires à votre intégration. CPAlead affiche le jeton fini une seule fois, alors copiez-le immédiatement et stockez-le dans les paramètres secrets de l’intégration de confiance.
Permissions du jeton Campaign API
PermissionAutoriseQuand l’accorder
campaigns:readVoir vos campagnesPermission de démarrage sûre
campaigns:validateLire les exigences et valider le JSONPermission de démarrage sûre
assets:createTéléverser des images de campagneLors de la préparation d’une vraie création ou d’une modification d’image
campaigns:createCréer une campagneAprès revue du JSON final
campaigns:updateModifier une campagneUniquement lorsque des modifications sont nécessaires
campaigns:toggleDémarrer ou mettre en pause une campagneUniquement avec des contrôles de diffusion explicites

Règle sur le jeton : Partagez librement le guide public et l’URL OpenAPI. Partagez le jeton bearer uniquement avec un client de confiance, via ses paramètres secrets privés. CPAlead stocke un hachage sécurisé et n’affiche que le début d’un jeton après création.

URL de base, authentification et format de réponse

API base: https://www.cpalead.com/api/v1/advertiser
OpenAPI: https://www.cpalead.com/api/v1/advertiser/openapi.json

Les requêtes authentifiées envoient le jeton une seule fois dans l’en-tête HTTP authorization. Ne le mettez jamais dans l’URL ni dans la chaîne de requête.

Authorization: Bearer YOUR_TOKEN
Accept: application/json

Pour les exemples curl ci-dessous, une configuration plus sûre consiste à stocker l’en-tête d’autorisation dans un fichier de configuration curl local, exclu du contrôle source et lisible uniquement par vous :

# cpalead-auth.cfg
header = "Authorization: Bearer YOUR_TOKEN"
header = "Accept: application/json"

# Restrict the file before using it:
chmod 600 cpalead-auth.cfg

Une réponse réussie contient un objet data ou une liste, plus meta. Les métadonnées incluent un request_id et la version actuelle du schéma, et peuvent inclure la pagination, une version de ressource ou un indicateur de relecture idempotente. Une réponse d’erreur contient un objet error plus meta. Conservez le request_id public pour le dépannage avec le support, mais n’envoyez jamais votre jeton bearer au support.

Étape 1 : lire les exigences en direct

Les exigences sont la source de vérité pour ce que le compte peut soumettre à présent. Elles incluent la version actuelle du schéma et des conditions, l’éligibilité à la création de compte, les pays et appareils pris en charge, les limites de champs, les règles de type de campagne, les plages tarifaires, les plannings, les packages de lancement, les exigences de tracking, les règles d’image et le flux de travail recommandé.

curl --config cpalead-auth.cfg \
  "https://www.cpalead.com/api/v1/advertiser/requirements?type=CPA"

Utilisez type=CPA, type=CPI ou type=CPC pour limiter la réponse. Ne codez pas en dur une version de schéma, une version des conditions, une limite de payout, une enchère, un budget, un package de lancement, un pays, un appareil ou une version minimale d’application provenant d’un ancien exemple. Récupérez de nouveau les exigences lorsque le serveur signale qu’une valeur ou une version n’est plus à jour.

Les trois types de campagnes

  • CPA : Paiement pour une action déclarée. L’URL de tracking doit contenir {CLICK_ID}, et une URL de prévisualisation, un objectif de conversion, un plafond quotidien et un package de lancement font partie de la forme de création.
  • CPI : Paiement pour une installation ou un événement d’application configuré. Il utilise {CLICK_ID} et ajoute des choix orientés application tels que la plateforme de l’appareil, la méthode de tracking, la version iOS prise en charge et la gestion du proxy.
  • CPC : Paiement pour un clic valide. Il utilise une enchère et un budget quotidien au lieu d’un payout de conversion, d’un plafond quotidien et d’un package de lancement.

Toutes les valeurs monétaires de l’API Campaign sont en USD, et les plannings de l’API utilisent UTC. Lisez les exigences retournées et présentez ces faits à la personne qui approuve la requête.

Étape 2 : téléverser une image de campagne

Les requêtes de création n’acceptent pas une URL d’image distante. Téléversez d’abord le fichier en multipart form data, puis placez l’ID temporaire d’image retourné dans image_upload_id.

curl --config cpalead-auth.cfg \
  --request POST \
  --form "[email protected]" \
  "https://www.cpalead.com/api/v1/advertiser/images"
  • Sources acceptées : JPG, JPEG, PNG, GIF, BMP et WebP.
  • Taille maximale du fichier : 2 Mio.
  • Largeur et hauteur de la source : chacune doit être comprise entre 200 et 4096 pixels.
  • Résultat stocké : un recadrage WebP 200×200 non animé et sans métadonnées.
  • Durée de vie du téléversement inutilisé : 24 heures.
  • Limite de téléversements en attente : jusqu’à 25 téléversements d’image inutilisés actuels.
  • Utilisation : une création de campagne ou une mise à jour d’image. Téléversez à nouveau pour une campagne différente.

La validation peut vérifier qu’un ID d’image appartient à votre compte et reste utilisable sans le consommer. L’écriture réussie de la campagne le consomme. Le renvoi de la même création terminée avec la même clé d’idempotence retourne le résultat stocké ; il ne crée pas une deuxième campagne à partir de l’image consommée.

Étape 3 : construire un JSON de campagne complet

L’API utilise des objets JSON stricts. Les champs inconnus sont rejetés au lieu d’être ignorés silencieusement. Cela rend une intégration IA plus sûre : une propriété mal orthographiée ou inventée devient un problème de validation visible plutôt qu’un paramètre de campagne accidentel.

L’exemple CPA suivant est un modèle, pas une campagne prête à soumettre. Remplacez chaque valeur COPY_FROM_REQUIREMENTS, ID d’image, URL, payout, pays, plafond et description publique par des valeurs relues pour votre vraie offre.

{
  "schema_version": "COPY_FROM_REQUIREMENTS",
  "external_id": "signup-campaign-us-001",
  "type": "CPA",
  "name": "US Account Signup",
  "creative": {
    "title": "Create Your Free Account",
    "description": "Register and confirm your email",
    "conversion_goal": "Create an account"
  },
  "tracking": {
    "url": "https://tracker.example.com/click?click_id={CLICK_ID}",
    "preview_url": "https://www.example.com/signup",
    "gaid_idfa_filler": false
  },
  "targeting": {
    "countries": ["US"],
    "device": "all_devices",
    "tools_only": false
  },
  "pricing": {
    "payout": "0.50",
    "daily_cap": 20,
    "currency": "USD"
  },
  "schedule": {
    "mode": "always",
    "start_time": "00:00",
    "end_time": "23:59",
    "timezone": "UTC"
  },
  "publisher_access": {
    "mode": "all",
    "publisher_ids": []
  },
  "launch_package": {
    "amount": "COPY_FROM_REQUIREMENTS"
  },
  "image_upload_id": "cimg_COPY_FROM_IMAGE_UPLOAD",
  "terms": {
    "version": "COPY_FROM_REQUIREMENTS",
    "accepted": true
  }
}

Règle de tracking importante pour CPA et CPI

L’URL de tracking doit contenir la macro exacte {CLICK_ID}. Votre tracker ou plateforme d’affiliation doit enregistrer la valeur numérique que CPAlead y insère et renvoyer cet ID de clic enregistré au postback annonceur CPAlead après la conversion. Ne placez pas l’URL de postback de CPAlead dans l’URL de tracking de la campagne. Pour l’explication complète du clic au postback, utilisez le guide public de postback annonceur.

Étape 4 : valider avant de créer

curl --config cpalead-auth.cfg \
  --request POST \
  --header "Content-Type: application/json" \
  --data-binary @campaign.json \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/validate"

La validation renvoie HTTP 200 avec data.valid, une liste errors et une liste warnings. Une réponse 200 peut toujours contenir valid: false, donc un client doit inspecter cette valeur au lieu de considérer le seul statut HTTP comme une approbation. Chaque problème utilise un chemin JSON Pointer tel que /tracking/url, /pricing/payout ou /image_upload_id. Un agent IA doit corriger uniquement le champ indiqué, valider à nouveau et montrer le JSON final au propriétaire du compte avant de demander la permission de créer.

Une réponse valide signifie que la charge utile passe la validation actuelle et la pré-vérification de persistance. Ce n’est pas une promesse d’approbation, d’activation, de trafic, de conversions ou d’éligibilité future. Les contrôles en temps réel de review, de financement, d’accès au compte, de blocage, de planning, de plafond et d’état s’appliquent toujours aux écritures et aux actions du cycle de vie.

Étape 5 : créer de façon sûre avec l’idempotence

curl --config cpalead-auth.cfg \
  --request POST \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: create-signup-campaign-us-001" \
  --data-binary @campaign.json \
  "https://www.cpalead.com/api/v1/advertiser/campaigns"

Créer, démarrer et mettre en pause nécessitent une Idempotency-Key contenant 8 à 200 caractères ASCII visibles. Utilisez une nouvelle clé pour chaque action voulue. Si la connexion échoue et que vous ne savez pas si l’action s’est terminée, réessayez l’action identique avec la même clé. CPAlead peut rejouer la réponse terminée au lieu de créer ou facturer deux fois.

  • Même clé et même intention : La réponse terminée peut être rejouée avec meta.idempotent_replay=true.
  • Même clé avec détails modifiés : L’API renvoie un conflit d’idempotence.
  • Même ID externe avec détails modifiés : L’API renvoie aussi un conflit.
  • Requête précédente encore en cours : Attendez l’intervalle indiqué, puis réessayez la même intention avec la même clé.

L’external_id optionnel est votre propre référence stable pour l’opération de création. Il peut faciliter le rapprochement, mais il ne doit pas être réutilisé pour une campagne différente.

La création peut avoir un effet réel. Selon les paramètres du compte, la review, le solde, le planning et le type de campagne, une nouvelle campagne peut être soumise à review ou devenir éligible à la diffusion. Le démarrage ou l’activation de campagnes CPA et CPI peut facturer un package de lancement sélectionné non payé. Inspectez toujours l’état public renvoyé et les exigences financières au lieu de supposer que create signifie « enregistrer en brouillon ».

Trois campagnes avant un dépôt

Un compte annonceur peut créer jusqu’à trois campagnes self-serve CPA, CPI ou CPC au total avant son premier dépôt annonceur réussi. Les campagnes en pause, refusées et archivées comptent toujours, car créer et archiver des campagnes jetables ne doit pas contourner la limite. Après un dépôt réussi, cette limite de création spécifique ne s’applique plus ; les règles normales de review, de solde, de payout, de budget et d’activation s’appliquent toujours.

Lire et filtrer les campagnes

curl --config cpalead-auth.cfg \
  "https://www.cpalead.com/api/v1/advertiser/campaigns?type=CPA&state=paused&page=1&per_page=25"

Le point de terminaison de liste prend en charge le type de campagne, l’état public, un horodatage updated_since, la page et des filtres par page. La pagination par défaut est de 25 campagnes et permet jusqu’à 100 par page. Les états publics possibles sont active, paused, pending_review, paused_for_funding, cap_reached, outside_schedule, denied, archived et unavailable. Les campagnes archivées n’apparaissent que lorsque vous filtrez explicitement avec state=archived.

Une ressource de campagne inclut son ID, son ID externe optionnel, sa version, son type, son nom, sa création, son tracking, son ciblage, son pricing, son planning, son paramètre d’accès publisher, son URL d’image, ses horodatages et son état public. L’état inclut aussi des indices de review, de diffusion souhaitée, de raison de diffusion et de capacité. Les indices de capacité sont indicatifs : récupérez la dernière campagne et traitez la vraie réponse opérationnelle, car les conditions de compte, de financement, de review, de blocage et de planning peuvent changer.

Mise à jour avec protection de version ETag

Les modifications de campagne utilisent le contrôle de concurrence optimiste. Récupérez d’abord la campagne et enregistrez l’en-tête de réponse exact entre guillemets ETag. Envoyez ensuite cette valeur dans If-Match avec la requête PATCH. Cela empêche un navigateur, un agent ou une intégration d’écraser silencieusement un changement plus récent effectué ailleurs.

# First retrieve the latest campaign and its ETag.
curl --config cpalead-auth.cfg \
  --dump-header campaign-headers.txt \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345"

# Then send a reviewed partial update with that exact quoted ETag.
curl --config cpalead-auth.cfg \
  --request PATCH \
  --header "Content-Type: application/json" \
  --header 'If-Match: "COPY_THE_LATEST_ETAG"' \
  --data-binary '{"creative":{"description":"Updated public description"}}' \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345"
  • Sans If-Match : L’API renvoie HTTP 428.
  • If-Match obsolète : L’API renvoie HTTP 412 avec les métadonnées de version actuelles.
  • Après un 412 : Récupérez à nouveau la campagne, comparez les modifications, demandez approbation et réessayez avec le nouvel ETag.
  • Après un résultat réseau incertain : Récupérez la campagne avant d’envoyer une autre mise à jour.

PATCH n’accepte que les champs publics de campagne. Il fusionne l’objet partiel fourni avec la campagne actuelle et valide le résultat complet. Certaines modifications peuvent nécessiter une nouvelle review ou changer la diffusion, alors lisez l’état de la réponse à chaque fois.

Le démarrage et la pause sont des actions explicites sans corps

# Start an eligible campaign.
curl --config cpalead-auth.cfg \
  --request POST \
  --header "Idempotency-Key: start-campaign-12345-001" \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345/actions/start"

# Pause an eligible campaign.
curl --config cpalead-auth.cfg \
  --request POST \
  --header "Idempotency-Key: pause-campaign-12345-001" \
  "https://www.cpalead.com/api/v1/advertiser/campaigns/12345/actions/pause"

N’envoyez pas de corps JSON — pas même {} — pour démarrer ou mettre en pause. Avant de démarrer, confirmez la campagne, le solde, le payout ou l’enchère, l’effet du package de lancement, les pays, les appareils, le planning, le plafond ou le budget, la page de destination et le tracking. Après la réponse, inspectez l’état public ; une campagne peut être activée mais hors de son planning quotidien, en pause pour financement, au plafond, ou autrement incapable de diffuser.

Statuts HTTP et erreurs qu’une intégration doit comprendre

Statuts HTTP courants de l’API Campaign
StatutSignificationAction du client
200 / 201Lecture/mise à jour réussie ou ressource crééeInspecter data, meta, l’état, l’ETag et Location
400Requête mal formée ou clé d’idempotence manquante/invalideCorriger la requête ; ne pas répéter à l’aveugle
401Jeton manquant, invalide, expiré ou révoquéCorriger ou remplacer le secret
403Le jeton n’a pas la permission requise ou l’accès au compteExaminer la portée du moindre privilège et l’éligibilité du compte
404La campagne est indisponible pour cet annonceurVérifier l’ID ; ne pas déduire les données d’un autre compte
409Conflit d’état, de financement, de blocage, de limite de création ou d’idempotenceLire le code d’erreur stable et l’action recommandée
412ETag obsolèteRécupérer, examiner et rebaser la mise à jour
415Le point de terminaison JSON a reçu le mauvais type de contenuEnvoyer application/json
422La validation a échouéRéparer les problèmes JSON Pointer et valider à nouveau
428La mise à jour manque If-MatchRécupérer la campagne et envoyer son ETag
429Limite de débit atteinteRespecter Retry-After
503Le stockage ou le service API requis est temporairement indisponibleRéessayer plus tard sans changer une intention idempotente

Automatisez en vous basant sur le statut HTTP et sur error.code stable, pas seulement sur le libellé du message. Les détails de validation incluent un chemin, un code et un message en langage clair. Incluez le request_id de la réponse lorsque vous contactez le support.

Limites de débit et reprises responsables

Les requêtes et l’authentification de l’API Campaign sont soumises à des limites de débit pour protéger les annonceurs et le service. Les limites peuvent changer, alors utilisez le schéma OpenAPI en direct et les en-têtes de réponse plutôt que de coder en dur un nombre de requêtes. Lorsque l’API renvoie HTTP 429, attendez Retry-After au lieu de répéter immédiatement les requêtes. Utilisez la pagination, updated_since et la mise en cache locale des exigences publiques inchangées pour éviter des appels inutiles.

Un prompt que vous pouvez donner à un agent IA de confiance

Partagez d’abord le guide et l’URL OpenAPI. Configurez le jeton dans les paramètres secrets privés de la plateforme de l’agent ; n’insérez pas de vrai jeton dans ce prompt.

Read this CPAlead Campaign API guide and the public OpenAPI schema.

Do not ask me to paste a bearer token into chat. Use only the token configured
privately in the integration. Begin with read and validate operations.

1. Ask whether I am creating CPA, CPI, or CPC.
2. Call the matching requirements endpoint.
3. Ask me for every missing business value and explain any financial,
   tracking, targeting, schedule, review, or delivery effect.
4. Draft strict campaign JSON and validate it.
5. Repair validation errors by their JSON Pointer paths.
6. Show me the final normalized intent and ask for confirmation before
   uploading, creating, updating, starting, or pausing anything.
7. Use a unique idempotency key for create, start, and pause.
8. Retrieve the latest campaign and ETag before an update.
9. After every write, report the campaign ID, public state, request ID,
   warnings, and recommended next step.
10. Never attempt archive or delete because those operations are not in
    the Campaign API.

Liste de vérification de sécurité pour l’IA, MCP, les plugins et le code

  • Moindre privilège : Commencez par la lecture et la validation. Ajoutez une seule permission d’écriture uniquement lorsque c’est nécessaire.
  • Expiration courte : Préférez l’option 48 heures pour une tâche de configuration IA ponctuelle.
  • Jetons séparés : Donnez à chaque agent ou intégration son propre jeton nommé.
  • Stockage privé : Conservez les jetons dans les paramètres secrets, pas dans les URL, prompts, logs, analyses, captures d’écran ou dépôts.
  • Confirmation humaine : Exigez un résumé avant create, update, start ou pause.
  • Reprises sûres : Conservez la même clé et la même charge utile après un résultat idempotent incertain.
  • Contrôles de version : Ne mettez jamais à jour sans récupérer le dernier ETag.
  • Contrôles de réponse : Lisez l’état public et le request ID après chaque écriture.
  • Révoquez rapidement : Supprimez l’accès depuis la page Advertising API lorsque la tâche est terminée ou qu’un jeton a pu fuiter.

Foire aux questions

Où trouver ma clé API CPAlead ?

Pour l’API Campaign, l’identifiant s’appelle un jeton Campaign API. Connectez-vous et ouvrez Advertising → Setup → API, puis utilisez Créer un jeton. Copiez le jeton immédiatement car CPAlead affiche la valeur complète une seule fois.

L’API peut-elle créer des campagnes CPA, CPI et CPC ?

Oui. Chaque type a une forme JSON stricte mais différente. Récupérez les exigences de ce type avant de le construire.

Puis-je valider sans autoriser une IA à créer quoi que ce soit ?

Oui. Donnez au jeton uniquement campaigns:validate, et éventuellement campaigns:read. Les exigences et la validation n’ont pas besoin de permission de création.

Une réponse valide signifie-t-elle que la campagne est approuvée ?

Non. Cela signifie que la charge utile actuelle passe la validation et la pré-vérification. La review, le financement, l’accès au compte, les blocages, les plafonds, les plannings et l’état en temps réel s’appliquent toujours.

Create peut-il démarrer immédiatement une campagne ?

Oui, selon le compte et la campagne. Elle peut aussi passer en review. Inspectez toujours l’état public renvoyé. L’activation CPA ou CPI peut aussi facturer un package de lancement sélectionné non payé.

Puis-je téléverser une image depuis une URL distante ?

Non. Téléversez le fichier image via POST /images. CPAlead renvoie un ID d’image temporaire à usage unique.

Puis-je créer plusieurs offres à la fois ?

Il n’existe pas d’opération de création en lot. Validez et créez une campagne par requête, utilisez un ID externe et une clé d’idempotence distincts, et respectez les limites de débit ainsi que les règles de création du compte.

L’API peut-elle archiver ou supprimer une campagne ?

Non. L’API publique actuelle peut démarrer et mettre en pause les campagnes éligibles, mais n’expose pas l’archivage ni la suppression. Utilisez le tableau de bord annonceur pour l’archivage.

Pourquoi ma mise à jour a-t-elle reçu HTTP 412 ?

La campagne a changé après votre récupération. Récupérez-la à nouveau, examinez les données les plus récentes, fusionnez votre changement voulu et réessayez avec le nouvel ETag.

Pourquoi create a-t-il renvoyé HTTP 409 ?

Lisez le code d’erreur stable. Les causes publiques possibles incluent une clé d’idempotence ou un ID externe réutilisé avec des données différentes, une requête antérieure encore en cours de traitement, la limite de trois campagnes avant dépôt, des restrictions de financement ou de compte, un blocage ou un conflit d’état.

Mon application doit-elle copier les limites de champs de cet article ?

Non. Cet article explique le flux de travail. Votre application doit lire les exigences en direct et le schéma OpenAPI afin que les valeurs actuelles restent la référence.

Fiche d’information Campaign API pour machine

  • Objectif : Créer et gérer des campagnes annonceur self-serve.
  • URL de base : https://www.cpalead.com/api/v1/advertiser
  • OpenAPI : https://www.cpalead.com/api/v1/advertiser/openapi.json
  • Configuration du jeton : Ouvrez /en/advertising/api, puis sélectionnez Campaign API.
  • Types de campagne pris en charge : CPA, CPI, CPC.
  • Devise : USD.
  • Fuseau horaire du planning : UTC.
  • Jeton IA recommandé : 48 heures avec lecture et validation d’abord.
  • Nombre maximal de jetons actifs : 10.
  • Entrée image : JPG/JPEG/PNG/GIF/BMP/WebP, jusqu’à 2 Mio, 200–4096 pixels par côté.
  • Sortie image : WebP 200×200 sans métadonnées ; l’ID temporaire expire après 24 heures et est à usage unique.
  • Sécurité de reprise create/start/pause : Idempotency-Key.
  • Concurrence de mise à jour : ETag fort plus If-Match.
  • Macro de clic CPA/CPI : {CLICK_ID}.
  • Autorisation de création avant dépôt : trois campagnes self-serve au total.
  • Non disponible : archivage, suppression, création en lot, bascule générique, création avec image distante.

Commencez par lire et valider

L’API Campaign est conçue pour qu’un annonceur puisse commencer prudemment. Donnez à un agent de confiance le guide public et le schéma, accordez l’accès en lecture et validation, et laissez-le préparer une requête sans modifier le compte. Lorsque le JSON est correct et que le propriétaire comprend les effets possibles de review, de diffusion et financiers, n’ajoutez que la permission d’écriture nécessaire pour l’action confirmée suivante.

Ouvrez Campaign API dans le centre Advertiser API pour créer un jeton, ou ouvrez le schéma OpenAPI public de l’API Campaign pour inspecter le contrat actuel. La documentation de l’API Publisher est séparée et couvre la récupération d’offres et les rapports pour les publishers. Si une réponse n’est pas claire, gardez le jeton privé et contactez le support annonceur avec le request ID public et l’ID de campagne.

Vous avez remarqué une erreur ou un aspect de cet article qui nécessite une correction ? Merci de fournir le lien de l'article et contactez-nous. Nous apprécions vos commentaires et nous occuperons du problème rapidement.