- Sat

advertisement
Версия документа 1.0
Описание API сервиса Sat-Control
Описание для разработчиков приложений
1
Оглавление
Общие положения ............................................................................................. 3
Принцип работы ................................................................................................. 3
Использование API............................................................................................ 3
Функции API ........................................................................................................ 4
Функция «q=token» ......................................................................................... 4
Функция «q=category» .................................................................................... 4
Функция «q= category_user» ......................................................................... 5
Функция «q=ch»............................................................................................... 6
Функция «q=guide» ......................................................................................... 8
Функция «add=category» ............................................................................... 9
Функция «add=ch» ........................................................................................ 10
Функция «del=ch».......................................................................................... 10
Функция «del=category» ............................................................................... 11
2
Общие положения
Сервис
Sat-Control
создан
для
повышения
качества
и
комфорта
использования интерфейса управления спутниковым приемником в домашних
кинотеатрах и умных домах.
Программный интерфейс (API), основан на популярном веб-протоколе
HTTP (REST). Настоящее руководство описывает принципы и методы работы с
API и содержит необходимый материал для создания приложений, работающих с
сервисом Sat-Control.
Принцип работы
Общий алгоритм приложения можно представить следующим образом:
1. Получение идентификатора сессии (token).
2. Получение списка каналов, групп каналов, текущего программы на каждый
канал, номеров каналов для указанного спутникового приемника.
3. загрузка программы на указанную дату для выбранного канала.
Использование API
Работа с API подразумевает работу с сетью и не накладывает на
приложение клиента никаких ограничений по выбору средств реализации.
Другими словами - программная часть клиента может быть реализована на любом
языке программирования, который может использовать библиотеки работы с
сетью и протокол HTTP. Поскольку тип ответа в формате XML, рекомендуется
использовать готовые библиотеки для работы с этим форматом данных. Также
рекомендуется
использовать
автономное
хранилище
для
хранения
промежуточных данных (token, всевозможные списки и т.п.).
Все запросы к API отправляются по протоколу HTTP, формируются по
специально сформированному URL и имеют следующий вид:
httр://sat-сontrol.ru/api/?
<func>=<имя_функции>&token=<token>&hwid=<hwid>&param1=value1
<func> - функция (q – получение данных, add – добавление на сервер, del –
удаление с сервера)
Примеры вызовов:
httр://sat-control.ru/api/xml/?q=ch&token=<token>&res=humax &provider=ntv
3
В случае ошибочного запроса API возвращает ответ следующего содержания:
<?xml version="1.0" encoding="UTF-8"?>
< message >
<text>
Сообщение об ошибке
</text>
</ message >
Функции API
Функция «q=token»
Описание функции: получение идентификатора сессии
Вызов:
q=token?hwid=<hwid>
Входные параметры для функции представлены в таблице:
Параметр
Описание
hwid
ID устройства зарегистрированного на
сайте sat-control.ru
Пример ответа:
<gettoken>
<token>c4197f2dfa45e156de3e0204bd5c3b02</token>
<update>1800</update>
<end></end>
</gettoken>
Параметр
token
update
Описание
Идентификатор сессии
Время действия токена в секундах, через указанное время
токен нужно запросить повторно.
Функция «q=category»
Описание функции: получение списка категорий.
Вызов:
q=category?token=<token>&hwid=<hwid> &provieder=ntv
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
4
hwid
ID устройства.
provider
Провайдер из списка доступных
Пример ответа:
<allcategory >
<total>11</total>
<category>
<name>Любимые</name>
<add>user</add>
</category>
<category>
<name>HD</name>
<add>sys</add>
</category>
<category>
<name>Общие</name>
<add>sys</add>
</category>
<category>
<name>Спорт и Отдых</name>
<add>sys</add>
</category>
<category>
<name>Кино и Сериалы</name>
<add>sys</add>
</category>
<end></end>
</allcategory >
Параметр
total
add
name
Описание
Количество категорий
user – добавлена пользователем, sys - добавлена сервером
Название категории
Функция «q= category_user»
Описание функции: получение списка категорий созданных пользователем
Вызов:
q=category_user?token=<token>&hwid=<hwid
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
hwid
ID устройства.
5
Пример ответа:
<allcategoryuser>
<total>2</total>
<category>
<name>Любимые</name>
<add>user</add>
</category>
<category>
<name>Новый список</name>
<add>user</add>
</category>
<end></end>
</allcategoryuser>
Параметр
total
add
name
Описание
Количество категорий
user – добавлена пользователем, sys - добавлена сервером
Название категории
Функция «q=ch»
Описание функции: получение списка каналов
Вызов:
q=ch&ch_mode=ch&category=Общие&token=<token>&hwid=<hwid>&resiver=humax&
provieder=ntv
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
hwid
ID устройства.
resiver
Модель приемника для которого будут
получены номера каналов
provider
Провайдер из списка доступных
ch_mode
Режим полученных данный (ch –
список каналов, guide – список каналов
с текущей программой)
category
Категория каналов (напр. Общие)
6
Пример ответа для запроса с параметром ch_mode=ch:
<allch>
<activecategory >HD</activecategory >
<total>1</total>
<channel>
<id>1</id>
<name>Первый HD</name>
<category>HD</category>
<number>101</number>
<image>
http://sat-control.ru/image/ntv/1/e70c33df7b3b360/1357d449a8/
</image>
<add>sys</add>
</channel>
<end></end>
</allch>
Параметр
activecategory
total
id
name
category
number
image
add
Описание
Категория для которой получены каналы
Количество каналов
Идентификатор канала для работы с ним (добавление в
избранное, получение программы и т.д.)
Название канала
Категория к которой относится канал
Номер канала на спутниковом приемнике
Динамическая ссылка на логотип канала
user – добавлен пользователем, sys - добавлен сервером
Пример ответа для запроса с параметром ch_mode=guide:
<allch>
<activecategory>Спорт и Отдых</activecategory>
<total>1</total>
<channel>
<id>127</id>
<name>Матч</name>
<category>Спорт и Отдых</category>
<number>3</number>
<image>http://sat-control.ru/image/ntv/127/333/11f5818/</image>
<add>sys</add>
<guide>
<time_prev>00:30</time_prev>
<prog_prev>ДАКАР-2016</prog_prev>
<time_cur>01:00</time_cur>
<prog_cur>ВЫШИБАЛА (16+) - фильм</prog_cur>
<value>83</value>
<time_next>02:50</time_next>
<prog_next>ХОККЕЙ- Чемпионат </prog_next>
</guide>
7
</channel
<end></end>
</allch>
Параметр
activecategory
total
id
name
category
number
image
add
guide
time_prev
prog_prev
time_cur
prog_cur
value
time_next
prog_next
Описание
Категория для которой получены каналы
Количество каналов
Идентификатор канала для работы с ним (добавление в
избранное, получение программы и т.д.)
Название канала
Категория к которой относится канал
Номер канала на спутниковом приемнике
Динамическая ссылка на логотип канала
user – добавлен пользователем, sys - добавлен сервером
Краткая программа передач
Время начала прошедшей программы
Название прошедшей передачи
Время начала передачи которая идет сейчас
Название передачи которая идет сейчас
Прогресс текущей передачи в процентах (от 0 до 100)
Время начала следующей передачи
Название следующей передачи
Функция «q=guide»
Описание функции: получение программы передач
Вызов:
q=guide&token=<token>&hwid=<hwid >&ch_id=<id>&provider=<provider
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
hwid
ID устройства.
ch_id
Id канала полученный при получении
списка каналов
provider
Провайдер из списка доступных
Необязательные параметры
Описание
date_shift
Смещение даты относительно текущей
даты, значение от -7 до 7.
date
Дата на которую нужно получить
программу
8
Пример ответа:
<guide>
<date>06.01.2016</date>
<ch>
<name>Матч</name>
<image>
http://sat-control.ru/image/ntv/127/540d766c16/14a091f5818/
</image>
</ch>
<prog>
<time>16:55</time>
<name>
ДЕТАЛИ СПОРТА (16+)
</name>
</prog>
<prog>
<time>17:10</time>
<name>
ХОККЕЙ. КХЛ- ЦСКА - ЛОКОМОТИВ
</name>
</prog>
<total>2</total>
<end></end>
</guide>
Параметр
date
ch name
ch image
prog time
prog name
total
Описание
Дата на которую получена программа
Название канала для которого получена программа
Ссылка на логотип канала для которого получена программа
Время начала передачи
Название передачи
Количество передач в списке
Функция «add=category»
Описание функции: добавление пользовательской категории
Вызов:
add=category?name=<название>&private=no&token=<token>&hwid=<hwid>
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
hwid
ID устройства.
name
Название категории
private
yes – категория будет доступна только
9
на том устройстве на котором она
добавлена
no – категория будет доступна всем
устройствам входящим в одну группу
Пример ответа:
<message>
<text>Новый список каналов добавлен.</text>
<end></end>
</message>
Функция «add=ch»
Описание функции: добавление канала в пользовательскую категорию
Вызов:
add=ch?ch_id=<ch_id>&category=Любимые&token=<token>&hwid=<hwid>
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
hwid
ID устройства.
ch_id
Id канала полученный при получении
списка каналов
category
Название пользовательской категории
в которую нужно добавить канал.
Категория должна быть
предварительно создана.
Пример ответа:
<message>
<text>Канал добавлен в список.</text>
<end></end>
</message>
Функция «del=ch»
Описание функции: удаление канала из пользовательской категории
Вызов:
10
del=ch?ch_id=<ch_id>&category=Любимые&token=<token>&hwid=<hwid>
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
hwid
ID устройства.
ch_id
Id канала полученный при получении
списка каналов
category
Название пользовательской категории
в которую нужно добавить канал.
Категория должна быть
предварительно создана.
Пример ответа:
<message>
<text>Канал удален из списка.</text>
<end></end>
</message>
Функция «del=category»
Описание функции: добавление пользовательской категории
Вызов:
del=category?name=<название>&private=no&token=<token>&hwid=<hwid>
Входные параметры для функции представлены в таблице:
Параметр
Описание
token
Полученный token
hwid
ID устройства.
name
Название категории которую нужно
удалить
Пример ответа:
<message>
<text>Список каналов удален.</text>
<end></end>
</message>
11
Download