Conexión OpenRTB

Conexión OpenRTB

E-Planning SSP puede recibir impresiones mediante una conexión de servidor a servidor (server to server) utilizando el protocolo OpenRTB.

Este documento describe como se realizará la conexión, como deben ser enviados las impresiones y como serán devueltos los anuncios entre otros puntos operativos importantes como la sincronización de usuarios.

Contenido

Subasta

Lo que normalmente se refiere como subasta, consiste en:

  1. Un bid request enviado a E-Planning SSP (entre otros compradores) por otro SSP

  2. E-Planning SSP respondiendo con un bid response

  3. El SSP elegiendo un ganador

  4. El SSP mostrando el anuncio de la fuente ganadora

Protocolo RTB

  • E-Planning SSP utiliza como formato de transporte JSON y el metodo HTTP POST.

  • E-Planning SSP devuelve un mensaje HTTP 204 en caso de que no participe en la subasta.

  • El protocolo utilizado por E-Planning SSP es OpenRTB 2.3. Sin embargo, algunas características de OpenRTB 2.5 son soportadas (como por ejemplo Banner.format)

Bid Request

Para comenzar la conexión el SSP será provisto de una serie de URLs (Endpoints), cada una apuntando a diferentes datacenters de E-Planning. El objetivo de esto es utilizar el datacenter mas cercano al utilizado por el SSP para realizar la subasta.

Solo un bid request debe ser enviado para cada subasta. Sin embargo, múltiples impresiones pueden ser enviadas en un mismo bid request.

Importante

  • Los campos obligatorios siempre deben ser incluidos.

  • Los campos recomendados tienen un impacto positivo en la subasta si son enviados.

  • Los campos opcionales tienen un impacto positivo en la operación y reportes, pero no influyen de forma directa en el resultado de la subasta.

Nivel superior del Bid Request

Campo

Tipo

Estado

Comentarios

Campo

Tipo

Estado

Comentarios

id

String

Obligatorio

Un identificador para el request. Puede ser utilizado para relacionar el bid request al bid response fuera del protocolo HTTP

tmax

Integer

Recomendado

En milisegundos, el tiempo máximo de respuesta para participar de la subasta

at

Integer

Obligatorio

Tipo de subasta, donde 1 = First Price, 2 = Second Price Plus

imp

Object Array

Obligatorio

Ver objeto Imp

allimps

Integer

Recomendado

Indica si todas las impresiones del contexto están disponibles o no

user

Object

Obligatorio

Ver objeto User

device

Object

Obligatorio

Ver objeto Device

site

Object

Obligatorio para Web

Ver objeto Site

app

Object

Obligatorio para In-App

Ver objeto App

source

Object

Obligatorio

Ver objeto Source

regs

Object

Obligatorio para Europa
(Recomendado para el resto)

Ver objeto Regs

badv

String Array

Recomendado

Listado de dominios de anunciantes bloqueados

bcat

String Array

Recomendado

Listado de categorías IAB bloqueadas

Ejemplo

{ "id": "bfebe4d6f24efacd", "tmax": 300, "at": 1, "cur": ["USD"], "imp": [{ "...": "..." }], "user": { "...": "..." }, "device": { "...": "..." }, "site": { "...": "..." }, "source": { "...": "..." }, "regs": { "...": "..." }, "badv": ["ford.com","bmw.com"], "bcat":, ["IAB8-1","IAB8-2"] }

Objeto Imp

Campo

Tipo

Estado

Comentarios

Campo

Tipo

Estado

Comentarios

id

String

Obligatorio

Identificador único para la impresión dentro del Bid Request.
Habitualmente comienza en "1" y se incrementa progresivamente.

banner

Object

Obligatorio para display

Ver objeto Banner

video

Object

Obligatorio para video

Ver objeto Video

bidfloorcur

String

Obligatorio

Divisa a utilizar en los precios, tanto en el bid response como en los precios mínimos.
Utiliza códigos ISO-4217, por ejemplo "USD".

bidfloor

Float

Obligatorio

El precio mínimo al cual la impresión puede ser vendida, expresado en la divisa especificada en bidfloorcur

secure

Integer

Obligatorio

Indica "1" si el anuncio en el bid response debe utilizar HTTPS

instl

Integer

Recomendado

Indica "1" cuando la impresión corresponde a un anuncio de página completa (Full page o Interstitial)

clickbrowser

Integer

Obligatorio para In-App

Indica el tipo de navegador a abrirse al realizar click en el anuncio. 0 = Interno de la App, 1 = Nativo

Ejemplo

{ "id": "1", "bidfloor": 0.4286, "bidfloorcur": "USD", "secure": 1, "instl": 0, "banner": { "w": 300, "h": 250, "pos": 1, "topframe": 0 }, "tagid": "79a4e192e54cc0d9" }

Objeto Banner

Campo

Tipo

Estado

Comentarios

Campo

Tipo

Estado

Comentarios

format

Object Array

Obligatorio si no estan presentes "w" y "h"

Ver objeto Format. Tamaños soportados en la subasta.

w

Integer

Obligatorio si no esta presente "Format"

Ancho en pixeles del banner

h

Integer

Obligatorio si no esta presente "Format"

Alto en pixeles del banner

wmin

Integer

Recomendado si no esta presente "Format"

Mínimo ancho en pixeles del banner

wmax

Integer

Recomendado si no esta presente "Format"

Máximo ancho en pixeles del banner

hmin

Integer

Recomendado si no esta presente "Format"

Mínimo alto en pixeles del banner

hmax

Integer

Recomendado si no esta presente "Format"

Máximo alto en pixeles del banner

pos

Integer

Recomendado

Posición del anuncio en la pagina según Ad Position IAB standard

topframe

Integer

Recomendado

0 = El banner se encuentra dentro de un iframe, 1 = El banner se encuentra en el marco superior de la página

api

Integer

Recomendado

Listado de las APIs soportadas según están descriptas en OpenRTB 2.5. Si se encuentra enviando tráfico inApp, por favor considere indicar si soporta OMID-1 (7)

battr

Integer Array

Recomendado

Atributos del creativo bloqueadas

btype

Integer Array

Recomendado

Tipos de banner bloqueados

expdir

Integer Array

Opcional

Direcciones en las cuales el banner puede ser expandido

Notas

  • Tanto el formato de tamaño de OpenRTB 2.3 como de 2.5 son soportados. Recomendamos no definir ambos a la vez, pero en caso de suceder, se ignorará el formato de OpenRTB 2.5.

    • OpenRTB 2.3: Utiliza w y h

    • OpenRTB 2.5: Utiliza format

  • Si lo que se desea vender son dos espacios separados en la misma página, por ejemplo un 728x90 en la parte superior y un 300x250 a la derecha, dos objetos Imp deben ser enviados con un tamaño independiente cada uno.

  • Si el objetivo es vender un único espacio que soporta mas de un tamaño, entonces un solo objeto Imp debe ser enviado con los tamaños soportados.

Ejemplo

Utilizando format

{ "pos": 1, "format": [ { "w": 300, "h": 600 }, { "w": 300, "h": 250 } ], "battr": [ 11, 12 ], "btype": [ 4 ] }

Utilizando w y h

{ "pos": 1, "w": 300, "h": 250, "wmin": 300, "wmax": 300, "hmin": 50, "hmax": 600, "battr": [ 11, 12 ], "btype": [ 4 ] }

Objeto Video

Campo

Tipo

Estado

Comentarios

Campo

Tipo

Estado

Comentarios

w

Integer

Obligatorio

Ancho en pixeles del reproductor de video

h

Integer

Obligatorio

Alto en pixeles del reproductor de video

maxduration

Integer

Obligatorio

Máxima duración del video, en segundos

minduration

Integer

Obligatorio

Mínima duración del video, en segundos

mimes

String Array

Obligatorio

Listado de MIME types soportados. Los mas comunes son: video/mp4, video/webm, video/ogg. Para VPAID, por favor especifique application/javascript

protocols

Integer Array

Obligatorio

Protocolos soportados. Al menos un protocolo debe ser soportado, ejemplos: 2 = VAST 2.0, 3 = VAST 3.0, 5 = VAST 2.0 Wrapper, 6 = VAST 3.0 Wrapper

pos

Integer

Recomendado

Posición del anuncio en la pagina según Ad Position IAB standard

api

Integer

Recomendado

Listado de las APIs soportadas según están descriptas en OpenRTB 2.5. Si se encuentra enviando tráfico inApp, por favor considere indicar si soporta OMID-1 (7)

battr

Integer Array

Recomendado

Atributos del creativo bloqueadas

boxingallowed

Integer

Recomendado

Especifica si es posible insertar contenido de video 4:3 en una ventana de 16:9. 1 = Permitido, 0 = No permitido

delivery

Integer Array

Opcional

Metodos de entrega soportados. 1 = streaming, 2 = progressive

linearity

Integer Array

Opcional

Especifica si la impresión es lineal o no-lineal. 1 = linear / in-stream, 2 = non-linear / overlay

Objeto Format

Campo

Tipo

Estado

Comentarios

Campo

Tipo

Estado

Comentarios

w

Integer

Obligatorio

Ancho en pixeles del tamaño

h

Integer

Obligatorio

Alto en pixeles del tamaño

Objeto Site

Campo

Tipo

Estado

Comentarios

Campo

Tipo

Estado

Comentarios

id

String

Obligatorio

ID del sitio en el SSP

page

String

Obligatorio

URL de la página donde se mostrará la impresión.
Si es desconocido, el campo no debe ser enviado o estar en blanco.

publisher

Object

Obligatorio

Ver objeto Publisher

domain

String

Recomendado

Dominio de la página donde se mostrará la impresión

cat

String Array

Recomendado

Array de categorías IAB del sitio. Máximo 8 categorias.

ref

String

Recomendado

URL de la página desde donde se llego a la página actual

ext.inventorypartnerdomain

String

Recomendado

Inventory partner domain. Dominio de terceros autorizado para validar ads.txt

Ejemplo

{ "id": "123", "page": "http://example.com/section/page.html", "cat": [ "IAB1-2" ], "publisher": { "id": "456", "domain": "example.com", "name": "Example Inc" } }

Objeto App

Campo

Tipo

Estado

Comentarios

Campo

Tipo

Estado

Comentarios

id

String

Obligatorio

ID de la App en el SSP

name

String

Obligatorio

Nombre de la aplicación

bundle

String

Obligatorio

Bundle de la aplicación o nombre del paquete (por ejemplo, "com.foo.myapp" en Android o un valor numerico en iOS)

domain

String

Recomendado

Dominio de la aplicación donde se mostrará la impresión

storeurl