SAPI
Материал из Vidok.TV
Описание
В данной статье описывается возможное взаимодействие между клиентом и сервером API.
Договоренности
- Все временные метки только в формате Unixtime
- Boolean значение имеет следующее обозначение: положительное - 1, отрицательное - 0»
- Кодировка UTF8.
Все запросы к API формируются по специально сформированному URL и имеют следующий вид:
httр://sapi.ott.st/v<api_version>/<type>/<method>?param1=value¶m2=value&token=<token>
| <api_version> | Версия API. Текущая версия 2.4 |
| <type> | Формат ответа API. Может принимать следующие параметры:
|
| <method> | Метод API, описания которых предоставлены ниже. |
| <token> | Уникальный ключ авторизации. Всегда равен md5(strtolower($login) . md5($password)) (пример на PHP) |
Пример запроса к API:
httр://sapi.ott.st/v2.4/json/get_url?cid=1&token=sessiontoken
Логотипы каналов
Получить логотип канала можно по следующему URL:
http://ott.st/logos/<channel_id>.png
Где <channel_id> - ID канала.
Методы
[account] Аккаунт
Описание метода
Выводит информацию об аккаунте.
Формат запроса
httр://sapi.ott.st/v2.4/xml/account?token=sessiontoken
Формат ответа
<?xml version="1.0" encoding="utf-8"?>
<response>
<account>
<login>[логин]</login>
<tz>[таймзона]</tz>
<first_name>[имя]</first_name>
<last_name>[фамилия]</last_name>
<city>[имя]</city>
<country>[имя]</country>
<packages>
<item>
<id>[id слуги]</id>
<type>[тип услуги]</type>
<name>[название услуги]</name>
<expire>[время окончания подписки]</expire>
</item>
<item>
<id>2</id>
<type>1</type>
<name>Базовый</name>
<expire>1673108501</expire>
</item>
<item>
<id>3</id>
<type>1</type>
<name>Взрослый</name>
<expire>1523115026</expire>
</item>
...
</packages>
</account>
<servertime>[время сервера]</servertime>
</response>
[channel_list] Список категорий и каналов
Описание метода
Возвращает список категорий и каналов в формате "категория -> каналы".
Формат запроса
httр://sapi.ott.st/v2.4/xml/channel_list?token=sessiontoken
| Параметр | Обязательный | Описание |
|---|---|---|
| show_favorites | Нет | 1 - Отображать категорию Избранное |
Формат ответа
<?xml version="1.0" encoding="utf-8"?>
<response>
<groups>
<item>
<id>[идентификатор группы]</id>
<name>[название группы]</name>
<channels>
<item>
<id>[идентификатор канала]</id>
<name>[Название канала]</name>
<protected>[флаг защищенного видео 0/1, 1 - род. контроль]</protected>
<timeshift>[кол-во часов архива, 0 - без архива]</timeshift>
<favorite>[флаг наличия канала в избранном 0/1]</favorite>
<epg>
<title>[название текущей телепередачи]</title>
<description>[описание телепередачи]</description>
<start>[время начала передачи]</start>
<end>[время окончания передачи]</end>
</epg>
</item>
<item>
<id>2</id>
<name>Первый HD</name>
<protected>0</protected>
<timeshift>336</timeshift>
<favorite>1</favorite>
<epg>
<title>Наедине со всеми</title>
<description>
Взгляд на судьбы людей через призму наиболее известных, серьезных и важных событий их жизни. Очень личный разговор Юлии Меньшовой с людьми, которые всем интересны.
</description>
<start>1641595800</start>
<end>1641598500</end>
</epg>
</item>
...
</channels>
</item>
...
</groups>
<servertime>1277807687</servertime>
</response>
[channel_list2] Список категорий и каналов
Описание метода
Возвращает список категорий и каналов в формате "категории, каналы".
Формат запроса
httр://sapi.ott.st/v2.4/xml/channel_list2?token=sessiontoken
| Параметр | Обязательный | Описание |
|---|---|---|
| show_favorites | Нет | 1 - Отображать категорию Избранное |
Формат ответа
<?xml version="1.0" encoding="utf-8"?>
<response>
<groups>
<item>
<id>[идентификатор группы]</id>
<name>[название группы]</name>
</item>
<item>
<id>1</id>
<name>Main</name>
</item>
...
</groups>
<channels>
<item>
<id>[идентификатор канала]</id>
<name>[Название канала]</name>
<protected>[флаг защищенного видео 0/1, 1 - род. контроль]</protected>
<timeshift>[кол-во часов архива, 0 - без архива]</timeshift>
<favorite>[флаг наличия канала в избранном 0/1]</favorite>
<epg>
<title>[название текущей телепередачи]</title>
<description>[описание телепередачи]</description>
<start>[время начала передачи]</start>
<end>[время окончания передачи]</end>
</epg>
</item>
<item>
<id>2</id>
<name>Первый HD</name>
<protected>0</protected>
<timeshift>336</timeshift>
<favorite>1</favorite>
<epg>
<title>Наедине со всеми</title>
<description>
Взгляд на судьбы людей через призму наиболее известных, серьезных и важных событий их жизни. Очень личный разговор Юлии Меньшовой с людьми, которые всем интересны.
</description>
<start>1641595800</start>
<end>1641598500</end>
</epg>
</item>
...
</channels>
<servertime>1277807687</servertime>
</response>
[channel_list3] Список каналов в категории
Описание метода
Возвращает список каналов в категории.
Формат запроса
httр://sapi.ott.st/v2.4/xml/channel_list3?gid=<group_id>&token=sessiontoken
| Параметр | Обязательный | Описание |
|---|---|---|
| gid | Да | ID категории каналов |
Формат ответа
<?xml version="1.0" encoding="utf-8"?>
<response>
<channels>
<item>
<id>[идентификатор канала]</id>
<name>[Название канала]</name>
<protected>[флаг защищенного видео 0/1, 1 - род. контроль]</protected>
<timeshift>[кол-во часов архива, 0 - без архива]</timeshift>
<favorite>[флаг наличия канала в избранном 0/1]</favorite>
<epg>
<title>[название текущей телепередачи]</title>
<description>[описание телепередачи]</description>
<start>[время начала передачи]</start>
<end>[время окончания передачи]</end>
</epg>
</item>
<item>
<id>2</id>
<name>Первый HD</name>
<protected>0</protected>
<timeshift>336</timeshift>
<favorite>1</favorite>
<epg>
<title>Наедине со всеми</title>
<description>
Взгляд на судьбы людей через призму наиболее известных, серьезных и важных событий их жизни. Очень личный разговор Юлии Меньшовой с людьми, которые всем интересны.
</description>
<start>1641595800</start>
<end>1641598500</end>
</epg>
</item>
...
</channels>
<servertime>1277807687</servertime>
</response>
[get_channel] Информация о канале
Описание метода
Возвращает информацию о канале.
Формат запроса
httр://sapi.ott.st/v2.4/xml/get_channel?сid=<channel_id>&token=sessiontoken
| Параметр | Обязательный | Описание |
|---|---|---|
| cid | Да | ID канала |
Формат ответа
<?xml version="1.0" encoding="utf-8"?>
<response>
<channel>
<id>[идентификатор канала]</id>
<name>[Название канала]</name>
<protected>[флаг защищенного видео 0/1, 1 - род. контроль]</protected>
<timeshift>[кол-во часов архива, 0 - без архива]</timeshift>
<favorite>[флаг наличия канала в избранном 0/1]</favorite>
<epg>
<title>[название текущей телепередачи]</title>
<description>[описание телепередачи]</description>
<start>[время начала передачи]</start>
<end>[время окончания передачи]</end>
</epg>
</channel>
<servertime>1277807687</servertime>
</response>
[epg] EPG для канала на день
Описание метода
Возвращает EPG для канала cid на день day
Формат запроса
http://sapi.ott.st/v2.4/xml/epg?cid=<channel_id>&day=<DDMMYY>&token=sessiontoken
| Параметр | Обязательный | Описание |
|---|---|---|
| cid | Да | ID канала |
| day | Да | День в формате DDMMYY. Например 080122 для 8 января 2022 г. |
Формат ответа
<?xml version="1.0" encoding="utf-8"?>
<response>
<epg>
<item>
<title>[название передачи]</title>
<description>[описание передачи]</description>
<start>[время начала передачи]</start>
<end>[время окончания передачи]</end>
<have_archive>[флаг наличия архива передачи 1/0]</have_archive>
</item>
<item>
<title>Вечерний Unplugged</title>
<description>
Акустический проект "Вечерний Unplugged" станет крупнейшей концертной площадкой в стране на то время, пока мы все сидим дома и попасть на живой концерт невозможно. Гарик Сукачев, Баста, Валерий Сюткин, Uma2rman, Полина Гагарина, Евгений Маргулис, Дима Билан, Пелагея, Петр Налич и другие артисты порадуют зрителей Первого в самоизоляции.
</description>
<start>1641593100</start>
<end>1641595800</end>
<have_archive>1</have_archive>
</item>
...
<servertime>1277807687</servertime>
</response>
[epg2] EPG для канала
Описание метода
Возвращает EPG для канала cid на весь доступный период. От -14 до +5 дней от текущей даты.
Формат запроса
http://sapi.ott.st/v2.4/xml/epg2?cid=<channel_id>&token=sessiontoken
| Параметр | Обязательный | Описание |
|---|---|---|
| cid | Да | ID канала |
Формат ответа
<?xml version="1.0" encoding="utf-8"?>
<response>
<epg>
<item>
<title>[название передачи]</title>
<description>[описание передачи]</description>
<start>[время начала передачи]</start>
<end>[время окончания передачи]</end>
<have_archive>[флаг наличия архива передачи 1/0]</have_archive>
</item>
<item>
<title>Вечерний Unplugged</title>
<description>
Акустический проект "Вечерний Unplugged" станет крупнейшей концертной площадкой в стране на то время, пока мы все сидим дома и попасть на живой концерт невозможно. Гарик Сукачев, Баста, Валерий Сюткин, Uma2rman, Полина Гагарина, Евгений Маргулис, Дима Билан, Пелагея, Петр Налич и другие артисты порадуют зрителей Первого в самоизоляции.
</description>
<start>1641593100</start>
<end>1641595800</end>
<have_archive>1</have_archive>
</item>
...
<servertime>1277807687</servertime>
</response>