Respuesta de puja entrante del licitador
Advertencia
Esto describe la integración del protocolo OpenRTB 2.4.
Un postor enviará una respuesta de puja después de recibir una solicitud de puja del bus de impresiones. La respuesta de la oferta incluirá la oferta del licitador (price
) y la creatividad elegida (creative_id
o creative_code
). Esta creatividad se servirá si el servidor de anuncios finalmente acepta la oferta. Se recomiendan varias pujas dentro de la respuesta de la oferta.
Implementación
Consulte los vínculos siguientes para localizar los objetos en los que necesita más información.
Objeto | de respuesta de pujaSeat Bid (objeto)| Bid (objeto) | Bid Extension (objeto) | AppNexus (objeto)| Objeto| macro personalizadoObjeto Tipo de pago de la oferta|
Xandr espera que todas las llamadas devuelvan el código HTTP 200, excepto una respuesta de puja vacía (sin puja), que devolverá el código HTTP 204. Actualmente se admiten los siguientes campos en el objeto de respuesta de puja.
Objeto de respuesta de puja
Campo | Tipo | Descripción |
---|---|---|
id |
string | Requerido: el identificador de la solicitud de puja a la que se trata de una respuesta. |
seatbid |
matriz de objetos | Obligatorio si se realiza una oferta: se usa para identificar objetos con asiento. Consulte Seat Bid Object (Objeto de oferta de asiento ) para obtener más información. |
bidid |
string | El identificador de respuesta de la oferta para ayudar a realizar el seguimiento de los licitadores. El licitador elige este valor para la referencia cruzada. Nota: Esto solo se usa para rellenar la macro ${AUCTION_BID_ID} . No almacenamos esta información. |
cur |
string | Moneda de puja mediante códigos alfabéticos ISO-4217. Si se omite, el valor predeterminado es USD. También se usa para la macro ${AUCTION_CURRENCY} en la dirección URL de notificación de win y la carga creativa o de píxeles. |
ext |
string | Se usa para identificar extensiones específicas de la plataforma para el objeto de respuesta de puja de OpenRTB. |
Objeto de puja de asiento
Xandr admite los siguientes campos en el seatbid
objeto, cada uno de los cuales representa un puesto de licitador diferente y contiene una o varias pujas individuales.
Campo | Tipo | Descripción |
---|---|---|
bid |
matriz de objetos |
Obligatorio: matriz de objetos de puja; cada objeto de puja se relaciona con un objeto impression en la solicitud de puja. Nota: Si es compatible con un intercambio, un objeto de impresión puede tener muchos objetos de puja. Consulte Bid Object (Objeto de puja ) para obtener más información. |
seat |
string |
Requerido: el identificador del miembro cuya creatividad es elegida por el licitador y corresponde al Xandr member_id . También se usa para rellenar la ${AUCTION_SEAT_ID} macro en la dirección URL de notificación de win y la carga creativa o de píxeles.Nota: - En el caso de los DSP migrados a la oferta de id. de asiento del comprador, pueden usar identificadores de comprador nativos de sus propios sistemas. Estos identificadores se registrarán como códigos de asiento en sistemas Xandr. - Esta característica está actualmente en beta cerrada. Si está interesado en participar, póngase en contacto con su representante de Xandr. |
Bid (objeto)
Campo | Tipo | Descripción |
---|---|---|
id |
string | Obligatorio: el identificador del objeto de puja; es elegido por el licitador con fines de seguimiento y depuración. Útil cuando se envían varias ofertas para una sola impresión para un puesto determinado. |
impid |
string |
Obligatorio: identificador del objeto de impresión al que se aplica esta oferta. Debe coincidir con el id campo del objeto de impresión de la solicitud de puja. Se puede usar para rellenar la ${AUCTION_IMP_ID} macro. |
price |
float |
Obligatorio: el precio de la oferta expresado en CPM. También se usa para rellenar la ${AUCTION_PRICE} macro.Si no bid_payment_type se establece en "Impression" , el precio será el precio de eCPM para la puja y payment_type_price se usará para rellenar la ${{AUCTION_PRICE} macro.PRICE} macro.Nota: bid_payment_type no está habilitado para todos los clientes. Póngase en contacto con el representante de su cuenta para obtener esta característica.Advertencia: Aunque este valor es un float, OpenRTB sugiere encarecidamente usar matemáticas de enteros para la contabilidad a fin de evitar errores de redondeo. |
adid |
string | El identificador de creatividad de Xandr, que se puede ver a través de la API mediante el servicio Creative. Este identificador hace referencia al anuncio real que se va a mostrar si gana la puja. Se puede usar para rellenar la macro ${AUCTION_AD_ID} . Si se pasan y adid crid , adid tiene prioridad. |
nurl |
string | La dirección URL de notificación de win, que se quita como un píxel en el explorador web o el SDK. Nuestro servidor hace ping a esta dirección URL cuando recibe una notificación del lado cliente del dispositivo, lo que indica que hemos ganado la subasta. Las respuestas se enviarán en el lado servidor. Esto ocurre al mismo tiempo que registramos la impresión. La longitud máxima es de 2000 caracteres con macros expandidas. Las macros siguientes se admiten en la dirección URL de notificación: ${AUCTION_ID} - Xandr auction_id_64 ${AUCTION_BID_ID} - Id. de la oferta especificada en el bidid campo en la respuesta de la oferta${AUCTION_IMP_ID} - Id. de la impresión, del impid campo en el objeto bid del seatbid objeto${AUCTION_SEAT_ID} - Id. del asiento ganador, del seat campo del seatbid objeto${AUCTION_AD_ID} - Id. de la creatividad del comprador, del adid campo en el bid objeto del seatbid objeto${AUCTION_PRICE} - Compensación del precio de la impresión en la moneda especificada en el cur campo en la respuesta de la oferta${AUCTION_CURRENCY} - Moneda del precio de compensación, tal como se especifica en el cur campo de la respuesta de la oferta.${CREATIVE_CODE} - El code campo establecido en el creative objeto a través de la API al registrar una creatividad${AN_PAYMENT_TYPE} - Identificador del tipo de pago de la oferta especificado en el bid_payment_type campo de la respuesta de la ofertaNota: - Esta macro no está habilitada para todos los clientes. Póngase en contacto con el representante de su cuenta para obtener esta característica. - Solo las macros de la lista anterior se pueden usar en la dirección URL de notificación, no se admite ninguna otra macros en la respuesta de la puja. |
lurl |
string |
Advertencia: Esta característica está actualmente en pruebas beta cerradas y no está disponible para todas las integraciones del licitador. Si desea usar este campo en la respuesta de la oferta, póngase en contacto con el representante de su cuenta o presente una incidencia de soporte técnico en https://help.xandr.com. Dirección URL de aviso de pérdida a la que llama Xandr cuando se sabe que se ha perdido una oferta. Se pueden incluir macros de sustitución. Las respuestas se enviarán en el lado servidor. Las macros siguientes se admiten en la dirección URL del aviso de pérdida. ${AUCTION_ID} - Xandr auction_id_64 ${AUCTION_BID_ID} - Id. de la oferta especificada en el bidid campo en la respuesta de la oferta${AUCTION_IMP_ID} - Id. de la impresión, del impid campo en el bid objeto del seatbid objeto${AUCTION_SEAT_ID} - Id. del asiento ganador, del seat campo del seatbid objeto${AUCTION_AD_ID} - Id. de la creatividad del comprador, del adid campo en el bid objeto del seatbid objeto${AUCTION_LOSS} - Códigos de motivo de pérdida${AUCTION_CURRENCY} - Moneda del precio de compensación, como se especifica en el cu campo r en la respuesta de la oferta${CREATIVE_CODE} - El code campo establecido en el creative objeto a través de la API al registrar una creatividad.Para obtener la lista completa de códigos de motivo de pérdida que se admiten en la ${AUCTION_LOSS} macro, consulte Códigos de motivo de pérdida. |
crid |
string | El identificador creativo del sistema del licitador. Se usa para hacer referencia a una creatividad Xander basada en el código creativo tal y como se establece a través de Creative Service. Si se pasan y adid crid , adid tiene prioridad. |
cid |
string | El identificador de campaña del sistema del licitador. Se usa para los informes de SSP. |
dealid |
string | El identificador de la oferta del deal objeto en la solicitud de puja, si esta oferta está relacionada con una oferta. |
ext |
objeto | Se usa para identificar extensiones específicas de la plataforma para la respuesta de puja de OpenRTB. Consulte Bid Extension Object (Objeto de extensión de puja). |
Objeto de extensión bid
En el bid.ext
objeto se admiten los siguientes campos:
Campo | Tipo | Descripción |
---|---|---|
dsa |
objeto | DSA (objeto) |
Objeto de extensión DSA
Atributo | Tipo | Descripción |
---|---|---|
behalf |
string | Transparencia del anunciante: cadena de texto UNICODE gratis con un nombre de cuyo nombre se muestra el anuncio. Máximo de 100 caracteres. |
paid |
string | Transparencia del anunciante: cadena de texto UNICODE gratis de quién pagó por el anuncio. Siempre debe incluirse aunque sea igual que lo que aparece en el atributo de nombre. Máximo de 100 caracteres. |
transparencia | matriz de objetos | Matriz de objetos de las entidades que aplicaron parámetros de usuario y los parámetros que aplicaron. |
adrender | integer | Marca para indicar que el comprador o anunciante presentará su propia información de transparencia de DSA dentro de la creatividad. 0 = comprador/anunciante no se representará1 = el comprador o anunciante se representará. |
Objeto: transparencia
Atributo | Tipo | Descripción |
---|---|---|
domain |
string | Dominio de la entidad que aplicó parámetros de usuario. |
params |
matriz de enteros | Matriz de destino de parámetros de usuario aplicados en el lado de compra (mediante la lista proporcionada por DSA Transparency Taskforce). Incluya compatibilidad con varios proveedores que pueden agregar sus propios parámetros de destino de usuario. |
Respuesta de oferta de OpenRTB 2.6 de ejemplo con transparencia DSA:
{
"id": "1234567890",
"bidid": "abc1123",
"seatbid": [
{
"seat": "512",
"bid": [
{
"id": "1",
"nurl": "http://adserver.com/winnotice?impid=102",
"iurl": "http://adserver.com/pathtosampleimage",
"adomain": [
"advertiserdomain.com"
],
"ext": {
"dsa": {
"behalf": "Advertiser",
"paid": "Advertiser",
"transparency": {
"domain": "dsp1domain.com",
"params": [
1,
2
]
},
"adrender": 1
}
}
}
]
}
]
}
AppNexus (objeto)
Xandr admite los siguientes campos en el objeto de appnexus
extensión.
Campo | Tipo | Descripción |
---|---|---|
custom_macros |
matriz de objetos | Se usa para identificar custom_macro objetos. Consulte Objeto de macro personalizado. |
min_price |
float | Precio mínimo al que se debe reducir la oferta en la segunda subasta de precios. |
spend_protection_pixel_ids |
matriz de enteros | En desuso. |
custom_notify_data |
string |
Nota: Esta característica no está habilitada de forma predeterminada. Debe solicitar que este campo esté habilitado. Use este campo para pasar información a la solicitud de notificación. La cadena se escribe como texto de forma libre y ImpBus codificará automáticamente la dirección URL o la cookie. |
click_url |
string | Dirección URL de clic que se va a asociar a la creatividad. Este campo debe contener un vínculo de redireccionamiento. Por ejemplo: https://mydomain.com/abcd?redir= |
enable_bid_shading |
integer | Nota: Este campo está en desuso. Se establece como false independientemente del valor enviado en la respuesta de la puja. |
bid_payment_type |
matriz de objetos |
Nota: Esta característica no está habilitada de forma predeterminada. Debe solicitar que este campo esté habilitado. Especifica el tipo de pago por el que el Licitador está pujando y se facturará. Si se omite, consideraremos que el tipo de pago es 'impression' . |
Objeto de macro personalizado
Xandr admite los siguientes campos en el custom_macro
objeto del objeto de appnexus
extensión.
Campo | Tipo | Descripción |
---|---|---|
name |
string | Nombre de la macro que se va a reemplazar en cualquiera de las direcciones URL de la creatividad (medios, píxeles, clics, etc.). El nombre debe tener el formato ${MACRO_NAME} de dentro de la dirección URL o el contenido de la creatividad.Nota: Las macros personalizadas se reemplazan después de que se hayan reemplazado las macros del sistema. Para obtener más información, consulte Creative Service . |
value |
string | Valor usado para reemplazar la macro. No escape las barras diagonales. Incluso si el valor es un entero, debe colocarse entre comillas (por ejemplo, "42" ). La longitud máxima del valor es de 550 caracteres. |
Objeto de tipo de pago bid
Xandr admite los siguientes campos en el bid_payment_type
objeto del objeto de appnexus
extensión.
Nota:
Esta característica no está habilitada de forma predeterminada. Debe solicitar que este campo esté habilitado.
Campo | Tipo | Descripción |
---|---|---|
payment_type |
integer | Especifica el tipo de pago por el que el Licitador está pujando y se facturará. Si el tipo de pago no 'impression' es , se debe establecer una dirección URL de notificación de facturación en el objeto de puja. Los valores admitidos actualmente son :1 :Impresión2 : vistas: presentación estándar6 : vistas: visualización personalizada: 100pv1s8 : vistas: vídeo estándar9 : vistas: vídeo personalizado: 100pv50pdNota: Actualmente, en "Viewable Impression" el caso de las ofertas, solo se admiten pujas en USD. |
price |
double | Especifica el precio de la oferta para el tipo de pago. Para el 'Viewable Impression' tipo de pago, el precio de la oferta será vCPM. |
Para obtener más información, consulte la página Información general .
Nota:
¿Por qué no apoyamos el adm
campo?
Xandr trabaja con miembros que se preocupan profundamente por la marca y la reputación. Por esta razón, nos encargamos de asegurarnos de que los anuncios (creativos) que pasan por nuestro sistema sean aceptables para todas las partes. Para garantizar la calidad, todas las creatividades que sirven en el inventario de terceros deben registrarse previamente mediante creative service.
Por estas razones, Xandr no admite el adm
campo (que permite que los licitadores pasen el marcado de anuncio real). En su lugar, construimos el marcado del anuncio con la notificación proporcionada adid
y nurl
para la notificación win.
Ejemplo de respuesta de puja
{
"id": "4876290993254515176",
"seatbid": [{
"bid": [{
"id": "1",
"impid": "8278013996604217356",
"price": 1,
"adid": "16",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}",
"ext": {
"appnexus": {
"custom_macros": [{
"name": "dynamic_ad_markup",
"value": "dynamic.js"
}]
}
}
}
],
"seat": "2739"
}],
"bidid": "1",
"cur": "USD"
}
Ejemplo de respuesta de varias pujas
Multi-bid response for one seat value
Option 1
{
"id": "4876290993254515176",
"seatbid": [{
"bid": [{
"id": "1",
"impid": "8278013996604217356",
"price": 1,
"adid": "16",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
},
{
"id": "2",
"impid": "8278013996604245835",
"price": 1,
"adid": "22",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
},
{
"id": "3",
"impid": "2345613996604245835",
"price": 1,
"adid": "23",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
}
],
"seat": "2739"
}],
"bidid": "1",
"cur": "USD"
}
Option 2
{
"id": "4876290993254515176",
"seatbid": [{
"bid": [{
"id": "1",
"impid": "8278013996604217356",
"price": 1,
"adid": "16",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
}
],
"seat": "2739"
}],
"seatbid": [{
"bid": [ {
"id": "2",
"impid": "8278013996604245835",
"price": 1,
"adid": "22",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
}
],
"seat": "2739"
}],
"seatbid": [{
"bid": [ {
"id": "3",
"impid": "2345613996604245835",
"price": 1,
"adid": "23",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
}
],
"seat": "2739"
}],
"bidid": "1",
"cur": "USD"
}
Multi-bid response for multiple seat values
{
"id": "4876290993254515176",
"seatbid": [{
"bid": [{
"id": "1",
"impid": "8278013996604217356",
"price": 1,
"adid": "16",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
}
],
"seat": "2739"
},
{
"bid": [{
"id": "1",
"impid": "8278013996604217356",
"price": 1,
"adid": "15",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
}
],
"seat": "1234"
},
{
"bid": [{
"id": "1",
"impid": "8278013996604217356",
"price": 1,
"adid": "22",
"nurl": "https://68.67.148.76:10011/notify?TAFFYOpenRTBAuctionID=${AUCTION_ID}&price=${AUCTION_PRICE}"
}
],
"seat": "9876"
}],
"bidid": "1",
"cur": "USD"
}
Notificación de Win
Para obtener más información, vea la definición del nurl
campo anterior.
Nota:
En determinados tipos de subastas, se puede generar una notificación perdida o pendiente antes de la notificación win. Las notificaciones win siempre son autoritarias e invalidan cualquier otra notificación recibida anteriormente para esa subasta.
Notificación de pérdida
Si opta por una notificación de pérdida, tendrá un aspecto similar al siguiente. La información de notificación de pérdida aparece al final de la respuesta.
{
"notify_request": {
"timestamp": "2016-03-17 06: 52: 40 ",
"auction_timestamp": "2016 - 03 - 17 06: 52: 40 ",
"user_id_64 ": 659854875312903738,
"response_time_ms ": 40,
"bid_info ": {
"no_cookies": false,
"payment_rule_id": 1772411,
"no_flash": false,
"browser": 7,
"operating_system": 2,
"operating_system_extended": 91,
"operating_system_family": 5,
"carrier": 1,
"device_type": 1,
"language": 1,
"session_freq": 1,
"pub_session_freq": 1,
"country": "US",
"within_iframe": false,
"selling_member_id": 701,
"publisher_id": 1483811,
"user_id_64": 659214875312903738,
"ip_address": "98.21.53.49",
"user_agent": "Mozilla/5.0 (Windows NT 6.0; WOW64; rv: 44.0) Gecko / 20100101Firefox / 44.0 ",
"region ": "PA ",
"city ": "Ephrata",
"postal_code ": "17522 ",
"postal_code_id ": 12813,
"dma ": 566,
"time_zone ": "America / New_York ",
"url ": "https: //www.example.com/",
"domain": "example.com",
"device_ids": {},
"inventory_audits": [{
"auditor_member_id": null,
"intended_audience": "general",
"inventory_attributes": [],
"content_categories": [27, 8476]
}],
"userdata_json": "{\"uid\":\"5xb25EqcY3Hd9B\"}",
"tpuids": [{
"user_id": "5xc25EqcY3Hc9B"
}],
"segments": [{
"id": 1,
"member_id": 0,
"code": "cookie_birthday",
"provider": "Appnexus",
"last_seen_min": 23767080
}, {
"id": 2087662,
"member_id": 2636,
"last_seen_min": 23959609
}]
},
"tags": [{
"id": 6123680,
"auction_id_64": 4123382184097823951,
"full_tag_info": {
"auction_id_64": 4123382184097823951,
"size": "300x250",
"sizes": ["300x250"],
"smaller_sizes_allowed": false,
"position": "unknown",
"tag_format": "iframe",
"ad_profile_id": 114603,
"visibility_profile_id": 625,
"allowed_media_types": [1, 11],
"media_subtypes": ["banner"],
"predicted_view_rate": 0.1708,
"estimated_clear_price": 9.00000,
"estimated_average_price": 3.1630,
"id": 6003680,
"site_id": 1672260,
"venue_id": 1299844
},
"payment_rule_id": 177245,
"notify_type": "lost"
}],
"responses": [{
"result": "error",
"error": "Creative inactive, expired or not found by code;Member id: 1999,code: '537748'",
"error_id ": 307
}]
}
}