API для Restream-ресурса
В этом разделе описаны методы API для создания, удаления и изменения конфигурации ваших ресурсов. Все ответы (включая ошибки) возвращаются в формате JSON.
Ниже приведены примеры для управления и конфигурации сервисов, связанных с услугой рестриминга.
На этой странице
Получить все ресурсы
URL: https://api.cdn.sber.cloud/app/restream/v2/<your_account_name>/resources
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Все Restream-ресурсы для аккаунта или описание ошибки | JSON | Получен список ресурсов или ошибка |
403 | None | None | Запрещено |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN "https://api.cdn.sber.cloud/app/restream/v2/aloha/resources
Пример успешного ответа
{"account" : "aloha" ,"modification_ts" : 1572586121 ,"data" : {"resources" : [{"resource_id" : "ewq-123-ewq" ,"name" : "asdfasfewefse" ,"type" : "short" ,"active" : true ,"creation_ts" : 1572586121 ,"modification_ts" : 1572586121 ,"restreams" : [{"schedule" : [{"start" : "2019-10-30T13:30:59Z" ,"stop" : "2019-10-30T13:31:00Z"},{"start" : "2019-10-30T13:40:59Z" ,"stop" : "2019-10-30T13:41:00Z"}],"source" : "rtmp://a.r.sber.cloud/livemaster/aaaaa_teststream1" ,"transcoded" : false ,"transcode_quality" : "" ,"target_type" : "customRTMP" ,"target_url" : "rtmp://a.rtmp.com/live2" ,"target_key" : "key1" ,"login" : "" ,"password" : "" ,"backup" : {"target_url" : "rtmp://b.com/live2?q=1" ,"login" : "" ,"password" : ""}},{"schedule" : [],"source" : "rtmp://a.r.sber.cloud/livemaster/aaaaa_teststream1_tcode360p" ,"transcoded" : true ,"transcode_quality" : "360p" ,"target_type" : "customRTMP" ,"target_url" : "rtmp://a.rtmp.com/live2" ,"target_key" : "key1_360" ,"login" : "" ,"password" : "" ,"backup" : {}}]}]}}
Пример неуспешного ответа
{"success" : "False" ,"code" : "400" ,"message" : "Client not found"}
Получить конкретный ресурс
URL: https://api.cdn.sber.cloud/app/restream/v2/<your_account_name>/resources/<resource_id>
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Restream-ресурс для аккаунта или описание ошибки | JSON | Получен ресурс или ошибка |
403 | None | None | Запрещено |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN "https://api.cdn.sber.cloud/app/restream/v2/aloha/resources/ewq-123-ewq
Пример успешного ответа
{"account" : "aloha" ,"resource_id" : "ewq-123-ewq" ,"modification_ts" : 1583852573 ,"data" : {"active" : true ,"type" : "short" ,"name" : "asdfasfewefse" ,"restreams" : [{"schedule" : [{"start" : "2019-10-30T13:30:59Z" ,"stop" : "2019-10-30T13:31:00Z"},{"start" : "2019-10-30T13:40:59Z" ,"stop" : "2019-10-30T13:41:00Z"}],"source" : "rtmp://a.r.sber.cloud/livemaster/aaaaa_teststream1" ,"transcoded" : false ,"transcode_quality" : "" ,"target_type" : "customRTMP" ,"target_url" : "rtmp://a.rtmp.com/live2" ,"target_key" : "key1" ,"login" : "" ,"password" : "" ,"backup" : {"target_url" : "rtmp://b.com/live2?q=1" ,"login" : "" ,"password" : ""}},{"schedule" : [],"source" : "rtmp://a.r.sber.cloud/livemaster/aaaaa_teststream1_tcode360p" ,"transcoded" : true ,"transcode_quality" : "360p" ,"target_type" : "customRTMP" ,"target_url" : "rtmp://a.rtmp.com/live2" ,"target_key" : "key1_360" ,"login" : "" ,"password" : "" ,"backup" : {}}],"resource_id" : "ewq-123-ewq" ,"creation_ts" : 1583852573 ,"modification_ts" : 1583852573}}
Пример неуспешного ответа
{"success" : "False" ,"code" : "400" ,"message" : "Client not found"}
Создать ресурс
URL: https://api.cdn.sber.cloud/app/restream/v2/<your_account_name>/resources
Тип запроса: POST
Заголовки: CDN-AUTH-TOKEN
Тело запроса: JSON с данными создаваемого ресурса
Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | resource_id или описание ошибки | JSON | Ресурс создан |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN " \-X POST \-d '{ \"active": true, \"name": "asdfasfewefse", \"type": "short", \"restreams": [ \{ \"schedule": [ \{ \"start": "2019-10-30T13:30:59Z", \"stop": "2019-10-30T13:31:00Z" \}, \{ \"start": "2019-10-30T13:40:59Z", \"stop": "2019-10-30T13:41:00Z" \} \], \"source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1", \"transcoded": false, \"transcode_quality": "", \"target_type": "customRTMP", \"target_url": "rtmp://a.rtmp.com/live2", \"target_key": "key1", \"login": "", \"password": "", \"backup": { \"target_url": "rtmp://b.com/live2?q=1", \"login": "", \"password": "" \} \}, \{ \"schedule": [], \"source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1_tcode360p", \"transcoded": true, \"transcode_quality": "360p", \"target_type": "customRTMP", \"target_url": "rtmp://a.rtmp.com/live2", \"target_key": "key1_360", \"login": "", \"password": "", \"backup": {} \} \] \}' \https://api.cdn.sber.cloud/app/restream/v2/aloha/resources
Пример успешного ответа
{"success" : "true" ,"code" : "200" ,"message" : "OK" ,"resource_id" : "123-qwe-123"}
Пример неуспешного ответа
{"success" : "False" ,"code" : 400 ,"message" : "Client not found"}
Изменить конкретный ресурс
URL: https://api.cdn.sber.cloud/app/restream/v2/<your_account_name>/resources/<resource_id>
Тип запроса: PUT
Заголовки: CDN-AUTH-TOKEN
Тело запроса: JSON с новыми данными ресурса
Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | OK или описание ошибки | JSON | Ресурс изменен |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN " \-X PUT \-d '{ \"active": true, \"name": "asdfasfewefse", \"type": "short", \"restreams": [ \{ \"schedule": [ \{ \"start": "2019-10-30T13:30:59Z", \"stop": "2019-10-30T13:31:00Z" \}, \{ \"start": "2019-10-30T13:40:59Z", \"stop": "2019-10-30T13:41:00Z" \} \], \"source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1", \"transcoded": false, \"transcode_quality": "", \"target_type": "customRTMP", \"target_url": "rtmp://a.rtmp.com/live2", \"target_key": "key1", \"login": "", \"password": "", \"backup": { \"target_url": "rtmp://b.com/live2?q=1", \"login": "", \"password": "" \} \}, \{ \"schedule": [], \"source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1_tcode360p", \"transcoded": true, \"transcode_quality": "360p", \"target_type": "customRTMP", \"target_url": "rtmp://a.rtmp.com/live2", \"target_key": "key1_360", \"login": "", \"password": "", \"backup": {} \}]}' \https://api.cdn.sber.cloud/app/restream/v2/aloha/resources/123-qwe-123
Пример успешного ответа
{"success" : "true" ,"code" : "200" ,"message" : "OK"}
Пример неуспешного ответа
{"success" : "False" ,"code" : 400 ,"message" : "Client not found"}
Получение статусов ресурсов
URL: https://api.cdn.sber.cloud/app/restream/v2/<your_account_name>/status
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Статус всех Restream-ресурсов или описание ошибки | JSON | Получен статус |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN " \-X GET \https://api.cdn.sber.cloud/app/restream/v2/aloha/status
Пример успешного ответа
{"account" : "aloha" ,"data" : [{"resource_id" : "ewq-123-ewq" ,"status" : [{"status" : {"code" : 3 ,"description" : "Source stream is not published"},"source" : "url" ,"target_url" : "url" ,"target_key" : "key1"},{"status" : {"code" : 3 ,"description" : "Source stream is not published"},"source" : "url" ,"target_url" : "url2" ,"target_key" : "key1"},{"status" : {"code" : 3 ,"description" : "Source stream is not published"},"source" : "url" ,"target_url" : "url3" ,"target_key" : "key1"}]}]}
Пример неуспешного ответа
{"success" : "False" ,"code" : "400" ,"message" : "Client not found"}
Получение статуса конкретного ресурса
URL: https://api.cdn.sber.cloud/app/restream/v2/<your_account_name>/status?resource_id=<resource_id>
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Статус Restream-ресурса или описание ошибки | JSON | Получен статус |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN " \-X GET \https://api.cdn.sber.cloud/app/restream/v2/aloha/status?resource_id = ewq-123-ewq
Пример неуспешного ответа
{"account" : "aloha" ,"data" : [{"resource_id" : "ewq-123-ewq" ,"status" : [{"status" : {"code" : 3 ,"description" : "Source stream is not published"},"source" : "url" ,"target_url" : "url" ,"target_key" : "key1"},{"status" : {"code" : 3 ,"description" : "Source stream is not published"},"source" : "url" ,"target_url" : "url2" ,"target_key" : "key1"},{"status" : {"code" : 3 ,"description" : "Source stream is not published"},"source" : "url" ,"target_url" : "url3" ,"target_key" : "key1"}]}]}
Пример неуспешного ответа
{"success" : "False" ,"code" : 400 ,"message" : "Client not found"}
Получение истории статусов конкретного ресурса
URL: https://api.cdn.sber.cloud/app/restream/v2/<your_account_name>/history?resource_id=<resource_id>&start=<YYYY-mm-ddTHH:MM:SSZ>&end=<YYYY-mm-ddTHH:MM:SSZ>
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | История статусов Restream-ресурса или описание ошибки | JSON | Получена история статусов |
400 | None | None | Неверный запрос |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN " \-X GET \https://api.cdn.sber.cloud/app/restream/v2/aloha/history?resource_id = ewq-123-ewq & start = 2020 -03-01T12:00:00Z & end = 2020 -03-01T14:00:00Z
Пример успешного ответа
{"account" : "aloha" ,"resource_id" : "ewq-123-ewq" ,"start" : "2020-03-01T12:00:00" ,"end" : "2020-03-01T13:00:00" ,"data" : [{"source" : "url" ,"history" : {"target_url1" : {"target_key1" : [{"code" : 2 ,"description" : "Source stream not found" ,"time" : 1583065877},{"code" : 0 ,"description" : "OK" ,"time" : 1583065879},{"code" : 7 ,"description" : "Restream stopped" ,"time" : 1583067077}]}}},{"source" : "url2" ,"history" : {"target_url2" : {"target_key2" : [{"code" : 5 ,"description" : "No status changes found" ,"time" : 1583074800}]}}}]}
Пример успешного ответа
{"success" : "False" ,"code" : "400" ,"message" : "Client not found"}
- Получить все ресурсы
- Получить конкретный ресурс
- Создать ресурс
- Изменить конкретный ресурс
- Получение статусов ресурсов
- Получение статуса конкретного ресурса
- Получение истории статусов конкретного ресурса