Технические характеристики Open RTB 2.4 Bid Request
На этой странице объясняется, как подавать заявки на участие в торгах
Заголовки конкурсных заявок
- 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 о сайте (объекте) издателя. |
| приложение | Да | Подробная информация через объект App о приложении издателя* (объект). |
| устройство | Да | Сведения через объект Device об устройстве пользователя, на которое будет доставлено впечатление (объект). |
| пользователь | Нет | Подробная информация через объект User о человеке, пользующемся устройством; рекламная аудитория (объект). |
| ext | Нет | Держатель для расширений к OpenRTB. |
Примечание: В каждом запросе должен присутствовать только один из объектов {site, app}.
имп
| Атрибут | Требуется? | Описание |
|---|
| 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) |
*Количество ставок, полученных для вашего нативного запроса, будет зависеть от значения, заданного в «plcmtcnt». Например, запрос ставки с «plcmtcnt»:3 получит 3 разных объекта ставок. Пример можно найти на странице с примерами ответов.
** Только один из объектов {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.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". |
Примеры
Подробный список примеров запросов можно найти на нашей странице с примерами