Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un réseau peut vouloir créer des « profils d’approbation publicitaire » pour définir les types de marques et de créations qui peuvent et ne peuvent pas s’exécuter sur les pages de leurs éditeurs. Le service de profil publicitaire vous permet de créer vos profils d’approbation publicitaire au niveau du membre ou de l’éditeur. Pour les créer au niveau de l’éditeur, incluez un ID d’éditeur. Si aucun ID d’éditeur n’est inclus, il s’agit d’un profil de niveau réseau disponible pour une utilisation avec tous les éditeurs.
Les profils publicitaires se composent de plusieurs éléments : membres, marques, créations, langage, attributs techniques, catégories et serveurs publicitaires. Lors de la création d’un profil publicitaire, vous pouvez approuver ou interdire chaque création dans le système individuellement, mais vous préférerez peut-être gagner du temps en approuvant ou en interdisant des marques ou des membres entiers.
- Un membre doit être approuvé : Si vous pensez que leurs annonces seront toujours acceptables. Par instance, vous pouvez « faire confiance » au réseau A pour diffuser des publicités de qualité, ce qui vous permet d’éviter d’avoir à auditer chacune de leurs créations.
- Une marque doit être approuvée : Si vous pensez que les publicités de cette marque seront presque toujours acceptables. Toutefois, vous aurez toujours la possibilité d’interdire un créatif spécifique même s’il fait partie d’une marque de confiance. Si la création spécifique n’est pas interdite, elle s’exécute par défaut.
- Une marque doit être interdite : Si vous pensez que les publicités de cette marque ne seront jamais acceptables. Vous aurez toujours la possibilité d’approuver un créateur spécifique affecté à une marque « interdite », sauf si le membre est interdit.
- Le profil par défaut (vide ou ID défini sur ) interdit les publicités non auditées d’autres membres (c’est-à-dire
0lorsque lemember_iddu créatif est différent de celuimember_iddu TinyTag).
Remarque
Une marque peut avoir une marque parente, comme un moyen de rassembler des marques par société mère/société enfant. Si un vendeur bloque/approuve une marque parente, toutes les marques enfants sans paramètre *explicite* approuver/bloquer correspondent au paramètre de marque parente.
API REST
| HTTP, méthode | Endpoint | Description |
|---|---|---|
GET |
https://api.appnexus.com/ad-profile | Afficher tous les profils publicitaires d’un membre. |
GET |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID | Afficher un profil publicitaire particulier. |
GET |
https://api.appnexus.com/ad-profile?publisher_id=PUBLISHER_ID | Afficher tous les profils publicitaires d’un éditeur spécifique. |
POST |
https://api.appnexus.com/ad-profile ( ad_profile JSON) |
Ajoutez un nouveau profil d’annonce au niveau du membre. |
POST |
https://api.appnexus.com/ad-profile?publisher_id=PUBLISHER_ID ( ad_profile JSON) |
Ajoutez un nouveau profil publicitaire au niveau de l’éditeur. |
PUT |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID ( ad_profile JSON) |
Modifier un profil publicitaire existant. |
DELETE |
https://api.appnexus.com/ad-profile?id=AD_PROFILE_ID | Supprimer un profil publicitaire existant. |
GET |
https://api.appnexus.com/ad-profile?sort=description | Triez les profils d’annonces par ordre alphabétique par description. |
GET |
https://api.appnexus.com/ad-profile?search=text_of_description | Recherchez un profil publicitaire par sa description. |
Champs JSON
| Champs | Type | Description |
|---|---|---|
id |
int | ID Xandr attribué par l’API pour référencer ce ad_profile.Obligatoire On : PUT, dans la chaîne de requête. |
state |
enum | État du profil publicitaire. Valeurs possibles : "active" ou "inactive".Par défaut: "active" |
member_id |
int | ID de membre propriétaire de ce ad_profile. |
description |
string | Description facultative. |
default_member_status |
enum | Le membre status à utiliser par défaut lorsqu’aucune sélection explicite n’est effectuée. Valeurs possibles : - "case-by-case": les éléments créatifs de ce membre doivent passer tous les filtres de marque, de langue, d’attribut technique, de catégorie et de serveur publicitaire définis sur le profil publicitaire- "banned": Aucun des créatifs de ce membre n’est autorisé à servir. |
default_brand_status |
enum | La marque status être utilisée par défaut lorsqu’aucune sélection explicite n’est effectuée. Valeurs possibles : "trusted" ou "banned". |
default_language_status |
enum | La langue status à utiliser par défaut lorsqu’aucune sélection explicite n’est effectuée. Valeurs possibles : "trusted" ou "banned". |
default_ad_server_status |
enum | Le serveur publicitaire status être utilisé par défaut lorsqu’aucune sélection explicite n’est effectuée. Valeurs possibles : "trusted" ou "banned". |
default_category_status |
enum | La catégorie status être utilisée par défaut lorsqu’aucune sélection explicite n’est effectuée. Valeurs possibles : "trusted" ou "banned". |
default_technical_attribute_status |
enum | L’attribut technique status être utilisé par défaut lorsqu’aucune sélection explicite n’est effectuée. Valeurs possibles : "trusted" ou "banned". |
default_audit_type |
enum | L’audit status être utilisé par défaut lorsqu’aucune sélection explicite n’est effectuée. Valeurs possibles : - "platform": les créatifs doivent avoir subi l’audit de la plateforme Xandr.- "platform_or_self": les créatifs doivent avoir été auto-audités par le membre ou avoir fait l’objet d’un audit Xandr. |
members |
tableau d’objets | Tableau de membres avec leur status. Pour plus d’informations, consultez Membres ci-dessous. |
brands |
tableau d’objets | Gamme de marques (marques parentes et marques enfants) avec leurs status. Pour plus d’informations, consultez Marques ci-dessous. |
creatives |
tableau d’objets | Tableau de créatifs avec leur status. Pour plus d’informations, consultez Créations ci-dessous. |
languages |
tableau d’objets | Tableau de langues avec leur status. Pour plus d’informations, consultez Langues ci-dessous. |
ad_servers |
tableau d’objets | Tableau de serveurs publicitaires avec leur status. Pour plus d’informations, consultez Serveurs publicitaires ci-dessous. |
categories |
tableau d’objets | Tableau de catégories avec leur status. Pour plus d’informations, consultez Catégories ci-dessous. |
technical_attributes |
tableau d’objets | Tableau d’attributs techniques avec leur status. Pour plus d’informations, consultez Attributs techniques ci-dessous. |
frequency_caps |
tableau d’objets | Tableau de limites de fréquence/récurrence. Pour plus d’informations, consultez Limite de fréquence ci-dessous. |
total_creative_count |
int | Nombre de créatifs. |
approved_creative_count |
int | Nombre de créations approuvées. |
banned_creative_count |
int | Nombre de créatifs interdits. |
creatives_approved_percent |
double | Pourcentage du nombre total de créations approuvées. |
creatives_unreviewed |
int | Nombre de créations en attente de révision. |
brands_unreviewed |
int | Nombre de marques en attente d’examen. |
exclude_unaudited |
valeur booléenne | Indique s’il faut ou non exclure les créations qui n’ont pas été auditées. |
exclude_unaudited_direct |
valeur booléenne | Indique s’il faut ou non exclure les créations qui n’ont pas été auditées pour les annonceurs directs. |
audit_type_direct |
string | Spécifie le type d’audit requis pour servir les éléments créatifs pour les annonceurs directs. Valeurs autorisées : - "platform": les créatifs doivent faire l’objet d’un audit de la plateforme Xandr.- "platform_or_self": les créatifs doivent être auto-audités par le membre ou subir un audit Xandr. |
check_attributes_direct |
valeur booléenne | Détermine si les éléments créatifs avec des attributs techniques peuvent ou ne peuvent pas être exécutés pour les annonceurs directs. |
excluded_landing_page_urls |
tableau d’URL | Non disponible. Les interdictions d’exclusions concurrentielles devraient être appliquées par le biais d’exclusions de marque. |
notes |
string | Remarques facultatives. |
publisher_id |
int | ID de l’éditeur à associer au profil publicitaire. |
last_modified |
Timestamp | En lecture seule. Horodatage de la dernière modification de ce profil publicitaire. |
require_seller_audit_default |
valeur booléenne | Indique si l’audit du vendeur est requis ou non. Valeur par défaut : false |
Members
| Champ | Type | Description |
|---|---|---|
id |
int | ID du membre. |
status |
enum | Indique si le membre peut ou ne peut pas exécuter des créations sur les pages de vos éditeurs. Valeurs autorisées : - "trusted": tous les créatifs de ce membre peuvent servir.- "case-by-case": les éléments créatifs de ce membre doivent passer tous les filtres de marque, de langue, d’attribut technique, de catégorie et de serveur publicitaire définis sur le profil publicitaire.- "banned": Aucun des créatifs de ce membre n’est autorisé à servir. |
audit_type |
enum | Type d’audit dont vous aurez besoin pour servir les créatifs de ce membre. Valeurs autorisées : - "platform": les créatifs doivent avoir fait l’objet d’un audit de la plateforme Xandr.- "platform_or_self": les créatifs doivent avoir été auto-audités par le membre ou avoir fait l’objet d’un audit Xandr. |
exclude_unaudited |
valeur booléenne | Si la valeur est true, les créations non auditées sont exclues de ce membre. |
require_seller_audit_status |
enum | Si le membre peut exiger son propre audit pour les créatifs d’un acheteur donné : - "always": ce membre peut toujours exiger un audit pour les créatifs d’un acheteur donné.- "never": ce membre ne peut jamais exiger d’audit pour les créatifs d’un acheteur donné.- "case-by-case": revenez à l’audit ad_profile.require_seller_audit_default status requis. |
Conseil
La combinaison des champs Membre status, audit_typeet exclude_unaudited détermine le niveau de confiance de l’acheteur indiqué dans le profil Qualité de l’annonce réseau.
status |
audit_type |
exclude_unaudited |
Niveau de confiance dans l’interface utilisateur |
|---|---|---|---|
banned |
S/O | S/O | Interdit |
case-by-case |
platform |
true |
Standard |
case-by-case |
platform_or_self |
true |
Moyen |
trusted |
platform |
true |
Élevé |
trusted |
platform |
false |
Maximum |
Marques
| Champ | Type | Description |
|---|---|---|
id |
int | ID de la marque. Vous pouvez utiliser le service de marque pour récupérer les ID de marque. |
status |
enum | Si les créatifs de cette marque peuvent ou non s’exécuter sur les pages de vos éditeurs. Valeurs possibles : "trusted" ou "banned".Note: Si une marque est marquée comme éligible, les créatifs associés à cette marque serviront même si la catégorie de la marque est Interdite. Par exemple, si vous marquez la marque « 1 et 1 Internet (17310) » comme Éligible, elle servira même si vous interdisez sa catégorie globale, « Télécommunications (27) ». |
parent_brand_id |
int | Lorsqu’une marque a une marque parente, la valeur par défaut est définie sur null. |
Créatifs
| Champ | Type | Description |
|---|---|---|
id |
int | ID du créatif. Vous pouvez utiliser creative service pour récupérer des ID créatifs. |
approved |
valeur booléenne | Si truela valeur est , la création peut s’exécuter sur les pages de vos éditeurs. |
Langages
| Champ | Type | Description |
|---|---|---|
id |
int | ID de la langue. Vous pouvez utiliser le service de langage pour récupérer les ID de langue. |
status |
enum | Indique si les créatifs de ce langage peuvent ou non exécuter des créations sur les pages de vos éditeurs. Valeurs possibles : "trusted" ou "banned". |
Serveurs publicitaires
| Champ | Type | Description |
|---|---|---|
id |
int | ID du serveur publicitaire. Vous pouvez utiliser le service Ad Server pour récupérer les ID de serveur publicitaire. |
status |
enum | Indique si le serveur publicitaire peut ou ne peut pas exécuter des créations sur les pages de vos éditeurs. Valeurs possibles : "trusted" ou "banned". |
Catégories
| Champ | Type | Description |
|---|---|---|
id |
int | ID de la catégorie. Vous pouvez utiliser le service de catégorie pour récupérer les ID de catégorie. |
status |
enum | Indique si les créatifs de cette catégorie peuvent ou ne peuvent pas s’exécuter sur les pages de vos éditeurs. Valeurs possibles : "trusted" ou "banned". |
Attributs techniques
| Champ | Type | Description |
|---|---|---|
id |
int | ID de l’attribut technique. Vous pouvez utiliser le service d’attributs techniques pour récupérer les ID d’attribut technique. |
status |
enum | Indique si les créatifs dotés de cet attribut technique peuvent ou non s’exécuter sur les pages de vos éditeurs. Valeurs possibles : "trusted" ou "banned". |
Limites de fréquence
| Champ | Type | Description |
|---|---|---|
id |
int | En lecture seule. ID de la définition de limite de fréquence. |
member_id |
int | En lecture seule. ID du membre propriétaire du profil publicitaire. |
max_session_imps |
int | Nombre maximal d’impressions par personne et par session pour les créatifs avec le spécifié technical_attributes ou categories. Si elle est définie, cette valeur doit être comprise entre 0 et 255. |
max_day_imps |
int | Nombre maximal d’impressions par personne et par jour pour les créatifs avec le spécifié technical_attributes ou categories. Si elle est définie, cette valeur doit être comprise entre 0 et 255. |
min_minutes_per_imp |
int | Nombre minimal de minutes entre les impressions par utilisateur pour les créations avec le ou categoriesspécifiétechnical_attributes. |
cap_users_without_cookie |
valeur booléenne | Si truela valeur est , les utilisateurs sans cookies ne seront jamais affichés avec le ou categoriesspécifiétechnical_attributes. Ils seront traités comme s’ils ont atteint la limite de fréquence.Si falsela valeur est , aucune limite de fréquence pour le spécifique technical_attributes ou categories ne s’applique aux utilisateurs sans cookies. Il leur sera possible de voir un nombre illimité de créations avec le ou categoriesspécifiétechnical_attributes. |
technical_attributes |
tableau | ID des attributs techniques que vous limitez. Vous pouvez utiliser le service d’attributs techniques pour obtenir la liste complète des attributs techniques. Les technical_attributes champs et categories ont une relation OR. |
categories |
tableau | ID des catégories que vous limitez. Vous pouvez utiliser le service de catégorie pour obtenir la liste complète des catégories. Les technical_attributes champs et categories ont une relation OR. |
Exemples
Avertissement
Ajouter sur PUT
Vous remplacerez les données existantes par le contenu de votre PUT requête, sauf si vous ajoutez les paramètres append=true de chaîne de requête à la requête. Pour plus d’informations, consultez Sémantique de l’API et l’exemple Mettre à jour un profil publicitaire existant ci-dessous.
Create un nouveau profil publicitaire
Il s’agit d’un profil assez complexe. Ci-dessous, nous avons utilisé la cat commande pour générer un exemple de fichier JSON de profil publicitaire.
$ cat ad_profile
{
"ad-profile": {
"description": "Network Level ad profile",
"member_id": 326,
"brands": [
{
"id": "168",
"status": "banned"
},
{
"id": "255",
"status": "banned"
},
{
"id": "1072",
"status": "trusted"
},
{
"id": "1090",
"status": "trusted"
}
],
"creatives": [
{
"id": "5",
"approved": true
}
],
"notes": "This is a great ad profile",
"default_language_status": "banned",
"default_ad_server_status": "trusted",
"default_category_status": "trusted",
"default_technical_attribute_status": "trusted",
"excluded_landing_page_urls": ["https://www.netflix.com","https://www.blockbuster.com"],
"languages": [
{
"id": 1,
"status": "trusted"
}
],
"ad_servers": null,
"categories": [
{
"id": 41,
"status": "banned"
},
{
"id": 43,
"status": "trusted"
}
]
}
}
Mettre à jour un profil publicitaire existant
Étant donné le profil d’annonce JSON dans le premier exemple, supposons que vous souhaitez mettre à jour le categories tableau pour inclure un autre élément. Dans un cas d’usage réel, il peut y avoir 47 catégories dans le tableau. La sémantique de PUT signifie que pour ajouter une autre catégorie au tableau, vous devez passer les 47 catégories existantes plus la nouvelle.
Vous pouvez éviter ce travail supplémentaire en ajoutant les paramètres append=true de chaîne de requête à votre requête, comme illustré dans l’exemple ci-dessous. Pour des raisons de compatibilité descendante, les paramètres append_only=true fonctionnent également.
$ cat ad-profile-update.json
{
"ad-profiles":
[
{
"id": 984276,
"categories" : [
{
"id" : 42,
"status" : "banned"
}
]
}
]
}
$ curl -b cookies -X PUT -d '@/tmp/ad-profile-update.json' \
'https://api.appnexus.com/ad-profile?id=984276&member_id=1282&append=true'
{
"response" : {
"id" : 984276,
"ad-profile" : {
"id" : 984276,
"description" : "Rich's Crazy Reseller - Network Ad Profile",
"categories" : [
{
"id" : 41,
"status" : "banned"
},
{
"id" : 42,
"status" : "banned"
},
{
"id" : 43,
"status" : "trusted"
}
],
// many other fields...
"default_category_status" : "trusted"
},
"status" : "OK",
"count" : 1,
"start_element" : 0,
"num_elements" : 100,
}
}
Ajouter un profil publicitaire à votre membre
$ curl -b cookies -c cookies -X POST -d @ad_profile "https://api.appnexus.com/ad-profile"
{
"response": {
"status": "OK",
"id": "1317"
}
}
Afficher un profil publicitaire
$ curl -b cookies -c cookies "https://api.appnexus.com/ad-profile?id=1317"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 1317,
"state": "active",
"description": "Network Level ad profile",
"member_id": 326,
"default_brand_status": "trusted",
"members": null,
"brands": [
{
"id": "168",
"status": "banned"
},
{
"id": "255",
"status": "banned"
},
{
"id": "1072",
"status": "trusted"
},
{
"id": "1090",
"status": "trusted"
}
],
"creatives": [
{
"id": "5",
"approved": true
}
],
"total_creative_count": 8369,
"approved_creative_count": 1,
"banned_creative_count": 8368,
"creatives_approved_percent": 0.011948858883977,
"creatives_unreviewed": 8367,
"brands_unreviewed": null,
"exclude_unaudited": true,
"exclude_unaudited_direct": false,
"notes": "This is a great ad profile.",
"publisher_id": null,
"last_modified": "2010-07-23 16:15:49",
"default_language_status": "banned",
"default_ad_server_status": "trusted",
"default_category_status": "trusted",
"excluded_landing_page_urls": ["https://www.netflix.com","https://www.blockbuster.com"],
"default_technical_attribute_status": "trusted",
"languages": [
{
"id": 1,
"status": "trusted"
}
],
"ad_servers": null,
"categories": [
{
"id": 41,
"status": "banned"
},
{
"id": 43,
"status": "trusted"
}
],
"technical_attributes": null
}
}
}
Exemples de limitation de fréquence d’attributs créatifs
Ajouter une règle de limite de fréquence à un profil publicitaire
Le {{"frequency_caps"}} champ sera d’abord {{null}} :
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": null
}
}
Ajouter une règle de limite de fréquence
$ cat add_freq_cap_rule.json
{
"ad-profile": {
"id": 199943,
"frequency_caps": [
{
"max_day_imps": 5,
"min_minutes_per_imp": 120,
"technical_attributes": [ {"id":4},{"id":6} ],
"categories": [ {"id":59},{"id":37} ]
}
]
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @add_freq_cap_rule.json "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"id": "199943"
}
}
Le profil d’annonce aura désormais la règle de limite de fréquence
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": [
{
"id": 64,
"max_session_imps": null,
"max_day_imps": 5,
"min_minutes_per_imp": 120,
"member_id": 941,
"technical_attributes": [
{
"id": 4,
"name": "Video"
},
{
"id": 6,
"name": "Expandable"
}
],
"categories": [
{
"id": 37,
"name": "Politics"
},
{
"id": 59,
"name": "Get Rich Quick"
}
]
}
]
...
Modifier une règle de limite de fréquence
Utilisez la {{PUT}} commande sur le {{ad-profile}} service. L’ID de la limite de fréquence doit être spécifié dans le json de mise à jour. Si l’ID de limite de fréquence n’est pas spécifié, la règle existante est supprimée et une nouvelle règle est créée.
{code}
$ cat update_freq_cap_rule.json
{
"ad-profile": {
"id": 199943,
"frequency_caps": [
{
"id": 64,
"technical_attributes": [ {"id":4} ],
"categories": [ ],
"max_day_imps": 20
}
]
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @update_freq_cap_rule.json "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"id": "199943"
}
}
{code}
Vérifiez le profil d’annonce pour voir la règle mise à jour
$ curl -b cookies -c cookies -X GET "https://sand.api.appnexus.com/ad-profile?id=199943"
{
"response": {
"status": "OK",
"ad-profile": {
"id": 199943,
"state": "active",
"description": null,
"member_id": 941,
...
"frequency_caps": [
{
"id": 64,
"max_session_imps": null,
"max_day_imps": 20,
"min_minutes_per_imp": 120,
"member_id": 941,
"technical_attributes": [
{
"id": 4,
"name": "Video"
}
],
"categories": null
}
]
...