Данный сервис предоставляет данные для отображения промоблока (слайдера/карусели).
Точка входа определяется Регистратурой, где числовой идентификатор сервиса - 22, строковый - promo_block.
Запросы формируются следующим образом:
http://<path_to_api>/<api_version>/<method>.<format>?[parameters]
Где:
path_to_api — путь до API, полученный из Регистратурыapi_version — версия APImethod — имя методаformat — формат передачи данных, может быть одним из:
json — JSONparameters — параметры методаЗначения всех параметров необходимо кодировать для предотвращения неоднозначной интерпретации так, как это рекомендуется в RFC3986.
Для формировании ответа с учетом особенностей клиента, во все запросы необходимо включать следующие общие параметры:
| параметр | формат | по умолчанию | смысл |
|---|---|---|---|
access_token |
строка |
отсутствует | Токен доступа, полученный при помощи Auth API |
select — получение набора креативов для отображения в промоблоке| параметр | формат | по умолчанию | смысл |
|---|---|---|---|
profileName |
строка |
отсутствует | Желаемый профиль картинки для CreativeImage - картинки других профилей будут откинуты из каждого креатива (но сами креативы будут возвращены, даже если из них были откинуты все картинки) |
Формат ответа: сообщение CreativeList.
Пример запроса
GET /promo_block/1/select.json?access_token=...
message CreativeList {
repeated Creative items = 1;
}
message Creative {
required uint64 id = 1;
optional string title = 2;
optional string subtitle = 3;
optional uint64 endPublication = 4;
repeated CreativeImage images = 5;
optional CreativeContent contentItem = 6;
}
Пояснение:
id — идентификатор креативаtitle - заголовок для вывода пользователю поверх картинки креативаsubtitle - подзаголовок для вывода пользователю поверх картинки креативаendPublication - время окончания публикации креатива в формате UNIX-seconds: в этот момент времени креатив исчезнет из выдачи API, также в этот момент времени клиент самостоятельно без доп. запросов может удалить из промоблока данный креативimages - список картинок в разных профилях, клиент может игнорировать креатив, если подходящая картинка отсутствуетcontentItem - контент, связанный с креативом - предполагается, что креатив ведёт на страницу этого контентаmessage CreativeImage {
required string url = 1;
required string profile = 2;
optional uint32 width = 3;
optional uint32 height = 4;
}
Пояснение:
url - адрес картинкиprofile - профиль картинки, определяющий её размер и формат; возможные значение:
smarttv_promo_block - картинка для вывода в промоблоке смарт твmobile_promo_block - картинка для вывода в промоблоке мобилокwidth - широта картинки в пикселяхheight - высота картинки в пикселяхmessage CreativeContent {
required string type = 1;
optional uint64 id = 2;
optional uint64 channelId = 3;
optional string title = 4;
optional uint64 startTime = 5;
optional uint64 endTime = 6;
optional bool showLive = 7;
}
Пояснение:
type - тип контента креатива; возможные значения:
id - идентификатор контентаchannelId - доп. идентификатор канала (когда type = «telecast»)title - название контента, которое можно использовать для вывода в UI клиентаstartTime - начало эфира (когда type = «telecast») в формате UNIX-secondsendTime - окончание эфира (когда type = «telecast») в формате UNIX-secondsshowLive - нужно ли во время эфира (когда type = «telecast») заменять картинку креатива прямой трансляциейПоддержка нишевого контента: (!)Для отображения в промоблоке элементов нишевого контента необходимо передать в заголовке Client-Capabilities параметр niche
Начальная версия (PTVRND–894)
select.(PTVRND–2464)