Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La configuración de una implementación de API de una línea de negocio para apuntar a un trato requiere la configuración de una serie de propiedades diferentes en diferentes objetos de API. Esta guía explicará el proceso de creación y configuración de una línea de negocio utilizando nuestra API.
Información general
Las líneas de pedido de ofertas son una característica poderosa que permite a los clientes de redes y editores brindar un mejor soporte a sus compradores al proporcionar herramientas de compra preempaquetadas y fáciles de usar.
La configuración de una línea de negocio generalmente implica realizar solicitudes a los siguientes puntos finales de servicio de API para acceder o crear los objetos de API correspondientes:
| Punto de conexión de API | Objeto de API | Referencia detallada |
|---|---|---|
https://api.appnexus.com/advertiser |
Anunciante | Servicio de anunciantes |
https://api.appnexus.com/insertion-order |
orden de inserción | Servicio de órdenes de inserción |
https://api.appnexus.com/deal |
oferta | Servicio de oferta |
https://api.appnexus.com/profile |
perfil | Servicio de perfiles |
https://api.appnexus.com/line-item |
línea de pedido (ALI) | Partida - Servicio ALI |
Esta guía usa ejemplos de cURL para todas las solicitudes. Puede usar otras herramientas de solicitud de API (por ejemplo, Postman), pero luego tendrá que ajustar los ejemplos en consecuencia.
Requisitos previos
Antes de comenzar esta configuración, asegúrese de leer la API de Introducción. Proporciona información sobre entornos de prueba, restricciones de uso, semántica de API (ejecución de comandos, filtrado, ordenación, etc.) y prácticas recomendadas.
Orden de las operaciones
Los objetos API a menudo tienen dependencias de otros objetos API y hay un orden que debe seguir al crear o acceder a objetos cuando crea una línea de crédito. 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 una línea de trato.
Procedimientos recomendados
Para obtener una lista general de las mejores prácticas a seguir al trabajar con la API, consulte Mejores prácticas de API. Las siguientes son algunas de las mejores prácticas específicas de la configuración de una línea de pedido de trato:
- Establezca el
statecampo de la línea de pedido del negocio hasta que"inactive"la línea de pedido esté completamente configurada y lista para la prueba. - Anote el identificador de los objetos que cree. Los identificadores de los objetos que cree 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
GETque tiene que realizar para obtenerlos.
Procedimiento de instalación
Los siguientes pasos lo guiarán a través del proceso de configuración de una línea de negocio con configuraciones típicas:
- Paso 1: Obtener un token de autorización
- Paso 2: Crear un anunciante o acceder a él
- Paso 3: Crear una orden de inserción o acceder a ella
- Paso 4: Crear una oferta
- Paso 5: Crear un perfil de línea de negocio
- Paso 6: Crear un elemento de línea de negocio
Autenticación
Paso 1: Obtener un token de autorización
En primer lugar, deberá 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 su nombre de usuario y contraseña.
{ "auth": { "username" : "USERNAME", "password" : "PASSWORD" } }Realice una
POSTsolicitud al/authpunto de 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 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: Crear un anunciante o acceder a él
Tendrá que crear o acceder a un anunciante desde el que crear una línea de pedido de trato. Para las líneas de pedido de ofertas, los anunciantes se configuran de la misma manera que las líneas de pedido aumentadas.
Campos JSON para anunciantes (campos opcionales obligatorios y útiles)
| Campo | Tipo | Obligatorio u opcional | Descripción |
|---|---|---|---|
name |
string | Obligatorio | El nombre del anunciante |
timezone |
enumeración | Opcional | La zona horaria del anunciante. Consulte Zonas horarias de API para obtener detalles y valores aceptados. |
use_insertion_orders |
booleano | Obligatorio | Este campo debe establecerse para true crear líneas de pedido de tratos. |
Si aún no tienes un anunciante que usar, crea un anunciante mediante los siguientes pasos (consulta Servicio de anunciantes para obtener más información):
Crear un JSON de anunciante:
$ cat advertiser.json { "advertiser": { "name": "Deal Line Item Example Advertiser", "timezone": "US/Pacific" } }Haga una
POSTsolicitud a lahttps://api.appnexus.com/advertiser endpointcon este anunciante JSON y unmember_idarchivo .$ curl -b cookies -c cookies -X POST -d @advertiser.json 'https://api.appnexus.com/advertiser?member_id=2378'Compruebe el cuerpo de respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status" de "OK" y verá las actualizaciones realizadas.Anota el id. del anunciante en el cuerpo de la respuesta para que puedas usarlo al crear la línea de negocio en el paso 6: Crear una línea de negocio
Orden de inserción
Paso 3: Crear una orden de inserción o acceder a ella
Tendrá que crear una orden de inserción o acceder a ella para crear una línea de pedido de trato. Las líneas de negocio requieren una orden de inserción fluida (consulta los campos obligatorios a continuación).
Campos JSON para un orden de inserción sin interrupciones (campos opcionales obligatorios y útiles)
| Campo | Tipo | Obligatorio u opcional | Descripción |
|---|---|---|---|
name |
string | Obligatorio | El nombre del anunciante |
budget_intervals |
matriz de objetos | Obligatorio | Para que una orden de inserción creada a través de la API sea fluida, debes usar el budget_intervals campo. |
budget_type |
enumeración | Opcional | El tipo de presupuesto se traducirá en todas las ofertas por debajo de la IO. Por ejemplo, si configura una orden de inserción de tipo de presupuesto de impresión, no puede colocar partidas de negocio con un presupuesto de ingresos por debajo de esa orden de inserción. |
daily_budget |
double | Opcional | Campo dentro budget_intervals del cual puedes establecer presupuestos diarios a nivel de orden de inserción para Ingresos budget_type. |
lifetime_budget |
double | Opcional | Campo dentro budget_intervals del cual puedes establecer presupuestos de por vida en el nivel de orden de inserción para Ingresos budget_type. |
daily_budget_imps |
Entero | Opcional | Campo dentro budget_intervals del cual puedes establecer presupuestos diarios a nivel de E/S para la impresión budget_type. |
lifetime_budget_imps |
Entero | Opcional | Campo dentro budget_intervals del cual puede usar para establecer presupuestos de duración en el nivel de E/S para la impresión budget_type. |
Si aún no tiene una orden de inserción para usar, cree una orden de inserción mediante los siguientes pasos (consulte Servicio de órdenes de inserción para obtener más información):
Crear un JSON de la orden de inserción (a continuación se muestran dos ejemplos):
Ejemplo de JSON: 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" } }Ejemplo de JSON: pilotos, presupuestos de impresión
$ 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
POSTsolicitud alhttps://api.appnexus.com/insertion-orderpunto de conexión con este JSON de orden de inserción y unadvertiser_idarchivo ymember_id.Ejemplo de solicitud: 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: pilotos, presupuestos de impresión
$ 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 respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status" de "OK" y verá las actualizaciones realizadas.Anota el ID de la orden de inserción en el cuerpo de la respuesta para que puedas usarlo al crear el elemento de línea de negocio en el paso 6: Crear un elemento de línea de negocio.
Repartir
Paso 4: Crear una oferta
Tendrás que crear el trato que quieras asociar con el elemento de línea de trato.
Campos JSON para oferta
| Campo | Tipo | Obligatorio u opcional | Descripción |
|---|---|---|---|
name |
string | Obligatorio | El nombre de la oferta Nota: El comprador verá este nombre. |
buyer |
objeto | Obligatorio | El postor comprador y el miembro que puede apuntar a este trato. Un trato solo usará el buyer campo o el buyer_seats campo, no ambos. Para obtener más detalles, consulte la "Buyer" sección del Servicio de ofertas. |
buyer_seats |
objeto | Obligatorio | El postor comprador y el asiento que pueden apuntar a este acuerdo. Una oferta solo usará el campo comprador o el buyer_seats campo, no ambos. Para obtener más detalles, consulte la sección Asientos de comprador en el Servicio de ofertas. |
version |
Entero | Obligatorio | Este campo debe establecerse para "2" asociar el trato a un elemento de línea de trato. |
auction_type |
objeto | Opcional | El tipo de subasta de la oferta (Standard/Fija/Mercado). Este valor debe coincidir con lo establecido en el elemento de línea de negocio (a través revenue_type//min_revenue_valuerevenue_valuede ).Nota: Este campo debe establecerse en el momento de la creación, pero no se utiliza en los elementos de línea de trato. No se actualizará si el artículo de línea está actualizado y en la subasta; Solo se tienen en cuenta los valores de las líneas de pedido. |
priority |
Entero | Opcional | Establecer un valor de prioridad es opcional; sin embargo, si se especifica en la línea de pedido, también se debe establecer el mismo valor en el objeto Deal. Los valores de prioridad asignados a la oferta y a la línea de pedido correspondiente deben ser idénticos. Valores posibles: de 1 a 20, donde 20 es la prioridad más alta. Valor predeterminado: 5. Nota: Esta configuración por sí sola no determina la prioridad del trato; la prioridad también debe establecerse correctamente al crear la línea de pedido. |
type |
objeto | Opcional | El identificador que representa el tipo de trato. Posibles valores: 1: Subasta abierta 2: Subasta privada Predeterminado: 1 Nota: Esta configuración por sí sola no determina si el trato es privado o abierto. Establezca los valores y deprioritize_rtb como priority corresponda al crear la línea de pedido. |
Nota:
Asegúrese de que "ask_price" y "floor_price" no estén establecidos en el objeto de trato. Estos campos se rellenarán automáticamente cuando el trato esté asociado a la línea de pedido.
Campos JSON opcionales útiles
Campos JSON para creatividades permitidas
Marca (consulte Servicio de marca)
| Campo | Tipo | Descripción |
|---|---|---|
brand_restrict |
booleano |
true: La oferta está restringida solo a las marcas enumeradasfalse: Otras marcas pueden servir |
brands |
matriz de objetos | Variedad de marcas aptas |
id |
Entero | Campo dentro brandsde: ID de la marca que es apta para la oferta |
name |
string | Campo dentro brandsde: nombre de la marca que cumple los requisitos para la oferta |
override |
booleano | Campo dentro de brands: establecido para true permitir que una marca específica publique un acuerdo 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 Servicio lingüístico)
| Campo | Tipo | Descripción |
|---|---|---|
language_restrict |
booleano |
-
true: La oferta está restringida solo a los idiomas indicados- false: Se permite la publicación en otros idiomas |
languages |
matriz de objetos | Matriz de idiomas elegibles |
id |
Entero | Campo dentro languagesde: Id. del idioma que es apto para la oferta |
name |
string | Campo dentro languagesde: Nombre del idioma que es apto para la oferta |
override |
booleano | Campo dentro de languages: Se establece para true permitir que un idioma específico se publique en una oferta, incluso si el perfil de calidad del anuncio la 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 el acuerdo controla las creatividades. - max_trust: Máximo: no se aplicarán restricciones 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 utiliza 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 de categorías (consulte Servicio de ofertas). - true: La oferta está restringida solo a las categorías indicadas.- false: también se permite la publicación de otras categorías. |
categories |
matriz de objetos | Las categorías que describen los recursos creativos que pueden optar a la oferta. |
id |
Entero | Campo dentro categoriesde: Id. de la categoría que es elegible para la oferta. |
name |
string | Campo dentro categoriesde : Nombre de la categoría que cumple los requisitos para la oferta. |
override |
booleano | Campo dentro de categories: establecido para true permitir que una categoría se publique para una oferta incluso si el perfil de calidad del anuncio la hubiera bloqueado. |
Ejemplo de categoría creativa
"categories": [
{
"id": 1,
"name": "Airlines",
"override": false
},
{
"id": 2,
"name": "Apparel",
"override": true
}
],
"category_restrict": true
Recursos creativos específicos
| Campo | Tipo | Descripción |
|---|---|---|
creatives |
matriz de objetos | Una lista de creatividades que están específicamente aprobadas o prohibidas para el trato. Esta lista reemplaza cualquier otra configuración de calidad de anuncios. |
id |
Entero | Campo dentro creativesde : ID de la creatividad que está aprobada o prohibida para la oferta. |
status |
string | Campo dentro de creatives: especifica cómo se manejará esta creatividad para este trato. - approved: Esta creatividad siempre puede servir en este trato, independientemente de cualquier otra configuración o anulación de calidad de anuncios.- banned: esta creatividad nunca podrá servir en este trato, independientemente de cualquier otra configuración o anulació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 subtipo de medios y Servicio de tipo de medios)
| Campo | Tipo | Descripción |
|---|---|---|
allowed_media_subtypes |
matriz de objetos | Los subtipos de medios permitidos para el acuerdo. |
id |
Entero | Campo dentro allowed_media_subtypesde : El identificador del subtipo de medio permitido para la oferta |
allowed_media_types |
matriz de objetos | Los tipos de medios permitidos para el acuerdo |
id |
Entero | Campo dentro allowed_media_typesde : El ID 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 está restringida solo a los atributos técnicos enumerados en el technical_attributes objeto.- true: la oferta está restringida solo a los atributos técnicos enumerados.- false: También se permite el servicio de otros atributos técnicos. |
technical_attributes |
matriz de objetos | Los atributos técnicos de los recursos creativos que pueden participar en la oferta. |
id |
Entero | Campo dentro technical_attributesde:El identificador del atributo técnico que es apto para la oferta |
override |
booleano | Campo dentro de technical_attributes: Se establece en verdadero para permitir que un atributo técnico se publique para una oferta, incluso si el perfil de calidad del anuncio la 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 ofertas (consulte Servicio de perfiles de visibilidad)
Advertencia
Esta característica beta no está disponible para todos los clientes. Ponte en contacto con el administrador de cuentas para analizar si tienes un caso de uso.
Id. de usuario e id. de dispositivo
| Campo | Tipo | Descripción |
|---|---|---|
expose_device_id_default |
booleano | Si true, los identificadores de dispositivo proporcionados por el editor se pasan en las solicitudes de oferta. |
expose_user_id_default |
booleano | Si true, se pasan identificadores de usuario proporcionados por el editor en las solicitudes de oferta. |
name |
string | Nombre del perfil de visibilidad. |
Ejemplo de Proteger el Id. de usuario y el Id. de dispositivo
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: Asocie el perfil de visibilidad a la oferta y habilite 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, se pasan direcciones IP proporcionadas por el editor en las solicitudes de oferta. |
ip_exposure_default |
enumeración | La visibilidad de las direcciones IP en las solicitudes de puja. |
name |
string | Nombre del perfil de visibilidad. |
Ejemplo de dirección IP protegida
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: Asocie el perfil de visibilidad a la oferta y habilite 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 | La visibilidad de las URL de inventario en las solicitudes de puja. Posibles valores: - full - Las URL completas se pasan en sus solicitudes de oferta- domain - Solo se pasan dominios de URL en sus solicitudes de oferta- hidden - Las URL no se pasan en sus solicitudes de oferta |
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: Asocie el perfil de visibilidad a la oferta y habilite 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 (ver Servicio de ofertas)
| 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 | Se establece false para impedir que los compradores agreguen usuarios a segmentos al hacer clic |
Impedir que se agregue a un 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 ofertas para obtener más información):
Crear una oferta JSON:
$ cat deal.json { "deal": { "name": "Deal Line Item Example Deal", "buyer": { "id": 2379 }, "version": 2 } }Realice una
POSTsolicitud alhttps://api.appnexus.com/dealpunto de conexión con este JSON de oferta y unmember_idarchivo .$ curl -b cookies -c cookies -X POST -d @deal.json 'https://api.appnexus.com/deal?member_id=2378'Compruebe el cuerpo de respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status" de "OK" y verá las actualizaciones realizadas.Anota el ID del trato en el cuerpo de la respuesta para que puedas usarlo cuando crees el elemento de línea de negocio en el Paso 6: Crear un elemento de línea de trato.
Perfil
Paso 5: Crear un perfil de línea de negocio
A continuación, cree un perfil de línea de negocio para utilizarlo en la segmentación con la línea de negocio negocio. Asegúrese de anotar el identificador de este perfil para usarlo más adelante. Consulte Servicio de perfiles para obtener más información.
Campos JSON opcionales para el perfil de la línea de pedido de la oferta
Hay muchos campos opcionales disponibles en el perfil de la línea de pedido del trato para segmentar con la línea de pedido del trato. Por ejemplo, puedes dirigirte a propiedades asociadas con el inventario, tipos de inventario, listas de permitidos, listas de bloqueados, tipos de dispositivos, etc. Consulte el Servicio de perfiles para obtener más información sobre los campos disponibles.
Para crear un perfil de línea de pedido de trato, haga lo siguiente (consulte Servicio de perfiles para obtener más información):
Crear un perfil de elemento de línea de negocio JSON:
Ejemplo: Creación de perfiles con países o regiones, límites de frecuencia/actualidad y umbrales de tasa de visualización/tasa de 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
POSTsolicitud alhttps://api.appnexus.com/profilepunto de conexión con este perfil de oferta JSON y un archivo .SRT adecuadoadvertiser_idEjemplo: Creación de perfiles con país, límites de frecuencia reciente y umbrales de tasa de visualización/tasa de 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 respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status" de "OK" y verá las actualizaciones realizadas.Anota el ID de perfil en el cuerpo de la respuesta para que puedas usarlo al crear el elemento de línea de negocio en el Paso 6: Crear un elemento de línea de trato.
Línea de pedido
Paso 6: Crear un elemento de línea de negocio
Por último, tendrás que crear la línea de negocio para asociar el ID del negocio y el perfil de línea de negocio que creaste en el Paso 5: Crear un perfil de línea de negocio de trato.
Campos JSON para el objeto de línea de negocio
| Campo | Tipo | Descripción |
|---|---|---|
insertion_orders |
matriz | Matriz que contiene el ID de la orden de inserción al que desea asociar esta línea de pedido de negocio. |
name |
string | Nombre de la línea de negocio Nota: El comprador no verá esto. |
ad_types |
matriz | El tipo de creatividad utilizado para esta línea de pedido de trato. Posibles valores: - "banner"- "video" (incluye también los tipos de audio)- "native" |
line_item_type |
enumeración | Debe establecerse en "standard_v2" para crear una línea de pedido de trato. |
profile_id |
integer | ID de perfil asociado con el elemento de línea de negocio (Paso 5: crear un perfil de elemento de línea de negocio) |
budget_intervals |
matriz de objetos | Siempre incluya un start_date. Salir end_datenull para una línea de pedido de oferta sin fecha de finalización. |
deals |
matriz de objetos | El id campo dentro de los tratos debe ser el ID del trato que creó en el Paso 4: Crear un trato. |
supply_strategies |
objeto | Un objeto que contiene varios campos booleanos que se utiliza para designar los orígenes de suministro de inventario a los que desea dirigirse. Para un elemento de línea de negocio, el managed campo debe establecerse en true. Los rtbcampos , programmatic_guaranteed, y deals deben establecerse en false. |
revenue_type |
enumeración |
cpmpara oferta vcpm de precio fijo (CPM), para precio Standard (CPM dinámico) y oferta de precio de mercado. |
revenue_value |
double | Si establece el revenue_type valor establecido en cpm (Fijo), establezca el precio fijo usando revenue_value. Si usas Standard o Market Price, establece este valor en null. |
valuation |
objeto | Si establece el revenue_type valor vcpm (Standard), fije el precio mínimo utilizando min_revenue_value en el objeto de valoración. Si usas cpm (Fijo) o Precio de mercado, establece el valor de min_revenue_valuenull. |
auction_event |
objeto | Propiedades del tipo de evento de objeto para subasta: los kpi_auction_type_idcampos , payment_auction_type_id, y revenue_auction_type_id del auction_event objeto deben establecerse en 1. |
bid_object_type |
enumeración | Debe establecerse en "deal" para una línea de pedido de trato. |
Campos JSON opcionales útiles
| Campo | Tipo | Descripción |
|---|---|---|
priority |
Entero | Establece la prioridad del trato. Este valor de prioridad, en combinación con el campo deprioritize_rtb , determina si una oferta se subasta como abierta o privada. Para crear una oferta abierta, establezca una prioridad debajo de la prioridad de reventa del miembro. Para crear un acuerdo privado, establezca una prioridad por debajo de la prioridad de reventa del miembro si la identificación del miembro también está creando GDALI (clientes de servidor de anuncios); o establecer una prioridad superior o igual a la prioridad de reventa del miembro si su identificador de miembro no está creando GDALI (clientes SSP). |
deprioritize_rtb |
booleano | Si se establece en true, el acuerdo se considera privado y siempre tendría prioridad sobre los acuerdos abiertos y las ofertas abiertas de RTB. Si se establece en false, el acuerdo se considera abierto y compite en precio con acuerdos abiertos con la misma prioridad y ofertas abiertas de RTB. Consulte la lógica de subastas para conocer las ofertas para obtener más detalles. |
budget_intervals |
matriz de objetos | Establece un presupuesto en la oferta usando campos que budget_intervals incluyen: daily_budget, , lifetime_budgetdaily_budget_imps, o lifetime_budget_imps. Usa los campos con no imp si la línea de pedido del negocio tiene un tipo de presupuesto de ingresos o los campos con _imp al final si el elemento de línea de negocio tiene un tipo de ingresos de impresión. Puedes tener un presupuesto diario o de por vida, no ambos. Un presupuesto de por vida que se encuentra en todos los vuelos termina dividiéndose en cada vuelo a través de la API. Recuerda que si tu oferta no tiene fecha de finalización, no puede tener un presupuesto. |
state |
enumeración | Estado de la línea de pedido del trato. El valor predeterminado es active, así que establézcalo en inactive si no desea que la oferta se active de inmediato. |
Para crear una línea de pedido de trato, haga lo siguiente (consulte Servicio de línea de pedido para obtener más información):
Crea un JSON de una línea de pedido de negocio (necesitarás un identificador de anunciante existente, un identificador de orden de inserción, un identificador de oferta y un identificador de perfil).
Ejemplo de JSON: Línea de pedido de oferta 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 } } }Ejemplo JSON: Presupuesto de impresiones de por vida de la línea de pedido de oferta
> 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 } } }Ejemplo de JSON: Presupuesto de ingresos diarios de elemento de línea de negocio
> 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
POSTsolicitud alhttps://api.appnexus.com/line-itempunto de conexión mediante este elemento de línea de negocio JSON y unadvertiser_idarchivo y .member_idSolicitud de ejemplo: Partida 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 por vida de la línea de pedido 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'Ejemplo de solicitud: Partida de negocio presupuesto de ingresos diarios
> 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 respuesta de la solicitud. Si la solicitud se realizó correctamente, obtendrá un "
status" de "OK" y verá las actualizaciones realizadas.Anote el ID de la línea de pedido en el cuerpo de la respuesta para que pueda identificar esta línea de negocio más tarde para cambiar su
state(activeoinactive) o modificarla.