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"}