API v 2.2 & 2.3

API sovok.tv

API v 2.2 & 2.3

Сообщение Admin » 21 мар 2013, 15:09

Версия API от 20.10.2014

UDP: 23.11.2015
Добавлена функция archive_next2

Общая информация


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

httр://api.sovok.tv/v2.3/<тип запроса>/<имя функции>?param1=value&param2=value

<тип запроса> = (xml|json|jsonp|array)
xml - возврат пакета в xml формате.
json - возврат пакета в json формате.
jsonp - возврат пакета в json формате c callback функцией.
array - возврат пакета в виде сериализованного масива.

<имя функции> - имена функций и их описания представлены ниже.

Примеры:

Код: Выделить всё
http://api.sovok.tv/v2.2/xml/get_url?cid=1
http://api.sovok.tv/v2.2/json/get_url?cid=1
http://api.sovok.tv/v2.2/jsonp/get_url?cid=1&callback=myfunc
http://api.sovok.tv/v2.2/array/get_url?cid=1



Для идентификации и создании сессии было решено использовать стандартный механизм HTTP сессий с поддержкой COOKIE.
Первый вход - обязательное выполнение login. При корректном входе возвращается состояние, данные по клиенту и COOKIE которую необходимо передавать всегда при запросах. В COOKIE хранится идентификатор сессии и по ней организуется сессия. Далее, если запрос не будет содержать COOKIE, то это вызовет ошибку. Для корректного завершения сессии необходимо вызвать метод logout. Возможна передача параметров через url. Имя COOKIE при этом необходимо брать из ответа пакета sid_name.



Функции Sovok.tv API v 2.2
Реализованы следущие функции API:

Перемотка в архивах.

.
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

LOGIN

Сообщение Admin » 21 мар 2013, 15:21

/login?login=<login>&pass=<password>

Функция выполняет авторизацию пользователя в системе.
( Пример: _http://sovok.tv/v2.2/xml/login?login=user_login&pass=user_password )


Для доступа к остальным функциям в первую очередь необходимо выполнять login


Входные параметры:
  • login - логин.
  • pass - пароль

<?xml version="1.0" encoding="utf-8"?>
<response>
<sid>[идентификатор сесии]</sid>
<sid_name>[имя сессии]</sid_name>
<account>
<login>[логин]</login>
<balance>[баланс]</balance>
<services>
<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>
</services>
<message>
<success>All services is OK</success>
</message>
</account>
<servertime>1363864206</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

LOGOUT

Сообщение Admin » 18 окт 2014, 21:50

/logout

Функция выполняет завершение HTTP сессии пользователя.
( Пример: _http://sovok.tv/v2.2/xml/logout?forced=true )

Вызов функции осуществляется без параметров.

Необязательные параметры:
  • forced=true - удаляет все установленные cookie

<?xml version="1.0" encoding="utf-8"?>
<response>
<message>M_LOGOUT_OK</message>
<servertime>1413654901</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

ACCOUNT

Сообщение Admin » 18 окт 2014, 21:54

/account

Возвращает пакет аналогичный пакету функции /login
( Пример: _http://sovok.tv/v2.2/xml/account )


Вызов функции осуществляется без параметров.

<?xml version="1.0" encoding="utf-8"?>
<response>
<sid>[идентификатор сесии]</sid>
<sid_name>[имя сессии]</sid_name>
<account>
<login>[логин]</login>
<balance>[баланс]</balance>
<services>
<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>
</services>
<message>
<success>All services is OK</success>
</message>
</account>
<servertime>1363864206</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

CHANNEL_LIST

Сообщение Admin » 18 окт 2014, 22:06

/channel_list

Функция возвращает список категорий и каналов в формате "категория -> каналы".
( Пример: _http://sovok.tv/v2.2/xml/channel_list )

Вызов функции осуществляется без параметров.

<?xml version="1.0" encoding="utf-8"?>
<response>
<groups>
<item>
<id>[идентификатор группы]</id>
<name>[название группы]</name>
<color>[CSS код цвета группы]</color>
<channels>
<item>
<id>[идентификатор канала]</id>
<name>[Название канала]</name>
<is_video>[флаг потокового видео 0/1 1-видео, 0-радио]</is_video>
<protected>[флаг защищенного видео 0/1 1-защищеное]</protected>
<have_archive>[флаг наличия архива 0/1]</have_archive>
<icon>[относительный путь к файлу иконки канала]</icon>
<epg_progname>[название текущей телепередачи]</epg_progname>
<epg_description>[описание текущей телепередачи]</epg_description>
<epg_start>[дата и время начала текущей передачи]</epg_start>
<epg_end>[дата и время окончания текущей передачи]</epg_end>
</item>
<item>
<id>2</id>
<name>Россия 1</name>
<is_video>1</is_video>
<protected>0</protected>
<have_archive>1</have_archive>
<icon>/logos/2.png</icon>
<epg_progname>Премьера. Х/ф "Муж на час", 1-4 с.</epg_progname>
<epg_description>
Россия, 2014, мелодрама
Ярослав Бойко, Олеся Жураковская, Мария Куликова
Герои этой истории оказались в непривычной ситуации – они вынуждены оценивать настоящие чувства в денежном эквиваленте. Женщине срочно понадобился муж, вот только не настоящий, а, так сказать,...
</epg_description>
<epg_start>1277807400</epg_start>
<epg_end>1277808600</epg_end>
</item>
</channels>
</item>
<item>
<id>2</id>
<name>Новости</name>
<color>#ef0000</color>
<channels>
<item>
<id>2</id>
<name>Россия 1</name>
<is_video>1</is_video>
<protected>0</protected>
<have_archive>1</have_archive>
<icon>/logos/2.png</icon>
<epg_progname>Премьера. Х/ф "Муж на час", 1-4 с.</epg_progname>
<epg_description>
Россия, 2014, мелодрама
Ярослав Бойко, Олеся Жураковская, Мария Куликова
Герои этой истории оказались в непривычной ситуации – они вынуждены оценивать настоящие чувства в денежном эквиваленте. Женщине срочно понадобился муж, вот только не настоящий, а, так сказать,...
</epg_description>
<epg_start>1277807400</epg_start>
<epg_end>1277808600</epg_end>
</item>
...
</channels>
</item>
</groups>
<servertime>1277807687</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

CHANNEL_LIST2

Сообщение Admin » 18 окт 2014, 22:08

/channel_list2

Функция возвращает список категорий и каналов в формате "категории, каналы".
( Пример: _http://sovok.tv/v2.2/xml/channel_list2 )

Вызов функции осуществляется без параметров.

Необязательные параметры:
  • json_array - для формата json

<?xml version="1.0" encoding="utf-8"?>
<response>
<groups>
<item>
<id>[идентификатор группы]</id>
<name>[название группы]</name>
<color>[CSS код цвета группы]</color>
</item>
<item>
<id>2</id>
<name>Информационные</name>
<color>#E4FF70</color>
</item>
<item>
<id>3</id>
<name>Развлекательные</name>
<color>#4E99B2</color>
</item>
...
</groups>
<channels>
<item>
<id>[идентификатор канала]</id>
<name>[Название канала]</name>
<is_video>[флаг потокового видео 0/1 1-видео, 0-радио]</is_video>
<protected>[флаг защищенного видео 0/1 1-защищеное]</protected>
<have_archive>[флаг наличия архива 0/1]</have_archive>
<icon>[относительный путь к файлу иконки канала]</icon>
<groups>[список категорий через запятую]</groups>
<epg_progname>[название текущей телепередачи]</epg_progname>
<epg_description>[описание текущей телепередачи]</epg_description>
<epg_start>[дата и время начала текущей передачи]</epg_start>
<epg_end>[дата и время окончания текущей передачи]</epg_end>
</item>
<item>
<id>2</id>
<name>Россия 1</name>
<is_video>1</is_video>
<protected>0</protected>
<have_archive>1</have_archive>
<icon>/logos/2.png</icon>
<groups>1</groups>
<epg_progname>Премьера. Х/ф "Муж на час", 1-4 с.</epg_progname>
<epg_description>
Россия, 2014, мелодрама
Ярослав Бойко, Олеся Жураковская, Мария Куликова
Герои этой истории оказались в непривычной ситуации – они вынуждены оценивать настоящие чувства в денежном эквиваленте. Женщине срочно понадобился муж, вот только не настоящий, а, так сказать,...
</epg_description>
<epg_start>1277807400</epg_start>
<epg_end>1277808600</epg_end>
</item>
...
</channels>
<servertime>1277807687</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

EPG

Сообщение Admin » 18 окт 2014, 22:39

/epg?cid=<идентификатор канала>&day=<DDMMYY>

Функция возвращает EPG для канала cid на день - day
( Пример: _http://sovok.tv/v2.2/xml/epg?cid=1&day=141014)


Входные параметры:
  • cid - идентификатор канала полученный из channel_list
  • day - дата вида DDMMYY (Пример: 15 марта 2012 = 150312)

<?xml version="1.0" encoding="utf-8"?>
<response>
<epg>
<item>
<progname>[название передачи]</progname>
<description>[описание передачи]</description>
<ut_start>[дата и время начала передачи]</ut_start>
<ut_end>[дата и время конца передачи]</ut_end>
<t_start>[чч:мм начала передачи]</t_start>
</item>
<item>
<progname>Ночные новости.</progname>
<description>Описание</description>
<ut_start>1413248400</ut_start>
<ut_end>1413249300</ut_end>
<t_start>01:00</t_start>
</item>
<epg>
<servertime>1413660806</servertime>
<response>

Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

EPG3

Сообщение Admin » 18 окт 2014, 22:54

/epg3?dtime=<Дата и время старта EPG>&period=<на сколько часов вперед>

Функция возвращает программу телепередач доступных каналов с времени указанного в dtime на следующие period часов.
( Пример: _http://sovok.tv/v2.2/xml/epg3?dtime=1413248400&period=3)


Входные параметры:
  • dtime - unixtime начала EPG. По умолчанию выбирается текущий момент (по серверному времени)
  • period - на сколько часов вперед. По умолчанию 3 часа.

<?xml version="1.0" encoding="utf-8"?>
<response>
<epg3>
<item>
<id>1</id>
<name>Первый</name>
<epg>
<item>
<ut_start>1413673800</ut_start>
<progname>Премьера. Х/ф "Диана: История любви".</progname>
<description>
Великобритания, 2013, драма / биографический / мелодрама
Наоми Уоттс, Нэйвин Эндрюс, Дуглас Ходж, Джеральдин Джеймс

Через несколько лет после расставания с принцем Чарльзом леди Диана почти забывает о личной жизни и посвящает себя общественной деятельности. Её график заполнен до предела, встречи и мероприятия идут...
</description>
<t_start>23:10</t_start>
</item>
<item>
<ut_start>1413681300</ut_start>
<progname>Премьера. Х/ф "Пена дней".</progname>
<description>
Франция, 2013, драма / фантазия / мелодрама
Ромен Дюри, Одри Тоту, Гад Элмалех, Омар Си, Аисса Маига

Экранизация одноименного романа Бориса Виана. Колен и Хлоя молоды, богаты и красивы, их любовь прекрасна. Но после свадьбы идиллия заканчивается - Хлоя заболевает. Болезнь убивает ее легкие, Колен же...
</description>
<t_start>01:15</t_start>
</item>
</epg>
</item>
</epg3>
<servertime>1413660806</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

EPG_NEXT

Сообщение Admin » 18 окт 2014, 23:23

/epg_next?cid=<ИД канала>

Функция возвращает EPG на текущую и на 3 последующих телепередачи канала cid
( Пример: _http://sovok.tv/v2.2/xml/epg_next?cid=1)


Входные параметры:
  • cid - идентификатор канала полученный из channel_list

<?xml version="1.0" encoding="utf-8"?>
<response>
<epg>
<item>
<ts>1413673800</ts>
<progname>Премьера. Х/ф "Диана: История любви".</progname>
<description>
Великобритания, 2013, драма / биографический / мелодрама
Наоми Уоттс, Нэйвин Эндрюс, Дуглас Ходж, Джеральдин Джеймс

Через несколько лет после расставания с принцем Чарльзом леди Диана почти забывает о личной жизни и посвящает себя общественной деятельности. Её график заполнен до предела, встречи и мероприятия идут...
</description>
</item>
</epg>
<servertime>1413660806</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

EPG_NEXT2

Сообщение Admin » 18 окт 2014, 23:29

/epg_next2?cid=<ИД каналов>

Функция возвращает EPG на текущую телепередачу для каналов cids
( Пример: _http://sovok.tv/v2.2/xml/epg_next2?cids=1,2)


Входные параметры:
  • cids - идентификаторы каналов через запятую полученные из channel_list

<?xml version="1.0" encoding="utf-8"?>
<response>
<epg>
<item>
<chid>1</chid>
<progname>Премьера. Х/ф "Диана: История любви".</progname>
<description>
Великобритания, 2013, драма / биографический / мелодрама
Наоми Уоттс, Нэйвин Эндрюс, Дуглас Ходж, Джеральдин Джеймс

Через несколько лет после расставания с принцем Чарльзом леди Диана почти забывает о личной жизни и посвящает себя общественной деятельности. Её график заполнен до предела, встречи и мероприятия идут...
</description>
<start>1413673800</start>
<end>1413681300</end>
</item>
<item>
<chid>2</chid>
<progname>Премьера. Х/ф "Муж на час", 1-4 с.</progname>
<description>
Россия, 2014, мелодрама
Ярослав Бойко, Олеся Жураковская, Мария Куликова

Герои этой истории оказались в непривычной ситуации – они вынуждены оценивать настоящие чувства в денежном эквиваленте. Женщине срочно понадобился муж, вот только не настоящий, а, так сказать,...
</description>
<start>1413665100</start>
<end>1413678600</end>
</item>
</epg>
<servertime>1413660806</servertime>
</response>
Admin
Администратор
 
Сообщения: 3144
Зарегистрирован: 15 мар 2012, 12:04

След.

Вернуться в REST API

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1