SAPI: различия между версиями
Материал из Smotrite.TV
| Admin (обсуждение | вклад) | Admin (обсуждение | вклад)   (→Методы) | ||
| Строка 84: | Строка 84: | ||
|   </account> |   </account> | ||
|   <servertime>[время сервера]</servertime> |   <servertime>[время сервера]</servertime> | ||
| </response> | |||
| </pre> | |||
| == [channel_list] Список категорий и каналов ==  | |||
| ===Описание метода=== | |||
| Возвращает список категорий и каналов в формате "категория -> каналы". | |||
| ===Формат запроса=== | |||
| <pre>httр://sapi.ott.st/v2.4/xml/channel_list?token=sessiontoken</pre> | |||
| {| class="wikitable" | |||
| |+ Параметры запроса | |||
| |- | |||
| ! Параметр !! Обязательный !! Описание | |||
| |- | |||
| | '''show_favorites''' || Нет || 1 - Отображать категорию Избранное | |||
| |} | |||
| ===Формат ответа=== | |||
| <pre> | |||
| <?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> | </response> | ||
| </pre> | </pre> | ||
Версия 02:24, 8 января 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 канала.
Методы
[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>