SAPI

Материал из Vidok.TV

Описание

В данной статье описывается возможное взаимодействие между клиентом и сервером API.

Договоренности

  • Все временные метки только в формате Unixtime
  • Boolean значение имеет следующее обозначение: положительное - 1, отрицательное - 0»
  • Кодировка UTF8.

Все запросы к API формируются по специально сформированному URL и имеют следующий вид:

httр://sapi.ott.st/v<api_version>/<type>/<method>?param1=value&param2=value&token=<token>
Обозначения
<api_version> Версия API. Текущая версия 2.4
<type> Формат ответа API. Может принимать следующие параметры:
  • json - ответ в формате JSON
  • xml - ответ в формате XML
  • array - сериализованный массив
  • jsonp - Возврат пакета в формате json c callback функцией.
<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>


[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>1277807687</servertime>
</response>