SAPI: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 602: | Строка 602: | ||
<quality>1</quality> | <quality>1</quality> | ||
<timezone>Europe/Berlin</timezone> | <timezone>Europe/Berlin</timezone> | ||
<audio_track>eng</audio_track> | |||
</current> | </current> | ||
<lists> | <lists> |
Версия 17:54, 3 апреля 2022
Описание
В данной статье описывается возможное взаимодействие между клиентом и сервером 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 канала.
Флаги стран
Получить флаг страны можно по следующим URL:
http://ott.st/flags/<country_code>.svg - Формат SVG http://ott.st/flags/21_15/<country_code>.png - Формат PNG, размер 21x15 http://ott.st/flags/42_30/<country_code>.png - Формат PNG, размер 42x30 http://ott.st/flags/63_45/<country_code>.png - Формат PNG, размер 63x45
Где <country_code> - двухбуквенный код страны в нижнем регистре.
Методы
[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>[время сервера]</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>[время сервера]</servertime> </response>
[channel_list3] Список каналов в категории
Описание метода
Возвращает список каналов в категории gid.
Формат запроса
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>[время сервера]</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>[время сервера]</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>[время сервера]</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>[время сервера]</servertime> </response>
[epg4] EPG для канала на 24 часа
Описание метода
Возвращает EPG для канала cid на 24 часа от указанного времени time.
Формат запроса
http://sapi.ott.st/v2.4/xml/epg4?cid=<channel_id>&time=<start_time>&token=sessiontoken
Параметр | Обязательный | Описание |
---|---|---|
cid | Да | ID канала |
time | Нет | Время начала программы передач в формате unixtime. Если параметр не указан, берется текущее время. |
Формат ответа
<?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>[время сервера]</servertime> </response>
[epg5] EPG для канала на несколько передач
Описание метода
Возвращает EPG для канала cid на несколько передач начиная с текущей.
Формат запроса
http://sapi.ott.st/v2.4/xml/epg5?cid=<channel_id>&num=<number>&token=sessiontoken
Параметр | Обязательный | Описание |
---|---|---|
cid | Да | ID канала |
number | Нет | Число, количество выводимых программ начиная с текущей. По умолчанию 10. |
Формат ответа
<?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>[время сервера]</servertime> </response>
[get_url] Получение URL для прямой трансляции или записи
Описание метода
Возвращает URL для канала cid на прямую трансляцию (live) или архивную запись (timeshift), есть указан параметр time.
Формат запроса
http://sapi.ott.st/v2.4/xml/get_url?cid=<channel_id>&time=<start_time>&aslive&token=sessiontoken
Параметр | Обязательный | Описание |
---|---|---|
cid | Да | ID канала |
time | Нет | Если параметр указан, будет возвращен URL для архивной записи с временем начала записи time. Так же используется для перемотки. |
aslive | Нет | Не принимает никакого значения. Если параметр указан, архивная запись будет идти не прерываясь, бесшовно, как эфир. Иначе URL генерируется для одной программы передач по EPG. |
code | Нет | 4 цифры - код родительского контроля. Если канал защищен, а код не передан, либо передан неверный код, то в тэге <url> возвращается "protected" вместо ссылки на поток. |
Формат ответа
<?xml version="1.0" encoding="utf-8"?> <response> <url>[URL потока]</url> <servertime>[время сервера]</servertime> </response>
[favorites] Список избранного
Описание метода
Возвращает список ID избранных каналов.
Формат запроса
http://sapi.ott.st/v2.4/xml/favorites?token=sessiontoken
Формат ответа
<?xml version="1.0" encoding="utf-8"?> <response> <favorites> <item>2</item> <item>164</item> ... </favorites> <servertime>[время сервера]</servertime> </response>
[favorites_set] Работа со списком избранного
Описание метода
Добавляет или удаляет канал cid из списка избранного
Формат запроса
http://sapi.ott.st/v2.4/xml/favorites_set?cid=<channel_id>token=sessiontoken
Параметр | Обязательный | Описание |
---|---|---|
cid | Да | ID канала |
pos | Нет | Позиция канала в списке избранного. Отсчет начинается от 1. Если параметр не указан или равен 0, то cid удаляется из списка избранного клиента. Может принимать следующие значения:
|
Формат ответа
<?xml version="1.0" encoding="utf-8"?> <response> <favorites> <channel_id>[id канала]</channel_id> <set>[1/0, 1-добавлен, 0-удален]</set> </favorites> <servertime>[время сервера]</servertime> </response>
[settings] Текущие настройки
Описание метода
Возвращает текущие настройки и список возможных значений
Формат запроса
http://sapi.ott.st/v2.4/xml/settings?sessiontoken
Формат ответа
<?xml version="1.0" encoding="utf-8"?> <response> <settings> <current> <server_id>1</server_id> <server_name>Server 1</server_name> <quality>1</quality> <timezone>Europe/Berlin</timezone> <audio_track>eng</audio_track> </current> <lists> <servers> <item> <id>1</id> <name>Server 1</name> </item> <item> <id>2</id> <name>Server 2</name> </item> ... </servers> <quality> <item> <id>1</id> <name>Original</name> </item> <item> <id>2</id> <name>Standart</name> </item> </quality> <timezones> <item>Pacific/Midway</item> <item>Pacific/Niue</item> ... </timezones> <audio_tracks> <item> <id>rus</id> <name>Русский</name> <flag>ru</flag> </item> <item> <id>[audio_track_code]</id> <name>[lang_name]</name> <flag>[country_code]</flag> </item> ... <audio_tracks> </lists> </settings> <servertime>[время сервера]</servertime> </response>
[settings_set] Изменение настроек
Описание метода
Устанавливает текущие настройки и возвращает список успешно измененных значений
Формат запроса
http://sapi.ott.st/v2.4/xml/settings_set?server=<server_id>&timezone=<timezone>&token=sessiontoken
Параметр | Обязательный | Описание |
---|---|---|
server | Нет | ID сервера из списка возможных значений в settings |
timezone | Нет | Часовой пояс из списка возможных значений в settings |
quality | Нет | Качество вещания. 1 - original, 2 - standart |
old_code и new_code | Нет | Используются в паре для смены PIN-кода. old_code - текущий PIN-код. new_code - новый PIN-код состоящий их 4х цифр. |
audio_track | Нет | Код приоритетной аудиодорожки. Принимает любое значение id из списка audio_tracks. Предназначено для хранения значения приоритетной языковой дорожки на сервере. Не переключает аудиодорожку в стриме. |
Формат ответа
<?xml version="1.0" encoding="utf-8"?> <response> <settings> <item> <name>timezone</name> <value>Pacific/Midway</value> </item> <item> <name>server</name> <value>1</value> </item> </settings> <servertime>[время сервера]</servertime> </response>
[group_list] Список категорий
Описание метода
Возвращает список доступных ТВ категорий
Формат запроса
http://sapi.ott.st/v2.4/xml/group_list?token=sessiontoken
Формат ответа
<?xml version="1.0" encoding="utf-8"?> <response> <groups> <item> <id>100</id> <title>Favorites</title> </item> <item> <id>1</id> <title>Main</title> </item> ... </groups> <servertime>[время сервера]</servertime> </response>
[server_list] Список серверов
Описание метода
Возвращает список доступных серверов вещания
Формат запроса
http://sapi.ott.st/v2.4/xml/server_list?token=sessiontoken
Формат ответа
<?xml version="1.0" encoding="utf-8"?> <response> <servers> <item> <id>1</id> <name>Server 1</name> </item> <item> <id>2</id> <name>Server 2</name> </item> <servertime>[время сервера]</servertime> </response>