Servicio de oferta

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

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

Cada oferta es válida para un solo comprador.

Nota:

  • El inventario incluido en una oferta también puede estar incluido en otras ofertas.
  • Los compradores pueden utilizar el Servicio de acceso de compradores de ofertas para ver las ofertas disponibles para ellos. Para orientar las ofertas, los compradores de la segmentación restringida por vendedores pueden usar el deal_targets campo en el Servicio de perfiles.

API de REST

Método HTTP Endpoint Description
GET https://api.appnexus.com/deal Vea 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 Obtenga información sobre los campos por los que puede filtrar y ordenar.
POST https://api.appnexus.com/deal Agregar 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 segmentadas 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 en su configuración específica.

Campos JSON

Campo Tipo (longitud) Descripción
active booleano Si true, 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, consulta Listas de servidores de anuncios a continuación.

Valor predeterminado: null
allow_creative_add_on_click booleano Si true, permite que se publique cualquier creatividad que añada usuarios a un segmento al hacer clic.

Valor predeterminado: true
allow_creative_add_on_view booleano Si true, permite que se publique cualquier creatividad que añada usuarios a un segmento a la vista.

Valor predeterminado: false
allowed_media_subtypes matriz de objetos Los subtipos de medios permitidos para el acuerdo. 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 el acuerdo. Para obtener más información, consulte Tipos de medios permitidos a continuación.
ask_price double Más floor_price el reparto de ingresos del vendedor especificado en su contrato. Este es el precio que se muestra al comprador. Es lo mínimo que deben ofertar para competir por el inventario.

Nota: Este campo es obligatorio para las ofertas de programática garantizada y es el precio acordado entre el vendedor y el comprador.

Requerido el: PUT y POST

Valor predeterminado: número generado automáticamente
auction_type objeto El tipo de subasta de la oferta. Una oferta puede tener los siguientes tipos de subastas: primer precio, segundo precio y precio fijo. Para obtener más información, consulte Tipo de subasta a continuación.
audit_status_option string Especifica cómo el acuerdo controla las creatividades.
- none: los creativos usan la configuración de calidad de anuncios existente.
- provisional: los recursos creativos en "pending" estado de auditoría servirán. Una vez auditadas estas creatividades, se utiliza la configuración de calidad de anuncios existente.
- max_trust: no se aplicarán restricciones de perfil de anuncios a esta oferta.
Las creatividades enumeradas específicamente en el objeto Creatividades anularán esta configuración.

Valor predeterminado: none
brands matriz de objetos Las marcas de los recursos creativos que pueden optar al acuerdo. 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 Marcas .
- true: La oferta está restringida solo a las marcas indicadas.
- false: También se permite la publicación de otras marcas.

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

Requerido en: POST
buyer_seats objeto El postor comprador y el asiento que pueden apuntar a este acuerdo. Un trato solo usará el buyer campo o el buyer_seats campo, no ambos. Para obtener más detalles, consulte Asientos de comprador a continuación.
buyer_bidders objeto El postor comprador que puede apuntar a este trato. Para obtener más detalles, consulte los postores compradores a continuación.

Valor predeterminado: null
buyer_members objeto La identificación de miembro de Xandr del comprador que puede apuntar a este trato. Para obtener más detalles, consulte Miembros compradores a continuación.

Valor predeterminado: null
categories matriz de objetos Las categorías que describen los recursos creativos que pueden optar a la oferta. Para obtener más información, consulte las categorías siguientes.
category_restrict booleano Especifica si la oferta está restringida solo a las categorías enumeradas en el objeto Categorías .
- true: La oferta está restringida solo a las categorías indicadas.
- false: también se permite la publicación de otras categorías.

Valor predeterminado: true
code cadena (100) El código personalizado de la oferta.

Nota: Este campo es obligatorio y representa su ID de trato interno, pasado en la solicitud de oferta a través del campo ID de trato de objeto del PMP.

Requerido en: POST
Valor predeterminado: null
created_by string Especifica si esta oferta la creó el vendedor o el comprador (mediante el servicio Oferta desde paquete).
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. Para obtener más información, consulte Creatividades a continuación.
currency enumeración La moneda del floor_pricearchivo . Para obtener una lista completa de las monedas disponibles, use el Servicio de moneda de solo lectura.

Valor predeterminado: "USD"
data_protected booleano Si true, configuración para allow_creative_add_on_view, allow_creative_add_on_click, y visibility_profile_id se utilizan para esta oferta. Si false, se usa la configuración de red y editor.

Valor predeterminado: false
description string (65535) La descripción de la oferta. Puedes utilizar este campo para proporcionar al comprador información o detalles adicionales sobre la oferta.

Valor predeterminado: null
end_date marca de tiempo 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 El valor mínimo de CPM que el comprador debe ofertar para ser elegible para el trato.

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 mínimo, en realidad no se aplica ningún piso de negociación; si tiene otros pisos (en ubicaciones o perfiles de gestión de rendimiento), se aplicarán, o si no tiene otros pisos, se aplicarán las mecánicas estándar de subasta de segundo precio.
- A partir de 2017, solo ask_price se usa. API POST y PUT llamadas que hacen floor_price referencia y use_deal_floor funcionará de la siguiente manera:
* Si la llamada API incluye ask_price solo, este es el valor que se utilizará.
* Si la llamada API incluye solo 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 oferta.

Requerido el: PUT y DELETE

Valor predeterminado: número incrementado automáticamente
languages matriz de objetos El idioma asociado a los recursos creativos que son aptos para el trato. Para obtener más información, consulta Idiomas a continuación.
language_restrict booleano Especifica si la oferta está restringida solo a los idiomas enumerados en el objeto Idiomas .
- true: La oferta está restringida solo a los idiomas enumerados.
- false: También se permite la publicación en otros idiomas.

Valor predeterminado: true
last_modified marca de tiempo Solo lectura. La fecha y hora en que se modificó por última vez la oferta, en hora local.
media_preference string Especifica cómo esta oferta controla los tipos o subtipos de medios. Hay dos opciones:
- standard = usar los tipos de medios que ya estén en la subasta (en función de la configuración de emplazamiento)
- append = incluir los tipos de medios en la subasta + cualquier tipo de medios privados establecidos en la ubicación

Si se crea una oferta a partir de un paquete, esta configuración se copia del paquete en la oferta.
name cadena (255) El nombre del trato.
Valor predeterminado: null
package_id Entero El ID del paquete desde el que se creó la oferta, si corresponde. Ver oferta del 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 CPM visible. Solo las impresiones visibles dan como resultado el pago del comprador.

Valor predeterminado: default
priority Entero La prioridad de puja de las ofertas cuando id está en el type objeto = 2/Subasta privada.
Valores posibles: 1 - 20, donde 20 es la prioridad más alta.

Valor predeterminado: 5
profile_id Entero El identificador del perfil asociado a la oferta. Puede usar un perfil para especificar editores, ubicaciones, categorías de contenido, áreas geográficas, segmentos, grupos de segmentos o tamaños que deben participar en la subasta para que la oferta esté disponible para el comprador. Para obtener más información, consulte publisher_targets, placement_targets, content_category_targets, region_targetsdma_targetssite_targetssegment_targetscity_targetssegment_group_targetscountry_targetsy size_targets en el Servicio de perfiles.

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

Valor predeterminado: null
seller objeto Solo lectura. El miembro vendedor que ofrece la oferta. Para obtener más detalles, consulte el vendedor a continuación.
size_preference string Especifica cómo esta oferta controla los tamaños privados. Los tamaños privados son tamaños de ubicación (establecidos en la private_sizes matriz en el Servicio de colocación) que se pueden permitir 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 emplazamiento especificado.

Si se crea una oferta a partir de un paquete, esta configuración se copia del paquete en la oferta.
start_date marca de tiempo 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 recursos creativos que pueden participar en la oferta. Para obtener más detalles, consulte Atributos técnicos a continuación.
technical_attribute_restrict booleano Especifica si la oferta está restringida solo a los atributos técnicos enumerados en el objeto Atributos técnicos .
- true: la oferta está restringida solo a los atributos técnicos enumerados.
- false: También se permite el servicio de otros atributos técnicos.

Valor predeterminado: true
type objeto El tipo de trato. Para los vendedores, un acuerdo puede ser una subasta abierta o una subasta privada. Para obtener más información, consulte Tipo a continuación.
use_deal_floor booleano Si true, se aplica para floor_price el trato.

Nota:
- Cuando use_deal_floor es true, el precio mínimo de la operación anula 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. API POST y PUT llamadas que hacen floor_price referencia y use_deal_floor funcionará de la siguiente manera:
* Si la llamada API incluye ask_price solo, este es el valor que se utilizará.
* Si la llamada API incluye solo un floor_price valor, este valor se convertirá en el ask_price valor.

Valor predeterminado: true
version Entero Especifica la versión del objeto de trato. Los posibles valores son:
1 = ofertas de partners de suministro externos y configuraciones de monetización heredadas
2 = Rentabilizar ofertas de vendedores

Requerido en: POST
Valor predeterminado: 1
visibility_profile_id Entero El identificador único del perfil de visibilidad que se aplicará a un trato. Este identificador se puede recuperar del servicio de perfiles de visibilidad.
line_item_ids array of int Una lista consta de identificaciones de artículos de línea presentes en un trato. 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 objeto Indica si la oferta restringe los atributos a los que puede dirigirse un comprador de Invest al mismo tiempo que se dirige a esta oferta. Consulta Segmentación restringida del vendedor más abajo.
is_archived Booleano Verdadero si la oferta ha sido archivada. Las ofertas archivadas no participan en las subastas y no generan solicitudes de oferta. Sin embargo, siguen estando disponibles en la interfaz de usuario, a través de API y en informes.
Valor predeterminado:false

Vendedor

El seller objeto contiene los siguientes campos:

Campo Tipo Descripción
id Entero - Solo lectura.
- Identificación de miembro del vendedor
El id. de miembro del vendedor.
name string - Solo lectura.
- Nombre del miembro del vendedor
Nombre del miembro del vendedor.

Comprador

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

El buyer objeto contiene los siguientes campos:

Campo Tipo Descripción
id Entero El id. de miembro del comprador.
Requerido en: POST
bidder_id Entero Solo lectura. El id. del licitador del miembro. Para los compradores, esto siempre será 2.
name string Solo lectura. El nombre de 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

Compradores postores

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

El buyer_bidders objeto contiene los siguientes campos:

Campo Tipo Descripción
bidder_name string Solo lectura. El nombre del licitante.
id Entero El identificador del licitador del comprador. El id. del licitador es 2.
Requerido en: 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 un POST, y se puede actualizar con un 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 siguientes campos:

Campo Tipo Descripción
bidder_id Entero Solo lectura. El id. del licitador del miembro. Para los compradores de Invest, esto siempre será 2.
bidder_name string Solo lectura. El nombre del licitante.
id Entero El id. de miembro del comprador.
Requerido en: POST
name string Solo lectura. El nombre de miembro del comprador.

Ejemplo del buyer_members objeto

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

Puestos de comprador

Los acuerdos con asientos se pueden configurar utilizando el buyer_seats objeto a través de la API.

Cuando se configura un nuevo trato a través de, la API se rellenará con el buyer_seats objeto. Puede utilizar el ID de miembro del comprador de Invest en el code campo, así como bidder_id. Los nuevos acuerdos con DSP externos también se pueden configurar con ID de asiento de comprador. Puede comprobar qué DSP externos utilizan los ID de asiento de comprador aquí.

Nota:

  • Se puede establecer un acuerdo con cualquiera de los dos buyerbuyer_seats, donde buyer es un miembro, y buyer_seats es un asiento.
  • Cuando un vendedor tiene ofertas de asiento de comprador habilitadas, todas las ofertas se configurarán usando buyer_seats (cuando la oferta se configura usando , las ofertas con el campo aún se pueden configurar usando la buyer API).
  • Code es el código de asiento, en otras palabras, la "identificación del asiento" que el comprador normalmente dará. Es exclusivo de un dado bidder_id, por lo que al crear un nuevo trato, code y bidder_id son obligatorios.

El buyer_seats objeto contiene los siguientes campos:

Campo Tipo Descripción
bidder_id Entero El id. del licitador del miembro.
Requerido en: POST
bidder_name string El nombre del licitante.
code string El identificador para el asiento del comprador.
Requerido en: POST
name string El 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 siguientes campos:

Campo Tipo (longitud) Descripción
id Entero El identificador que representa el tipo de trato. Los posibles valores son:

1 = Subasta abierta
En un "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 segmenta un acuerdo presenta la oferta más alta y la oferta supera el piso del trato, ese comprador gana la subasta. Si uno de los compradores que no están en el acuerdo presenta la oferta más alta, ese comprador gana la subasta en su lugar.

2 = Subasta privada
En un "Private Auction", los compradores que apuntan a los acuerdos privados compiten primero por la impresión. Luego, si ninguno de los compradores del acuerdo gana, la subasta se abre a los compradores que apuntan al inventario por otros medios. Si un comprador que apunta a un acuerdo presenta una oferta más alta que el piso del acuerdo y más alta que cualquier otra oferta de subasta privada, ese comprador gana la subasta. Si ninguna oferta de subasta privada despeja sus pisos, la oferta más alta en la subasta abierta gana.

4 = Garantizada mediante programación
En "Programmatic Guaranteed", los compradores apuntan a acuerdos programáticos garantizados (PG). Los acuerdos PG brindan los beneficios de orientación, mensajería e informes de la publicidad programática 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 eficiente que elimina muchos de los pasos adicionales necesarios al comprar a través de una orden de inserción.

5 = Subasta curada
En un "Curated Auction", los compradores apuntan a la oferta a través de cualquier miembro vendedor que el Miembro Curator haya empaquetado juntos. Los compradores que apuntan a un acuerdo curado están sujetos a la dinámica de subasta establecida por el vendedor subyacente en el trato curado, que puede ser un tipo de subasta abierta o privada, dependiendo de cómo el Curator haya configurado su trato.

Valor predeterminado: 1
name cadena (255) Solo lectura. El nombre del tipo de trato. Posibles valores:
- "Open Auction"
- "Private Auction"
- "Curated"
- "Programmatic Guaranteed"

Valor predeterminado: "Open Auction"

Tipo de subasta

El auction_type objeto contiene los siguientes campos:

Campo Tipo (longitud) Descripción
id Entero El identificador del tipo de subasta:
1 = Primer precio
2= Precio Standard
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 siguientes campos:

Campo Tipo Descripción
id Entero El identificador de la marca apto para la oferta. Puede usar el Servicio de marca para recuperar identificadores de marca.
name string El nombre de la marca que cumple los requisitos para la oferta.
override booleano Establecido para true permitir que una marca publique un acuerdo 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 medios, el estilo de visualización general de las creatividades, que pueden servir en las ubicaciones que forman parte de este trato.

Si se especifica, la oferta solo se agrega a las subastas en las que el tipo de medios seleccionado está disponible.

Algunas subastas admiten varios tipos de medios. Si el tipo de contenido multimedia seleccionado es compatible con la subasta, la oferta es apta para participar.

Cada allowed_media_types objeto contiene los siguientes campos:

Campo Tipo Descripción
id Entero Id. del tipo de medio.
Requerido el: PUT y POST
last_modified date Cuándo se actualizó por última vez el allowed_media_type objeto.
media_type_group_id Entero El identificador de grupo para el tipo de medio.
name string El 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 de medios permitidos

Puede usar esta matriz para limitar el subtipo de medio, el estilo de visualización específico de las creatividades, que pueden servir en las ubicaciones que forman parte de este trato. Si se especifica, la oferta solo participa en las subastas en las que el subtipo de medios seleccionado está disponible.

Algunas subastas admiten varios tipos y subtipos de medios. Si el subtipo de medio especificado es compatible con la subasta, la oferta es elegible para participar.

Puede crear una oferta a través de la API sin establecer allowed_media_types y especificando solo allowed_media_subtypes. En este caso, la oferta participa en las subastas que admiten el subtipo multimedia especificado.

Cada allowed_media_subtypes objeto contiene los siguientes campos:

Campo Tipo Descripción
id Entero El id. del allowed_media_subtype. PUT y POST en el archivo JSON
last_modified date Cuándo se modificó por última vez la allowed_media_subtype matriz.
mediatype_id Entero El id. del media_type.
media_type_group_id Entero El identificador del grupo para el tipo de medio.
media_type_name string El nombre del media_typearchivo .
name string El nombre del allowed_media_subtypearchivo .
native_assets matriz de objetos Una matriz que describe las restricciones en los elementos de los anuncios nativos para este subtipo de medios. Los elementos de un anuncio nativo pueden incluir el título, el contenido del cuerpo y mucho más. Las restricciones del formato podrían ser si el contenido del cuerpo es obligatorio o recomendado, o qué tan largo puede ser el texto. Para obtener más información, consulte Activos nativos a continuación.
permitted_sizes matriz de objetos Los 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 de medios tienen requisitos de tamaño permitidos.

Requerido el: PUT y POST

Tamaños permitidos

Cada permitted_sizes objeto contiene los siguientes campos:

Campo Tipo Descripción
aspect_ratio_tolerance double Si validate_image_size y scaling_permitted son ambos true, la imagen puede desviarse de la relación de aspecto de platform_width y platform_height en 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, una relación de aspecto entre 1,16:1 y 1,22:1 sería aceptable.
max_image_height Entero Si validate_image_size es true, la altura máxima de imagen aceptable, en píxeles, para creativos de este subtipo de medios.
max_image_width Entero Si validate_image_size es true, el ancho máximo de imagen aceptable, en píxeles, para las creatividades de este subtipo de medios.
min_image_height Entero Si validate_image_size es true, la altura mínima de imagen aceptable, en píxeles, para las creatividades de este subtipo de medios.
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 de medios.
platform_width Entero El ancho de renderizado real, en píxeles, para las creatividades de este subtipo de medios. Este es también el ancho que aparece en los informes.
platform_height Entero La altura real de renderizado, en píxeles, para creativos de este subtipo de medios. Esta es también la altura que aparece en los informes.
scaling_permitted booleano Si true, la imagen para creativos de este subtipo de medios debe tener la misma relación de aspecto que/platform_widthplatform_height .
Si false, la imagen para creativos de este subtipo de medios debe tener un ancho y alto que coincidan exactamente con platform_width y platform_height.
validate_image_size booleano Si true, la imagen de las creatividades de este subtipo de medios se validará con los requisitos definidos por los siguientes campos de este objeto: scaling_permitted, aspect_ratio_tolerance, min_image_width, max_image_widthmin_image_height, y max_image_height.

Metadatos externos

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

Cada external_metadata objeto contiene los siguientes campos:

Campo Tipo Descripción
impressions Entero El importe del presupuesto de impresiones para ofertas externas de programática garantizada. El valor numérico de este campo debe ser mayor que 0.

Nota: Este campo es obligatorio para las ofertas garantizadas mediante programación.
Requerido el: PUT y POST

Recursos nativos

Cada native_assets objeto contiene los siguientes campos:

Campo Tipo Descripción
max_text_length Entero La longitud máxima del texto
min_text_length Entero La 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 de medio concreto. Este campo puede contener varios niveles de "exigibilidad":
- "required"
- "recommended"
- "optional"

Categories

Cada categories objeto contiene los siguientes campos:

Campo Tipo Descripción
id Entero El identificador de las categorías que son aptas para la oferta. Puede usar el Servicio de categorías para recuperar los identificadores de categoría.
name string Nombre de la categoría que cumple los requisitos para la oferta.
override booleano Establézcalo para true permitir que una categoría se publique para una oferta incluso si el perfil de calidad del anuncio la hubiera bloqueado.

Valor predeterminado: false

Idiomas

Cada languages objeto contiene los siguientes campos:

Campo Tipo Descripción
id Entero El identificador del idioma que es apto para la oferta. Puede usar el Servicio de idiomas para recuperar identificadores de idioma.
name string El nombre del idioma que es apto para la oferta.
override Booleano Establézcalo para true permitir que un idioma se publique para una oferta, incluso si el perfil de calidad del anuncio la hubiera bloqueado.

Valor predeterminado: false

Atributos técnicos

Cada technical_attribute objeto contiene los siguientes campos:

Campo Tipo Descripción
id Entero El identificador del atributo técnico apto para la oferta. Puede utilizar el servicio de atributos técnicos para recuperar los identificadores de atributos técnicos.
name string Nombre del atributo técnico que es apto para la oferta.
override booleano Establézcalo para true permitir que un atributo técnico se publique para una oferta, incluso si el perfil de calidad del anuncio la hubiera bloqueado.

Valor predeterminado: false

Recursos creativos

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

Campo Tipo Descripción
id Entero El identificador del recurso creativo aprobado o prohibido para el trato. Puede utilizar el servicio creativo para recuperar identificadores de creatividad.
status string Especifica cómo se manejará esta creatividad para esta oferta.
- 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.

Listas de servidores de anuncios

Cada adserver_lists objeto contiene los siguientes campos.

Campo Tipo Descripción
id Entero El identificador de la lista de servidores de anuncios que se aplicará a esta oferta.
Requerido en: POST
name string El nombre de la lista de servidores de anuncios.
override booleano Si true, aplica esta lista de servidores de anuncios a la oferta.

Segmentación restringida del vendedor

Un acuerdo puede especificar a qué atributos puede apuntar un comprador de Invest al mismo tiempo que apunta a este acuerdo. Las opciones son:

  • Sin restricciones: los compradores de Invest pueden apuntar a todos los atributos en su línea de pedido mientras apuntan a esta oferta.
  • Algunas restricciones: los compradores de inversiones pueden apuntar a ciertos atributos en su línea de pedido.
  • todas las restricciones: los compradores de Invest no pueden apuntar a ningún otro atributo mientras apuntan a este trato.

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

Campo Tipo (longitud) Descripción
id Entero Los posibles valores son:
- 1 (sin restricciones)
- 2 (algunas restricciones)
- 3 (todas las restricciones)
name string Solo lectura. El nombre de las restricciones de segmentación configuradas (consulte id).

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

Campo Restricciones de segmentación para compradores de Invest
expose_city_default Ciudad
expose_datetime_default Parte del día
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, formato largo, 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 del 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 programas de vídeo

Nota:

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

Ejemplos

Añada un acuerdo de subasta privada con un mínimo 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
        }
    }
}

Agregar una oferta de subasta privada sin piso

$ 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
        }
    }
}

Modificar una oferta

En este ejemplo, agregamos otra marca apta al acuerdo 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
        }
    }
}

Modificar un acuerdo para agregar anulaciones y prohibir determinadas creatividades

En este ejemplo, actualizamos una oferta para permitir que las creatividades de audio iniciadas automáticamente y por el usuario se publiquen siempre, independientemente de la configuración de calidad de los anuncios. También prohibimos 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
            }
        ]
    }
}

Ver 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
        }
    }
}

Eliminar 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
    }
}