Перейти к основному содержанию

Спецификации открытого тендерного запроса RTB

На этой странице объясняется, как подавать заявки на участие в торгах

Заголовки конкурсных заявок

  • HTTP-заголовок версии OpenRTB: x-openrtb-version: 2.4
  • hTTP-заголовок Keep-Alive HTTP Header**: Соединение: Keep-Alive
  • Содержание JSON: Content-Type: application/json

The following objects should be sent encoded as JSON in the request body:  

Заявка на участие в торгах

АтрибутТребуется?Описание
наДаТип аукциона, первая цена = 1 (int)
idДаУникальный идентификатор заявки на участие в торгах (строка)
импДаМассив объектов Imp, представляющих предлагаемые впечатления(объект).
сайтДаПодробная информация через объект Site о сайте (объекте) издателя.
устройствоДаСведения через объект Device об устройстве пользователя, на которое будет доставлено впечатление (объект).
пользовательНетПодробная информация через объект User о человеке, пользующемся устройством; рекламная аудитория (объект).
extНетДержатель для расширений к OpenRTB.

имп

АтрибутТребуется?Описание
idДаУникальный идентификатор впечатления в данном запросе на участие в торгах (строка)
bidfloorНетМинимальная ставка за данное впечатление (CPM) / клик (CPC) и валюта счета (float)
bidfloorcurНетВалюта для минимального значения ставки, указанная с использованием буквенных кодов ISO-4217 (строка)
роднойТолько для нативных и нажимных имповВозможность использования объекта Native (объект).
баннерТолько для баннерных имповВозможность использования баннерного объекта (объекта).
instlТолько для всплывающих, прямых ссылок и кликов по электронной почтеВозможность использования объекта Fullscreen (объект).
видеоТолько для видеоВозможность видеообъекта (объекта)
безопасныйРекомендуемФлаг, указывающий, требуется ли впечатлению безопасный HTTPS URL для творческих активов и разметки, где 0 = небезопасный, 1 = безопасный (рекомендуемый вариант). Если флаг опущен, состояние безопасности неизвестно, но можно предположить поддержку небезопасного HTTP (целое число)
elНетЭлектронная почта в кодировке Base64 (строка)
extНетМесто для специфических для биржи расширений

имп.знамя

АтрибутТребуется?Описание
wДаШирина баннера (целое число)
hДаВысота баннера (целое число)
мимыНетСписок поддерживаемых типов mime (массив строк). Мы поддерживаем: image/jpeg, image/jpg, image/png, image/png, image/gif, image/webp, video/mp4
extНетМесто для специфических для биржи расширений (объект)

imp.banner.ext

АтрибутТребуется?Описание
изображение_выводаНетУказывает формат вывода для баннеров с изображениями* (строка)
видеовыходНетУказывает формат вывода для видеобаннеров* (строка)

*Определяет формат поля adm для формата баннера. Варианты: xml или html. Значение по умолчанию - xml, если поле не указано.

имп.инстл

АтрибутТребуется?Описание
instlДа0 = прямая ссылка/клики по электронной почте, 1 = popunder

imp.native (для нативных объявлений и объявлений с Push-уведомлениями)

АтрибутТребуется?Описание
запросДаПолезная нагрузка запроса, соответствующая спецификации Native Ad Specification - JSON-кодированная строка запроса Native Ads, включая его нативный объект верхнего уровня (JSON-объект)
verНетВерсия API Dynamic Native Ads, которой соответствует request (строка)

imp.native.request

АтрибутТребуется?Описание
verДаВерсия используемой нативной разметки (строка)
контекстНетКонтекст, в котором появляется объявление. В данном случае это 1 (контекст, ориентированный на контент, такой как лента новостей, статья, галерея изображений, видеогалерея или аналогичный контекст), необязательно (целое число)
plcmttypeДаДизайн/формат/разметка предлагаемого рекламного блока. В настоящее время мы поддерживаем 4 (Виджет рекомендаций) и 500 (Толковое уведомление) (целое число)
plcmtcntНетКоличество одинаковых размещений в этом макете. Максимум: 10 (целое число) (целое число)
активыДаМассив Объектов активов. Любой ответ на заявку должен соответствовать массиву элементов, выраженному в заявке (массив объектов JSON)
seqНет0 для первого объявления, 1 для второго и так далее. Обратите внимание, что это обычно НЕ используется в сочетании с plcmtcnt - либо вы выставляете на аукцион несколько одинаковых объявлений (в этом случае plcmtcnt>1, seq=0), либо вы проводите отдельные аукционы для разных элементов в ленте (в этом случае plcmtcnt=1, seq=>=1)

imp.native.request.assets

АтрибутТребуется?Описание
idДаУникальный идентификатор актива, присваиваемый биржей. Обычно это счетчик для массива (целое число) 1: ID актива изображения, 2: ID актива названия, 3: ID актива описания
требуетсяНетУстановите значение 1, если актив является обязательным, или 0, если актив является необязательным (целое число)
plcmtcntНетКоличество одинаковых мест в этом макете (целое число)
imgДаОбъект изображения для активов изображения** (объект JSON)
названиеНетОбъект заголовка для активов заголовка** (объект JSON)
данныеНетОбъект данных для названия бренда, описания, рейтинга, цены и т.д.* (объект JSON)

*The amount of bids received for your Native request will be based on the value you set in "plcmtcnt". For example, a bid request with "plcmtcnt":3 will receive 3 different bid objects. You can find an example of this in the Response example page.

** Только один из объектов {img, title, data} должен присутствовать в каждом объекте актива

imp.native.request.assets.img

АтрибутТребуется?Описание
типНетИдентификатор типа элемента изображения, поддерживаемого издателем. Мы поддерживаем: 1 (Иконка изображения) (целое число), 3 (Большое изображение для предварительного просмотра объявления) (целое число)
wНетШирина изображения в пикселях, необязательно (целое число)
hНетВысота изображения в пикселях, необязательно (целое число)
wminДаМинимальная запрашиваемая ширина изображения в пикселях (целое число)
hminДаМинимальная запрашиваемая высота изображения в пикселях (целое число)

* Размеры иконки Push Notification: 192px x 192px

imp.native.request.assets.title

АтрибутТребуется?Описание
lenДаМаксимальная длина текста в элементе title. (целое число)

imp.native.request.assets.data

АтрибутТребуется?Описание
типДаИдентификатор типа элемента, поддерживаемого издателем (целое число). Мы поддерживаем: 1 (sponsored - сообщение Sponsored By, где ответ должен содержать название бренда спонсора), 2 (desc - описательный текст, связанный с рекламируемым товаром или услугой)
lenНетМаксимальная длина текста в ответе элемента (целое число)

имп.видео

АтрибутТребуется?Описание
мимыНетСписок поддерживаемых типов мимов (массив строк)
протоколыНетСписок поддерживаемых протоколов ответа на видеозаявку (массив int)
пропуститьНетУказывает, будет ли плеер разрешать пропуск видео, где 0 = нет, 1 = да
пропустить послеНетКоличество секунд, в течение которых видео должно проигрываться, прежде чем будет включена функция пропуска; применимо только в том случае, если реклама пропускается
skipminНетВидеоролики общей продолжительностью более указанного количества секунд могут быть пропущены; применимо только в том случае, если реклама пропускается

Примечание: Если в запросе указать только "skip", но не "skipafter", видео будет пропускаться через 5 секунд. В ответе будет установлено значение "skipoffset", равное 5. Если вы укажете "skip", но не укажете "skipmin", видео будет пропускаться независимо от его продолжительности.


imp.ext

АтрибутТребуется?Описание
video_ctaНетУказывает, нужно ли предоставлять CTA, где 0 = нет, 1 = да (по умолчанию 1)

To see an example of CTA, please check our Response example page.  

сайт

АтрибутТребуется?Описание
idТребуетсяУникальный идентификатор сайта (строка)
доменТребуетсяДоменное имя сайта (строка)
имяТребуетсяНазвание сайта (строка)
котНетИдентификатор категории IAB (массив строк)
страницаРекомендуемПолный URL-адрес страницы, на которой будет показано объявление (строка)
ключевые словаНетКлючевые слова можно использовать для того, чтобы рекламные зоны получали нужный тип рекламы. Ключевые слова должны представлять собой строку слов, разделенных запятыми.
extНетМесто для специфических для биржи расширений OpenRTB.

site.ext

АтрибутТребуется?Описание
обменникНетИдентификатор пользовательской категории ExoClick (целое число)
idzoneНетПользовательский идентификатор рекламной зоны ExoClick (целое число)

приложение

АтрибутТребуется?Описание
idТребуетсяУникальный идентификатор приложения (строка)
котНетИдентификатор категории IAB (массив строк)
ключевые словаНетКлючевые слова можно использовать для того, чтобы рекламные зоны получали нужный тип рекламы. Ключевые слова должны представлять собой строку слов, разделенных запятыми (строка)
издательНетСведения об издателе (объекте)

Примечание: Вы не можете отправить объект "app" вместе с объектом "site" или наоборот.


app.publisher

АтрибутТребуется?Описание
доменРекомендуемДомен верхнего уровня издателя (например, "publisher.com") (строка)

устройство

АтрибутТребуется?Описание
uaДаАгент пользователя браузера (строка)
геоНетПредполагается, что местоположение устройства - это текущее местоположение пользователя, определяемое объектом Geo.
ipДаIP-адрес пользователя (строка)*
ipv6РекомендуемIPv6-адрес пользователя (строка)*
языкРекомендуемЯзык браузера, использующий ISO-639-1-alpha-2 (строка)
osНетОперационная система (строка)
jsНетПоддержка JavaScript, где 0 = нет, 1 = да (целое число)
extНетМесто для расширения OpenRTB, специфичного для биржи

Примечание: В запросе нужно указывать только ip или ipv6, но не оба. Если вы используете ipv6, удалите атрибут ip, и наоборот. Включение обоих атрибутов может привести к ошибкам.


устройство.гео

АтрибутТребуется?Описание
странаНетСтрана ISO3

устройство.ext

АтрибутТребуется?Описание
удалённый_адресНетОсновной IP-адрес пользователя (строка)
x_forwarded_forНетX-FORWARDED-FOR IP-адрес пользователя или пустой, если он не установлен (строка)

пользователь

АтрибутТребуется?Описание
idДаУникальный идентификатор пользователя (строка)

Примечание: Если вы не можете сгенерировать строку идентификатора пользователя, вы можете оставить ее пустой (""). Запрос получит ответ, если в нем присутствует объект "user".


ext

АтрибутТребуется?Описание
субНетИдентификатор подсистемы. Это должно быть число от шести до десяти цифр: Не используйте нули в начале Sub ID.
экспортНетТип ответа может быть "json" или "xml" (строка). По умолчанию используется "json".

Note: Sub IDs should be a number between 1 and Int32: Do not use zeroes at the beginning of Sub IDs.


Примеры

You can find a detailed list of Request examples in our example page