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.
La configuration d’une implémentation d’API d’un élément de ligne de transaction pour cibler une transaction nécessite la configuration d’un certain nombre de propriétés différentes sur différents objets API. Ce guide explique le processus de création et de configuration d’un élément de ligne de transaction à l’aide de notre API.
Vue d’ensemble
Les articles de ligne de transaction sont une fonctionnalité puissante qui permet aux clients du réseau et des éditeurs de mieux soutenir leurs acheteurs en fournissant des outils d’achat préemballés et conviviaux.
La configuration d’un élément de ligne de transaction implique généralement d’effectuer des demandes aux points de terminaison de service d’API suivants pour accéder aux objets API correspondants ou les créer :
| Point de terminaison d’API | Objet API | Informations de référence détaillées |
|---|---|---|
https://api.appnexus.com/advertiser |
Annonceur | Service Annonceur |
https://api.appnexus.com/insertion-order |
insertion-order | Service d’ordre d’insertion |
https://api.appnexus.com/deal |
Affaire | Service de transaction |
https://api.appnexus.com/profile |
profil | Service de profil |
https://api.appnexus.com/line-item |
line-item (ALI) | Élément de ligne - Service ALI |
Ce guide utilise cURL exemples pour toutes les demandes. Vous pouvez utiliser d’autres outils de demande d’API (par exemple, Postman), mais vous devez ensuite ajuster les exemples en conséquence.
Configuration requise
Avant de commencer cette configuration, veillez à lire les Prise en main de l’API. Il fournit des informations sur les environnements de test, les contraintes d’utilisation, la sémantique d’API (exécution de commandes, filtrage, tri, etc.) et les bonnes pratiques.
Ordre des opérations
Les objets API ont souvent des dépendances sur d’autres objets API et il existe un ordre que vous devez suivre pour créer ou accéder à des objets lorsque vous créez un élément de ligne de transaction. Par exemple, vous devez fournir les ID des objets API suivants :
- advertiser
- insertion-order
- deal
-
profile.
Pour obtenir les ID de ces objets, vous devez les créer ou y avoir déjà accès. Les étapes décrites dans ce guide suivent l’ordre classique des opérations requises pour créer un élément de ligne de transaction.
Meilleures pratiques
Pour obtenir la liste générale des meilleures pratiques à suivre lors de l’utilisation de l’API, consultez Bonnes pratiques relatives à l’API. Voici quelques bonnes pratiques spécifiques à la configuration d’un élément de ligne de transaction :
- Définissez le
statechamp de l’élément de ligne de transaction sur jusqu’à"inactive"ce que l’élément de ligne soit entièrement configuré et prêt pour le test. - Notez l’ID des objets que vous créez. Les ID des objets que vous créez sont retournés dans le corps de la réponse des requêtes. Vous aurez souvent besoin de ces ID ultérieurement afin de les copier quand ils sont retournés peut réduire le nombre de demandes supplémentaires
GETque vous devez effectuer pour les obtenir.
Procédure d’installation
Les étapes suivantes vous guident tout au long du processus de configuration d’un élément de ligne de transaction avec des configurations classiques :
- Étape 1 : Obtenir un jeton d’autorisation
- Étape 2 : Create ou accéder à un annonceur
- Étape 3 : Create ou accéder à un ordre d’insertion
- Étape 4 : Create une transaction
- Étape 5 : Create un profil d’élément de ligne de transaction
- Étape 6 : Create un élément de ligne de transaction
Authentification
Étape 1 : Obtenir un jeton d’autorisation
Tout d’abord, vous devez obtenir un jeton d’autorisation. Vous devez ensuite inclure ce jeton d’autorisation dans toutes les demandes suivantes (pour plus d’informations, consultez Service d’authentification ). Pour obtenir un jeton d’autorisation, procédez comme suit :
Create un fichier JSON contenant votre nom d’utilisateur et votre mot de passe.
{ "auth": { "username" : "USERNAME", "password" : "PASSWORD" } }Effectuez une
POSTdemande au point de/authterminaison avec ce fichier JSON dans le corps de la demande (pour plus d’informations, consultez Service d’authentification ). Dans la requête cURL ci-dessous, le jeton d’autorisation retourné est stocké dans le fichier «cookies».curl -c cookies -X POST -d @authentication.json 'https://api.appnexus.com/auth'Vérifiez le corps de la réponse de votre demande (voir Exemple de réponse ci-dessous). Si votre demande a réussi, vous obtenez un «
status» de «OK» et le champ «token» sera rempli avec la valeur du jeton d’authentification.
Exemple de réponse{ "response" : { "token" : "authn:225692:2d787d1838283:lax1", "status" : "OK" } }
Annonceur
Étape 2 : Create ou accéder à un annonceur
Vous devez créer ou accéder à un annonceur à partir duquel créer un élément de ligne de transaction. Pour les éléments de ligne de transaction, les annonceurs sont configurés de la même façon que les éléments de ligne augmentée.
Champs JSON pour l’annonceur (champs facultatifs obligatoires et utiles)
| Champ | Type | Obligatoire ou facultatif | Description |
|---|---|---|---|
name |
string | Obligatoire | Nom de l’annonceur |
timezone |
enum | Facultatif | Fuseau horaire de l’annonceur. Pour plus d’informations et les valeurs acceptées, consultez Fuseaux horaires d’API . |
use_insertion_orders |
valeur booléenne | Obligatoire | Ce champ doit être défini sur true pour créer des éléments de ligne de transaction. |
Si vous n’avez pas encore d’annonceur à utiliser, créez un annonceur en procédant comme suit (consultez Service annonceur pour plus d’informations) :
Create un json d’annonceur :
$ cat advertiser.json { "advertiser": { "name": "Deal Line Item Example Advertiser", "timezone": "US/Pacific" } }Effectuez une
POSTdemande auhttps://api.appnexus.com/advertiser endpointavec ce JSON d’annonceur et un appropriémember_id.$ curl -b cookies -c cookies -X POST -d @advertiser.json 'https://api.appnexus.com/advertiser?member_id=2378'Vérifiez le corps de la réponse de votre demande. Si votre demande a réussi, vous obtenez un «
status» de «OK» et vous verrez les mises à jour que vous avez effectuées.Notez l’ID de l’annonceur dans le corps de la réponse afin de pouvoir l’utiliser lorsque vous créez l’élément de ligne de transaction à l’étape 6 - Create un élément de ligne de transaction
Ordre d’insertion
Étape 3 : Create ou accéder à un ordre d’insertion
Vous devez créer un ordre d’insertion ou y accéder pour créer un élément de ligne de transaction. Les éléments de ligne de transaction nécessitent un ordre d’insertion transparent (voir les champs obligatoires ci-dessous).
Champs JSON pour l’ordre d’insertion fluide (champs facultatifs obligatoires et utiles)
| Champ | Type | Obligatoire ou facultatif | Description |
|---|---|---|---|
name |
string | Obligatoire | Nom de l’annonceur |
budget_intervals |
tableau d’objets | Obligatoire | Pour qu’un ordre d’insertion créé via l’API soit transparent, vous devez utiliser le budget_intervals champ . |
budget_type |
enum | Facultatif | Le type de budget se traduit par toutes les transactions sous les E/S. Par exemple, si vous configurez une E/S de type budget impression, vous ne pouvez pas placer les éléments de la ligne de transaction avec un budget de chiffre d’affaires inférieur à cette E/S. |
daily_budget |
double | Facultatif | Champ dans budget_intervals que vous pouvez utiliser pour définir des budgets quotidiens au niveau de l’ordre d’insertion pour Revenue budget_type. |
lifetime_budget |
double | Facultatif | Champ dans budget_intervals que vous pouvez utiliser pour définir des budgets de durée de vie au niveau de l’ordre d’insertion pour Revenue budget_type. |
daily_budget_imps |
int | Facultatif | Champ dans budget_intervals que vous pouvez utiliser pour définir des budgets quotidiens au niveau d’E/S pour Impression budget_type. |
lifetime_budget_imps |
int | Facultatif | Champ dans budget_intervals que vous pouvez utiliser pour définir des budgets de durée de vie au niveau d’E/S pour Impression budget_type. |
Si vous n’avez pas encore d’ordre d’insertion à utiliser, créez un ordre d’insertion en procédant comme suit (consultez Service d’ordre d’insertion pour plus d’informations) :
Create un json d’ordre d’insertion (deux exemples sont présentés ci-dessous) :
Exemple JSON : aucune date de fin, aucun budget
$ cat insertion-order-noenddate.json { "insertion-order": { "name": "Deal Line Item Example IO", "budget_intervals": [{ "start_date": "2019-10-10 00:00:00", "end_date": null, "daily_budget": null, "daily_budget_imps": null, "enable_pacing": true, "lifetime_budget": null, "lifetime_budget_imps": null, "lifetime_pacing": false }], "budget_type": "impression" } }Exemple JSON : versions d’évaluation, budgets d’impression
$ cat insertion-order-flights.json { "insertion-order": { "name": "Deal Line Item Example IO", "budget_intervals": [ { "start_date": "2019-10-10 00:00:00", "end_date": "2019-10-12 23:59:59", "daily_budget": null, "daily_budget_imps": 10, "enable_pacing": true, "lifetime_budget": null, "lifetime_budget_imps": 980, "lifetime_pacing": false }, { "start_date": "2019-10-13 00:00:00", "end_date": "2019-10-18 23:59:59", "daily_budget": null, "daily_budget_imps": 10, "enable_pacing": true, "lifetime_budget": null, "lifetime_budget_imps": 100, "lifetime_pacing": false } "budget_type": "impression" ] } }Effectuez une
POSTrequête auprès du point dehttps://api.appnexus.com/insertion-orderterminaison avec ce json d’ordre d’insertion et un etmember_idappropriésadvertiser_id.Exemple de demande : aucune date de fin, aucun budget
$ curl -b cookies -c cookies -X POST -d @insertion-order-noenddate.json 'https://api.appnexus.com/insertion-order?advertiser_id=2605036&member_id=2378'Exemple de demande : vols, budgets d’impression
$ curl -b cookies -c cookies -X POST -d @insertion-order-flights.json 'https://api.appnexus.com/insertion-order?advertiser_id=2605036&member_id=2378'Vérifiez le corps de la réponse de votre demande. Si votre demande a réussi, vous obtenez un «
status» de «OK» et vous verrez les mises à jour que vous avez effectuées.Notez l’ID d’ordre d’insertion dans le corps de la réponse afin de pouvoir l’utiliser lorsque vous créez l’élément de ligne de transaction à l’étape 6 - Create un élément de ligne de transaction.
Affaire
Étape 4 : Create une transaction
Vous devez créer la transaction que vous souhaitez associer à l’élément de ligne de transaction.
Champs JSON pour la transaction
| Champ | Type | Obligatoire ou facultatif | Description |
|---|---|---|---|
name |
string | Obligatoire | Nom de la transaction Remarque : l’acheteur verra ce nom. |
buyer |
objet | Obligatoire | Le soumissionnaire acheteur et le membre qui peut cibler cette transaction. Une transaction n’utilisera jamais le buyer champ ou le buyer_seats champ, pas les deux. Pour plus d’informations, consultez la "Buyer" section du service Deal. |
buyer_seats |
objet | Obligatoire | Le soumissionnaire acheteur et le siège qui peut cibler cette transaction. Une transaction n’utilisera jamais que le champ acheteur ou le buyer_seats champ, pas les deux. Pour plus d’informations, consultez la section Sièges acheteur dans le service de transaction. |
version |
int | Obligatoire | Ce champ doit être défini sur "2" afin d’associer la transaction à un élément de ligne de transaction. |
auction_type |
objet | Facultatif | Type d’enchère de la transaction (Standard/Fixe/Marché). Cette valeur doit correspondre à ce qui est défini sur l’élément de la ligne de transaction (via revenue_typerevenue_value/min_revenue_value/).Remarque : ce champ doit être défini lors de sa création, mais il n’est pas utilisé sur les éléments de ligne de transaction. Il ne sera pas mis à jour si l’article de ligne est mis à jour et dans la vente aux enchères ; seules les valeurs d’élément de ligne sont prises en compte. |
Champs JSON facultatifs utiles
Champs JSON pour les créations autorisées
Marque (voir Brand Service)
| Champ | Type | Description |
|---|---|---|
brand_restrict |
valeur booléenne |
true: l’offre est limitée uniquement aux marques répertoriéesfalse: d’autres marques sont autorisées à servir |
brands |
tableau d’objets | Tableau de marques éligibles |
id |
int | Champ dans brands: ID de la marque éligible à la transaction |
name |
string | Champ dans brands: nom de la marque éligible à la transaction |
override |
valeur booléenne | Champ dans brands: définissez true sur pour permettre à une marque spécifique de servir pour une transaction, même si le profil de qualité de l’annonce l’aurait bloquée. |
Exemple de marque
"brand_restrict": true,
"brands": [
{
"id": 2,
"name": "1800Flowers",
"override": true
},
{
"id": 4,
"name": "Acura",
"override": false
}
]
Langue (voir Language Service)
| Champ | Type | Description |
|---|---|---|
language_restrict |
valeur booléenne |
-
true: La transaction est limitée uniquement aux langues répertoriées- false: d’autres langues sont autorisées à servir |
languages |
tableau d’objets | Tableau de langues éligibles |
id |
int | Champ dans languages: ID de la langue éligible à la transaction |
name |
chaîne | Champ dans languages: Nom de la langue éligible à la transaction |
override |
valeur booléenne | Champ dans languages: définissez sur true pour permettre à une langue spécifique de servir pour une transaction, même si le profil de qualité de l’annonce l’aurait bloquée. |
Exemple de langue
"language_restrict": true,
"languages": [
{
"id": 1,
"name": "English",
"override": false
},
{
"id": 2,
"name": "Chinese",
"override": true
}
]
Niveau de confiance
| Champ | Type | Description |
|---|---|---|
audit_status_option |
string | Spécifie la façon dont la transaction gère les créations. - max_trust: maximum : aucune restriction de profil publicitaire ne sera appliquée à cette transaction.- provisional: autoriser les créations en attente : les créations dans "pending" les status d’audit serviront. Une fois ces créations auditées, les paramètres de qualité des publicités existants sont utilisés.- none: par défaut : les créatifs utilisent les paramètres de qualité des publicités existants. |
Exemple de niveau de confiance
"audit_status_option": "max_trust"
Catégorie de création
| Champ | Type | Description |
|---|---|---|
category_restrict |
valeur booléenne | Spécifie si la transaction est limitée uniquement aux catégories répertoriées dans l’objet categories (voir Deal Service). - true: l’offre est limitée uniquement aux catégories répertoriées.- false: d’autres catégories sont également autorisées à servir. |
categories |
tableau d’objets | Catégories qui décrivent les créatifs éligibles à la transaction. |
id |
int | Champ dans categories: ID de la catégorie éligible à la transaction. |
name |
string | Champ dans categories: nom de la catégorie éligible pour la transaction. |
override |
valeur booléenne | Champ dans categories: défini sur true pour permettre à une catégorie de servir pour une transaction, même si le profil de qualité de l’annonce l’aurait bloquée. |
Exemple de catégorie de création
"categories": [
{
"id": 1,
"name": "Airlines",
"override": false
},
{
"id": 2,
"name": "Apparel",
"override": true
}
],
"category_restrict": true
Créations spécifiques
| Champ | Type | Description |
|---|---|---|
creatives |
tableau d’objets | Liste des créateurs qui sont spécifiquement approuvés ou interdits pour la transaction. Cette liste remplace tout autre paramètre de qualité publicitaire. |
id |
int | Champ dans creatives: ID du créatif approuvé ou interdit pour la transaction. |
status |
string | Champ dans creatives: spécifie la façon dont cette création sera gérée pour cette transaction. - approved: ce créatif peut toujours servir dans cette offre, quels que soient les autres paramètres ou remplacements de la qualité des publicités.- banned: cette créativité ne peut jamais servir dans cette offre, quels que soient les autres paramètres de qualité ou remplacements publicitaires. |
Exemple de créations spécifiques
"creatives": [
{
"id": 161501729,
"status": "banned"
},
{
"id": 161501882,
"status": "approved"
}
]
Type de média (voir Media Subtype Service et Media Type Service)
| Champ | Type | Description |
|---|---|---|
allowed_media_subtypes |
tableau d’objets | Sous-types de média autorisés pour la transaction. |
id |
int | Champ dans allowed_media_subtypes: ID du sous-type de média autorisé pour la transaction |
allowed_media_types |
tableau d’objets | Types de médias autorisés pour la transaction |
id |
int | Champ dans allowed_media_types: ID du type de média autorisé pour la transaction |
Exemple de type de média
"allowed_media_subtypes": [
{
"id": 2,
"last_modified": "2015-09-17 19:19:21",
"media_type": {
"id": 2,
"media_type_group_id": 2,
"name": "Pop",
"uses_sizes": "sometimes"
},
"name": "Popup",
"native_assets": null,
"permitted_sizes": null
}
],
"allowed_media_types": [
{
"id": 1,
"last_modified": "2012-03-16 21:36:10",
"media_type_group_id": 1,
"name": "Banner",
"uses_sizes": "always"
},
{
"id": 4,
"last_modified": "2016-08-22 16:23:12",
"media_type_group_id": 1,
"name": "Video",
"uses_sizes": "never"
}
]
Attributs techniques (voir Technical Attribute Service)
| Champ | Type | Description |
|---|---|---|
technical_attribute_restrict |
valeur booléenne | Spécifie si la transaction est limitée uniquement aux attributs techniques répertoriés dans l’objet technical_attributes .- true: La transaction est limitée uniquement aux attributs techniques répertoriés.- false: d’autres attributs techniques sont également autorisés à servir. |
technical_attributes |
tableau d’objets | Les attributs techniques des créatifs éligibles à la transaction. |
id |
int | Champ dans technical_attributes:ID de l’attribut technique éligible à la transaction |
override |
valeur booléenne | Champ dans technical_attributes: défini sur true pour permettre à un attribut technique de servir pour une transaction, même si le profil de qualité de l’annonce l’aurait bloqué. |
Exemple d’attributs techniques
"technical_attribute_restrict": false,
"technical_attributes": [
{
"id": 1,
"name": "Image",
"override": true
}
]
Champs JSON pour la protection des données de transaction (voir Visibility Profile Service)
Avertissement
Cette fonctionnalité bêta n’est pas disponible pour tous les clients. Contactez votre responsable de compte pour savoir si vous avez un cas d’usage.
ID d’utilisateur et ID d’appareil
| Champ | Type | Description |
|---|---|---|
expose_device_id_default |
valeur booléenne | Si la valeur est true, les ID d’appareil fournis par l’éditeur sont passés dans vos demandes d’enchères. |
expose_user_id_default |
valeur booléenne | Si la valeur est true, les ID utilisateur fournis par l’éditeur sont passés dans vos demandes d’enchères. |
name |
string | Nom du profil de visibilité. |
Exemple protéger l’ID utilisateur et l’ID d’appareil
Étape 1 : Create un profil de visibilité
> cat visibility_profile.json
{
"visibility-profile": {
"expose_device_id_default": false,
"expose_user_id_default": false,
"name": "Deal Visibility Profile"
}
}
> curl -b cookies -c cookies -X POST -d @visibility_profile.json 'https://api.appnexus.com/visibility-profile?member_id=2378'
Étape 2 : Associer le profil de visibilité à la transaction et activer la protection des données
> cat deal_data_protection.json
{
"deal": {
"visibility_profile_id": 29657,
"data_protected": true
}
}
> curl -b cookies -c cookies -X PUT -d @deal_data_protection.json 'https://api.appnexus.com/deal?id=549271'
Adresse IP
| Champ | Type | Description |
|---|---|---|
expose_ip_default |
valeur booléenne | Si la valeur est true, les adresses IP fournies par l’éditeur sont passées dans vos demandes d’enchères. |
ip_exposure_default |
enum | Visibilité des adresses IP dans vos demandes d’enchères. |
name |
string | Nom du profil de visibilité. |
Exemple d’adresse IP de protection
Étape 1 : Create un profil de visibilité
> cat visibility_profile.json
{
"visibility-profile": {
"expose_ip_default": false,
"ip_exposure_default": "truncated",
"name": "Deal Visibility Profile - Hidden"
}
}
> curl -b cookies -c cookies -X POST -d @visibility_profile.json 'https://api.appnexus.com/visibility-profile?member_id=2378'
Étape 2 : Associer le profil de visibilité à la transaction et activer la protection des données
> cat deal_data_protection.json
{
"deal": {
"visibility_profile_id": 29657,
"data_protected": true
}
}
> curl -b cookies -c cookies -X PUT -d @deal_data_protection.json 'https://api.appnexus.com/deal?id=549271'
URL
| Champ | Type | Description |
|---|---|---|
url_exposure_default |
enum | Visibilité des URL d’inventaire dans vos demandes d’enchères. Valeurs possibles : - full - Les URL complètes sont passées dans vos demandes d’enchères- domain - Seuls les domaines d’URL sont passés dans vos demandes d’enchères- hidden - Les URL ne sont pas passées dans vos demandes d’enchères |
Exemple de domaine de protection
Étape 1 : Create un profil de visibilité
> cat visibility_profile.json
{
"visibility-profile": {
"name": "Deal Visibility Profile - Hidden",
"url_exposure_default": "hidden"
}
}
> curl -b cookies -c cookies -X POST -d @visibility_profile.json 'https://api.appnexus.com/visibility-profile?member_id=2378'
Étape 2 : Associer le profil de visibilité à la transaction et activer la protection des données
> cat deal_data_protection.json
{
"deal": {
"visibility_profile_id": 29657,
"data_protected": true
}
}
> curl -b cookies -c cookies -X PUT -d @deal_data_protection.json 'https://api.appnexus.com/deal?id=549271'
Ajouter au segment (voir Deal Service)
| Champ | Type | Description |
|---|---|---|
allow_creative_add_on_view |
valeur booléenne | Définir false pour interdire aux acheteurs d’ajouter des utilisateurs aux segments affichés |
allow_creative_add_on_click |
valeur booléenne | Définir false pour interdire aux acheteurs d’ajouter des utilisateurs à des segments en cliquant |
Empêcher l’ajout d’un segment lors d’un clic ou d’un exemple d’affichage
> cat add_segment.json
{
"deal": {
"allow_creative_add_on_click": false,
"allow_creative_add_on_view": false
}
}
> curl -b cookies -c cookies -X PUT -d @add_segment.json 'https://api.appnexus.com/deal?id=123456'
Pour créer une transaction, procédez comme suit (consultez Deal Service pour plus d’informations) :
Create un json de transaction :
$ cat deal.json { "deal": { "name": "Deal Line Item Example Deal", "buyer": { "id": 2379 }, "version": 2 } }Effectuez une
POSTdemande au point dehttps://api.appnexus.com/dealterminaison avec ce json de transaction et un appropriémember_id.$ curl -b cookies -c cookies -X POST -d @deal.json 'https://api.appnexus.com/deal?member_id=2378'Vérifiez le corps de la réponse de votre demande. Si votre demande a réussi, vous obtenez un «
status» de «OK» et vous verrez les mises à jour que vous avez effectuées.Notez l’ID de transaction dans le corps de la réponse afin de pouvoir l’utiliser lorsque vous créez l’élément de ligne de transaction à l’étape 6 - Create un élément de ligne de transaction.
Profil
Étape 5 : Create un profil d’élément de ligne de transaction
Ensuite, créez un profil d’élément de ligne de transaction à utiliser dans le ciblage avec l’élément de ligne de transaction. Veillez à noter l’ID de ce profil pour une utilisation ultérieure. Pour plus d’informations, consultez Service de profil.
Champs JSON facultatifs pour le profil d’élément de ligne de transaction
De nombreux champs facultatifs sont disponibles dans le profil d’élément de ligne de transaction pour le ciblage avec l’élément de ligne de transaction. Par exemple, vous pouvez cibler les propriétés associées à l’inventaire, aux types d’inventaire, aux listes d’autorisation, aux listes de blocage, aux types d’appareils, etc. Pour plus d’informations sur les champs disponibles, consultez Service de profil.
Pour créer un profil d’élément de ligne de transaction, procédez comme suit (consultez Service de profil pour plus d’informations) :
Create un profil json de profil d’élément de ligne de transaction :
Exemple : création de profil avec des limites de pays, de fréquence/récurrence et de taux d’affichage/taux d’achèvement
$ cat profile.json { "profile": { "country_action": "include", "country_targets": [{ "active": true, "code": "US", "id": 233, "name": "United States" }], "engagement_rate_targets": [{ "engagement_rate_pct": 25, "engagement_rate_type": "video_completion" }, { "engagement_rate_pct": 50, "engagement_rate_type": "predicted_iab_video_view_rate" } ], "max_day_imps": 10, "min_minutes_per_imp": 300 } }Exemple : création de profil sans ciblage
> cat profile.json { "profile": { } }Effectuez une
POSTdemande au point dehttps://api.appnexus.com/profileterminaison avec ce profil de transaction JSON et un appropriéadvertiser_id.Exemple : création de profil avec pays, limites de récurrence de fréquence et seuils de taux d’affichage/taux d’achèvement
> curl -b cookies -c cookies -X POST -d @profile.json 'https://api.appnexus.com/profile?advertiser_id=3410892&member_id=2378'Exemple : création de profil sans ciblage
> curl -b cookies -c cookies -X POST -d @profile.json 'https://api.appnexus.com/profile?advertiser_id=3410892&member_id=2378'Vérifiez le corps de la réponse de votre demande. Si votre demande a réussi, vous obtenez un «
status» de «OK» et vous verrez les mises à jour que vous avez effectuées.Notez l’ID de profil dans le corps de la réponse afin de pouvoir l’utiliser lorsque vous créez l’élément de ligne de transaction à l’étape 6 - Create un élément de ligne de transaction.
Élément de ligne
Étape 6 : Create un élément de ligne de transaction
Enfin, vous devez créer l’élément de ligne de transaction pour associer l’ID de transaction et le profil d’élément de ligne de transaction que vous avez créé à l’étape 5 - Create un profil d’élément de ligne de transaction.
Champs JSON pour l’élément de ligne de transaction
| Champ | Type | Description |
|---|---|---|
insertion_orders |
tableau | Tableau contenant l’ID d’ordre d’insertion auquel vous souhaitez associer cet élément de ligne de transaction. |
name |
string | Nom de l’élément de la ligne de transaction Remarque : l’acheteur ne verra pas cela. |
ad_types |
tableau | Type de création utilisé pour cet élément de ligne de transaction. Valeurs possibles : - "banner"- "video" (inclut également les types audio)- "native" |
line_item_type |
enum | Doit être défini sur "standard_v2" pour créer un élément de ligne de transaction. |
profile_id |
entier | ID de profil associé à l’élément de ligne de transaction (Étape 5 - Create un profil d’élément de ligne de transaction) |
budget_intervals |
tableau d’objets | Incluez toujours un start_date. Laissez end_datenull pour un élément de ligne de transaction sans date de fin. |
deals |
tableau d’objets | Le id champ dans les transactions doit être l’ID de la transaction que vous avez créée à l’étape 4 - Create une transaction. |
supply_strategies |
objet | Objet contenant plusieurs champs booléens utilisés pour désigner les sources d’approvisionnement d’inventaire que vous souhaitez cibler. Pour un élément de ligne de transaction, le managed champ doit être défini sur true. Les rtbchamps , programmatic_guaranteedet deals doivent être définis sur false. |
revenue_type |
enum |
cpm pour l’offre vcpm à prix fixe (CPM), pour le prix standard (CPM dynamique) et le prix du marché. |
revenue_value |
double | Si vous définissez sur revenue_typecpm (Fixe), définissez le prix fixe à l’aide de revenue_value. Si vous utilisez Standard ou Market Price, définissez cette valeur sur null. |
valuation |
objet | Si vous définissez sur revenue_typevcpm (Standard), définissez le prix plancher à l’aide min_revenue_value de dans l’objet d’évaluation. Si vous utilisez cpm (Fixe) ou Prix du marché, définissez la valeur de min_revenue_valuenull. |
auction_event |
objet | Objet pour les propriétés de type d’événement d’enchère : les kpi_auction_type_idchamps , payment_auction_type_idet revenue_auction_type_id de l’objet auction_event doivent tous avoir la valeur 1. |
bid_object_type |
enum | Doit être défini sur "deal" pour un élément de ligne de transaction. |
Champs JSON facultatifs utiles
| Champ | Type | Description |
|---|---|---|
priority |
int | Définissez la priorité de la transaction. Toute priorité inférieure à la revente crée une transaction ouverte, toute priorité au-dessus de la revente crée une transaction privée. |
budget_intervals |
tableau d’objets | Définissez un budget sur la transaction à l’aide de champs dans budget_intervals notamment : daily_budget, daily_budget_imps, lifetime_budgetou lifetime_budget_imps. Utilisez les champs sans si imp l’élément de la ligne de transaction a le type de budget de chiffre d’affaires ou les champs avec _imp à la fin si l’élément de ligne de transaction a une impression de type de chiffre d’affaires. Vous pouvez avoir un budget quotidien ou à vie, pas les deux. Un budget de durée de vie qui se trouve entre les vols finit par être réparti sur chaque vol via l’API. N’oubliez pas que si votre transaction n’a pas de date de fin, elle ne peut pas avoir de budget. |
state |
enum | État de l’élément de ligne de transaction. La valeur par défaut est active, donc définie sur inactive si vous ne souhaitez pas que l’offre soit immédiatement mise en ligne. |
Pour créer un élément de ligne de transaction, procédez comme suit (consultez Service d’élément de ligne pour plus d’informations) :
Create un élément de ligne de transaction JSON (vous aurez besoin d’un ID d’annonceur, d’un ID de commande d’insertion, d’un ID de transaction et d’un ID de profil existants).
Exemple JSON : Article de ligne de transaction sans budget
> cat deal_line_item.json { "line-item": { "ad_types": ["video"], "auction_event": { "kpi_auction_type_id": 1, "payment_auction_type_id": 1, "revenue_auction_type_id": 1 }, "bid_object_type": "deal", "budget_intervals": [{ "start_date": "2019-10-11 12:00:00" }], "deals": [{ "id": 618159 }], "insertion_orders": [{ "id": 1363850 }], "line_item_type": "standard_v2", "name": "Deal Line Item Example Line Item", "revenue_type": "vcpm", "revenue_value": null, "supply_strategies": { "managed": true }, "profile_id": 112548354, "valuation": { "min_revenue_value": 10 } } }Exemple JSON : Budget d’impression de durée de vie des éléments de ligne de transaction
> cat deal_line_item_lifetime.json { "line-item": { "ad_types": ["video"], "auction_event": { "kpi_auction_type_id": 1, "payment_auction_type_id": 1, "revenue_auction_type_id": 1 }, "bid_object_type": "deal", "budget_intervals": [ { "end_date": "2019-10-18 23:59:59", "lifetime_budget_imps": 2586, "start_date": "2019-10-11 12:00:00", "timezone": "US/Pacific" }, { "end_date": "2019-10-25 23:59:59", "lifetime_budget_imps": 2414, "start_date": "2019-10-19 00:00:00", "timezone": "US/Pacific" } ], "deals": [{ "id": 618159 }], "insertion_orders": [{ "id": 1363850 }], "line_item_type": "standard_v2", "name": "Deal Line Item Example Line Item", "revenue_type": "vcpm", "revenue_value": null, "supply_strategies": { "managed": true }, "profile_id": 112548354, "valuation": { "min_revenue_value": 10 } } }Exemple JSON : Budget de chiffre d’affaires quotidien de l’élément de ligne de transaction
> cat deal_line_item_daily.json { "line-item": { "ad_types": ["video"], "auction_event": { "kpi_auction_type_id": 1, "payment_auction_type_id": 1, "revenue_auction_type_id": 1 }, "bid_object_type": "deal", "budget_intervals": [ { "daily_budget_imps": 270, "end_date": "2019-10-18 23:59:59", "start_date": "2019-10-11 12:00:00", "timezone": "US/Pacific" } ], "deals": [{ "id": 618159 }], "insertion_orders": [{ "id": 1363850 }], "line_item_type": "standard_v2", "name": "Deal Line Item Example Line Item", "revenue_type": "vcpm", "revenue_value": null, "supply_strategies": { "managed": true }, "profile_id": 112548354, "valuation": { "min_revenue_value": 10 } } }Effectuez une
POSTdemande au point de terminaison à l’aidehttps://api.appnexus.com/line-itemde cet élément de ligne de transaction JSON et d’un etmember_idappropriésadvertiser_id.Exemple de demande : Article de ligne de transaction pas de budget
> curl -b cookies -c cookies -X POST -d @deal_line_item.json 'https://api.appnexus.com/line-item?member_id=2378&advertiser_id=3410892'Exemple de demande : Budget d’impression de durée de vie des éléments de ligne de transaction
> curl -b cookies -c cookies -X POST -d @deal_line_item_lifetime.json 'https://api.appnexus.com/line-item?member_id=2378&advertiser_id=3410892'Exemple de demande : Budget de chiffre d’affaires quotidien de l’élément de ligne de transaction
> curl -b cookies -c cookies -X POST -d @deal_line_item_daily.json 'https://api.appnexus.com/line-item?member_id=2378&advertiser_id=3410892'Vérifiez le corps de la réponse de votre demande. Si votre demande a réussi, vous obtenez un «
status» de «OK» et vous verrez les mises à jour que vous avez effectuées.Notez l’ID d’élément de ligne dans le corps de la réponse afin de pouvoir identifier cet élément de ligne de transaction ultérieurement pour modifier son
state(activeouinactive).