Compartir a través de


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 , POSTpero 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 , POSTpero 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
        }
    }
}