Compartir a través de


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:

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:

  1. Cree un archivo JSON que contenga el nombre de usuario y la contraseña.

    {
        "auth": {
            "username" : "USERNAME",
            "password" : "PASSWORD"
        }
    }
    
  2. 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'
    
  3. 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):

  1. Cree un JSON de anunciante:

    $ cat advertiser.json
    {
        "advertiser": {
            "name": "Deal Line Item Example Advertiser",
            "timezone": "US/Pacific"
        }
    }
    
  2. Realice una POST solicitud a https://api.appnexus.com/advertiser endpoint con este JSON de anunciante y un valor adecuado member_id.

    $ curl -b cookies -c cookies -X POST -d @advertiser.json 'https://api.appnexus.com/advertiser?member_id=2378'
    
  3. 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ó.

  4. 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):

  1. 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"
            ]
        }
    }
    
  2. Realice una POST solicitud al punto de https://api.appnexus.com/insertion-order conexión con este json de orden de inserción y un valor adecuado advertiser_id y member_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'
    
  3. 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ó.

  4. 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_typerevenue_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 enumeradas
false: 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 creativesde : 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 truees , los identificadores de dispositivo proporcionados por el publicador se pasan en las solicitudes de puja.
expose_user_id_default booleano Si truees , 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 truees , 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):

  1. Creación de un JSON de oferta:

    $ cat deal.json
    {
        "deal": {
            "name": "Deal Line Item Example Deal",
            "buyer": {
                "id": 2379
            },
            "version": 2
        }
    }
    
  2. Realice una POST solicitud al punto de https://api.appnexus.com/deal conexión con este JSON de la oferta y un valor adecuado member_id.

    $ curl -b cookies -c cookies -X POST -d @deal.json 'https://api.appnexus.com/deal?member_id=2378'
    
  3. 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ó.

  4. 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):

  1. 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": {
        }
    }
    
  2. Realice una POST solicitud al punto de https://api.appnexus.com/profile conexión con este json de perfil de oferta y un valor adecuado advertiser_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'
    
  3. 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ó.

  4. 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_datenull 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 rtbcampos , programmatic_guaranteedy 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_typecpm (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_typevcpm (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_valuenull.
auction_event objeto Objeto para propiedades de tipo de evento de subasta: los kpi_auction_type_idcampos , payment_auction_type_idy revenue_auction_type_id del auction_event objeto deben establecerse 1en .
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_budgeto 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):

  1. 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
            }
        }
    }
    
  2. Realice una POST solicitud al punto de https://api.appnexus.com/line-item conexión con este elemento de línea de oferta JSON y un elemento y adecuados advertiser_idmember_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'
    
  3. 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ó.

  4. 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 o inactive) o modificarlo.