nav-img
Evolution

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Получен список ресурсов или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

Пример запроса

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

Код ответаДанные ответаФормат ответаОписание
200Restream-ресурс для аккаунта или описание ошибкиJSONПолучен ресурс или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

Пример запроса

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

Код ответаДанные ответаФормат ответаОписание
200resource_id или описание ошибкиJSONРесурс создан
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

Пример запроса

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

Код ответаДанные ответаФормат ответаОписание
200OK или описание ошибкиJSONРесурс изменен
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

Пример запроса

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Получен статус
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

Пример запроса

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Получен статус
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

Пример запроса

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Получена история статусов
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

Пример запроса

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