Servicio de instancia del licitador
Es probable que un licitador tenga al menos dos instancias en ejecución en un momento dado. Cada instancia está asociada al bus de impresiones de uno de los centros de datos de Xandr. La propia instancia puede hospedarse con Xandr en el centro de datos o estar cerca. Para reducir la latencia de las impresiones globales, puede configurar instancias del licitador en los distintos centros de datos Xandr (consulte datacenter_id
a continuación). Cada instancia del licitador está asociada a un centro de datos. A medida que aumenta la carga de los licitadores, es probable que necesite varias instancias por centro de datos. En lugar de configurar su propio grupo de equilibrio de carga local para estas varias instancias, el bus de impresiones puede controlar el equilibrio de carga de forma automática.
Tendrá que registrar la combinación de nombre de host, IP o puerto para cada una de las instancias del licitador en el bus de impresiones mediante la API del servicio de instancia del licitador. Este servicio de API también permite ver, modificar y quitar cualquier instancia. Cada instancia del licitador debe usar la nomenclatura para los controladores de solicitudes definidos por el Servicio del licitador.
Nota:
Para obtener respuestas a las preguntas más frecuentes sobre cómo funcionan las instancias del licitador, consulte La instancia del licitador: preguntas más frecuentes.
API de REST
Http (método) | Endpoint | Description |
---|---|---|
GET |
https://api.adnxs.com/bidder-instance/BIDDER_ID | Ver todas las instancias del licitador. No se mostrarán los postores de otros usuarios. |
GET |
https://api.adnxs.com/bidder-instance/BIDDER_ID/BIDDER_INSTANCE_ID | Ver una instancia de licitador determinada. |
POST |
https://api.adnxs.com/bidder-instance/BIDDER_ID (JSON de instancia del licitador) |
Agregue una nueva instancia del licitador. |
PUT |
https://api.adnxs.com/bidder-instance/BIDDER_ID/BIDDER_INSTANCE_ID (JSON de instancia del licitador) |
Modificar un pujador existente. Nota: Actualmente, el servicio de instancia del licitador no admite eliminaciones: para quitar una instancia, establézcala en inactiva. Advertencia: Al crear o modificar instancias del licitador, nunca use el parámetro "datacenter" en desuso para establecer el centro de datos de la instancia. En su lugar, use siempre el parámetro "datacenter_id" con los identificadores definidos a continuación. |
Campos JSON
Campo | Obligatorio | Tipo | Description |
---|---|---|---|
id |
Sí (en PUT ) |
Entero | Identificador de la instancia del licitador. |
bidder_id |
sí | int | El identificador del licitador. |
active |
No, el valor predeterminado es true | booleano | Si la instancia del licitador está activa o no. |
datacenter_id |
Sí (en POST ) |
Entero | Identificador del centro de datos al que está asociada la instancia de NYM = 6, LAX = 4, , AMS = 15 , FRA = 7, SIN = 13. Identificadores heredados: AMS = 12 (hasta el 12 de julio de 2022), SIN = 8 (hasta el 15 de octubre de 2019) |
ip_address |
sí | string | Dirección IP de la instancia del licitador. |
port |
sí | int | Puerto para la instancia del licitador. |
last_activity |
no | Timestamp | Marca de tiempo de la última modificación en esta instancia del licitador. |
hostname |
no | varchar(128) | Nombre de host de la instancia del licitador (asegúrese de no incluir "https://", por ejemplo. "hostname":"rtb.yourdomain.com") |
qps_limit |
no | Entero | El número máximo de consultas por segundo enviadas a esta instancia del licitador. |
Nota:
Los límites de QPS deben establecerse igual para todas las instancias del licitador de un centro de datos. Para ello, establezca en el qps_limit
mismo valor para todas las instancias del licitador activas en un centro de datos. Por ejemplo, si tiene tres instancias de licitador en LAX y quiere establecer el límite de QPS en 50 000 para todo el centro de datos, establecería en qps_limit
50 000 en cada una de las tres instancias del licitador. Si qps_limit
no es igual en todas las instancias del licitador dentro de un centro de datos, puede obtener resultados no deseados, por lo que debe asegurarse de que los qps_limit
valores son los mismos en cada centro de datos.
Puede agregar un nombre de host a la instancia del licitador en cualquier momento. Sin embargo, nuestra API requiere una dirección IP al ajustar la instancia del licitador, pero si incluye un campo de nombre de host con un valor (su dirección URL o dominio) en la llamada api, nuestros sistemas se conectarán al nombre de host y omitirán la dirección IP. Si va a publicar una nueva instancia del licitador con un nombre de host, puede usar un valor de marcador de posición para el campo ip_address.
Ejemplos
Token de autenticación
La autenticación siempre es el primer paso cuando se usan los servicios de API. A continuación, el token de autenticación se puede escribir en nuestro archivo de cookies para su uso futuro. Para obtener instrucciones más detalladas, consulte Servicio de autenticación.
Visualización de instancias existentes
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"instances":[
{
"id":14,
"bidder_id":2,
"active":true,
"datacenter_id": 6,
"ip_address":"8.12.231.108",
"port":8081,
"last_activity":"2016-12-31 17:07:17"
"hostname": null
}
]
}
}
Agregar nueva instancia
Tengo una instancia de Nueva York (NYM2); ahora quiero registrar mi instancia del licitador DE LAX1. Creo el siguiente JSON:
$ cat bidder_instance
{
"instance":{
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"8.12.231.108",
"port":8081,
"hostname":"rtb.yourdomain.com"
}
}
A continuación, agregue esta nueva instancia a mi postor (2):
$ curl -b cookies -c cookies -X POST --data-binary @bidder_instance 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"id":53
}
}
Y para ver la instancia recién agregada:
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2/53'
{
"response":{
"status":"OK",
"instance":[
{
"id":53,
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"64.210.63.108",
"port":8081,
"last_activity":"2016-12-31 19:24:23"
"hostname":"rtb.yourdomin.com"
}
]
}
}
Adición de un límite de QPS a una instancia existente
Si quiero agregar un límite de QPS a una instancia existente:
$ cat bidder-instance
{
"instance":{
"id":53,
"qps_limit":75000
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @bidder-instance "https://api.adnxs.com/bidder-instance/2/53"
{
"response":{
"status":"OK",
"id":53
}
}
A continuación, si quiero ver la instancia de :
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"instances":[
{
"id":14,
"bidder_id":2,
"active":true,
"datacenter_id":6,
"ip_address":"8.12.231.108",
"port":8081,
"last_activity":"2016-12-31 17:07:17"
"hostname":null
},
{
"id":53,
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"64.210.63.124",
"port":8081,
"qps_limit":75000
"last_activity":"2016-12-31 19:51:13"
"hostname":"rtb.yourdomain.com" }
]
}
}
Modificación de una instancia
Si necesito cambiar una dirección IP:
$ cat bidder-instance
{
"instance":{
"id":53,
"ip_address":"64.210.63.124"
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @bidder-instance "https://api.adnxs.com/bidder-instance/2/53"
{
"response":{
"status":"OK",
"id":53
}
}
A continuación, para ver el estado actual de todas las instancias de mi licitador(2):
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"instances":[
{
"id":14,
"bidder_id":2,
"active":true,
"datacenter_id":6,
"ip_address":"8.12.231.108",
"port":8081,
"last_activity":"2016-12-31 17:07:17"
"hostname":null
},
{
"id":53,
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"64.210.63.124",
"port":8081,
"last_activity":"2016-12-31 19:51:13"
"hostname":"rtb.yourdomain.com" }
]
}
}