Guía de configuración de deal line item API
La configuración de una implementación de API de un elemento de línea de oferta para dirigirse a una oferta requiere configurar una serie de propiedades diferentes en diferentes objetos de API. En esta guía se explica el proceso de creación y configuración de un elemento de línea de oferta mediante nuestra API.
Información general
Los artículos de línea de oferta son una característica eficaz que permite a los clientes de red y editor admitir mejor a sus compradores proporcionando herramientas de compra preempaquetadas y fáciles de usar.
La configuración de un elemento de línea de oferta suele implicar la realización de solicitudes a los siguientes puntos de conexión de servicio de API para acceder a los objetos de API correspondientes o crear ellos:
Punto de conexión de API | Api (objeto) | Referencia detallada |
---|---|---|
https://api.appnexus.com/advertiser |
anunciante | Servicio de anunciantes |
https://api.appnexus.com/insertion-order |
orden de inserción | Servicio de pedido de inserción |
https://api.appnexus.com/deal |
trato | Deal Service |
https://api.appnexus.com/profile |
perfil | Servicio de perfil |
https://api.appnexus.com/line-item |
elemento de línea (ALI) | Elemento de línea: servicio ALI |
En esta guía se usan ejemplos de cURL para todas las solicitudes. Puede usar otras herramientas de solicitud de API (por ejemplo, Postman), pero tendrá que ajustar los ejemplos en consecuencia.
Requisitos previos
Antes de comenzar esta configuración, asegúrese de leer Introducción a la API. Proporciona información sobre entornos de prueba, restricciones de uso, semántica de API (comandos en ejecución, filtrado, ordenación, etc.) y procedimientos recomendados.
Orden de las operaciones
Los objetos de API suelen tener dependencias en otros objetos de API y hay un orden que debe seguir al crear o acceder a objetos al crear un elemento de línea de oferta. Por ejemplo, debe proporcionar los identificadores de los siguientes objetos de API:
- advertiser
- insertion-order
- deal
-
profile
.
Para obtener los identificadores de estos objetos, deberá crearlos o ya tener acceso a ellos. Los pasos de esta guía siguen el orden típico de las operaciones necesarias para crear un elemento de línea de oferta.
Procedimientos recomendados
Para obtener una lista general de los procedimientos recomendados que se deben seguir al trabajar con la API, consulte Procedimientos recomendados de API. A continuación se muestran algunos procedimientos recomendados que son específicos de una configuración de artículo de línea de oferta:
- Establezca el
state
campo del elemento"inactive"
de línea de oferta en hasta que el elemento de línea esté totalmente configurado y listo para pruebas. - Tenga en cuenta el identificador de los objetos que cree. Los identificadores de objetos creados se devuelven en el cuerpo de respuesta de las solicitudes. A menudo necesitará estos identificadores más adelante, por lo que copiarlos cuando se devuelvan puede reducir el número de solicitudes adicionales
GET
que tiene que realizar para obtenerlos.
Procedimiento de instalación
Los pasos siguientes le guiarán a través del proceso de configuración de un elemento de línea de oferta con configuraciones típicas:
- Paso 1: Obtención de un token de autorización
- Paso 2: Creación o acceso a un anunciante
- Paso 3: Creación o acceso a un pedido de inserción
- Paso 4: Crear una oferta
- Paso 5: Creación de un perfil de línea de negocio
- Paso 6: Creación de un elemento de línea de oferta
Autenticación
Paso 1: Obtención de un token de autorización
En primer lugar, tendrá que obtener un token de autorización. A continuación, debe incluir este token de autorización en todas las solicitudes posteriores (consulte Servicio de autenticación para obtener más información). Para obtener un token de autorización, haga lo siguiente:
Cree un archivo JSON que contenga el nombre de usuario y la contraseña.
{ "auth": { "username" : "USERNAME", "password" : "PASSWORD" } }
Realice una
POST
solicitud al punto de/auth
conexión con este archivo JSON en el cuerpo de la solicitud (consulte Servicio de autenticación para obtener más información). En la solicitud cURL siguiente, el token de autorización devuelto se almacena en el archivo "cookies
".curl -c cookies -X POST -d @authentication.json 'https://api.appnexus.com/auth'
Compruebe el cuerpo de la respuesta de la solicitud (consulte Ejemplo de respuesta a continuación). Si la solicitud se realizó correctamente, obtendrá un "
status
" de "OK
" y el campo "token
" se rellenará con el valor del token de autenticación.
Ejemplo de respuesta{ "response" : { "token" : "authn:225692:2d787d1838283:lax1", "status" : "OK" } }
Anunciante
Paso 2: Creación o acceso a un anunciante
Tendrá que crear o acceder a un anunciante desde el que crear un artículo de línea de oferta. En el caso de los artículos de línea de oferta, los anunciantes se configuran de la misma manera que los artículos de línea aumentadas.
Campos JSON para anunciante (campos opcionales necesarios y útiles)
Campo | Tipo | Obligatorio u opcional | Descripción |
---|---|---|---|
name |
string | Obligatorio | Nombre del anunciante |
timezone |
enumeración | Opcional | La zona horaria del anunciante. Consulte Zonas horarias de API para obtener más información y valores aceptados. |
use_insertion_orders |
booleano | Obligatorio | Este campo debe establecerse true en para crear elementos de línea de transacción. |
Si aún no tiene un anunciante que usar, cree un anunciante haciendo lo siguiente (consulte Servicio de anunciantes para obtener más información):
Cree un JSON de anunciante:
$ cat advertiser.json { "advertiser": { "name": "Deal Line Item Example Advertiser", "timezone": "US/Pacific" } }
Realice una
POST
solicitud ahttps://api.appnexus.com/advertiser endpoint
con este JSON de anunciante y un valor adecuadomember_id
.$ curl -b cookies -c cookies -X POST -d @advertiser.json 'https://api.appnexus.com/advertiser?member_id=2378'
Compruebe el cuerpo de la respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status
" de "OK
" y verá las actualizaciones que realizó.Anote el id. del anunciante en el cuerpo de la respuesta para que pueda usarlo al crear el elemento de línea de la oferta en paso 6: Creación de un elemento de línea de oferta
Orden de inserción
Paso 3: Creación o acceso a un pedido de inserción
Tendrá que crear o acceder a un pedido de inserción para crear un elemento de línea de oferta. Los elementos de línea de transacción requieren un orden de inserción sin problemas (vea los campos obligatorios a continuación).
Campos JSON para el orden de inserción sin problemas (campos opcionales necesarios y útiles)
Campo | Tipo | Obligatorio u opcional | Descripción |
---|---|---|---|
name |
string | Obligatorio | Nombre del anunciante |
budget_intervals |
matriz de objetos | Obligatorio | Para que un orden de inserción creado a través de la API sea sin problemas, debe usar el budget_intervals campo . |
budget_type |
enumeración | Opcional | El tipo de presupuesto se traducirá a todas las ofertas por debajo de la E/S. Por ejemplo, si configura una E/S de tipo de presupuesto de impresiones, no puede colocar los artículos de línea de transacción con un presupuesto de ingresos por debajo de esa E/S. |
daily_budget |
double | Opcional | Campo dentro budget_intervals del que puede usar para establecer presupuestos diarios en el nivel de pedido de inserción para Ingresos budget_type . |
lifetime_budget |
double | Opcional | Campo dentro budget_intervals del que puede usar para establecer presupuestos de duración en el nivel de pedido de inserción para Ingresos budget_type . |
daily_budget_imps |
Entero | Opcional | Campo dentro budget_intervals del que puede usar para establecer presupuestos diarios en el nivel de E/S de Impresión budget_type . |
lifetime_budget_imps |
Entero | Opcional | Campo dentro budget_intervals del que puede usar para establecer presupuestos de duración en el nivel de E/S para Impresión budget_type . |
Si aún no tiene un orden de inserción que usar, cree un pedido de inserción haciendo lo siguiente (consulte Servicio de pedidos de inserción para obtener más información):
Cree un json de orden de inserción (a continuación se muestran dos ejemplos):
JSON de ejemplo: sin fecha de finalización, sin presupuesto
$ 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" } }
JSON de ejemplo: vuelos, presupuestos de impresiones
$ 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" ] } }
Realice una
POST
solicitud al punto dehttps://api.appnexus.com/insertion-order
conexión con este json de orden de inserción y un valor adecuadoadvertiser_id
ymember_id
.Solicitud de ejemplo: sin fecha de finalización, sin presupuesto
$ curl -b cookies -c cookies -X POST -d @insertion-order-noenddate.json 'https://api.appnexus.com/insertion-order?advertiser_id=2605036&member_id=2378'
Solicitud de ejemplo: vuelos, presupuestos de impresiones
$ curl -b cookies -c cookies -X POST -d @insertion-order-flights.json 'https://api.appnexus.com/insertion-order?advertiser_id=2605036&member_id=2378'
Compruebe el cuerpo de la respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status
" de "OK
" y verá las actualizaciones que realizó.Anote el identificador del pedido de inserción en el cuerpo de la respuesta para que pueda usarlo al crear el elemento de línea de la oferta en Paso 6: Crear un elemento de línea de oferta.
Trato
Paso 4: Crear una oferta
Tendrá que crear la oferta que desea asociar con el elemento de línea de la oferta.
Campos JSON para la oferta
Campo | Tipo | Obligatorio u opcional | Descripción |
---|---|---|---|
name |
string | Obligatorio | Nombre de la oferta Nota: El comprador verá este nombre. |
buyer |
objeto | Obligatorio | El postor de compra y el miembro que puede dirigirse a esta oferta. Una oferta solo usará el buyer campo o el buyer_seats campo, no ambos. Para obtener más información, consulte la "Buyer" sección del Servicio de oferta. |
buyer_seats |
objeto | Obligatorio | El postor de compra y el puesto que pueden dirigirse a esta oferta. Una oferta solo usará el campo comprador o el buyer_seats campo, no ambos. Para obtener más información, consulta la sección Asientos de comprador en el Servicio de oferta. |
version |
Entero | Obligatorio | Este campo debe establecerse "2" en para asociar la oferta a un elemento de línea de transacción. |
auction_type |
objeto | Opcional | El tipo de subasta de la oferta (Estándar/Fijo/Mercado). Este valor debe coincidir con lo establecido en el elemento de línea de oferta (a través de revenue_type revenue_value /min_revenue_value /).Nota: Este campo debe establecerse al crearse, pero no se usa en los artículos de línea de transacción. No se actualizará si el elemento de línea está actualizado y en la subasta; solo se tienen en cuenta los valores de los elementos de línea. |
Campos JSON opcionales útiles
Campos JSON para las creatividades permitidas
Marca (consulte Servicio de marca)
Campo | Tipo | Descripción |
---|---|---|
brand_restrict |
booleano |
true : la oferta solo está restringida a las marcas enumeradasfalse : se permite que otras marcas sirvan |
brands |
matriz de objetos | Matriz de marcas aptas |
id |
Entero | Campo dentro de brands : identificador de la marca que es apta para la oferta |
name |
string | Campo dentro de brands : nombre de la marca que es apta para la oferta |
override |
booleano | Campo dentro de brands : establézcalo true en para permitir que una marca específica sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado. |
Ejemplo de marca
"brand_restrict": true,
"brands": [
{
"id": 2,
"name": "1800Flowers",
"override": true
},
{
"id": 4,
"name": "Acura",
"override": false
}
]
Idioma (consulte Language Service)
Campo | Tipo | Descripción |
---|---|---|
language_restrict |
booleano |
-
true : la oferta solo está restringida a los idiomas enumerados- false : se permite que otros idiomas sirvan |
languages |
matriz de objetos | Matriz de idiomas aptos |
id |
Entero | Campo dentro de languages : identificador del idioma que es apto para la oferta |
name |
string | Campo dentro de languages : nombre del idioma que es apto para la oferta |
override |
booleano | Campo dentro de languages : establézcalo true en para permitir que un idioma específico sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado. |
Ejemplo de lenguaje
"language_restrict": true,
"languages": [
{
"id": 1,
"name": "English",
"override": false
},
{
"id": 2,
"name": "Chinese",
"override": true
}
]
Nivel de confianza
Campo | Tipo | Descripción |
---|---|---|
audit_status_option |
string | Especifica cómo controla la oferta las creatividades. - max_trust : máximo: no se aplicará ninguna restricción de perfil de anuncio a esta oferta.- provisional : permitir creatividades pendientes: las creatividades en "pending" estado de auditoría servirán. Una vez auditadas estas creatividades, se usa la configuración de calidad de anuncios existente.- none : predeterminado: los creativos usan la configuración de calidad de anuncios existente. |
Ejemplo de nivel de confianza
"audit_status_option": "max_trust"
Categoría creativa
Campo | Tipo | Descripción |
---|---|---|
category_restrict |
booleano | Especifica si la oferta está restringida solo a las categorías enumeradas en el objeto categories (consulte Deal Service). - true : la oferta solo está restringida a las categorías enumeradas.- false : también se permite que otras categorías sirvan. |
categories |
matriz de objetos | Categorías que describen las creatividades que son aptas para la oferta. |
id |
Entero | Campo dentro de categories : id. de la categoría que es apta para la oferta. |
name |
string | Campo dentro de categories : nombre de la categoría que es apta para la oferta. |
override |
booleano | Campo dentro de categories : establézcalo true en para permitir que una categoría sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado. |
Ejemplo de categoría creativa
"categories": [
{
"id": 1,
"name": "Airlines",
"override": false
},
{
"id": 2,
"name": "Apparel",
"override": true
}
],
"category_restrict": true
Creatividades específicas
Campo | Tipo | Descripción |
---|---|---|
creatives |
matriz de objetos | Una lista de creativos que están específicamente aprobados o prohibidos para la oferta. Esta lista invalida cualquier otra configuración de calidad de anuncio. |
id |
Entero | Campo dentro creatives de : identificador de la creatividad que está aprobada o prohibida para la oferta. |
status |
string | Campo dentro de creatives : especifica cómo se controlará esta creatividad para esta oferta. - approved : esta creatividad siempre puede servir en esta oferta, independientemente de cualquier otra configuración o invalidación de calidad de anuncios.- banned : esta creatividad nunca puede servir en esta oferta, independientemente de cualquier otra configuración o invalidación de calidad de anuncios. |
Ejemplo de creatividades específicas
"creatives": [
{
"id": 161501729,
"status": "banned"
},
{
"id": 161501882,
"status": "approved"
}
]
Tipo de medio (consulte Servicio de subtipos multimedia y Servicio de tipos de medios)
Campo | Tipo | Descripción |
---|---|---|
allowed_media_subtypes |
matriz de objetos | Subtipos multimedia permitidos para la oferta. |
id |
Entero | Campo dentro de allowed_media_subtypes : el identificador del subtipo multimedia permitido para la oferta |
allowed_media_types |
matriz de objetos | Los tipos de medios permitidos para la oferta |
id |
Entero | Campo dentro de allowed_media_types : el identificador del tipo de medio permitido para la oferta |
Ejemplo de tipo de medio
"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"
}
]
Atributos técnicos (consulte Servicio de atributos técnicos)
Campo | Tipo | Descripción |
---|---|---|
technical_attribute_restrict |
booleano | Especifica si la oferta solo está restringida a los atributos técnicos enumerados en el technical_attributes objeto .- true : la oferta solo está restringida a los atributos técnicos enumerados.- false : también se permite que otros atributos técnicos sirvan. |
technical_attributes |
matriz de objetos | Los atributos técnicos de los creativos que son aptos para la oferta. |
id |
Entero | Campo dentro de technical_attributes :El identificador del atributo técnico que es apto para la oferta |
override |
booleano | Campo dentro de technical_attributes : se establece en true para permitir que un atributo técnico sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado. |
Ejemplo de atributos técnicos
"technical_attribute_restrict": false,
"technical_attributes": [
{
"id": 1,
"name": "Image",
"override": true
}
]
Campos JSON para la protección de datos de la oferta (consulte Servicio de perfil de visibilidad)
Advertencia
Esta característica beta no está disponible para todos los clientes. Póngase en contacto con el administrador de cuentas para analizar si tiene un caso de uso.
Id. de usuario y id. de dispositivo
Campo | Tipo | Descripción |
---|---|---|
expose_device_id_default |
booleano | Si true es , los identificadores de dispositivo proporcionados por el publicador se pasan en las solicitudes de puja. |
expose_user_id_default |
booleano | Si true es , los identificadores de usuario proporcionados por el publicador se pasan en las solicitudes de puja. |
name |
string | Nombre del perfil de visibilidad. |
Ejemplo de id. de usuario y id. de dispositivo de protección
Paso 1: Crear un perfil de visibilidad
> 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'
Paso 2: Asociar el perfil de visibilidad a la oferta y habilitar la protección de datos
> 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'
Dirección IP
Campo | Tipo | Descripción |
---|---|---|
expose_ip_default |
booleano | Si true es , las direcciones IP proporcionadas por el publicador se pasan en las solicitudes de puja. |
ip_exposure_default |
enumeración | Visibilidad de las direcciones IP en las solicitudes de puja. |
name |
string | Nombre del perfil de visibilidad. |
Ejemplo de dirección IP de protección
Paso 1: Crear un perfil de visibilidad
> 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'
Paso 2: Asociar el perfil de visibilidad a la oferta y habilitar la protección de datos
> 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
Field | Tipo | Descripción |
---|---|---|
url_exposure_default |
enumeración | Visibilidad de las direcciones URL de inventario en las solicitudes de puja. Posibles valores: - full - Las direcciones URL completas se pasan en las solicitudes de puja- domain - Solo se pasan dominios de direcciones URL en las solicitudes de puja.- hidden - Las direcciones URL no se pasan en las solicitudes de puja |
Ejemplo de protección de dominio
Paso 1: Crear un perfil de visibilidad
> 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'
Paso 2: Asociar el perfil de visibilidad a la oferta y habilitar la protección de datos
> 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'
Agregar al segmento (consulte Servicio de oferta)
Campo | Tipo | Descripción |
---|---|---|
allow_creative_add_on_view |
booleano | Se establece false para impedir que los compradores agreguen usuarios a segmentos a la vista |
allow_creative_add_on_click |
booleano | Establézcalo false para impedir que los compradores agreguen usuarios a segmentos al hacer clic |
Impedir agregar al segmento al hacer clic o ver ejemplo
> 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'
Para crear una oferta, haga lo siguiente (consulte Servicio de oferta para obtener más información):
Creación de un JSON de oferta:
$ cat deal.json { "deal": { "name": "Deal Line Item Example Deal", "buyer": { "id": 2379 }, "version": 2 } }
Realice una
POST
solicitud al punto dehttps://api.appnexus.com/deal
conexión con este JSON de la oferta y un valor adecuadomember_id
.$ curl -b cookies -c cookies -X POST -d @deal.json 'https://api.appnexus.com/deal?member_id=2378'
Compruebe el cuerpo de la respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status
" de "OK
" y verá las actualizaciones que realizó.Anote el identificador de la oferta en el cuerpo de la respuesta para que pueda usarlo al crear el elemento de línea de transacción en Paso 6: Crear un elemento de línea de oferta.
Perfil
Paso 5: Creación de un perfil de línea de negocio
A continuación, cree un perfil de elemento de línea de oferta para usarlo en la segmentación con el elemento de línea de oferta. Asegúrese de anotar el identificador de este perfil para su uso posterior. Consulte Servicio de perfiles para obtener más información.
Campos JSON opcionales para el perfil de elemento de línea de oferta
Hay muchos campos opcionales disponibles en el perfil de elemento de línea de oferta para establecer como destino el elemento de línea de oferta. Por ejemplo, puede dirigirse a propiedades asociadas con inventario, tipos de inventario, listas de permitidos, listas de bloqueos, tipos de dispositivos, etc. Consulte Profile Service para obtener más información sobre los campos disponibles.
Para crear un perfil de elemento de línea de oferta, haga lo siguiente (consulte Servicio de perfiles para obtener más información):
Cree un json de perfil de elemento de línea de oferta:
Ejemplo: Creación de perfiles con límites de país, frecuencia y recencia y umbrales de velocidad de visualización/finalización
$ 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 } }
Ejemplo: Creación de perfiles sin segmentación
> cat profile.json { "profile": { } }
Realice una
POST
solicitud al punto dehttps://api.appnexus.com/profile
conexión con este json de perfil de oferta y un valor adecuadoadvertiser_id
.Ejemplo: Creación de perfiles con país, límites de recenencia de frecuencia y umbrales de velocidad de visualización y finalización
> curl -b cookies -c cookies -X POST -d @profile.json 'https://api.appnexus.com/profile?advertiser_id=3410892&member_id=2378'
Ejemplo: Creación de perfiles sin segmentación
> curl -b cookies -c cookies -X POST -d @profile.json 'https://api.appnexus.com/profile?advertiser_id=3410892&member_id=2378'
Compruebe el cuerpo de la respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status
" de "OK
" y verá las actualizaciones que realizó.Anote el identificador de perfil en el cuerpo de la respuesta para que pueda usarlo al crear el elemento de línea de oferta en Paso 6: Crear un elemento de línea de oferta.
Elemento de línea
Paso 6: Creación de un elemento de línea de oferta
Por último, tendrá que crear el elemento de línea de oferta para asociar el identificador de la oferta y el perfil de artículo de línea de oferta que creó en Paso 5: Crear un perfil de línea de trato.
Campos JSON para el elemento de línea de oferta
Campo | Tipo | Descripción |
---|---|---|
insertion_orders |
matriz | Matriz que contiene el identificador de pedido de inserción al que desea asociar este elemento de línea de oferta. |
name |
string | Nombre del elemento de línea de oferta Nota: El comprador no verá esto. |
ad_types |
matriz | Tipo de creatividad que se usa para este elemento de línea de oferta. Posibles valores: - "banner" - "video" (también incluye tipos de audio)- "native" |
line_item_type |
enumeración | Debe establecerse en "standard_v2" para crear un elemento de línea de oferta. |
profile_id |
integer | Id. de perfil asociado al elemento de línea de oferta (Paso 5: Creación de un perfil de elemento de línea de oferta) |
budget_intervals |
matriz de objetos | Incluya siempre un objeto start_date . Deje end_date null un elemento de línea de oferta sin fecha de finalización. |
deals |
matriz de objetos | El id campo dentro de las ofertas debe ser el identificador de la oferta que creó en paso 4: Creación de una oferta. |
supply_strategies |
objeto | Objeto que contiene varios campos booleanos que se usan para designar los orígenes de suministro de inventario a los que desea dirigirse. Para un elemento de línea de transacción, el managed campo debe establecerse en true . Los rtb campos , programmatic_guaranteed y deals deben establecerse en false . |
revenue_type |
enumeración |
cpm para la oferta vcpm de precio fijo (CPM), para el precio estándar (CPM dinámico) y la oferta de precio de mercado. |
revenue_value |
double | Si establece en revenue_type cpm (Fijo), establezca el precio fijo mediante revenue_value . Si usa Standard o Market Price, establezca este valor en null . |
valuation |
objeto | Si establece en revenue_type vcpm (Estándar), establezca el precio de planta utilizando min_revenue_value en el objeto de valoración. Si usa cpm (Fijo) o Precio de mercado, establezca el valor de min_revenue_value null . |
auction_event |
objeto | Objeto para propiedades de tipo de evento de subasta: los kpi_auction_type_id campos , payment_auction_type_id y revenue_auction_type_id del auction_event objeto deben establecerse 1 en . |
bid_object_type |
enumeración | Debe establecerse en "deal" para un elemento de línea de oferta. |
Campos JSON opcionales útiles
Campo | Tipo | Descripción |
---|---|---|
priority |
Entero | Establezca la prioridad de la oferta. Cualquier prioridad debajo de la reventa crea una oferta abierta, cualquier prioridad anterior a la reventa crea una oferta privada. |
budget_intervals |
matriz de objetos | Establezca un presupuesto en la oferta mediante campos incluidos budget_intervals : daily_budget , daily_budget_imps , lifetime_budget o lifetime_budget_imps . Use los campos sin valor imp si la línea de transacción tiene el tipo de presupuesto de ingresos o los campos con _imp al final si la línea de la oferta tiene una impresión de tipo de ingresos. Puede tener un presupuesto diario o de duración, no ambos. Un presupuesto de por vida que se encuentra entre vuelos termina dividiéndose en cada vuelo a través de la API. Recuerde que si la oferta no tiene fecha de finalización, no puede tener un presupuesto. |
state |
enumeración | Estado del elemento de línea de la oferta. El valor predeterminado es active , por lo que se establece en inactive si no desea que la oferta se produzca inmediatamente. |
Para crear un elemento de línea de oferta, haga lo siguiente (consulte Servicio de artículos de línea para obtener más información):
Cree un json de elemento de línea de oferta (necesitará un identificador de anunciante, un identificador de pedido de inserción, un identificador de transacción y un identificador de perfil).
JSON de ejemplo: Desasignar elemento de línea sin presupuesto
> 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 } } }
JSON de ejemplo: Presupuesto de impresiones de duración del artículo de línea de transacción
> 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 } } }
JSON de ejemplo: Presupuesto diario de ingresos de artículo de línea de transacción
> 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 } } }
Realice una
POST
solicitud al punto dehttps://api.appnexus.com/line-item
conexión con este elemento de línea de oferta JSON y un elemento y adecuadosadvertiser_id
member_id
.Solicitud de ejemplo: artículo de línea de oferta sin presupuesto
> curl -b cookies -c cookies -X POST -d @deal_line_item.json 'https://api.appnexus.com/line-item?member_id=2378&advertiser_id=3410892'
Solicitud de ejemplo: Presupuesto de impresiones de duración del artículo de línea de oferta
> 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'
Solicitud de ejemplo: Presupuesto diario de ingresos de artículo de línea de oferta
> 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'
Compruebe el cuerpo de la respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status
" de "OK
" y verá las actualizaciones que realizó.Anote el identificador de elemento de línea en el cuerpo de la respuesta para que pueda identificar este elemento de línea de transacción más adelante para cambiar su
state
(active
oinactive
) o modificarlo.