Requisitos de idoneidad de ofertas: configuración de ofertas
Uno de los requisitos que se deben cumplir para realizar transacciones en el intercambio abierto de Xandr es confirmar que comprende el servicio deal. Para demostrar su comprensión, creará acuerdos con dos miembros de prueba de Xandr, AN Talent(882) y AN Challenge(1370). La oferta debe representar el mismo inventario y, por lo tanto, siempre debe aparecer en las mismas solicitudes de puja. Cada oferta debe ver más de 10 000 impresiones al día.
Paso 1: Configurar un acuerdo con el miembro comprador AN Talent (882)
Campo | Tipo (longitud) | Description | Valor esperado (para prueba) |
---|---|---|---|
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 entrante a través del campo id. de la oferta en el objeto PMP. |
Valor que va a pasar en el campo de id. de transacción del objeto de PMP. |
nacme |
string (255) | Nombre de la oferta. | Oferta de prueba de APN 1 |
active |
Booleano | Si es true, la oferta está activa. Tenga en cuenta que la oferta estará disponible para el comprador solo cuando este campo sea true, start_date esté en el pasado (o null) y end_date sea en el futuro (o null). |
true |
start_date |
Timestamp | El día y la hora en que la oferta comienza a estar disponible para el comprador. Si se establece, el formato debe ser "AAAA-MM-DD HH:MM:SS". | 2017-01-01 00:00:00 |
end_date |
Timestamp | El día y la hora en que la oferta deja de estar disponible para el comprador. Si se establece, el formato debe ser "AAAA-MM-DD HH:MM:SS". | 2037-01-01 00:00:00 |
floor_price |
double | Valor mínimo de CPM que el comprador debe pujar para ser elegible para la oferta. | 0.5 |
use_deal_floor |
Booleano | Si es true, se aplica para floor_price la oferta. |
true |
buyer |
object | El miembro comprador que puede dirigirse a esta oferta. Para obtener más información, consulte Comprador a continuación. | 882 |
type |
object | Tipo de oferta. Para los vendedores de plataformas, una oferta puede ser una subasta abierta o una subasta privada. Para obtener más información, vea Tipo a continuación. | 2 |
Comprador
El objeto buyer se puede establecer en , POST
pero no se puede actualizar con .PUT
Si desea cambiar el comprador, debe crear una nueva oferta. El buyer
objeto debe contener los campos siguientes.
Campo | Tipo | Description | Valor esperado (para prueba) |
---|---|---|---|
id |
Entero | Identificador de miembro del comprador. | 882 |
Tipo
El type
objeto debe contener los campos siguientes.
Campo | Tipo (longitud) | Description | Valor esperado (para prueba) |
---|---|---|---|
id |
Entero | Identificador que representa el tipo de transacción. Posibles valores: - 1 = Subasta abierta En una "subasta abierta", 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 una "subasta privada", 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. Para obtener ejemplos que muestren cómo funcionan estos diferentes tipos de subastas, consulte "Mecánica de subastas de ofertas" en la documentación. |
Subasta privada |
Paso 2: Configurar la misma oferta para el desafío AN del miembro comprador (1370)
Campo | Tipo (longitud) | Description | Valor esperado (para prueba) |
---|---|---|---|
code |
string (100) | Código personalizado para la oferta. Nota: Este campo es obligatorio y representa el identificador de la oferta interna, pasado en la solicitud de puja entrante a través del campo object, deal ID del PMP. |
Valor que va a pasar en el campo de id. de transacción del objeto de PMP. |
name |
string (255) | Nombre de la oferta. | Oferta de prueba de APN 2 |
active |
Booleano | Si es true, la oferta está activa. Tenga en cuenta que la oferta estará disponible para el comprador solo cuando este campo sea true, start_date esté en el pasado (o null) y end_date sea en el futuro (o null). |
true |
start_date |
Timestamp | El día y la hora en que la oferta comienza a estar disponible para el comprador. Si se establece, el formato debe ser "AAAA-MM-DD HH:MM:SS". | 2017-01-01 00:00:00 |
end_date |
Timestamp | El día y la hora en que la oferta deja de estar disponible para el comprador. Si se establece, el formato debe ser "AAAA-MM-DD HH:MM:SS". | 2037-01-01 00:00:00 |
floor_price |
double | Valor mínimo de CPM que el comprador debe pujar para ser elegible para la oferta. | 0.5 |
use_deal_floor |
Booleano | Si es true, se aplica para floor_price la oferta. |
true |
buyer |
object | El miembro comprador que puede dirigirse a esta oferta. Para obtener más información, consulte Comprador a continuación. | 1370 |
type |
object | Tipo de oferta. Para los vendedores de plataformas, una oferta puede ser una subasta abierta o una subasta privada. Para obtener más información, vea Tipo a continuación. | 2 |
Desafío AN de miembro comprador (1370)
El objeto buyer se puede establecer en , POST
pero no se puede actualizar con .PUT
Si desea cambiar el comprador, debe crear una nueva oferta.
El buyer
objeto debe contener los campos siguientes.
Campo | Tipo | Description | Valor esperado (para prueba) |
---|---|---|---|
id |
Entero | Identificador de miembro del comprador. | 1370 |
Tipo de oferta
El type
objeto debe contener los campos siguientes.
Campo | Tipo (longitud) | Description | Valor esperado (para prueba) |
---|---|---|---|
id |
Entero | Identificador que representa el tipo de transacción. Posibles valores: - 1 = Subasta abierta En una "subasta abierta", 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 una "subasta privada", 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. Para obtener ejemplos que muestren cómo funcionan estos diferentes tipos de subastas, consulte "Mecánica de subastas de ofertas" en la documentación. |
Subasta privada |
Paso 3: Enviar las ofertas para su revisión
Una vez que se sienta seguro de que ha creado correctamente en nuestro servicio deal y ha configurado ambas ofertas como se ha descrito anteriormente, envíe un caso de soporte técnico para que se revise el tráfico. Incluya los identificadores de la oferta Xandr que ha creado. Le actualizaremos en los pasos finales del proceso.
Deal Service API
API de REST
Agregue una nueva oferta:
POST https://api.appnexus.com/deal
(deal JSON)
Modificar una oferta existente:
PUT https://api.appnexus.com/deal?id=DEAL_ID
(deal_update JSON)
Vea todas las ofertas que tiene con los compradores:
GET https://api.appnexus.com/deal
Ver una oferta específica:
GET https://api.appnexus.com/deal?id=DEAL_ID
Vea varias ofertas por identificador mediante una lista separada por comas:
GET https://api.appnexus.com/deal?id=1,2,3
Eliminar una oferta:
DELETE https://api.appnexus.com/deal?id=DEAL_ID
Ejemplo
Llamada de ejemplo POST
$ cat new_test_deal_1
{
"deal": {
"code": "APN-TEST1",
"use_deal_floor": true,
"name": "APN Test Deal 1",
"active": true,
"start_date": "2016-12-01 01:00:00",
"end_date": "2037-01-01 00:00:00",
"floor_price": 0.5,
"currency": "USD",
"buyer": {
"id": 882
},
"type": {
"id": 2
}
}
}
$ curl -b cookies -c cookies -X POST -d @new_test_deal_1.json 'https://api.appnexus.com/deal'
{
"response": {
"status": "OK",
"count": 1,
"id": 64,
"start_element": 0,
"num_elements": 100,
"deal": {
"id": 64,
"code": "APN-TEST1,
"name": "APN Test Deal 1",
"description": null,
"active": true,
"start_date": "2016-12-01 01:00:00",
"end_date": "2037-01-01 00:00:00",
"profile_id": null,
"package_id": null,
"floor_price": 0.5,
"currency": "USD",
"use_deal_floor": true,
"last_modified": "2013-12-04 20:43:44",
"seller": {
"id": 2345,
"name": "Seller 123"
},
"buyer": {
"id": 882,
"bidder_id": 2,
"name": "AN Talent"
},
"type": {
"id": 2,
"name": "Private Auction"
},
"brands": null,
"ask_price": 0,
"size_preference": null
}
}
}