API для LIVE-ресурса
Описание
В этом разделе описаны методы API для создания, удаления и изменения конфигурации ваших ресурсов.
Все ответы (включая ошибки) возвращаются в формате JSON.
Внимание!
Установлено ограничение на количество обращений к API в размере не больше 5 обращений в минуту.
Ниже приведены примеры для управления и конфигурации сервисов, связанных с услугой живых трансляций.
Конфигурация для LIVE-ресурса
RTMP/RTSP-publish
Получить все ресурсы
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: GET
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Array или JSON Object в случае ошибки
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Все LIVE-ресурсы для аккаунта или описание ошибки | JSON | Получен список ресурсов или ошибка |
403 | None | None | Запрещено |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
[ { "name": "test_resource", "settings": { "RTMP-publish": { "domain": "p0q2zwj4yih.a.trbcdn.net", "pub_protocol": "rtmp", "master_stream": "jws2w_test_resource.smil", "primary": "a.r.cdnvideo.net", "application": "livemaster", "dist_protocol": "https", "backup": "b.r.cdnvideo.net" } }, "streams": { "RANDOM01": { "stream_name": "RANDOM01_stream01", "password": "RtdHESB7aA7rdKDCuVYn5W9Zp", "resolution": "720p", "name": "stream01", "smil": { "BANDWIDTH": "5000000", "RESOLUTION": "1280x720" } }, "RANDOM02": { "stream_name": "RANDOM02_stream02", "password": "dRKLVu6v90P5PhSAMIGSIgKuh", "resolution": "1080p", "name": "stream02", "smil": { "BANDWIDTH": "10000000", "RESOLUTION": "1920x1080" } } }, "active": true, "creation_ts": 1542872090, "type": "RTMP-publish", "id": "1163546047721937079_p0q2zwj4yih", "resources": { "http": "p0q2zwj4yih" }, "description": "" } ]
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Обратите внимание
Для получения неактивных ресурсов используйте query-параметр "active" с значением "false"
Получить конкретный ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: GET
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Конкретный LIVE-ресурс для аккаунта или описание ошибки | JSON | Получен ресурс или ошибка |
403 | None | None | Запрещено |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "name": "test_resource", "settings": { "RTMP-publish": { "domain": "p0q2zwj4yih.a.trbcdn.net", "pub_protocol": "rtmp", "master_stream": "jws2w_test_resource.smil", "primary": "a.r.cdnvideo.net", "application": "livemaster", "dist_protocol": "https", "backup": "b.r.cdnvideo.net" } }, "streams": { "RANDOM01": { "stream_name": "RANDOM01_stream01", "password": "RtdHESB7aA7rdKDCuVYn5W9Zp", "resolution": "720p", "name": "stream01", "smil": { "BANDWIDTH": "5000000", "RESOLUTION": "1280x720" } }, "RANDOM02": { "stream_name": "RANDOM02_stream02", "password": "dRKLVu6v90P5PhSAMIGSIgKuh", "resolution": "1080p", "name": "stream02", "smil": { "BANDWIDTH": "10000000", "RESOLUTION": "1920x1080" } } }, "active": true, "creation_ts": 1542872090, "type": "RTMP-publish", "id": "1163546047721937079_p0q2zwj4yih", "resources": { "http": "p0q2zwj4yih" }, "description": "" }
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Обратите внимание
Для получения неактивного ресурса используйте query-параметр "active" с значением "false"
Создать ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: POST
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными создаваемого ресурса
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id, resource_id или описание ошибки | JSON | Создан, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X POST -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}, "RANDOM02": {"name": "stream02", "resolution": "1080p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103450831469", "resource_id": "1163546047721937079_p0q2zwj4yih" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}
Изменить ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с новыми данными ресурса
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103856008585" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}
Деактивировать ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | JSON | Деактивирован, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"name": "test_resource", "active": false, "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103856008586" }
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Активировать ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | JSON | Активирован, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"name": "test_resource", "active": true, "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103856008586" }
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Локальная авторизация
Создание ресурса с локальной авторизацией
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: POST
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id, resource_id или описание ошибки | JSON | Создан, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X POST -d '{"auth": {"md5": {"secret": "123", "forever": true, "anywhere": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}, "RANDOM02": {"name": "stream02", "resolution": "1080p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103450831469", "resource_id": "1163546047721937079_p0q2zwj4yih" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}
Изменение локальной авторизации ресурса
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с измененными параметрами локальной авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"auth": {"md5": {"secret": "456", "forever": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103856008585" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}
Внешняя авторизация
Создание ресурса с внешней авторизацией
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: POST
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id, resource_id или описание ошибки | JSON | Создан, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X POST -d '{"auth": {"url": "https://test.com/yourscript"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}, "RANDOM02": {"name": "stream02", "resolution": "1080p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103450831469", "resource_id": "1163546047721937079_p0q2zwj4yih" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}
Изменение внешней авторизации ресурса
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с измененными параметрами внешней авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"auth": {"url": "https://test.com/yourscript2"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103856008585" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}
Получение ссылок для публикации и раздачи
Для того, чтобы получить полные ссылки для публикации и раздачи потоков, необходимо соединить параметры live-ресурса, полученные при GET-запросе.
Ссылка для публикации потока
<pub_protocol>://<primary|backup>/<application>/<stream_name>?auth=<password>
Пример итоговой ссылки для публикации:
rtmp://a.r.cdnvideo.net/livemaster/RANDOM01_stream01?auth=MkE5MGtjbPljT52t491y6z14C
Ссылка для раздачи потока
<dist_protocol>://<domain>/<application>/<master_stream>/playlist.m3u8
Пример итоговой ссылки для раздачи:
https://p0q2zwj4yih.a.trbcdn.net/livemaster/jws2w_test_resource.smil/playlist.m3u8
Транскодирование
Вы можете заказать услугу транскодирования входного потока в несколько качеств. Это позволит избежать дополнительных затрат на оборудование или программное обеспечение.
Важно
Данная услуга оплачивается согласно тарифам, указанным в личном кабинете.
Профили транскодирования
На данный момент мы предлагаем следующие профили транскодирования:
ID профиля | Качества | Кодек для видео | Кодек для аудио | Объединение качеств в один поток |
---|---|---|---|---|
360_480_720 | 360p, 480p, 720p | h.264 | AAC/mp3 | + |
480_720_1080 | 480p, 720p, 1080p | h.264 | AAC/mp3 | + |
360_480_720_1080 | 360p, 480p, 720p, 1080p | h.264 | AAC/mp3 | + |
Заказать услугу
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: POST
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными создаваемого ресурса и выбранным профилем транскодирования
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id, resource_id или описание ошибки | JSON | Создан, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X POST -d '{"name": "test_resource", "transcode_profile": "360_480_720", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103450831469", "resource_id": "1163546047721937079_p0q2zwj4yih" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "transcode_profile should be one of ['480_720_1080', '360_480_720', '360_480_720_1080']. Not 360_480"}
Обратите внимание
Если вы заказываете услугу транскодирования, то для ресурса указывается ТОЛЬКО ОДИН входной поток.
Изменить услугу
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными ресурса и новым профилем транскодирования
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"name": "test_resource", "transcode_profile": "360_480_720_1080", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103450831471" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "there must be only one stream to be transcoded. Not 0"}
Обратите внимание
Если вы изменяете услугу транскодирования, то для ресурса указывается ТОЛЬКО ОДИН входной поток.
Отключить услугу
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными ресурса и пустым профилем транскодирования
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"name": "test_resource", "transcode_profile": "", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{ "status": "accept", "task_id": "20181122103450831472" }
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
HLS-cache
Получить все ресурсы
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: GET
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Array или JSON Object в случае ошибки
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Все LIVE-ресурсы для аккаунта или описание ошибки | JSON | Получен список ресурсов или ошибка |
403 | None | None | Запрещено |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
[ { "origin": { "https": true, "servers": { "yourdomain.com": { "backup": false, "port": 80, "weight": 1 } } }, "cdn_domain": "wtx3l7rtrl6.a.trbcdn.net", "name": "live-qxthy19jjz", "streams": { "2it9dwypm4": { "id": "/stream/playlist.m3u8" } }, "names": ["test.cname.com"], "active": true, "creation_ts": 1551853456, "type": "HLS-cache", "id": "8053158264585032642_wtx3l7rtrl6", "resources": { "http": "wtx3l7rtrl6" }, "description": "" } ]
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Обратите внимание
Для получения неактивных ресурсов используйте query-параметр "active" с значением "false"
Получить конкретный ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: GET
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Конкретный LIVE-ресурс для аккаунта или описание ошибки | JSON | Получен ресурс или ошибка |
403 | None | None | Запрещено |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/8053158264585032642_wtx3l7rtrl6
Пример успешного ответа
{ "origin": { "https": true, "servers": { "yourdomain.com": { "backup": false, "port": 80, "weight": 1 } } }, "cdn_domain": "wtx3l7rtrl6.a.trbcdn.net", "name": "live-qxthy19jjz", "streams": { "2it9dwypm4": { "id": "/stream/playlist.m3u8" } }, "names": ["test.cname.com"], "active": true, "creation_ts": 1551853456, "type": "HLS-cache", "id": "8053158264585032642_wtx3l7rtrl6", "resources": { "http": "wtx3l7rtrl6" }, "description": "" }
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Обратите внимание
Для получения неактивного ресурса используйте query-параметр "active" с значением "false"
Создать ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: POST
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными создаваемого ресурса
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id, resource_id или описание ошибки | JSON | Создан, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X POST -d '{"name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831469", "resource_id": "9282601590143242685_pqy19d9z3pm" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}
Изменить ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с новыми данными ресурса
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831470" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}
Деактивировать ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | JSON | Деактивирован, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"active": false, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831479" }
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Активировать ресурс
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | JSON | Активирован, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"active": true, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831479" }
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}
Локальная авторизация
Создание ресурса с локальной авторизацией
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: POST
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id, resource_id или описание ошибки | JSON | Создан, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X POST -d '{"auth": {"md5": {"secret": "123", "forever": true, "anywhere": true}}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831469", "resource_id": "9282601590143242685_pqy19d9z3pm" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}
Изменение локальной авторизации ресурса
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с измененными параметрами локальной авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"auth": {"md5": {"secret": "456", "forever": true}}, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831470" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}
Внешняя авторизация
Создание ресурса с внешней авторизацией
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/
- Тип запроса: POST
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id, resource_id или описание ошибки | JSON | Создан, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X POST -d '{"auth": {"url": "https://test.com/yourscript"}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831469", "resource_id": "9282601590143242685_pqy19d9z3pm" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}
Изменение внешней авторизации ресурса
URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
- Тип запроса: PATCH
- Заголовки: CDN-AUTH-TOKEN
- Тело запроса: JSON с измененными параметрами внешней авторизации
- Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | task_id или описание ошибки | None | Изменен, id задачи в общей очереди задач или ошибка |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X PATCH -d '{"auth": {"url": "https://test.com/yourscript2"}, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{ "status": "accept", "task_id": "20190305103450831470" }
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}
Получение ссылок для раздачи
Для того, чтобы получить полные ссылки раздачи потоков, необходимо соединить параметры live-ресурса, полученные при GET-запросе.
<pub_protocol>://<cdn_domain>/<stream_id>
<pub_protocol>://<names>/<stream_id>
Пример итоговых CDN-ссылок на плейлист:
https://wtx3l7rtrl6.a.trbcdn.net/stream/playlist.m3u8
https://test.cname.com/stream/playlist.m3u8