Сервис Upload niche content API используется для автоматической загрузки нишевого контента.
Формат вывода: JSON.
Точка входа — адрес http://api.peers.tv/1/niche-content/
. Где:
1
— мажорная версия данного документа,Для обращения за информацией клиент должен быть авторизован, т.е. должен передаваться в запрос валидный API_KEY следующим способом: HTTP заголовок x-api-key;
Методы Upload niche content API: list, update-status
GET /list.json?p=1
Ответ содержит список фильмов, которые необходимо закодировать:
Возвращаемый ответ:
{
"total": 1,
"page": 1,
"content_list": [
{
"id": 477067876,
"encoding_status_id": 1,
"source_url": "magnet:?xt=urn:tree:tiger:EJRK5ILDCC3GCO7HSP675IZWKWLK6CTK2PY5DSQ&dn=sorted&xl=1534730688"
}
]
}
где
- total
— Количество элементов, ожидающих кодировки
- page
— Количество страниц
- id
— Идентификатор контента
- source_url
— Ссылка для кодирования контента
- encoding_status_id
— Статус кодировки контента
Параметры:
параметр | тип данных | значение |
---|---|---|
p |
число | номер страницы для пагинации. Одна страница содержит 20 элементов |
Замечания:
- encoding_status_id
— возможные значения:
- 1
— Контент ожидает кодировки
Если контент взят в работу - у него меняется статус и он пропадает из данного списка.
POST /updateStatus.json?status=successfully&id=445745287&link=https://hls.peers.tv/inetra-test/top_gun_maverick_2022/top_gun_maverick_2022/playlist.m3u8
**Важно: uri-кодирование не требуется.
Параметры:
параметр | тип данных | значение |
---|---|---|
status |
строка | Статус кодировки(обязательный параметр) |
id |
строка | идентификатор контента (обязательный параметр) |
link |
строка | Ссылка на закодированный файл(не обязательный параметр. Передается только если статус кодировки successfully ) |
Примеры допустимых комбинаций параметров: 1. status=inprogresing&id=445745287 2. status=totranscoder&id=445745287 3. status=bytranscoder&id=445745287 4. status=failure&id=445745287 5. status=successfully&id=445745287&link=https://hls.peers.tv/inetra-test/top_gun_maverick_2022/top_gun_maverick_2022/playlist.m3u8
Важно: Все остальные комбинации параметров являются недопустимыми (!) Возможные переходы по статусам: 1. awaiting -> failure, awaiting->totranscoder 2. totranscoder-> failure, totranscoder-> bytranscoder 3. bytranscoder -> failure, bytranscoder-> inprogresing 4. inprogresing -> failure, successfully 5. failure -> awaiting Важно: Все остальные варианты являются недопустимыми
Возвращаемый результат — всегда пустой ответ с HTTP–кодом ответа 2xx.
Все остальное (таймаут соединения, коды с ответом 4xx и 5xx) означает, что сервер не принял данные и необходима их повторная отправка. При этом, как описано в RFC2616, коды 4xx означает неверно сформированный запрос на стороне клиента и клиенту рекомендуется изменить запрос.
В случае временной недоступности сервера, ошибок выполнения запроса, необходимо будет повторно выполнять запрос пока сервер не примет данные. Рекомендуется экспоненциально увеличивать интервал между попытками повторного выполнения запроса.
Замечания:
status
— возможные статусы кодировки
inprogresing
— Контент взят в работуtotranscoder
— Контент отдан транскодеруbytranscoder
— Контент взят транскодеромfailure
— Кодировка завершена с ошибкойsuccessfully
— Кодировка завершена успешно