Partager via


Service de campagne

Une campagne est un moyen d’organiser un ensemble de paramètres de ciblage au sein de notre plateforme en combinaison avec le service de profil. L’objet de campagne inclut des paramètres tels que les dates de vol et les créations associées, tandis que les profils ciblent des paramètres d’utilisateur et d’inventaire tels que la géographie, le segment, la fréquence, le domaine et la catégorie.

API REST

HTTP, méthode Endpoint Description
POST - https://api.appnexus.com/campaign?advertiser_id=ADVERTISER_ID
- https://api.appnexus.com/campaign?advertiser_code=ADVERTISER_CODE
(JSON de campagne)
Ajoutez une nouvelle campagne.
PUT - https://api.appnexus.com/campaign?id=CAMPAIGN_ID& advertiser_id=ADVERTISER_ID
- https://api.appnexus.com/campaign?code=CAMPAIGN_CODE& advertiser_code=ADVERTISER_CODE
(JSON de campagne)
Modifier une campagne existante.
GET - https://api.appnexus.com/campaign?id=CAMPAIGN_ID& advertiser_id=ADVERTISER_ID
- https://api.appnexus.com/campaign?code=CAMPAIGN_CODE& advertiser_code=ADVERTISER_CODE
Affichez une campagne spécifique pour l’un de vos annonceurs.
GET - https://api.appnexus.com/campaign?advertiser_id=ADVERTISER_ID
- https://api.appnexus.com/campaign?advertiser_code=ADVERTISER_CODE
Affichez toutes les campagnes de l’un de vos annonceurs.
GET https://api.appnexus.com/campaign?id=1,2,3 Affichez plusieurs campagnes par ID à l’aide d’une liste séparée par des virgules.

Remarque :Filtres utiles
- Vous pouvez filtrer les campagnes en fonction du moment où elles ont été servies pour la première et la dernière fois. Cela est particulièrement utile lorsque vous approchez de votre limite d’objets et que vous devez identifier les campagnes qui peuvent être supprimées du système. Pour plus d’informations, consultez Première exécution/Dernière exécution.
- Vous pouvez filtrer les campagnes qui ne sont pas en service en raison de différentes conditions. Pour plus d’informations, consultez Alertes.
GET https://api.appnexus.com/campaign?search=SEARCH_TERM Recherchez des campagnes avec des ID ou des noms contenant certains caractères.
DELETE https://api.appnexus.com/campaign?id=CAMPAIGN_ID& advertiser_id=ADVERTISER_ID Supprimer une campagne.

Attention:
La suppression est permanente et ne peut pas être annulée. Bien que les campagnes supprimées restent disponibles dans les rapports, vous n’aurez plus de visibilité sur leurs paramètres spécifiques (par exemple, le budget des coûts et le ciblage).
GET https://api.appnexus.com/campaign/meta Découvrez les champs que vous pouvez filtrer et trier.

Champs JSON

Généralités

Champ Type Description
id int ID de la campagne.
Obligatoire On :PUT, dans la chaîne de requête.
State enum État de la campagne. Valeurs possibles : "active" ou "inactive".
Par défaut:"active"
parent_inactive valeur booléenne Si truela valeur est , la campagne est inactive en raison de l’élément de ligne parent inactif, et de la campagne state est remplacée (par exemple, si "parent_inactive": "true" et "state": "active", la campagne est inactive).

Remarque :
Pour retourner ce champ, le advertiser_id doit être inclus dans la chaîne de requête.
Par défaut:false
En lecture seule.
code string (100) Code personnalisé pour la campagne. Le code peut contenir uniquement des caractères alphanumériques, des points, des traits de soulignement ou des tirets. Le code que vous entrez ne respecte pas la casse (les caractères en majuscules et en minuscules sont traités de la même façon). 2 objets au même niveau (par exemple, des éléments de ligne ou des campagnes) ne peuvent pas utiliser le même code par annonceur. Par exemple, les éléments de 2 lignes ne peuvent pas utiliser le code « XYZ », mais un seul élément de ligne et sa campagne enfant le peuvent.
name string (255) Nom de la campagne.
Obligatoire sur :POST
short_name string (50) Nom utilisé par imp Bus.
advertiser_id int ID de l’annonceur auquel appartient la campagne.
Obligatoire On :POST/PUT, dans la chaîne de requête.
profile_id int Vous pouvez associer un facultatif profile_id à cette campagne. Un profil est un ensemble générique de règles pour le ciblage de l’inventaire. Pour plus d’informations, consultez service de profil.
line_item_id int ID de l’élément de ligne auquel la campagne est associée.

Attention:
Pas plus de 500 campagnes peuvent être associées à un seul élément de ligne.

Obligatoire sur :POST
start_date Timestamp Date et heure auxquelles la campagne doit commencer à servir. Null correspond à « immediately ». Cette valeur reflète le fuseau horaire de l’annonceur.
Par défaut:null
end_date Timestamp Date et heure auxquelles la campagne doit cesser de servir. Null correspond à « indéfiniment ». Cette valeur reflète le fuseau horaire de l’annonceur.
Par défaut:null
creatives tableau Liste des ID ou codes créatifs associés à la campagne. La mise à jour nécessite uniquement la transmission de l’ID ou du code, mais GET la demande inclut des champs plus créatifs pour des raisons pratiques.
Pour plus d’informations, consultez Creatives et l’exemple ci-dessous.
creative_groups tableau d’ID Vous souhaiterez peut-être regrouper un groupe de créatifs, puis les ajouter à une campagne en même temps. Create groupes via le service d’élément de ligne.
timezone enum Fuseau horaire de la campagne. Pour plus d’informations et les valeurs acceptées, consultez Fuseaux horaires d’API. Si aucun fuseau horaire n’est défini, il s’agit par défaut du fuseau horaire de l’annonceur, qui correspond par défaut au fuseau horaire du membre, qui est par défaut EST5EDT. Les budgets quotidiens de campagne étant réinitialisés à minuit dans le fuseau horaire de la campagne, ce champ détermine cette heure.

Remarque :
Tout PUT appel au advertiser service inclus set_child_timezone=true dans la chaîne de requête entraîne la substitution des paramètres de fuseau horaire sur les objets de niveau inférieur (par exemple, les ordres d’insertion, les éléments de ligne, les campagnes) par la valeur de fuseau horaire la plus récente pour cet annonceur.

Par défaut: Fuseau horaire de l’annonceur.
last_modified Timestamp Heure de la dernière modification de cette campagne.
supply_type string Types d’approvisionnement ciblés par cette campagne, tels que définis par le supply_type_targets champ dans le profil associé. Cette chaîne peut contenir une ou plusieurs des valeurs suivantes, séparées par des virgules : web, mobile_web et mobile_app.
En lecture seule.
supply_type_action enum Indique si les types d’approvisionnement sont « inclus » ou « exclus » du ciblage, comme défini par le supply_type_action champ dans le profil associé.
En lecture seule.
inventory_type enum Type d’inventaire ciblé par cette campagne.
Valeurs possibles : "real_time", "direct"ou "both". "Real-time" inclut tout inventaire tiers non géré par votre réseau qui a été activé pour la revente, y compris les partenaires fournisseurs externes tels que Microsoft Advertising Exchange et Google Ad Manager. "Direct" inclut uniquement l’inventaire géré par votre réseau.

Par défaut:"real_time"
roadblock_creatives valeur booléenne Ne servir cette campagne que si tous les créatifs qui y sont attachés sont en mesure de servir sur un chargement de page.

Remarque :
Le blocage de route est activé uniquement pour l’inventaire direct. Si vous essayez de définir roadblock_creatives sur true pour un inventory_type autre que direct, l’API retourne une erreur.
roadblock_type enum Il existe plusieurs types d’obstacles disponibles. Les valeurs autorisées sont "no_roadblock", "normal_roadblock" (où le nombre de créations est supérieur ou égal au nombre de placements), "partial_roadblock" (où le nombre de créations est inférieur ou égal au nombre de placements) et "exact_roadblock" (où le nombre de créations est égal au nombre de placements disponibles).

Par défaut:"no_roadblock"
stats objet L’objet stats est déconseillé (depuis le 17 octobre 2016). Utilisez plutôt le service de rapports pour obtenir des informations statistiques.
all_stats tableau L’objet stats est déconseillé (depuis le 17 octobre 2016). Utilisez plutôt le service de rapports pour obtenir des informations statistiques.
comments string Commentaires sur la campagne.
labels tableau d’objets Étiquettes facultatives appliquées à la campagne. Une étiquette est actuellement disponible : « Test/Contrôle ». Pour plus d’informations, consultez Étiquettes ci-dessous.

Pointe:
Vous pouvez créer des rapports sur les étiquettes de campagne avec les rapports Network Analytics, Network Advertiser Analytics et Advertiser Analytics . Par exemple, si vous utilisez l’étiquette « Test/Contrôle » pour spécifier le groupe d’utilisateurs que vous ciblez (tel que défini par le champ user_group_targets dans le profil associé), vous pouvez exécuter le rapport Analyse réseau filtré par « user_group_for_campaign » pour vous concentrer sur les campagnes qui ciblent un groupe d’utilisateurs particulier, ou regroupé par « user_group_for_campaign » pour classer les performances de vos groupes d’utilisateurs.
broker_fees tableau Les frais que le réseau doit payer aux courtiers lors de la diffusion d’une publicité. Ces frais s’ajoutent au coût de l’inventaire et concernent généralement les données, la diffusion de publicités ou l’hébergement créatif. Il peut s’agir d’un pourcentage du coût du média ou d’un CPM plat. Pour plus d’informations, consultez Frais de broker ci-dessous.
click_url string (1000) URL (facultative) de la page d’accueil pour les images tierces et les créations flash.
valuation objet Objet contenant plusieurs champs relatifs aux objectifs de performances et à la marge minimale. Pour plus d’informations, consultez Évaluation ci-dessous.
remaining_days int Nombre de jours entre aujourd’hui et le end_date pour la campagne.

Note: Cette valeur est null si est start_date dans le futur ou si ou n’est end_datestart_date pas défini.

En lecture seule.
total_days int Nombre de jours entre et start_dateend_date pour la campagne.

Note: Cette valeur est null si ou n’est start_dateend_date pas défini.

En lecture seule.
first_run Timestamp Date et heure de la première exécution de la campagne, actualisée toutes les heures. Cette valeur reflète le fuseau horaire UTC. Pour inclure ces informations dans une réponse GET, transmettez flight_info=true la chaîne de requête. Pour plus d’informations sur la façon de filtrer les éléments de ligne en fonction du moment où ils sont servis pour la première fois, consultez Première exécution/dernière exécution ci-dessous.
En lecture seule.
last_run Timestamp Date et heure de la dernière exécution de la campagne, actualisée toutes les heures. Cette valeur reflète le fuseau horaire UTC. Pour inclure ces informations dans une réponse GET, transmettez flight_info=true la chaîne de requête. Pour plus d’informations sur la façon de filtrer les éléments de ligne en fonction du moment où ils ont été servis pour la dernière fois, voir Première exécution/Dernière exécution ci-dessous.
En lecture seule.
alerts objet Conditions qui empêchent la campagne de servir. Il existe deux types d’alertes : les pauses et les avertissements. Les pauses sont considérées comme intentionnelles et pilotées par l’utilisateur, tandis que les avertissements sont considérés comme involontaires. Par exemple, « L’état est défini sur inactif » est considéré comme une pause, tandis que « Aucun créatif n’est associé à cette campagne » est considéré comme un avertissement. Pour récupérer des campagnes basées sur des pauses et/ou des avertissements, vous devez transmettre certains paramètres de chaîne de requête dans la requête GET. Pour plus d’informations, notamment une liste complète des interruptions et avertissements possibles, consultez Alertes ci-dessous.
En lecture seule.
creative_distribution_type enum Lorsque plusieurs créations de la même taille sont acheminées via un élément de ligne, le paramètre de ce champ est utilisé pour déterminer la stratégie de rotation créative qui sera utilisée. Notez que les éléments créatifs doivent être gérés sur la campagne pour pouvoir utiliser ce champ. Valeurs autorisées :
- Même: Valeur par défaut. Utilisez notre algorithme d’optimisation de la création standard, où l’évaluation de chaque créatif est calculée indépendamment et le créatif le mieux évalué est choisi pour servir.
- Pondérée: La rotation créative est basée sur un poids fourni par l’utilisateur.
- optimisé pour ctr : Le créatif avec le CTR le plus élevé offre le plus.
Par défaut:"even"
is_archived valeur booléenne En lecture seule. Indique si la campagne a été automatiquement archivée parce qu’elle n’est pas utilisée. Une fois la valeur définie truesur , la valeur ne peut pas être modifiée et les seuls appels qui peuvent être effectués sur l’objet de campagne sont GET et DELETE.

Remarque :
Si une campagne est automatiquement archivée, son profil est également archivé. Si l’élément de ligne parent de la campagne est automatiquement archivé, toutes les campagnes (ainsi que leurs profils) sous cet élément de ligne sont également archivées. Une fois archivés, les seuls appels qui peuvent être effectués sur ces objets sont GET et DELETE. En outre, une fois archivée, la campagne peut ne pas être associée à des éléments de ligne.

Par défaut:false
archived_on Timestamp En lecture seule. Date et heure auxquelles la campagne a été archivée (c’est-à-dire truequand le is_archived champ a été défini sur ).

Par défaut:null

creatives Exemple

[{"id": 233,"state":"active","code":"abc","name":"test","width":200,"height":200,
"audit_status":"pending","is_expired":true,
"is_prohibited":false,"is_self_audited:true,
"format":"image","pop_window_maximize":false}]

Tarification/budgétisation

Champ Type Description
lifetime_budget double Le budget de durée de vie en dollars (coût multimédia). Null correspond à « unlimited ».

Attention:
Si lifetime_budget est défini sur null (illimité) et que les budgets de durée de vie de l’élément de ligne et de l’ordre d’insertion sont également définis sur null, des dépassements importants peuvent se produire.
Par défaut:null
lifetime_budget_imps int Budget de durée de vie dans les impressions. Null correspond à « unlimited ».
Par défaut:null
daily_budget double Le budget quotidien en dollars (coût média). Null correspond à « unlimited ».
Par défaut:null
daily_budget_imps int Budget quotidien dans les impressions. Null correspond à « unlimited ».
Par défaut:null
learn_budget double Le budget de durée de vie (coût multimédia) alloué à l’apprentissage. Null correspond à « unlimited ».
Par défaut:null
learn_budget_imps int Le budget d’impression de durée de vie alloué à l’apprentissage. Null correspond à « unlimited ».
Par défaut:null
learn_budget_daily_cap double Nombre maximal de dollars (coût multimédia) qui peuvent être alloués à l’apprentissage par jour. Null correspond à « unlimited ».
Par défaut:null
learn_budget_daily_imps int Nombre maximal d’impressions pouvant être allouées à l’apprentissage par jour. Null correspond à « unlimited ».
Par défaut:null
enable_pacing valeur booléenne Si truela valeur est , les dépenses budgétaires quotidiennes de la campagne sont réparties uniformément chaque jour. Cela s’applique uniquement si daily_budget est défini. Pour plus d’informations sur le rythme quotidien, consultez « Rythme quotidien » dans la documentation de l’interface utilisateur.
Par défaut:false
lifetime_pacing valeur booléenne Si truela valeur est , la campagne tente de dépenser son budget de durée de vie globale uniformément sur les dates de vol de la campagne. Si la valeur est true, vous ne pouvez pas définir un daily_budget, vous ne pouvez pas définir enable_pacing sur false, et vous devez d’abord établir un lifetime_budget, un start_dateet un end_date pour la campagne.
Par défaut:false
lifetime_pacing_span int En cas d’événement sous-dépensé, cela indique le nombre de jours pendant lesquels le montant sous-dépensé sera distribué. La valeur par défaut de null indique une valeur de trois (3) jours.
Par défaut:null
priority int Pour une campagne ciblant l’inventaire direct (inventory_type est "direct"), étant donné que vous avez déjà payé pour l’inventaire, il n’est pas nécessaire d’entrer une stratégie d’achat. Toutefois, vous pouvez définir la priorité de la campagne pour la pondérer par rapport à d’autres campagnes directes au sein de votre compte. La campagne avec la priorité la plus élevée gagnera toujours, même si une campagne de priorité inférieure offre plus d’enchères. Pour plus d’informations sur la gestion de la priorité, consultez « Priorité d’enchère » dans la documentation de l’interface utilisateur.
Par défaut:5
cadence_modifier_enabled valeur booléenne Si truela valeur est , les enchères sont ajustées vers le haut et vers le bas en fonction de la fréquence et de la récurrence de l’utilisateur. En règle générale, les enchères sont augmentées pour les impressions de récurrence à faible fréquence et diminuées pour les utilisateurs de récurrence à fréquence élevée. Cette fonctionnalité est basée sur l’idée que l’efficacité d’une publicité diffère lorsqu’un utilisateur n’a pas vu la publicité auparavant, ne l’a pas vue plusieurs fois ou ne l’a pas vue récemment. Pour plus d’informations, consultez « Modificateur de cadence et facteur de chaos » dans la documentation de l’interface utilisateur.
Par défaut:false
expected_pacing double Déconseillée.
Remarque :
L’objet stats et Quickstats sont dépréciés (depuis le 17 octobre 2016).
total_pacing double Déconseillée.
Remarque :
L’objet stats et Quickstats sont dépréciés (depuis le 17 octobre 2016).
has_pacing_dollars enum Déconseillée.
Remarque :
L’objet stats et Quickstats sont dépréciés (depuis le 17 octobre 2016).
has_pacing_imps enum Déconseillée.
Remarque :
L’objet stats et Quickstats sont dépréciés (depuis le 17 octobre 2016).
imps_pacing_percent int Déconseillée.
Remarque :
L’objet stats et Quickstats sont dépréciés (depuis le 17 octobre 2016).
media_cost_pacing_percent int Déconseillée.
Remarque :
L’objet stats et Quickstats sont dépréciés (depuis le 17 octobre 2016).

Stratégies d’appel d’offres

Champ Type Description
cpm_bid_type enum Valeurs possibles :
- "base": Enchérir un montant fixe.
- "average": Prix moyen estimé de l’offre (EAP), estimation du prix susceptible de gagner environ 50 % des impressions des vendeurs de notre plateforme en fonction des enchères historiques et de leur succès ou échec. Étant donné que les vendeurs hors plateforme (par exemple, Google Ad Manager, Rubicon, etc.) mènent une enchère secondaire, les enchères EAP ne garantissent pas nécessairement la moitié des impressions hors plateforme.
- "clearing": Prix clair estimé de l’offre (ECP), une estimation du prix susceptible de gagner la plupart des impressions des vendeurs de notre plateforme en fonction des enchères historiques et de leur succès ou échec. Étant donné que les vendeurs hors plateforme (par exemple, Google Ad Manager, Rubicon, etc.) effectuent une enchère secondaire, les enchères ECP ne garantissent pas nécessairement la victoire des impressions hors plateforme.
- "predicted": Variez les enchères en fonction de la probabilité d’un clic ou d’une conversion pour chaque partie de l’inventaire. Pour prédire la CPP, utilisez cpc_goal. Pour prédire l’ACP, consultez Pixels ci-dessous.
- "margin": Offre un % de marge du chiffre d’affaires que l’annonceur vous paie. Voir bid_margin (en anglais).
- "custom_model": calculez le prix de votre offre en fonction d’un modèle prédictif personnalisé. Vous définissez le modèle à utiliser dans l’objet bid_model . Pour plus d’informations, consultez Modèles personnalisés.

Note: Vous pouvez définir sur cpm_bid_type"custom_model" uniquement lorsque inventory_type a la valeur "rtb".

- "none": Aucun n’est disponible uniquement si vous payez par clic ou par conversion, ce qui entraîne l’impossibilité d’enchérir CPM.
Obligatoire Sur :POST, sauf si inventory_type est défini sur "direct".
base_bid double Une enchère CPM. Peut être modifié par le cadence_modifer.
Obligatoire Sur :POST, si cpm_bid_type a la valeur "base".
min_bid double Définissez une enchère minimale qui s’appliquera aux modèles de tarification variables (voir cpm_bid_type).
max_bid double Définissez une enchère maximale qui s’appliquera aux modèles de tarification variables (voir cpm_bid_type).
bid_margin double Marge en pourcentage du chiffre d’affaires que l’annonceur vous verse. Par exemple, si votre chiffre d’affaires réservé est de 1 $ CPM et que vous définissez une marge de stratégie d’enchère de 25 %, votre campagne enchéra 0,75 $. Si votre type de revenu réservé est un objectif CPA ou CPC, il applique la marge souhaitée et l’optimise à cet objectif prédit.
Obligatoire Sur :POST, si cpm_bid_type a la valeur "margin".
cpc_goal double Vous pouvez varier les enchères en fonction de la probabilité d’un événement de conversion, qu’il s’agit d’un clic ou d’une acquisition, pour ce stock particulier, afin d’atteindre un coût spécifique par clic ou un coût par acquisition. Dans ce cas, l’algorithme de notre plateforme détermine une enchère en fonction des taux de conversion passés et en fonction de la valeur que vous évaluez une conversion, que vous la définissez comme un clic ou une acquisition (inscription, achat, etc.).
Obligatoire On :POST, si cpm_bid_type est "predicted" et que roi_click_goal et ne roi_view_goal sont pas définis dans le pixels tableau.
max_learn_bid double Lors de l’utilisation de cpm_bid_type"predicted", le moteur d’optimisation envoie des enchères « learn » pour en savoir plus sur le nouvel inventaire. Si nécessaire, entrez le montant maximal en dollars CPM pour ces enchères.

Remarque :
Lorsque vous définissez à la fois max_learn_bid pour les enchères Learn et max_bid pour les enchères sans apprentissage, la plus faible des deux est utilisée pour learn.
Par défaut:null
pixels tableau Si vous utilisez une stratégie d’enchères cpa, le tableau de pixels est utilisé pour associer des pixels de conversion à la campagne et définir des objectifs cpa et des valeurs de paiement pour les pixels. Pour plus d’informations, consultez Pixels ci-dessous.
bid_model objet Si vous utilisez un modèle prédictif personnalisé pour déterminer les prix des enchères, cet objet est utilisé pour associer votre modèle personnalisé à la campagne. Pour plus d’informations, consultez Modèle d’enchère ci-dessous.
Par défaut:null
Obligatoire Sur :POST, si cpm_bid_type a la valeur "custom_model".

Leviers d’optimisation

Ces champs facultatifs donnent aux utilisateurs avancés un contrôle supplémentaire sur l’optimisation de leurs campagnes. Pour plus d’informations sur ces champs, consultez « Leviers d’optimisation » dans la documentation de l’interface utilisateur.

Conseil

Si vous souhaitez accéder aux leviers d’optimisation, un administrateur Xandr doit définir le expose_optimization_levers champ true sur pour votre membre. Pour plus d’informations, contactez votre représentant de compte.

Champ Type Description
ecp_learn_divisor string Déconseillé. Cette fonctionnalité n’est pas prise en charge dans la version 7 du moteur d’optimisation. Pour plus d’informations sur les nouvelles façons d’ajuster les enchères Learn, consultez learn_override_type.
Par défaut:null (3)
projected_learn_events int Déconseillé. Cette fonctionnalité a été incorporée dans l’algorithme learn pour la version 7 du moteur d’optimisation.
Par défaut:null (3)
learn_threshold int Nombre d’événements réussis (clics ou conversions) requis avant de passer de la phase d’apprentissage à la phase optimisée. Valeurs possibles : 1 - 100.
Par défaut:null (3)
max_learn_bid double Lors de l’utilisation de « cpm_bid_type prédit », le moteur d’optimisation envoie des enchères « learn » pour en savoir plus sur le nouvel inventaire. Si nécessaire, entrez le montant maximal en dollars CPM pour ces enchères.

Note: Lorsque vous définissez à la fois max_learn_bid pour les enchères Learn et max_bid pour les enchères sans apprentissage, la plus faible des deux est utilisée pour learn.

Par défaut:null
cadence_type enum Niveau auquel le modificateur de cadence est appliqué. Valeurs possibles : "advertiser" ou "creative".
Par défaut:"advertiser"
defer_to_li_prediction valeur booléenne Si la valeur est true, cette campagne modifie temporairement le niveau auquel elle apprend tout en conservant un pourcentage de marge bénéficiaire spécifié. Pour plus d’informations, consultez « Leviers d’optimisation » dans la documentation de l’interface utilisateur.
Par défaut:false
optimization_lookback tableau d’objets L’optimisation est basée sur les 30 derniers jours de données, pondérées uniformément. Vous pouvez utiliser ce champ pour donner plus de poids à certains jours dans cette fenêtre.
Valeurs possibles pour "day": 0 - 29.
Valeurs possibles pour "bias_percent": 0 - 100.
Pour plus d’informations, consultez l’exemple ci-dessous.
optimization_version chaîne Indique la version de l’optimisation en cours d’utilisation.
Par défaut:v7
En lecture seule.
learn_override_type enum Si vous souhaitez remplacer l’enchère learn de notre algorithme, il s’agit du type d’enchère à envoyer à la place. Valeurs possibles :
- "base_cpm_bid": enchère CPM plate. Vous spécifiez la valeur CPM dans le base_cpm_bid_value champ .
- "venue_avg_cpm_bid": enchère moyenne pour chaque lieu.
Par défaut:null
base_cpm_bid_value double Valeur CPM à utiliser pour les enchères Learn, quand learn_override_type est "cpm_learn_bid". Cette valeur ne peut pas être supérieure à 10,0.
Par défaut:null
Obligatoire Sur :POST/PUT, si learn_override_type a la valeur "base_cpm_bid".
bid_multiplier double Valeur par laquelle multiplier l’enchère learn. Cela peut être utilisé pour l’offre d’apprentissage par défaut de notre algorithme ou pour remplacer l’offre learn lorsque learn_override_type est "venue_average_cpm_bid". Cette valeur ne peut pas être supérieure à 10.0.
Par défaut:1.0
impression_limit int Pour un lieu spécifique, nombre d’impressions après lesquelles cesser de remplacer l’offre d’apprentissage de notre algorithme. Cette valeur doit être supérieure à 0.
Par défaut:40000
campaign_modifiers tableau d’objets Tableau d’objets contenant les paramètres liés au modificateur de segment associés à cette campagne (format ci-dessous). Pour plus d’informations, consultez « Modificateur de segment » dans la documentation de l’interface utilisateur.

Remarque :
Vous ne pouvez pas définir à la fois campaign_modifier et bid_modifier_model dans une seule campagne.
Pour plus d’informations, consultez l’exemple ci-dessous.
bid_modifier_model objet Modèle prédictif personnalisé pour appliquer des multiplicateurs à l’offre CPM dérivée de l’optimisation de la campagne. Ce type de modèle est utilisé conjointement avec notre stratégie d’achat basée sur l’optimisation (quand cpm_bid_type est "predicted" ou "margin").
Pour plus d’informations, consultez Modèle de modificateur d’enchère ci-dessous.

Remarque :
Vous pouvez définir bid_modifier_model uniquement quand inventory_type a la valeur "rtb". En outre, vous ne pouvez pas définir à la fois bid_modifier_model et campaign_modifier dans une seule campagne.
Par défaut:null

optimization_lookback Exemple

"optimization_lookback":[
{
"day":8,
"bias_percent":10
},
{
"day":12,
"bias_percent":11
}
],

campaign_modifiers Exemple

{
"campaign":
{
"id":123,
"name":"ModifiedCampaign",
"campaign_modifiers":[
{
"type":"segment_modifier_id",
"value":456
},
{
"type":"segment_price_id",
"value":789
},
{
"type":"segment_modifier_weight",
"value":1200
}
]
}
}

Frais de répartiteur

Lorsqu’un réseau utilise un répartiteur pour servir une impression, il paie des frais au répartiteur pour ce service. Cette valeur varie selon les réseaux, les courtiers et les campagnes. Par conséquent, le réseau doit spécifier le montant qu’il paiera chaque répartiteur qu’il utilise. Cela peut également être effectué au niveau de l’élément de ligne (service d’élément de ligne) ou au niveau de l’ordre d’insertion (service de commande d’insertion).

Pour créer ou modifier des répartiteurs, reportez-vous au service Broker.

Champ Type (Longueur) Description
broker_id int ID du répartiteur.
broker_name chaîne Nom du répartiteur.
En lecture seule.
payment_type enum Type de paiement au répartiteur.
Valeurs possibles : "cpm" ou "revshare".
value double Valeur du paiement, en fonction du type de paiement.
description string (255) Description en forme libre de l’entrée des frais de courtier.

Ajouter des frais de répartiteur

$ cat add-broker-fees.json
{
    "campaign":
        {
    "broker_fees":[
        {
                "broker_id": 145,
                "broker_name": "Test 3",
                "payment_type": "cpm",
                "value": "1.00",
                "description": "JMS fee"
            }]
    }
}

$ curl -b cookies -c cookies -X PUT -d @add-broker-fees.json 'https://api.appnexus.com/campaign?id=376737&advertiser_id=35081'

{
    "response":{
         "status":"OK",
         "id":"376737",
         "count":1,
         "start_element":0,
         "num_elements":100,
        }
}

Modifier les frais d’un courtier

$ cat modify-broker-fee.json
{
"campaign" :
{ "broker_fees": [
    {
        "broker_id": 145,
        "payment_type": "cpm",
        "value": "3.00",
        "description": "New JMS fee"
        }]
    }
}

$ curl -b cookies -c cookies -X PUT -d @modify-broker-fee.json 'https://api.appnexus.com/campaign?id=376737&advertiser_id=35081'

{
    "response":{
        "status":"OK",
        "id":"376737",
        "count":1,
        "start_element":0,
        "num_elements":100,
        

Créatifs

Chaque objet du creatives tableau inclut les champs suivants. Pour obtenir des informations sur "id" les champs ou "code" , vous pouvez utiliser creative service.

Champ Type (Longueur) Description
id int ID du créatif. ou "id""code" est requis lors de la mise à jour de l’association créative.
Obligatoire sur :PUT
code string Code personnalisé pour le créatif. ou "id""code" est requis lors de la mise à jour de l’association créative.
Obligatoire sur :PUT
name string Nom du créatif.
En lecture seule.
width int Largeur du créatif.
En lecture seule.
height int La hauteur du créatif.
En lecture seule.
state enum État du créatif.
Valeurs possibles : "active" ou "inactive".
En lecture seule.
audit_status enum Audit status du créatif.
Valeurs possibles : "no_audit", "pending", "rejected", "audited"ou "unauditable".
En lecture seule.
is_expired valeur booléenne Indique si le créatif a expiré. Si falsela valeur est , le créatif est actif.
En lecture seule.
is_prohibited valeur booléenne Si le créatif tombe dans une catégorie interdite sur notre plateforme.
is_self_audited valeur booléenne Indique si le créatif est auto-audité. Si true, alors oui.
En lecture seule.
format enum Format du fichier créatif.
Valeurs possibles : "url-html", "url-js", "flash", "image", "raw-js""raw-html", "iframe-html"ou "text".
En lecture seule.
weight int Poids fourni par l’utilisateur qui détermine la stratégie de rotation créative pour les créations de même taille gérées au niveau de la campagne. Pour utiliser ce champ, la valeur de creative_distribution_type doit être "weighted".
Valeur autorisée : entier supérieur 0 à et inférieur ou égal à 1000.
pop_window_maximize valeur booléenne Si truela valeur est , la balise de l’éditeur agrandit la fenêtre. Uniquement pertinent pour les créations au format "url-html" et "url-js". Si pop_window_maximize a la truevaleur , ni ne "height""width" doit être défini sur le créatif.
En lecture seule.

Évaluation

L’objet valuation contient les champs suivants relatifs à la marge minimale. Pour plus d’informations sur la marge minimale, consultez « Utilisation de la marge minimale pour équilibrer la marge et la livraison » dans la documentation de l’interface utilisateur.

Champ Type (Longueur) Description
min_margin_rtb_pct decimal La marge minimale PCT sur l’inventaire RTB. Remplace ce qui est défini dans l’élément de ligne.
Par défaut:null
eap_multiplier decimal Valeur du multiplicateur EAP. Ne peut être utilisé que sur les types d’inventaire « real_time » ou « les deux ».
Par défaut:1.000000

Stats

Attention

L’objet stats est déconseillé (depuis le 17 octobre 2016). Utilisez plutôt le service de rapports pour obtenir des informations statistiques.

Étiquettes

Chaque objet du labels tableau inclut les champs suivants.

Remarque

Vous pouvez utiliser le service d’étiquette en lecture seule pour afficher toutes les étiquettes possibles pour les campagnes, les annonceurs, les ordres d’insertion, les éléments de ligne et les éditeurs. Ce service vous permet également d’afficher les étiquettes qui ont déjà été appliquées à vos objets.

Champ Type (Longueur) Description
id int ID de l’étiquette. Valeur possible : 9 (Test/Contrôle).
name enum Nom de l’étiquette. Ce champ est en lecture seule. Valeur possible : « Test/Control ».
value string (100) Valeur affectée à l’étiquette. Il peut s’agir du nom du user_group_target dans le profil associé.

Pixels

Remarque

Avant de pouvoir associer un pixel à une campagne, le pixel doit déjà être attaché à l’élément de ligne parent. En outre, si cpc_bid_type est "predicted" et cpc_goal n’est pas défini, vous devez fournir une valeur pour roi_click_goal ou roi_view_goal.

Champ Type Description
id int ID du pixel de conversion.
state enum État du pixel de conversion. Valeurs possibles : "active" ou "inactive".
name chaîne En lecture seule. Nom du pixel de conversion.
roi_click_goal double Si vous payez sur une base par impression (CPM) et que vous optimisez pour atteindre un objectif DEC prédit, définissez ce champ sur l’objectif de clic.
roi_view_goal double Si vous payez sur une base par impression (CPM) et que vous optimisez pour atteindre un objectif DEC prédit, définissez ce champ sur l’objectif de vue.
click_payout double Si vous payez sur la base de la conversion (CPA), définissez ce champ sur le montant à payer à l’éditeur par clic.
view_payout double Si vous payez sur une base de conversion (CPA), définissez ce champ sur le montant à payer à l’éditeur par affichage.

Modèle d’enchère

L’objet bid_model contient les champs suivants.

Champ Type Description
id int ID du modèle personnalisé. Seuls les modèles personnalisés avec model_output défini sur "Bid" sont autorisés. Utilisez le service de modèle personnalisé pour récupérer ces ID.
name chaîne Nom du modèle personnalisé.
En lecture seule.
active Valeur booléenne Status du modèle. Valeurs possibles : 1 (true) ou 0 (false).
En lecture seule.

Modèle de modificateur d’enchère

L’objet bid_modifier_model contient les champs suivants.

Champ Type Description
id int ID du modèle personnalisé. Seuls les modèles douaniers avec model_output défini sur "bid_modifier" sont autorisés. Utilisez le service de modèle personnalisé pour récupérer ces ID.
name chaîne Nom du modèle personnalisé.
En lecture seule.
active Valeur booléenne Status du modèle. Valeurs possibles : 1 (true) ou 0 (false).
En lecture seule.

Première exécution/dernière exécution

Pour inclure les first_run champs et last_run dans une GET réponse, transmettez flight_info=true la chaîne de requête. Vous pouvez également filtrer les campagnes en fonction du moment où elles ont été servies pour la première et la dernière fois, comme suit :

Récupérer uniquement les campagnes qui n’ont jamais été servies

Transmettez never_run=true la chaîne de requête.

curl -b cookies -c cookies 'https://api.appnexus.com/campaign?advertiser_id=100&flight_info=true&never_run=true'

Remarque

Vous pouvez utiliser never_run=true en combinaison avec d’autres filtres, mais sachez qu’il s’agit toujours d’une relation OR. Par exemple, si vous transmettez never_run=true et min_first_run=2012-01-01 00:00:00 dans la chaîne de requête, vous rechercherez des campagnes qui n’ont jamais servi d’éléments de ligne OR qui ont servi pour la première fois le ou après le 01-01-2012.

Récupérer uniquement les campagnes qui ont été servies pour la première fois à ou après une date spécifique

Transmettez min_first_run=YYYY-MM-DD HH:MM:SS la chaîne de requête.

curl -b cookies -c cookies 'https://api.appnexus.com/campaign?advertiser_id=100&flight_info=true&min_first_run=2012-01-01+00:00:00'

Récupérer uniquement les campagnes qui ont été servies pour la première fois à ou avant une date spécifique

Transmettez max_first_run=YYYY-MM-DD HH:MM:SS la chaîne de requête.

curl -b cookies -c cookies 'https://api.appnexus.com/campaign?advertiser_id=100&flight_info=true&max_first_run=2012-08-01+00:00:00'

Récupérer uniquement les campagnes qui ont été servies pour la première fois dans une plage de dates spécifique

Transmettez min_first_run=YYYY-MM-DD HH:MM:SS&max_first_run=YYYY-MM-DD HH:MM:SS la chaîne de requête.

curl -b cookies -c cookies 'https://api.appnexus.com/campaign?advertiser_id=100&flight_info=true&min_first_run=2012-01-01+00:00:00&max_first_run=2012-08-01+00:00:00'

Récupérer uniquement les campagnes qui ont été servies pour la dernière fois à ou après une date spécifique

Transmettez min_last_run=YYYY-MM-DD HH:MM:SS la chaîne de requête.

curl -b cookies -c cookies 'https://api.appnexus.com/campaign?advertiser_id=100&flight_info=true&min_last_run=2012-01-01+00:00:00'

Récupérer uniquement les campagnes qui ont été servies pour la dernière fois ou avant une date spécifique

Transmettez max_last_run=YYYY-MM-DD HH:MM:SS la chaîne de requête.

curl -b cookies -c cookies 'https://api.appnexus.com/campaign?advertiser_id=100&flight_info=true&max_last_run=2012-08-01+00:00:00'

Récupérer uniquement les campagnes qui ont été servies pour la dernière fois dans une plage de dates spécifique

Transmettez min_last_run=YYYY-MM-DD HH:MM:SS&max_last_run=YYYY-MM-DD HH:MM:SS la chaîne de requête.

curl -b cookies -c cookies 'https://api.appnexus.com/campaign?advertiser_id=100&flight_info=true&min_last_run=2012-01-01+00:00:00&max_last_run=2012-08-01+00:00:00'

Alertes

Ce champ vous informe des conditions qui empêchent la campagne de servir. Il existe deux types d’alertes : les pauses et les avertissements. Les pauses sont considérées comme intentionnelles et pilotées par l’utilisateur, tandis que les avertissements sont considérés comme involontaires. Par exemple, « L’état est défini sur inactif » est considéré comme une pause, tandis que « Aucun créatif n’est associé à cette campagne » est considéré comme un avertissement.

Pour récupérer des campagnes basées sur des pauses et/ou des avertissements, vous devez transmettre certains paramètres de chaîne de requête dans la GET requête. Consultez les cas d’usage ci-dessous avec des paramètres de chaîne de requête et des exemples. Notez que vous pouvez utiliser ces paramètres de chaîne de requête lors de la récupération de toutes les campagnes ou campagnes spécifiques, mais les exemples ci-dessous ne couvrent que la récupération de toutes les campagnes, car c’est là que cette fonctionnalité offre le plus de valeur.

Récupérer toutes les campagnes et afficher les alertes

Transmettez show_alerts=true la chaîne de requête. Ce paramètre ajoute l’objet alerts à chaque campagne dans la réponse, que la campagne ait ou non des pauses ou des avertissements.

Remarque

Pour chacun des cas d’usage ci-dessous, vous devez passer show_alerts=true si vous souhaitez que l’objet alerts s’affiche dans la réponse.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 2,
                            "message": "Parent line item is inactive."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 58991,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 58992,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 2,
                            "message": "Parent line item is inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont au moins une pause

Transmettez show_alerts=true&pauses=true la chaîne de requête.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=true'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 8,
                            "message": "Flight end is in the past."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui n’ont pas de pause

Transmettez show_alerts=true&pauses=false la chaîne de requête.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=false'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 58991,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 58992,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 2,
                            "message": "All creatives associated to this campaign are either ineligible to serve (inactive, expired, prohibited) or can serve only on direct inventory and on supply partners who trust your network's self-classification (unaudited)."
                        }
                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont une pause spécifique

Transmettez show_alerts=true&pauses=PAUSE_ID la chaîne de requête. Pour les ID de pause, consultez le tableau Pauses ci-dessous.

Dans cet exemple, nous utilisons l’ID de pause 4 pour récupérer toutes les campagnes avec des dates de début de vol qui seront à l’avenir.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=4'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 66493,
                "state": "inactive",
                "start_date": "2012-10-01 00:00:00",
                "end_date": null,
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 15:01:02"
                }
            },
            {
                "id": 66510,
                "state": "active",
                "start_date": "2012-9-01 00:00:00",
                "end_date": null,
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 2,
                            "message": "Parent line item is inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 15:01:02"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont au moins deux pauses spécifiques

Transmettez show_alerts=true&pauses=SUM_OF_PAUSE_IDS la chaîne de requête. Pour les ID de pause, consultez le tableau Pauses ci-dessous.

Dans cet exemple, nous ajoutons l’ID de pause 1 et l’ID de pause 2 pour récupérer toutes les campagnes qui sont définies sur inactives et dont les éléments de ligne sont également définis sur inactifs.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=3'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 66493,
                "state": "inactive",
                "start_date": "2012-10-01 00:00:00",
                "end_date": null,
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 2,
                            "message": "Parent line item is inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 15:01:02"
                }
            },
            {
                "id": 66510,
                "state": "inactive",
                "start_date": "2012-9-01 00:00:00",
                "end_date": null,
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 2,
                            "message": "Parent line item is inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 15:01:02"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont au moins un avertissement

Transmettez show_alerts=true&warnings=true la chaîne de requête.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&warnings=true'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 2,
                            "message": "All creatives associated to this campaign are either ineligible to serve (inactive, expired, prohibited) or can serve only on direct inventory and on supply partners who trust your network's self-classification (unaudited)."
                        },
                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui n’ont aucun avertissement

Transmettez show_alerts=true&warnings=false la chaîne de requête.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&warnings=false'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 58991,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 58992,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont un avertissement spécifique

Transmettez show_alerts=true&warnings=WARNING_ID la chaîne de requête. Pour les ID d’avertissement, consultez le tableau Avertissements ci-dessous.

Dans cet exemple, nous utilisons l’ID d’avertissement 1 pour récupérer toutes les campagnes sans créations associées.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&warnings=1'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont au moins une pause ET au moins un avertissement

Transmettez show_alerts=true&pauses=true&warnings=true la chaîne de requête.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=true&warnings=true'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 2,
                            "message": "Parent line item is inactive."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 58993,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 2,
                            "message": "All creatives associated to this campaign are either ineligible to serve (inactive, expired, prohibited) or can serve only on direct inventory and on supply partners who trust your network's self-classification (unaudited)."
                        }

                    ],
                    "pauses": [
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont une pause spécifique ET un avertissement spécifique

Transmettez show_alerts=true&pauses=PAUSE_ID&warnings=WARNING_ID la chaîne de requête. Pour connaître les ID de pause et d’avertissement, consultez les tableaux Pauses et Avertissements ci-dessous.

Dans cet exemple, nous récupérons toutes les campagnes qui ont une date de début de vol à l’avenir (ID de pause 4) ET qui n’ont pas de créations associées (ID d’avertissement 1).

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=4&warnings=1'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58990,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Récupérer uniquement les campagnes qui ont des pauses OU des avertissements

Vous pouvez combiner les paramètres décrits ci-dessus avec alert_boolean_op=orpour récupérer les campagnes qui ont certaines pauses OU certains avertissements. Consultez les exemples ci-dessous. Pour les ID de pause et d’avertissement, consultez Les tableaux Pauses et Avertissements ci-dessous.

Remarque

Le alert_boolean_op=orparamètre peut être utilisé uniquement pour récupérer des campagnes avec des pauses OU des avertissements. Il ne peut pas être utilisé pour rechercher les relations OR entre les pauses (c’est-à-dire, pause 1 OU pause 2) ou entre les avertissements (c’est-à-dire l’avertissement 1 OU l’avertissement 2).

Dans cet exemple, nous récupérons toutes les campagnes qui sont définies sur inactives (ID de pause 1) OU qui n’ont pas de créations éligibles (ID d’avertissement 2).

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=1&warnings=2&alert_boolean_op=or'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58934,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 2,
                            "message": "All creatives associated to this campaign are either ineligible to serve (inactive, expired, prohibited) or can serve only on direct inventory and on supply partners who trust your network's self-classification (unaudited)."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Dans cet exemple, nous récupérons toutes les campagnes qui sont définies sur inactives (ID de pause 1) OU qui n’ont aucun avertissement.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=1&warnings=false&alert_boolean_op=or'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58934,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Dans cet exemple, nous récupérons toutes les campagnes qui n’ont pas de pause OU qui n’ont aucun avertissement.

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=false&warnings=false&alert_boolean_op=or'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58934,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Dans cet exemple, nous récupérons toutes les campagnes qui sont définies sur inactives (ID de pause 1) ET dont l’élément de ligne parent est défini sur inactif (ID de pause 4) OU qui n’ont pas de créations associées (ID d’avertissement 1).

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?show_alerts=true&pauses=5&warnings=1&alert_boolean_op=or'

{
    "response": {
        "status": "OK",
        "campaigns": [
            {
                "id": 58934,
                "state": "inactive",
                ...
                "alerts": {
                    "warnings": [

                    ],
                    "pauses": [
                        {
                            "id": 1,
                            "message": "State is set to inactive."
                        },
                        {
                            "id": 4,
                            "message": "Flight start is in the future."
                        }
                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            {
                "id": 81287,
                "state": "active",
                ...
                "alerts": {
                    "warnings": [
                        {
                            "id": 1,
                            "message": "No creatives are associated with this campaign."
                        }
                    ],
                    "pauses": [

                    ],
                    "warnings_last_checked": "2012-07-27 14:40:36",
                    "pauses_last_checked": "2012-08-08 13:01:03"
                }
            },
            ...
        ],
        ...
        }
    }
}

Pauses

ID Description
1 L’état est défini sur inactif.
2 L’élément de ligne parent est inactif.
4 Le vol commence à l’avenir.
8 La fin du vol est dans le passé.

Avertissements

ID Description
1 Aucun élément créatif n’est associé à cette campagne.
2 Tous les éléments créatifs associés à cette campagne sont soit inéligibles (inactifs, arrivés à expiration, interdits), soit ne peuvent servir que sur des stocks directs et sur des partenaires d’approvisionnement qui font confiance à l’auto-classification de votre réseau (non audité).

Exemples

Afficher la campagne 17607 pour l’annonceur 9

$ curl -b cookies -c cookies 'https://api.appnexus.com/campaign?id=17607&advertiser_id=11'

{
    "response": {
        "status": "OK",
        "campaign": {
            "id": 167051,
            "state": "inactive",
            "code": null,
            "advertiser_id": 11,
            "line_item_id": 69405,
            "creative_id": 851325,
            "pixel_id": 16688,
            "short_name": null,
            "name": "My example campaign",
            "profile_id": 752909,
            "start_date": "2011-10-31 00:00:00",
            "end_date": null,
            "timezone": "EST5EDT",
            "priority": 5,
            "cadence_modifier_enabled": true,
            "cpc_goal": null,
            "cpm_bid_type": "predicted",
            "base_bid": null,
            "min_bid": null,
            "max_bid": null,
            "bid_margin": 0,
            "roadblock_creatives": false,
            "roadblock_type": "no_roadblock",
            "inventory_type": "real_time",
            "last_modified": "2014-05-28 16:06:01",
            "max_learn_bid": null,
            "cadence_type": "creative",
            "click_url": null,
            "require_cookie_for_tracking": true,
            "allow_unverified_ecp": false,
            "defer_to_li_prediction": false,
            "ecp_learn_divisor": "3.000000",
            "projected_learn_events": "3",
            "learn_threshold": 3,
            "cpc_payout": null,
            "comments": null,
            "optimization_version": "v7",
            "learn_override_type": null,
            "base_cpm_bid_value": null,
            "impression_limit": 40000,
            "bid_multiplier": 1,
            "remaining_days": null,
            "total_days": null,
            "supply_type_action": "include",
            "supply_type": "mobile_web, web",
            "creatives": [
                {
                    "id": 445832,
                    "code": null,
                    "name": "Donate car.png",
                    "width": "300",
                    "height": "250",
                    "state": "inactive",
                    "audit_status": "no_audit",
                    "is_expired": true,
                    "is_prohibited": false,
                    "is_self_audited": true,
                    "format": "image",
                    "pop_window_maximize": null
                }
            ],
            "pixels": [
                {
                    "id": 16688,
                    "roi_click_goal": 5,
                    "roi_view_goal": 5,
                    "click_payout": null,
                    "view_payout": null,
                    "code": null,
                    "name": "123",
                    "state": "active",
                    "trigger_type": "hybrid"
                }
            ],
            "optimization_lookback": [
                {
                    "day": "0",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "1",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "2",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "3",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "4",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "5",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "6",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "7",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "8",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "9",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "10",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "11",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "12",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "13",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "14",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "15",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "16",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "17",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "18",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "19",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "20",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "21",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "22",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "23",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "24",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "25",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "26",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "27",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "28",
                    "bias_percent": "50.000000"
                },
                {
                    "day": "29",
                    "bias_percent": "50.000000"
                }
            ],
            "campaign_modifiers": null,
            "labels": [
                {
                    "id": "9",
                    "name": "Test/Control",
                    "value": "Test pattern - Group 1"
                }
            ],
            "broker_fees": null,
            "valuation": null,
            "lifetime_budget": 16000,
            "lifetime_budget_imps": null,
            "daily_budget": 500,
            "daily_budget_imps": null,
            "enable_pacing": true,
            "allow_safety_pacing": true,
            "lifetime_pacing": false,
            "lifetime_pacing_span": null
        },
        "count": 1,
        "start_element": 0,
        "num_elements": 100
    }
}

Create une campagne directe

Ce code représente les informations minimales requises pour créer une campagne inactive pour l’inventaire direct sans création et sans ciblage.

$ cat create-campaign.json

{
    "campaign": {
    "state": "inactive",
    "name": "Rich's cool campaign",
    "advertiser_id": 11,
    "line_item_id": 47726,
    "inventory_type": "direct"
    }
}
$ curl -b cookies 'https://api.appnexus.com/campaign?advertiser_id=11'
{
  "response": {
    "status": "OK",
    "id": 11,
    "dbg_info": {
      ...
    }
  }
}