HLS-cache
Получить все ресурсы
URL: https://api.cdn.sber.cloud/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: $TOKEN " https://api.cdn.sber.cloud/cdn/api/v1/testaccount/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.cdn.sber.cloud/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: $TOKEN " https://api.cdn.sber.cloud/cdn/api/v1/testaccount/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.cdn.sber.cloud/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: $TOKEN " \-X POST \-d '{"name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "read_timeout": "10s", "connect_timeout": "10s", "send_timeout": "10s", "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}' \https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{"status" : "accept" ,"task_id" : "20190305103450831469" ,"resource_id" : "9282601590143242685_pqy19d9z3pm"}
Пример неуспешного ответа
{ "status" : "error" , "message" : "Json invalid" , "description" : "required key name isn't provided" }
Изменить ресурс
Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.
URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.
Тип запроса: PUT
Заголовки: 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: $TOKEN " \-X PUT \-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.cdn.sber.cloud/cdn/api/v1/testaccount/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"}
Деактивировать ресурс
Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.
URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
Тип запроса: PUT
Заголовки: 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: $TOKEN " \-X PUT \-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.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{"status" : "accept" ,"task_id" : "20190305103450831479"}
Пример неуспешного ответа
{"status" : "error" ,"message" : "Not allowed method" ,"description" : "Request is forbidden"}
Активировать ресурс
Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.
URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live<resource_id>
Тип запроса: PUT
Заголовки: 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: $TOKEN " \-X PUT \-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.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{"status" : "accept" ,"task_id" : "20190305103450831479"}
Пример неуспешного ответа
{"status" : "error" ,"message" : "Not allowed method" ,"description" : "Request is forbidden"}
Локальная авторизация
Локальная авторизация может быть настроена только для какого-либо (location). Включить ее для всего HLS-cache ресурса невозможно.
Если локальная авторизация включается для locations, затрагивающих плейлисты (m3u8, mpd), то для корректной работы необходимо отключить кеширование для этих locations.
Создание ресурса с локальной авторизацией
URL: https://api.cdn.sber.cloud/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: $TOKEN " \-X POST \-d '{"locations": {"~* \\.m3u8$": {"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.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{"status" : "accept" ,"task_id" : "20190305103450831469" ,"resource_id" : "9282601590143242685_pqy19d9z3pm"}
Пример неуспешного ответа
{"status" : "error" ,"message" : "Json invalid" ,"description" : "required key name isn't provided"}
Изменение локальной авторизации ресурса
Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.
URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
Тип запроса: PUT
Заголовки: 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: $TOKEN " \-X PUT \-d '{"locations": {"~* \\.m3u8$": {"auth": {"md5": {"secret": "234", "forever": true, "anywhere": true}}, "cache": {"valid": {"2xx": "1s", "3xx": "1s"}}}, "/": {"cache": {"valid": {"2xx": "300s", "3xx": "1s", "4xx": "1s", "5xx": "1s"}}}}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' \https://api.cdn.sber.cloud/cdn/api/v1/testaccount/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"}
Внешняя авторизация
Внешняя авторизация может быть настроена только для какого-либо location. Включить ее для всего HLS-cache ресурса невозможно.
Создание ресурса с внешней авторизацией
URL: https://api.cdn.sber.cloud/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: $TOKEN " \-X POST \-d '{"locations": {"~* \\.m3u8$": {"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}}}}' \https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{"status" : "accept" ,"task_id" : "20190305103450831469" ,"resource_id" : "9282601590143242685_pqy19d9z3pm"}
Пример неуспешного ответа
{"status" : "error" ,"message" : "Json invalid" ,"description" : "required key name isn't provided"}
Изменение внешней авторизации ресурса
Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.
URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
Тип запроса: PUT
Заголовки: 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: $TOKEN " \-X PUT \-d '{"locations": {"~* \\.m3u8$": {"auth": {"url": "https://test.com/yourscript_new"}, "cache": {"valid": {"2xx": "1s", "3xx": "1s"}}}, "/": {"cache": {"valid": {"2xx": "300s", "3xx": "1s", "4xx": "1s", "5xx": "1s"}}}}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' \https://api.cdn.sber.cloud/cdn/api/v1/testaccount/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"}
Ограничения раздачи
Создание ресурса с ограничением раздачи по странам, IP адресам, referer или User-Agent
URL: https://api.cdn.sber.cloud/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: $TOKEN " \-X POST \-d '{"name": "test_resource", "type": "HLS-cache", "streams": {"someid1": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"], "limitations": {"geo": [{"default_action": "allow", "exclude": [{"country": "RU", "region": "BEL", "action": "deny"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}, {"default_action": "allow", "exclude": [{"country": "RU", "region": "CR", "action": "deny"}, {"country": "RU", "region": null, "action": "deny"}], "times": [{"start": "2019-07-20T14:19:00Z", "end": null}]}], "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}], "referer": [{"default_action": "deny", "exclude": [{"referer":"*.ru"}], "times": [{"start": null, "end": "2019-07-20T14:18:00Z"}]}], "useragent": [{"default_action": "deny", "exclude": [{"useragent": "browser_name"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}]}}' \https://api.cdn.sber.cloud/cdn/api/v1/<account_name>/resource/live/
Пример успешного ответа
{"status" : "accept" ,"task_id" : "20180402162358692413" ,"resource_id" : "1163546047721937079_p0q2zwj4yih"}
Пример неуспешного ответа
{"status" : "error" ,"message" : "json invalid" ,"description" : "limitations : Invalid time interval: start:2021-05-11T19:12:00Z, end:2021-05-09T22:12:00Z"}
Изменение ограничений раздачи ресурса
Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.
URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>
Тип запроса: PUT
Заголовки: 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: $TOKEN " \-X PUT \-d '{"name": "test_resource", "type": "HLS-cache", "streams": {"someid1": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "limitations": {"geo": [{"default_action": "allow", "exclude": [{"country": "RU", "region": "BEL", "action": "deny"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}, {"default_action": "allow", "exclude": [{"country": "RU", "region": "CR", "action": "deny"}, {"country": "RU", "region": null, "action": "deny"}], "times": [{"start": "2019-07-20T14:19:00Z", "end": null}]}], "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}], "referer": [{"default_action": "deny", "exclude": [{"referer":"*.ru"}], "times": [{"start": null, "end": "2019-07-20T14:18:00Z"}]}], "useragent": [{"default_action": "deny", "exclude": [{"useragent": "browser_name"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}]}}' \https://api.cdn.sber.cloud/cdn/api/v1/<account_name>/resource/live/<resource_id>
Пример успешного ответа
{ "status" : "accept" , "task_id" : "20180402162358692413" }
Пример неуспешного ответа
{ "status" : "error" , "message" : "Not allowed method" , "description" : "Request is forbidden" }
Получение ссылок для раздачи
Для того, чтобы получить полные ссылки раздачи потоков, необходимо соединить параметры 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
- Получить все ресурсы
- Получить конкретный ресурс
- Создать ресурс
- Изменить ресурс
- Деактивировать ресурс
- Активировать ресурс
- Локальная авторизация
- Внешняя авторизация
- Ограничения раздачи