Перейти к содержанию

API для LIVE-ресурса

Описание

В этом разделе описаны методы API для создания, удаления и изменения конфигурации ваших ресурсов.

Все ответы (включая ошибки) возвращаются в формате JSON.

Внимание!

Установлено ограничение на количество обращений к API в размере не больше 5 обращений в минуту.

Ниже приведены примеры для управления и конфигурации сервисов, связанных с услугой живых трансляций.

Конфигурация для LIVE-ресурса

RTMP/RTSP-publish

Получить все ресурсы

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Array или JSON Object в случае ошибки
Код ответа Данные ответа Формат ответа Описание
200 Все LIVE-ресурсы для аккаунта или описание ошибки JSON Получен список ресурсов или ошибка
403 None None Запрещено
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

[
  {
    "name": "test_resource",
    "settings": {
      "RTMP-publish": {
        "domain": "p0q2zwj4yih.a.trbcdn.net",
        "pub_protocol": "rtmp",
        "master_stream": "jws2w_test_resource.smil",
        "primary": "a.r.cdnvideo.net",
        "application": "livemaster",
        "dist_protocol": "https",
        "backup": "b.r.cdnvideo.net"
      }
    },
    "streams": {
      "RANDOM01": {
        "stream_name": "RANDOM01_stream01",
        "password": "RtdHESB7aA7rdKDCuVYn5W9Zp",
        "resolution": "720p",
        "name": "stream01",
        "smil": {
          "BANDWIDTH": "5000000",
          "RESOLUTION": "1280x720"
        }
      },
      "RANDOM02": {
        "stream_name": "RANDOM02_stream02",
        "password": "dRKLVu6v90P5PhSAMIGSIgKuh",
        "resolution": "1080p",
        "name": "stream02",
        "smil": {
          "BANDWIDTH": "10000000",
          "RESOLUTION": "1920x1080"
        }
      }
    },
    "active": true,
    "creation_ts": 1542872090,
    "type": "RTMP-publish",
    "id": "1163546047721937079_p0q2zwj4yih",
    "resources": {
      "http": "p0q2zwj4yih"
    },
    "description": ""
  }
]

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Обратите внимание

Для получения неактивных ресурсов используйте query-параметр "active" с значением "false"

Получить конкретный ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 Конкретный LIVE-ресурс для аккаунта или описание ошибки JSON Получен ресурс или ошибка
403 None None Запрещено
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "name": "test_resource",
  "settings": {
    "RTMP-publish": {
      "domain": "p0q2zwj4yih.a.trbcdn.net",
      "pub_protocol": "rtmp",
      "master_stream": "jws2w_test_resource.smil",
      "primary": "a.r.cdnvideo.net",
      "application": "livemaster",
      "dist_protocol": "https",
      "backup": "b.r.cdnvideo.net"
    }
  },
  "streams": {
    "RANDOM01": {
      "stream_name": "RANDOM01_stream01",
      "password": "RtdHESB7aA7rdKDCuVYn5W9Zp",
      "resolution": "720p",
      "name": "stream01",
      "smil": {
        "BANDWIDTH": "5000000",
        "RESOLUTION": "1280x720"
      }
    },
    "RANDOM02": {
      "stream_name": "RANDOM02_stream02",
      "password": "dRKLVu6v90P5PhSAMIGSIgKuh",
      "resolution": "1080p",
      "name": "stream02",
      "smil": {
        "BANDWIDTH": "10000000",
        "RESOLUTION": "1920x1080"
      }
    }
  },
  "active": true,
  "creation_ts": 1542872090,
  "type": "RTMP-publish",
  "id": "1163546047721937079_p0q2zwj4yih",
  "resources": {
    "http": "p0q2zwj4yih"
  },
  "description": ""
}

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Обратите внимание

Для получения неактивного ресурса используйте query-параметр "active" с значением "false"

Создать ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X POST
  -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}, "RANDOM02": {"name": "stream02", "resolution": "1080p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

Изменить ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с новыми данными ресурса
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103856008585"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Деактивировать ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки JSON Деактивирован, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"name": "test_resource", "active": false, "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103856008586"
}

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Активировать ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки JSON Активирован, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"name": "test_resource", "active": true, "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103856008586"
}

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Локальная авторизация

Создание ресурса с локальной авторизацией

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X POST
  -d '{"auth": {"md5": {"secret": "123", "forever": true, "anywhere": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}, "RANDOM02": {"name": "stream02", "resolution": "1080p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

Изменение локальной авторизации ресурса

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами локальной авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"auth": {"md5": {"secret": "456", "forever": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103856008585"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Внешняя авторизация

Создание ресурса с внешней авторизацией

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X POST
  -d '{"auth": {"url": "https://test.com/yourscript"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}, "RANDOM02": {"name": "stream02", "resolution": "1080p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

Изменение внешней авторизации ресурса

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами внешней авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"auth": {"url": "https://test.com/yourscript2"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "360p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103856008585"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Получение ссылок для публикации и раздачи

Для того, чтобы получить полные ссылки для публикации и раздачи потоков, необходимо соединить параметры live-ресурса, полученные при GET-запросе.

Ссылка для публикации потока
<pub_protocol>://<primary|backup>/<application>/<stream_name>?auth=<password>

Пример итоговой ссылки для публикации:

rtmp://a.r.cdnvideo.net/livemaster/RANDOM01_stream01?auth=MkE5MGtjbPljT52t491y6z14C

Ссылка для раздачи потока
<dist_protocol>://<domain>/<application>/<master_stream>/playlist.m3u8

Пример итоговой ссылки для раздачи:

https://p0q2zwj4yih.a.trbcdn.net/livemaster/jws2w_test_resource.smil/playlist.m3u8

Транскодирование

Вы можете заказать услугу транскодирования входного потока в несколько качеств. Это позволит избежать дополнительных затрат на оборудование или программное обеспечение.

Важно

Данная услуга оплачивается согласно тарифам, указанным в личном кабинете.

Профили транскодирования

На данный момент мы предлагаем следующие профили транскодирования:

ID профиля Качества Кодек для видео Кодек для аудио Объединение качеств в один поток
360_480_720 360p, 480p, 720p h.264 AAC/mp3 +
480_720_1080 480p, 720p, 1080p h.264 AAC/mp3 +
360_480_720_1080 360p, 480p, 720p, 1080p h.264 AAC/mp3 +
Заказать услугу

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и выбранным профилем транскодирования
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X POST
  -d '{"name": "test_resource", "transcode_profile": "360_480_720", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "transcode_profile should be one of ['480_720_1080', '360_480_720', '360_480_720_1080']. Not 360_480"}

Обратите внимание

Если вы заказываете услугу транскодирования, то для ресурса указывается ТОЛЬКО ОДИН входной поток.

Изменить услугу

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными ресурса и новым профилем транскодирования
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"name": "test_resource", "transcode_profile": "360_480_720_1080", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103450831471"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "there must be only one stream to be transcoded. Not 0"}

Обратите внимание

Если вы изменяете услугу транскодирования, то для ресурса указывается ТОЛЬКО ОДИН входной поток.

Отключить услугу

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными ресурса и пустым профилем транскодирования
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"name": "test_resource", "transcode_profile": "", "type": "RTMP-publish", "streams": {"RANDOM01": {"name": "stream01", "resolution": "720p"}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/1163546047721937079_p0q2zwj4yih

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20181122103450831472"
}

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

HLS-cache

Получить все ресурсы

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Array или JSON Object в случае ошибки
Код ответа Данные ответа Формат ответа Описание
200 Все LIVE-ресурсы для аккаунта или описание ошибки JSON Получен список ресурсов или ошибка
403 None None Запрещено
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

[
  {
    "origin": {
      "https": true,
      "servers": {
        "yourdomain.com": {
          "backup": false,
          "port": 80,
          "weight": 1
        }
      }
    },
    "cdn_domain": "wtx3l7rtrl6.a.trbcdn.net",
    "name": "live-qxthy19jjz",
    "streams": {
      "2it9dwypm4": {
        "id": "/stream/playlist.m3u8"
      }
    },
    "names": ["test.cname.com"],
    "active": true,
    "creation_ts": 1551853456,
    "type": "HLS-cache",
    "id": "8053158264585032642_wtx3l7rtrl6",
    "resources": {
      "http": "wtx3l7rtrl6"
    },
    "description": ""
  }
]

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Обратите внимание

Для получения неактивных ресурсов используйте query-параметр "active" с значением "false"

Получить конкретный ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 Конкретный LIVE-ресурс для аккаунта или описание ошибки JSON Получен ресурс или ошибка
403 None None Запрещено
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_OSKVHEJCGDOPEQJJXQN284ZTQUEPJ2' https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/8053158264585032642_wtx3l7rtrl6

Пример успешного ответа

{
  "origin": {
    "https": true,
    "servers": {
      "yourdomain.com": {
        "backup": false,
        "port": 80,
        "weight": 1
      }
    }
  },
  "cdn_domain": "wtx3l7rtrl6.a.trbcdn.net",
  "name": "live-qxthy19jjz",
  "streams": {
    "2it9dwypm4": {
      "id": "/stream/playlist.m3u8"
    }
  },
  "names": ["test.cname.com"],
  "active": true,
  "creation_ts": 1551853456,
  "type": "HLS-cache",
  "id": "8053158264585032642_wtx3l7rtrl6",
  "resources": {
    "http": "wtx3l7rtrl6"
  },
  "description": ""
}

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Обратите внимание

Для получения неактивного ресурса используйте query-параметр "active" с значением "false"

Создать ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X POST
  -d '{"name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831469",
  "resource_id": "9282601590143242685_pqy19d9z3pm"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

Изменить ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с новыми данными ресурса
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831470"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Деактивировать ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки JSON Деактивирован, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"active": false, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831479"
}

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Активировать ресурс

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки JSON Активирован, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"active": true, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831479"
}

Пример неуспешного ответа

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Локальная авторизация

Создание ресурса с локальной авторизацией

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X POST
  -d '{"auth": {"md5": {"secret": "123", "forever": true, "anywhere": true}}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831469",
  "resource_id": "9282601590143242685_pqy19d9z3pm"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

Изменение локальной авторизации ресурса

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами локальной авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"auth": {"md5": {"secret": "456", "forever": true}}, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831470"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Внешняя авторизация

Создание ресурса с внешней авторизацией

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X POST
  -d '{"auth": {"url": "https://test.com/yourscript"}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831469",
  "resource_id": "9282601590143242685_pqy19d9z3pm"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

Изменение внешней авторизации ресурса

URL: https://api.cdnvideo.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PATCH
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами внешней авторизации
  • Тип данных ответа: JSON Object
Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_2YXPIWIYRT15SZGQ2Q0JN362PUDXIE'
  -X PATCH
  -d '{"auth": {"url": "https://test.com/yourscript2"}, "name": "live-qxthy20jjz-2", "type": "HLS-cache", "streams": {"4it9dwypm4": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}'
  https://api.cdnvideo.ru/cdn/api/v1/paejgjuv/resource/live/9282601590143242685_pqy19d9z3pm

Пример успешного ответа

{
  "status": "accept",
  "task_id": "20190305103450831470"
}

Пример неуспешного ответа

{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Получение ссылок для раздачи

Для того, чтобы получить полные ссылки раздачи потоков, необходимо соединить параметры live-ресурса, полученные при GET-запросе.

<pub_protocol>://<cdn_domain>/<stream_id>
<pub_protocol>://<names>/<stream_id>

Пример итоговых CDN-ссылок на плейлист:

https://wtx3l7rtrl6.a.trbcdn.net/stream/playlist.m3u8
https://test.cname.com/stream/playlist.m3u8