- tocdepth
2
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"
}
для Dev & Test