API для Restream-ресурса
Описание
В этом разделе описаны методы API для создания, удаления и изменения конфигурации ваших ресурсов.
Все ответы (включая ошибки) возвращаются в формате JSON.
Ниже приведены примеры для управления и конфигурации сервисов, связанных с услугой рестриминга.
Конфигурация для Restream-ресурса
Получить все ресурсы
URL: https://api.cdnvideo.ru/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:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/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.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": {} } ] } ] } }
Пример неуспешного ответа
{"success": False, "code": 400, "message": "Client not found"}
Получить конкретный ресурс
URL: https://api.cdnvideo.ru/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:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/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.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": {} } ], "resource_id": "ewq-123-ewq", "creation_ts": 1583852573, "modification_ts": 1583852573 } }
Пример неуспешного ответа
{"success": False, "code": 400, "message": "Client not found"}
Создать ресурс
URL: https://api.cdnvideo.ru/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:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -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.cdnvideo.ru/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.cdnvideo.ru/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:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -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.cdnvideo.ru/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.cdnvideo.ru/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:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X GET https://api.cdnvideo.ru/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.cdnvideo.ru/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:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X GET https://api.cdnvideo.ru/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.cdnvideo.ru/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:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE' -X GET https://api.cdnvideo.ru/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"}