Compartir a través de


Servicio deal

El Servicio de oferta permite a los compradores, vendedores y postores externos configurar y administrar ofertas negociadas. Las ofertas pueden proporcionar a los compradores:

  • Precios preferenciales en el inventario
  • Acceso al inventario exclusivo
  • Reducción de la competencia en el inventario
  • Otras oportunidades

Cada oferta es válida para un único comprador.

Nota:

  • El inventario incluido en una oferta también puede estar incluido en otras ofertas.
  • Los compradores pueden usar el servicio Deal Buyer Access para ver las ofertas disponibles para ellos. Para dirigirse a ofertas, los compradores con destino restringido del vendedor pueden usar el deal_targets campo en el servicio de perfil.

API de REST

Http (método) Endpoint Description
GET https://api.appnexus.com/deal Ver todas las ofertas que tiene con los compradores.
GET https://api.appnexus.com/deal?id=DEAL_ID Ver una oferta específica.
GET https://api.appnexus.com/deal?id=1,2,3 Vea varias ofertas por identificador mediante una lista separada por comas.
GET https://api.appnexus.com/deal/meta Averigüe por qué campos puede filtrar y ordenar.
POST https://api.appnexus.com/deal Agregue una nueva oferta.
PUT https://api.appnexus.com/deal?id=DEAL_ID Modificar una oferta existente.
DELETE https://api.appnexus.com/deal?id=DEAL_ID Eliminar una oferta.

Advertencia: Si eliminas una oferta, todas las campañas destinadas a la oferta dejarán de servir. Las eliminaciones son permanentes y no se pueden revertir. Aunque las ofertas eliminadas siguen estando disponibles en los informes, ya no tendrá visibilidad sobre su configuración específica.

Campos JSON

Campo Tipo (longitud) Description
active booleano Si truees , la oferta está activa.

Valor predeterminado: true
Nota: La oferta estará disponible para el comprador solo cuando este campo sea true, start_date esté en el pasado (o null) y end_date esté en el futuro (o null).
adserver_lists matriz de objetos Cada objeto identifica una lista de servidores de anuncios que se aplicará a la oferta. Para obtener más información, consulte Listas de Ad Server a continuación.

Valor predeterminado: null
allow_creative_add_on_click booleano Si truees , permita que cualquier creatividad sirva que agregue usuarios a un segmento al hacer clic.

Valor predeterminado: true
allow_creative_add_on_view booleano Si truees , permita que cualquier creatividad sirva que agregue usuarios a un segmento a la vista.

Valor predeterminado: false
allowed_media_subtypes matriz de objetos Subtipos multimedia permitidos para la oferta. Para obtener más información, consulte Subtipos de medios permitidos a continuación.
allowed_media_types matriz de objetos Los tipos de medios permitidos para la oferta. Para obtener más información, consulte Tipos de medios permitidos a continuación.
ask_price double Más floor_price el recurso compartido de ingresos del vendedor especificado en el contrato. Este es el precio mostrado al comprador. Es el mínimo que deben pujar para competir por el inventario.

Nota: Este campo es necesario para las ofertas con garantía programática y es el precio acordado entre el vendedor y el comprador.

Obligatorio activado: PUT y POST

Valor predeterminado: número generado automáticamente
auction_type object Tipo de subasta de la oferta. Una oferta puede tener los siguientes tipos de subasta: primer precio, segundo precio y precio fijo. Para obtener más información, vea Tipo de subasta a continuación.
audit_status_option string Especifica cómo controla la oferta las creatividades.
- none: los creativos usan la configuración de calidad de anuncios existente.
- provisional: 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.
- max_trust: no se aplicarán restricciones de perfil de anuncio a esta oferta.
Las creatividades enumeradas específicamente en el objeto Creatives invalidarán esta configuración.

Valor predeterminado: none
brands matriz de objetos Las marcas de creativos que son elegibles para la oferta. Para obtener más información, consulte Marcas a continuación.

Valor predeterminado: null
brand_restrict booleano Especifica si la oferta está restringida solo a las marcas enumeradas en el objeto Brands .
- true: la oferta solo está restringida a las marcas enumeradas.
- false: también se permite que otras marcas sirvan.

Valor predeterminado: true
buyer object 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 Comprador a continuación.

Obligatorio activado: POST
buyer_seats object El postor de compra y el puesto que pueden dirigirse a esta oferta. Una oferta solo usará el buyer campo o el buyer_seats campo, no ambos. Para obtener más información, consulta Asientos de comprador a continuación.
buyer_bidders object El postor de compra que puede dirigirse a esta oferta. Para obtener más detalles, consulte Los postores de compradores a continuación.

Valor predeterminado: null
buyer_members object El identificador de miembro de Xandr del comprador que puede dirigirse a esta oferta. Para obtener más información, consulte Miembros compradores a continuación.

Valor predeterminado: null
categories matriz de objetos Categorías que describen las creatividades que son aptas para la oferta. Para obtener más información, vea Categorías a continuación.
category_restrict booleano Especifica si la oferta está restringida solo a las categorías enumeradas en el objeto Categories .
- true: la oferta solo está restringida a las categorías enumeradas.
- false: también se permite que otras categorías sirvan.

Valor predeterminado: true
code string (100) Código personalizado para la oferta.

Nota: Este campo es obligatorio y representa el identificador de la oferta interna, que se pasa en la solicitud de puja a través del campo id. de la oferta de objeto del PMP.

Obligatorio activado: POST
Valor predeterminado: null
created_by string Especifica si el vendedor o el comprador crearon esta oferta (mediante el Servicio de oferta desde paquete).
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. Para obtener más detalles, consulte Creatives a continuación.
currency enumeración Moneda de floor_price. Para obtener una lista completa de las monedas disponibles, use el servicio de moneda de solo lectura.

Valor predeterminado: "USD"
data_protected booleano Si truees , la configuración de allow_creative_add_on_view, allow_creative_add_on_clicky visibility_profile_id se usa para esta oferta. Si falsese usa , se usa la configuración de red y publicador.

Valor predeterminado: false
description string (65535) Descripción de la oferta. Puede usar este campo para proporcionar al comprador información adicional o detalles sobre la oferta.

Valor predeterminado: null
end_date Timestamp El día y la hora en que la oferta deja de estar disponible para el comprador, en hora local. Si se establece, el formato debe ser "YYYY-MM-DD HH:MM:SS".

Valor predeterminado: null (inmediatamente)
floor_price double Valor mínimo de CPM que el comprador debe pujar para ser elegible para la oferta.

Nota:
- Si use_deal_floor es false, este campo debe establecerse en 0. En este caso, tenga en cuenta que aunque 0 se muestra como el precio del piso, no se aplica realmente ningún piso de oferta; si tiene otros pisos (en colocaciones o perfiles de gestión de rendimiento), se aplicarán, o si no tiene ningún otro piso, se aplicará la mecánica estándar de subastas de segundo precio.
- A partir de 2017, solo ask_price se usa. La API POST y PUT las llamadas que hacen floor_price referencia a y use_deal_floor funcionarán de la siguiente manera:
* Si la llamada API solo incluye ask_price , este es el valor que se usará.
* Si la llamada API solo incluye un floor_price valor, este valor se convertirá en el ask_price valor .

Valor predeterminado: 0, si use_deal_floor es false
id Entero El identificador de la transacción.

Obligatorio activado: PUT y DELETE

Valor predeterminado: número incrementado automáticamente
languages matriz de objetos Idioma asociado a las creatividades que son aptas para la oferta. Para obtener más información, consulte Idiomas a continuación.
language_restrict booleano Especifica si la oferta está restringida solo a los idiomas enumerados en el objeto Languages .
- true: la oferta solo está restringida a los idiomas enumerados.
- false: también se permite que otros idiomas sirvan.

Valor predeterminado: true
last_modified Timestamp Solo lectura. Fecha y hora en que se modificó por última vez la oferta, en hora local.
media_preference string Especifica cómo controla esta oferta los tipos o subtipos multimedia. Hay dos opciones:
- standard = use los tipos de medios que ya están en la subasta (en función de la configuración de selección de ubicación)
- append = incluir los tipos de medios en la subasta + los tipos de medios privados establecidos en la selección de ubicación

Si se crea una oferta a partir de un paquete, esta configuración se copia del paquete a la oferta.
name string (255) Nombre de la oferta.
Valor predeterminado: null
package_id Entero El identificador del paquete desde el que se creó la oferta, si procede. Consulte Oferta desde el servicio de paquetes.

Valor predeterminado: null
payment_type string Especifica el tipo de pago de la oferta:
- default: esta oferta usa el tipo de pago predeterminado para el comprador de esta oferta. Incluye CPM y también puede incluir CPA, CPC o ambos.
- cpvm: esta oferta usa el tipo de pago DE CPM visible. Solo las impresiones visibles dan como resultado el pago del comprador.

Valor predeterminado: default
priority Entero Prioridad de puja para ofertas cuando id se encuentra en el type objeto = 2/Private Auction.
Valores posibles: 1 - 20, donde 20 es la prioridad más alta.

Valor predeterminado: 5
profile_id Entero Identificador del perfil asociado a la oferta. Puede usar un perfil para especificar publicadores, ubicaciones, categorías de contenido, áreas geográficas, segmentos, grupos de segmentos o tamaños que necesiten participar en la subasta para que la oferta esté disponible para el comprador. Para obtener más información, vea publisher_targets, placement_targets, , content_category_targetscountry_targets, region_targets, city_targets, dma_targets, segment_targets, segment_group_targets, site_targetsy size_targets en el servicio de perfiles.

Advertencia: No se respetará ninguna otra configuración de destino en el perfil asociado.

Valor predeterminado: null
seller object Solo lectura. El miembro vendedor que está ofreciendo el trato. Para obtener más información, consulte Vendedor a continuación.
size_preference string Especifica cómo controla esta oferta los tamaños privados. Los tamaños privados son tamaños de ubicación (establecidos en la private_sizes matriz en el servicio de selección de ubicación) que pueden servir para una oferta. Hay dos opciones:
- standard: los tamaños privados no están disponibles para esta oferta.
- append: se pueden usar tamaños privados además del tamaño de ubicación especificado.

Si se crea una oferta a partir de un paquete, esta configuración se copia del paquete a la oferta.
start_date Timestamp El día y la hora en que la oferta comienza a estar disponible para el comprador, en hora local. Si se establece, el formato debe ser "YYYY-MM-DD HH:MM:SS".

Valor predeterminado: null (inmediatamente)
technical_attributes matriz de objetos Los atributos técnicos de los creativos que son aptos para la oferta. Para obtener más información, consulte Atributos técnicos a continuación.
technical_attribute_restrict booleano Especifica si la oferta solo está restringida a los atributos técnicos enumerados en el objeto Technical Attributes .
- true: la oferta solo está restringida a los atributos técnicos enumerados.
- false: también se permite que otros atributos técnicos sirvan.

Valor predeterminado: true
type object Tipo de oferta. Para los vendedores, una oferta puede ser una subasta abierta o una subasta privada. Para obtener más información, vea Tipo a continuación.
use_deal_floor booleano Si truees , se aplica para floor_price la oferta.

Nota:
- Cuando use_deal_floor es true, el precio del piso de la oferta invalida cualquier otro piso que pueda tener, es decir, en colocaciones o perfiles de gestión de rendimiento.
- A partir de 2017, solo ask_price se usa. La API POST y PUT las llamadas que hacen floor_price referencia a y use_deal_floor funcionarán de la siguiente manera:
* Si la llamada API solo incluye ask_price , este es el valor que se usará.
* Si la llamada API solo incluye un floor_price valor, este valor se convertirá en el ask_price valor .

Valor predeterminado: true
version Entero Especifica la versión del objeto deal. Los posibles valores son:
1 = Ofertas externas de partners de suministro y configuraciones monetizaciones heredadas
2 = Monetizar ofertas de vendedores

Obligatorio activado: POST
Valor predeterminado: 1
visibility_profile_id Entero Identificador único del perfil de visibilidad que se aplicará a una oferta. Este identificador se puede recuperar del servicio de perfil de visibilidad.
line_item_ids matriz de int Una lista consta de los identificadores de los elementos de línea presentes en una oferta. Esta matriz se rellena cuando la versión de la oferta es 2; de lo contrario, se trata de una matriz nula. Se trata de un campo de solo lectura devuelto en una GET solicitud.
seller_targeting_restriction object Indica si la oferta restringe los atributos a los que un comprador de Invest puede dirigirse al mismo tiempo que se dirige a esta oferta. Vea El objetivo restringido del vendedor a continuación.

Vendedor

El seller objeto contiene los campos siguientes:

Campo Tipo Description
id Entero - Solo lectura.
- Id. de miembro del vendedor
Id. de miembro del vendedor.
name string - Solo lectura.
- Nombre del miembro del vendedor
Nombre del miembro del vendedor.

Comprador

El objeto buyer se puede establecer en , POSTpero no se puede actualizar con .PUT Si desea cambiar el comprador, debe crear una nueva oferta.

El buyer objeto contiene los campos siguientes:

Campo Tipo Description
id Entero Identificador de miembro del comprador.
Obligatorio activado: POST
bidder_id Entero Solo lectura. Id. del pujador del miembro. Para los compradores, siempre será 2.
name string Solo lectura. Nombre del miembro del comprador.

Ejemplo del buyer objeto

"buyer": {
                "bidder_id": 2,
                "bidder_name": "Microsoft Invest",
                "id": 9155,
                "name": "Hearts & Science (AT&T)"
            },
"buyer_seats": null

Postores compradores

El buyer_bidders objeto se puede establecer en y POSTse puede actualizar con .PUT Cuando un vendedor está habilitado para ofertas de varios compradores. el buyer_bidders objeto se puede establecer en combinación con buyer_seats y buyer_members.

El buyer_bidders objeto contiene los campos siguientes:

Campo Tipo Descripción
bidder_name string Solo lectura. Nombre del licitador.
id Entero El id. del pujador del comprador. El identificador del licitador es 2.
Obligatorio activado: POST

Ejemplo del buyer_bidders objeto

"buyer_bidders": [{
    "bidder_id": 1,
    "bidder_name": "Example Bidder"
}],

Miembros compradores

El buyer_members objeto se puede establecer en y POSTse puede actualizar con .PUT Cuando un vendedor está habilitado para ofertas de varios compradores, el buyer_members objeto se puede establecer en combinación con buyer_seats y buyer_bidders.

El buyer_members objeto contiene los campos siguientes:

Campo Tipo Description
bidder_id Entero Solo lectura. Id. del pujador del miembro. Para los compradores de Invest, siempre será 2.
bidder_name string Solo lectura. Nombre del licitador.
id Entero Identificador de miembro del comprador.
Obligatorio activado: POST
name string Solo lectura. Nombre del miembro del comprador.

Ejemplo del buyer_members objeto

"buyer_members": [{
    "bidder_id": 1,
    "bidder_name": "Example Bidder",
    "id": "456",
    "name": "Example Buyer Member"
}],

Asientos de comprador

Las ofertas con asientos se pueden configurar mediante el buyer_seats objeto a través de la API.

Cuando se configura una nueva oferta a través de , la API se rellenará con el buyer_seats objeto . Puede usar el identificador de miembro del comprador de Invest en el code campo, así como bidder_id. También se pueden configurar nuevas ofertas con DSP externos con identificadores de asiento del comprador. Puede comprobar qué DSP externos usan los identificadores de asiento del comprador aquí.

Nota:

  • Una oferta se puede configurar con buyer o , donde buyer es miembro y buyer_seatsbuyer_seatses un asiento.
  • Cuando un vendedor tiene habilitadas las ofertas de puestos de comprador, todas las ofertas con se configurarán mediante buyer_seats (cuando la oferta se configura con , las ofertas con el campo todavía se pueden configurar mediante la buyer API).
  • Code es el código de asiento, es decir, el "id. de asiento" que el comprador suele dar. Es único para un determinado bidder_id, por lo que al crear una nueva oferta code y bidder_id son obligatorios.

El buyer_seats objeto contiene los campos siguientes:

Campo Tipo Description
bidder_id Entero Id. del pujador del miembro.
Obligatorio activado: POST
bidder_name string Nombre del licitador.
code string Identificador del asiento del comprador.
Obligatorio activado: POST
name string Nombre del comprador.

Ejemplo del buyer_seats objeto

"buyer": null,
"buyer_seats": [
                {
                    "bidder_id": 2,
                    "bidder_name": "",
                    "code": "9155",
                    "name": "Hearts & Science (AT&T)"
                }
            ],

Tipo

El type objeto contiene los campos siguientes:

Campo Tipo (longitud) Description
id Entero Identificador que representa el tipo de transacción. Posibles valores:
1 = Abrir subasta
En , "Open Auction"los compradores que se dirigen a las ofertas y los compradores que se dirigen al inventario a través de otros medios compiten por la impresión. Si un comprador que se dirige a un acuerdo envía la oferta más alta y la oferta borra el piso del contrato, ese comprador gana la subasta, pagando la segunda oferta más alta o el precio del piso de oferta, lo que sea más alto. Si uno de los compradores sin acuerdo envía la oferta más alta, ese comprador gana la subasta, pagando la segunda oferta más alta o ECP, lo que sea más alto.

2 = Subasta privada
En , "Private Auction"los compradores que se dirigen a las ofertas privadas compiten primero por la impresión. A continuación, si ninguno de los compradores de la oferta gana, la subasta se abre a los compradores que se dirigen al inventario a través de otros medios. Si un comprador que se dirige a un acuerdo envía una oferta más alta que el piso de la oferta y mayor que cualquier otra oferta de subasta privada, ese comprador gana la subasta, pagando la segunda oferta más alta de la subasta privada o el precio del piso de oferta, lo que sea más alto. Si no hay ofertas de subasta privada que borren sus pisos, gana la puja más alta de la subasta abierta, pagando la segunda puja más alta de la subasta abierta o ECP, lo que sea más alto.

4 = Garantizado mediante programación
En "Programmatic Guaranteed", los compradores se dirigen a las ofertas con garantía programática (PG). Las ofertas de PG aportan las ventajas de segmentación, mensajería e informes de la publicidad mediante programación a las compras de medios garantizadas. Ofrecen una solución automatizada para obtener acceso garantizado a los medios de los editores y proporcionan un enfoque eficaz que elimina muchos de los pasos adicionales necesarios al comprar a través de un pedido de inserción.

5 = Subasta curada
En , "Curated Auction"los compradores se dirigen a la oferta entre los miembros del vendedor que el miembro del conservador haya empaquetado juntos. Los compradores que tienen como destino una oferta seleccionada están sujetos a la dinámica de subasta establecida por el vendedor subyacente en la oferta seleccionada, que puede ser un tipo de subasta Open o Private, dependiendo de cómo el conservador haya configurado su oferta.

Valor predeterminado: 1
name string (255) Solo lectura. Nombre del tipo de transacción. Posibles valores:
- "Open Auction"
- "Private Auction"
- "Curated"
- "Programmatic Guaranteed"

Valor predeterminado: "Open Auction"

Tipo de subasta

El auction_type objeto contiene los campos siguientes:

Campo Tipo (longitud) Description
id Entero Identificador del tipo de subasta:
1 = Primer precio
2 = Precio estándar
3 = Precio fijo

Valor predeterminado: 2
name string Solo lectura. Nombre del tipo de subasta. Posibles valores:
- "first_price"
- "standard_price"
- "fixed_price"

Valor predeterminado: "standard_price"

Marcas

Cada brands objeto contiene los campos siguientes:

Campo Tipo Description
id Entero El identificador de la marca que es elegible para la oferta. Puede usar brand service para recuperar identificadores de marca.
name string Nombre de la marca que es apta para la oferta.
override booleano true Establézcalo en para permitir que una marca sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado.

Valor predeterminado: false

Tipos de medios permitidos

Puede usar esta matriz para limitar el tipo de medio, el estilo de visualización general de las creatividades, que puede servir en las ubicaciones que forman parte de esta oferta.

Cada allowed_media_types objeto contiene los campos siguientes:

Campo Tipo Description
id Entero Identificador del tipo de medio.
Obligatorio activado: PUT y POST
last_modified date La última vez que se actualizó el allowed_media_type objeto.
media_type_group_id Entero Identificador de grupo para el tipo de medio.
name string Nombre del tipo de medio permitido, por ejemplo "Banner".
uses_sizes enumeración Si el tipo de medio tiene especificaciones de tamaño. Posibles valores:
- always
- sometimes
- never

Subtipos multimedia permitidos

Puede usar esta matriz para limitar el subtipo multimedia, el estilo de visualización específico de las creatividades, que puede servir en las ubicaciones que forman parte de esta oferta.

Cada allowed_media_subtypes objeto contiene los campos siguientes:

Campo Tipo Description
id Entero Identificador de .allowed_media_subtype PUT y POST en el archivo JSON
last_modified date La última vez que se modificó la allowed_media_subtype matriz.
mediatype_id Entero Identificador de .media_type
media_type_group_id Entero Identificador del grupo para el tipo de medio.
media_type_name string Nombre de .media_type
name string Nombre de .allowed_media_subtype
native_assets matriz de objetos Matriz que describe restricciones en los elementos de anuncios nativos para este subtipo multimedia. Los elementos de un anuncio nativo pueden incluir el título, el contenido del cuerpo y mucho más. Las restricciones del formato pueden ser si el contenido del cuerpo es necesario o recomendado, o cuánto tiempo puede ser el texto. Para obtener más información, vea Recursos nativos a continuación.
permitted_sizes matriz de objetos Tamaños permitidos para las creatividades del subtipo multimedia. Consulte Tamaños permitidos a continuación para obtener más detalles.

Nota: No todos los subtipos multimedia tienen requisitos de tamaño permitidos.

Obligatorio activado: PUT y POST

Tamaños permitidos

Cada permitted_sizes objeto contiene los campos siguientes:

Campo Tipo Description
aspect_ratio_tolerance double Si validate_image_size y scaling_permitted son , truela imagen puede desviarse de la relación de aspecto de platform_width y platform_height por esta cantidad. Por ejemplo, la relación de aspecto para un platform_width y platform_height de 254x133 es 1,19:1. Si es aspect_ratio_tolerance 0,03, sería aceptable una relación de aspecto entre 1,16:1 y 1,22:1.
max_image_height Entero Si validate_image_size es true, el alto máximo aceptable de la imagen, en píxeles, para las creatividades de este subtipo multimedia.
max_image_width Entero Si validate_image_size es true, el ancho de imagen máximo aceptable, en píxeles, para las creatividades de este subtipo multimedia.
min_image_height Entero Si validate_image_size es true, el alto mínimo aceptable de la imagen, en píxeles, para las creatividades de este subtipo multimedia.
min_image_width Entero Si validate_image_size es true, el ancho de imagen mínimo aceptable, en píxeles, para las creatividades de este subtipo multimedia.
platform_width Entero Ancho de representación real, en píxeles, para las creatividades de este subtipo multimedia. Este también es el ancho que aparece en los informes.
platform_height Entero Alto de representación real, en píxeles, para las creatividades de este subtipo multimedia. Este también es el alto que aparece en los informes.
scaling_permitted booleano Si truees , la imagen de las creatividades de este subtipo multimedia debe tener la misma relación de aspecto que/platform_widthplatform_height .
Si falsees , la imagen de las creatividades de este subtipo multimedia debe tener un ancho y un alto que coincidan exactamente con platform_width y platform_height.
validate_image_size booleano Si truees , la imagen de las creatividades de este subtipo multimedia se validará según los requisitos definidos por los siguientes campos de este objeto: scaling_permitted, aspect_ratio_tolerance, min_image_width, max_image_width, min_image_heighty max_image_height.

Metadatos externos

El external_metadata objeto es aplicable a las ofertas garantizadas mediante programación.

Cada external_metadata objeto contiene los campos siguientes:

Campo Tipo Description
impressions Entero Importe del presupuesto de impresiones para las ofertas externas garantizadas mediante programación. El valor numérico de este campo debe ser mayor que 0.

Nota: Este campo es necesario para las ofertas garantizadas mediante programación.
Obligatorio activado: PUT y POST

Recursos nativos

Cada native_assets objeto contiene los campos siguientes:

Campo Tipo Description
max_text_length Entero Longitud máxima del texto
min_text_length Entero Longitud mínima del texto
native_asset_name string El título del anuncio
requirement enumeración Si este recurso es necesario para este subtipo multimedia determinado. Este campo puede contener varios niveles de "obligatorio":
- "required"
- "recommended"
- "optional"

Categories

Cada categories objeto contiene los campos siguientes:

Campo Tipo Description
id Entero Identificador de las categorías que son aptas para la oferta. Puede usar el servicio category para recuperar identificadores de categoría.
name string Nombre de la categoría que es apta para la oferta.
override booleano true Establézcalo en para permitir que una categoría sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado.

Valor predeterminado: false

Idiomas

Cada languages objeto contiene los campos siguientes:

Campo Tipo Description
id Entero Identificador del idioma que es apto para la oferta. Puede usar language service para recuperar identificadores de idioma.
name string Nombre del idioma que es apto para la oferta.
override Booleano true Establézcalo en para permitir que un idioma sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado.

Valor predeterminado: false

Atributos técnicos

Cada technical_attribute objeto contiene los campos siguientes:

Campo Tipo Description
id Entero Identificador del atributo técnico que es apto para la oferta. Puede usar el Servicio de atributos técnicos para recuperar identificadores de atributo técnico.
name string Nombre del atributo técnico que es apto para la oferta.
override booleano true Establézcalo en para permitir que un atributo técnico sirva para una oferta, incluso si el perfil de calidad del anuncio lo hubiera bloqueado.

Valor predeterminado: false

Creativos

La creatives matriz está limitada a 100 creatividades. Cada creatives objeto contiene los campos siguientes:

Campo Tipo Description
id Entero El identificador del creativo que se aprueba o prohíbe para la oferta. Puede usar Creative Service para recuperar identificadores creativos.
status string 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.

Listas de servidores de anuncios

Cada adserver_lists objeto contiene los campos siguientes.

Campo Tipo Description
id Entero Identificador de la lista de servidores de anuncios que se aplicará a esta oferta.
Obligatorio activado: POST
name string Nombre de la lista de servidores de anuncios.
override booleano Si truees , aplique esta lista de servidores de anuncios a la oferta.

Segmentación restringida del vendedor

Una oferta puede especificar los atributos a los que un comprador de Invest puede dirigirse al mismo tiempo que se dirige a esta oferta. Las opciones son:

  • sin restricciones: los compradores de inversión pueden dirigirse a todos los atributos de su artículo de línea mientras se dirige a esta oferta.
  • algunas restricciones: los compradores de inversión pueden dirigirse a determinados atributos en su artículo de línea.
  • todas las restricciones: los compradores de inversión no pueden dirigirse a ningún otro atributo mientras se dirige a esta oferta.

Es posible que el miembro esté configurado para usar una de estas opciones de forma predeterminada cuando se creen nuevas ofertas.

Campo Tipo (longitud) Description
id Entero Los posibles valores son:
- 1 (sin restricciones)
- 2 (algunas restricciones)
- 3 (todas las restricciones)
name string Solo lectura. Nombre de las restricciones de destino configuradas (vea id).

Si una oferta está configurada para algunas restricciones, el perfil de visibilidad asociado a la oferta (consulte el visibility_profile_id campo de la sección Campos JSON ) determina la selección de atributos a los que un comprador puede dirigirse. Los siguientes campos de perfil de visibilidad se pueden usar para restringir la segmentación permitida de un comprador:

Campo Restricciones de orientación para los compradores de Invest
expose_city_default Ciudad
expose_datetime_default Daypart
expose_device_type_default Tipo de dispositivo
expose_dma_default DMA
expose_postal_code_default Código postal, listas de códigos postales, distritos políticos
expose_segment_groups_default Segmentos
expose_state_default Región
expose_video_content_duration_default Duración del contenido de vídeo (por ejemplo, forma larga, formato corto)
expose_video_content_genres_default Géneros de contenido de vídeo
expose_video_content_networks_default Red de contenido de vídeo
expose_video_content_ratings_default Clasificaciones de contenido de vídeo
expose_video_context_default Contexto de vídeo (por ejemplo, pre-roll, mid-roll, etc.)
expose_video_delivery_types_default Tipo de entrega de vídeo (por ejemplo, en directo, VOD)
expose_video_program_types_default Tipos de programa de vídeo

Nota:

  • Las restricciones de selección de destino definidas con los campos anteriores se aplicarán a todos los compradores de la oferta, independientemente de las invalidaciones de nivel de miembro del comprador o de pujador configuradas en el perfil de visibilidad.
  • Además, los vendedores no pueden habilitar simultáneamente la protección de datos (consulte el data_protected campo en la sección Campos JSON ) y las características de segmentación restringida del vendedor en la misma oferta.

Ejemplos

Adición de un contrato de subasta privada con un piso de 2,50 USD

$ cat new_deal
 
{
    "deal": {
        "name": "Private deal for buyer 1234 with floor of $2.50",
        "active": false,
        "start_date": "2016-12-01 00:00:00",
        "end_date": "2016-12-31 23:59:59",
        "floor_price": 2.5,
        "currency": "USD",
        "use_deal_floor": true,
        "buyer": {
                "id": 1234
        },
        "type": {
                "id": 2
        },
        "brands": [
                {
                        "id": 1
                }
            ]
    }
}
 
$ curl -b cookies -c cookies -X POST -d @new_deal.json 'https://api.appnexus.com/deal'
 
{
    "response": {
        "status": "OK",
        "count": 1,
        "id": 63,
        "start_element": 0,
        "num_elements": 100,
        "deal": {
            "id": 63,
            "code": null,
            "name": "Private deal for buyer 1234 with floor of $2.50",
            "description": null,
            "active": false,
            "seller_member_id": 2345,
            "start_date": "2013-12-01 00:00:00",
            "end_date": "2013-12-31 23:59:59",
            "profile_id": null,
            "package_id": null,
            "floor_price": 2.5,
            "currency": "USD",
            "use_deal_floor": true,
            "last_modified": "2013-12-04 20:39:57",
            "seller": {
                "id": 1066,
                "name": "Seller 123"
            },
            "buyer": {
                "id": 1234,
                "bidder_id": 6,
                "name": "Buyer 456"
            },
            "type": {
                "id": 2,
                "name": "Private Auction"
            },
            "brands": [
                {
                    "id": 1,
                                        "name": "Example Brand"
                }
            ],
            "ask_price": 0,
            "size_preference": null
        }
    }
}

Incorporación de un contrato de subasta privada sin suelo

$ cat new_deal_nofloor
 
{
    "deal": {
        "name": "Private deal for buyer 1234 with no floor",
        "active": false,
        "start_date": "2016-12-01 00:00:00",
        "end_date": "2016-12-31 23:59:59",
        "floor_price": 0,
        "use_deal_floor": false,
        "buyer": {
                "id": 1234
        },
        "type": {
                "id": 2
        },
        "brands": [
                {
                        "id": 1
                }
            ]
    }
}
 
$ curl -b cookies -c cookies -X POST -d @new_deal_nofloor.json 'https://api.appnexus.com/deal'
 
{
    "response": {
        "status": "OK",
        "count": 1,
        "id": 64,
        "start_element": 0,
        "num_elements": 100,
        "deal": {
            "id": 64,
            "code": null,
            "name": "Private deal for buyer 1234 with no floor",
            "description": null,
            "active": false,
            "start_date": "2013-12-01 00:00:00",
            "end_date": "2013-12-31 23:59:59",
            "profile_id": null,
            "package_id": null,
            "floor_price": 0,
            "currency": "USD",
            "use_deal_floor": false,
            "last_modified": "2013-12-04 20:43:44",
            "seller": {
                "id": 2345,
                "name": "Seller 123"
            },
            "buyer": {
                "id": 1234,
                "bidder_id": 6,
                "name": "Buyer 456"
            },
            "type": {
                "id": 2,
                "name": "Private Auction"
            },
            "brands": [
                {
                    "id": 1,
                    "name": "Example Brand"
                }
            ],
            "ask_price": 0,
            "size_preference": null
        }
    }
}

Modificación de una oferta

En este ejemplo, agregamos otra marca apta a la oferta y ampliamos la fecha de finalización.

$ cat deal_update
 
{
    "deal": {
        "end_date": "2017-01-31 23:59:59",
        "brands": [
                {
                        "id": 1
                },
            {
                "id": 5
            }
            ]
    }
}
 
$ curl -b cookies -c cookies -X PUT -d @deal_update.json 'https://api.appnexus.com/deal?id=64'
{
    "response": {
        "status": "OK",
        "count": 1,
        "id": "64",
        "start_element": 0,
        "num_elements": 100,
        "deal": {
            "id": 64,
            "code": null,
            "name": "Private deal for buyer 1234 with no floor",
            "description": null,
            "active": false,
            "start_date": "2016-12-01 00:00:00",
            "end_date": "2016-01-31 23:59:59",
            "profile_id": null,
            "package_id": null,
            "floor_price": 0,
            "currency": "USD",
            "use_deal_floor": false,
            "last_modified": "2016-12-04 20:51:35",
            "seller": {
                "id": 2345,
                "name": "Seller 123"
            },
            "buyer": {
                "id": 1234,
                "bidder_id": 6,
                "name": "Buyer 456"
            },
            "type": {
                "id": 2,
                "name": "Private Auction"
            },
            "brands": [
                {
                    "id": 1,
                    "name": "Example Brand"
                },
                {
                    "id": 5,
                    "name": "Another Brand"
                }
            ],
            "ask_price": 0,
            "size_preference": null
        }
    }
}

Modificación de una oferta para agregar invalidaciones y prohibir determinadas creatividades

En este ejemplo, actualizamos una oferta para permitir que las creatividades de audio iniciadas automáticamente y por el usuario sirvan siempre, independientemente de la configuración de calidad del anuncio. También se prohíben específicamente dos identificadores creativos.

$ cat deal_override
 
{
    "deal": {
        "id": 201,
        "technical_attributes": [
            {
                "id": 7,
                "name": "Audio: user-initiated",
                "override": true
            },
            {
                "id": 8,
                "name": "Audio: auto-initiated",
                "override": true
            }
        ],
        "creatives": [
            {
                "id": 987654,
                "status": "banned"
            },
            {
                "id": 123456,
                "status": "banned"
            }
        ]
    }
}
 
$ curl -b cookies -c cookies -X PUT -d @deal_override.json 'https://api.appnexus.com/deal?id=64'
{
    "response": {
        "status": "OK",
        "count": 1,
        "id": "64",
        "start_element": 0,
        "num_elements": 100,
        "deal": {
            "id": 201,
            "code": null,
            "name": "Private deal for buyer 1085 with no floor",
            "description": null,
            "active": false,
            "start_date": "2016-12-01 00:00:00",
            "end_date": "2017-01-31 23:59:59",
            "profile_id": null,
            "package_id": null,
            "floor_price": 0,
            "currency": "USD",
            "use_deal_floor": false,
            "last_modified": "2016-12-04 20:51:35",
            "seller": {
                "id": 2345,
                "name": "Seller 123"
            },
            "buyer": {
                "id": 1234,
                "bidder_id": 6,
                "name": "Buyer 456"
            },
            "type": {
                "id": 2,
                "name": "Private Auction"
            },
            "technical_attributes": [
                {
                    "id": 7,
                    "name": "Audio: user-initiated",
                    "override": true
                },
                {
                    "id": 8,
                    "name": "Audio: auto-initiated",
                    "override": true
                }
            ],
            "creatives": [
                {
                    "id": 987654,
                    "status": "banned"
                },
                {
                    "id": 123456,
                    "status": "banned"
                }
            ],
            "ask_price": 0,
            "size_preference": null
        }
    }
}

Ver todas las ofertas que tiene con los compradores

$ curl -b cookies -c cookies 'https://api.appnexus.com/deal'
{
    "response": {
        "status": "OK",
        "count": 7,
        "start_element": 0,
        "num_elements": 100,
        "deals": [
            {
                "id": 63,
                "code": null,
                "name": "Private deal for buyer 1234 with floor of $2.50",
                "description": null,
                "active": false,
                "seller_member_id": 2345,
                "start_date": "2016-12-01 00:00:00",
                "end_date": "2016-12-31 23:59:59",
                "profile_id": null,
                "package_id": null,
                "floor_price": 2.5,
                "currency": "USD",
                "use_deal_floor": true,
                "last_modified": "2016-12-04 20:39:57",
                "seller": {
                    "id": 2345,
                    "name": "Seller 123"
                },
                "buyer": {
                    "id": 1234,
                    "bidder_id": 6,
                    "name": "Buyer 456"
                },
                "type": {
                    "id": 2,
                    "name": "Private Auction"
                },
                "brands": [
                    {
                        "id": 1,
                        "name": "Example Brand"
                    }
                ],
                "ask_price": 3,
                "size_preference": null
            },
            {
                "id": 64,
                "code": null,
                "name": "Private deal for buyer 1234 with no floor",
                "description": null,
                "active": false,
                "start_date": "2016-12-01 00:00:00",
                "end_date": "2016-12-31 23:59:59",
                "profile_id": null,
                "package_id": null,
                "floor_price": 1.2,
                "currency": "USD",
                "use_deal_floor": false,
                "last_modified": "2016-12-04 20:43:44",
                "seller": {
                    "id": 2345,
                    "name": "Seller 123"
                },
                "buyer": {
                    "id": 1234,
                    "bidder_id": 2,
                    "name": "Buyer ABC"
                },
                "type": {
                    "id": 2,
                    "name": "Private Auction"
                },
                "brands": [
                    {
                        "id": 1,
                        "name": "Example Brand"
                    }
                ],
                "ask_price": 0,
                "size_preference": null
            }
        ]
    }
}

Visualización de una oferta específica

$ curl -b cookies -c cookies 'https://api.appnexus.com/deal?id=64'
{
    "response": {
        "status": "OK",
        "count": 1,
        "start_element": 0,
        "num_elements": 100,
        "deal": {
            "id": 64,
            "code": null,
            "name": "Private deal for buyer 1234 with no floor",
            "description": null,
            "active": false,
            "start_date": "2016-12-01 00:00:00",
            "end_date": "2017-01-31 23:59:59",
            "profile_id": null,
            "package_id": null,
            "floor_price": 1,
            "currency": "USD",
            "use_deal_floor": false,
            "last_modified": "2016-12-04 20:51:35",
            "seller": {
                "id": 2345,
                "name": "Seller 123"
            },
            "buyer": {
                "id": 1234,
                "bidder_id": 2,
                "name": "Buyer ABC"
            },
            "type": {
                "id": 2,
                "name": "Private Auction"
            },
            "brands": [
                {
                    "id": 1,
                    "name": "Example Brand"
                },
                {
                    "id": 5,
                    "name": "Another Brand"
                }
            ],
            "ask_price": 1.25,
            "size_preference": null
        }
    }
}

Eliminación de una oferta

$ curl -b cookies -c cookies -X DELETE 'https://api.appnexus.com/deal?id=61'
{
    "response": {
        "status": "OK",
        "count": 1,
        "start_element": null,
        "num_elements": null
    }
}