Данный сервис предоставляет данные для отображения промоблока (слайдера/карусели).
Точка входа определяется Регистратурой, где числовой идентификатор сервиса - 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)