Compartir a través de


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 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 string Dirección IP de la instancia del licitador.
port 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"         }
      ]
   }
   }