Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

RTMP/RTSP-publish

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

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

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Array или JSON Object в случае ошибки

Доступные параметры query string (* - обязательный параметр):

НазваниеОписаниеДопустимые значенияЗначение по умолчанию
activeФильтр по активным/деактивированным ресурсамtrue / falsetrue



Возможные коды ответа:

Код ответаДанные ответаФормат ответаОписание
200Все LIVE-ресурсы для аккаунта или описание ошибкиJSONПолучен список ресурсов или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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.rcloud.ru",
        "application": "livemaster",
        "dist_protocol": "https",
        "backup": "b.r.rcloud.ru"
      }
    },
    "streams": {
      "someid1": {
        "stream_name": "someid1_stream01",
        "password": "RtdHESB7aA7rdKDCuVYn5W9Zp",
        "resolution": "720p",
        "name": "stream01",
        "smil": {
          "BANDWIDTH": "5000000",
          "RESOLUTION": "1280x720"
        }
      },
      "someid2": {
        "stream_name": "someid2_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": "test"
    },
    "cdn_domain": "test.a.trbcdn.net",
    "description": ""
  }
]
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

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

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

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Доступные параметры query string (* - обязательный параметр):

НазваниеОписаниеДопустимые значенияЗначение по умолчанию
activeФильтр по активным/деактивированным ресурсамtrue / falsetrue


Возможные коды ответа:

Код ответаДанные ответаФормат ответаОписание
200Конкретный LIVE-ресурс для аккаунта или описание ошибкиJSONПолучен ресурс или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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.rcloud.ru",
      "application": "livemaster",
      "dist_protocol": "https",
      "backup": "b.r.rcloud.ru"
    }
  },
  "streams": {
    "someid1": {
      "stream_name": "someid1_stream01",
      "password": "RtdHESB7aA7rdKDCuVYn5W9Zp",
      "resolution": "720p",
      "name": "stream01",
      "smil": {
        "BANDWIDTH": "5000000",
        "RESOLUTION": "1280x720"
      }
    },
    "someid2": {
      "stream_name": "someid2_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": "test"
  },
  "cdn_domain": "test.a.trbcdn.net",
  "description": ""
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

Получить статус конкретного ресурса

URL: https://apicdn.rcloud.ru/cdn/api/v1/<your_account_name>/status/live/<resource_id>

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


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

Формат данных ответа:

ПараметрОписаниеВозможные значения
resourceID ресурсаID ресурса из URL запроса
statusСтатус ресурса"Completed" / "Processing" / "Error"
messageОписание статуса"" / "dns processing" / "configuration processing"
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/status/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{"resource": "3087695896608003328_cybku4cl0av", "status": "Completed", "message": ""}
Пример неуспешного ответа
{"status": "error", "message": "Invalid Token", "description": "Invalid or expired token"}

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с новыми данными ресурса
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиJSONДеактивирован, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "active": false, "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103856008586"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиJSONАктивирован, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "active": true, "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103856008586"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"auth": {"md5": {"secret": "123", "forever": true, "anywhere": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами локальной авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"auth": {"md5": {"secret": "456", "forever": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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://apicdn.rcloud.ru/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"auth": {"url": "https://test.com/yourscript"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами внешней авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"auth": {"url": "https://test.com/yourscript2"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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"}

Ограничения раздачи $

Создание ресурса с ограничением раздачи по странам, IP адресам, referer или User-Agent

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами ограничений
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X POST \
-d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}, "limitations": {"geo": [{"default_action": "allow", "exclude": [{"country": "RU", "region": "BEL", "action": "deny"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}, {"default_action": "allow", "exclude": [{"country": "RU", "region": "CR", "action": "deny"}, {"country": "RU", "region": null, "action": "deny"}], "times": [{"start": "2019-07-20T14:19:00Z", "end": null}]}], "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}], "referer": [{"default_action": "deny", "exclude": [{"referer":"*.ru"}], "times": [{"start": null, "end": "2019-07-20T14:18:00Z"}]}], "useragent": [{"default_action": "deny", "exclude": [{"useragent": "browser_name"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}]}}' \
https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
"status": "accept",
"task_id": "20180402162358692413",
"resource_id": "1163546047721937079_p0q2zwj4yih"
}
Пример неуспешного ответа
{
"status": "error",
"message": "json invalid",
"description": "limitations : Invalid time interval: start:2021-05-11T19:12:00Z, end:2021-05-09T22:12:00Z"
}

Изменение ограничений раздачи ресурса

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами ограничений
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X PUT \
-d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}, "limitations": { "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": []}]}}' \
https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{"status": "accept", "task_id": "20180402162358692413"}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

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

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

rtmp://a.r.rcloud.ru/livemaster/someid1_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_720360p, 480p, 720ph.264AAC/mp3+
480_720_1080480p, 720p, 1080ph.264AAC/mp3+
360_480_720_1080360p, 480p, 720p, 1080ph.264AAC/mp3+


Заказать услугу

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и выбранным профилем транскодирования
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"name": "test_resource", "transcode_profile": "360_480_720", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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"}

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

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными ресурса и новым профилем транскодирования
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "transcode_profile": "360_480_720_1080", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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"}

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

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными ресурса и пустым профилем транскодирования
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "transcode_profile": "", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831472"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

SRT-publish

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

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

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Array или JSON Object в случае ошибки

Доступные параметры query string (* - обязательный параметр):

НазваниеОписаниеДопустимые значенияЗначение по умолчанию
activeФильтр по активным/деактивированным ресурсамtrue / falsetrue


Возможные коды ответа:

Код ответаДанные ответаФормат ответаОписание
200Все LIVE-ресурсы для аккаунта или описание ошибкиJSONПолучен список ресурсов или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
[
    {
      "id": "3087695896608003328_cybku4cl0av",
      "name": "test_resource",
      "type": "SRT-publish",
      "active": true,
      "streams": {
        "someid1": {
          "name": "stream01",
          "smil": {
            "BANDWIDTH": "5000000",
            "RESOLUTION": "1280x720"
          },
          "password": "IEVM5Vyew2nEjPcYZmaskikMN",
          "resolution": "720p",
          "stream_name": "someid1_stream01"
        },
        "someid2": {
          "name": "stream02",
          "smil": {
            "BANDWIDTH": "10000000",
            "RESOLUTION": "1920x1080"
          },
          "password": "SA4fxfaJGK6jLcaADwYZZhe2S",
          "resolution": "1080p",
          "stream_name": "someid2_stream02"
        }
      },
      "settings": {
        "SRT-publish": {
          "backup": "b.r.rcloud.ru",
          "domain": "test.a.trbcdn.net",
          "primary": "a.r.rcloud.ru",
          "application": "livemastersrt",
          "pub_protocol": "srt",
          "dist_protocol": "https",
          "master_stream": "kqa3m_test_resource.smil",
          "transcode_profile": ""
        }
      },
      "resources": {
        "http": "test"
      },
      "creation_ts": 1686209143,
      "description": "",
      "locations": {
        "/": {
          "cache": {
            "live": true,
            "valid": {
              "2xx": "300s",
              "3xx": "1s",
              "4xx": "1s",
              "5xx": "1s"
            }
          }
        }
      },
      "cache": {
        "live": true,
        "consider_args": false
      },
      "cdn_domain": "test.a.trbcdn.net"
    }
]
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

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

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

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Доступные параметры query string (* - обязательный параметр):

НазваниеОписаниеДопустимые значенияЗначение по умолчанию
activeФильтр по активным/деактивированным ресурсамtrue / falsetrue


Возможные коды ответа:

Код ответаДанные ответаФормат ответаОписание
200Конкретный LIVE-ресурс для аккаунта или описание ошибкиJSONПолучен ресурс или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "id": "3087695896608003328_cybku4cl0av",
  "name": "test_resource",
  "type": "SRT-publish",
  "active": true,
  "streams": {
    "someid1": {
      "name": "stream01",
      "smil": {
        "BANDWIDTH": "5000000",
        "RESOLUTION": "1280x720"
      },
      "password": "IEVM5Vyew2nEjPcYZmaskikMN",
      "resolution": "720p",
      "stream_name": "someid1_stream01"
    },
    "someid2": {
      "name": "stream02",
      "smil": {
        "BANDWIDTH": "10000000",
        "RESOLUTION": "1920x1080"
      },
      "password": "SA4fxfaJGK6jLcaADwYZZhe2S",
      "resolution": "1080p",
      "stream_name": "someid2_stream02"
    }
  },
  "settings": {
    "SRT-publish": {
      "backup": "b.r.rcloud.ru",
      "domain": "test.a.trbcdn.net",
      "primary": "a.r.rcloud.ru",
      "application": "livemastersrt",
      "pub_protocol": "srt",
      "dist_protocol": "https",
      "master_stream": "kqa3m_test_resource.smil",
      "transcode_profile": ""
    }
  },
  "resources": {
    "http": "test"
  },
  "creation_ts": 1686209143,
  "description": "",
  "locations": {
    "/": {
      "cache": {
        "live": true,
        "valid": {
          "2xx": "300s",
          "3xx": "1s",
          "4xx": "1s",
          "5xx": "1s"
        }
      }
    }
  },
  "cache": {
    "live": true,
    "consider_args": false
  },
  "cdn_domain": "test.a.trbcdn.net"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

Получить статус конкретного ресурса

URL: https://apicdn.rcloud.ru/cdn/api/v1/<your_account_name>/status/live/<resource_id>

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


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

Формат данных ответа:

ПараметрОписаниеВозможные значения
resourceID ресурсаID ресурса из URL запроса
statusСтатус ресурса"Completed" / "Processing" / "Error"
messageОписание статуса"" / "dns processing" / "configuration processing"
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/status/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{"resource": "3087695896608003328_cybku4cl0av", "status": "Completed", "message": ""}
Пример неуспешного ответа
{"status": "error", "message": "Invalid Token", "description": "Invalid or expired token"}

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "3087695896608003328_cybku4cl0av"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с новыми данными ресурса
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103856008585"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиJSONДеактивирован, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"active": false, "name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103856008586"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиJSONАктивирован, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"active": true, "name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103856008586"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"auth": {"md5": {"secret": "123", "forever": true, "anywhere": true}}, "name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "3087695896608003328_cybku4cl0av"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами локальной авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"auth": {"md5": {"secret": "456", "forever": true}}, "name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103856008585"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

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

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"auth": {"url": "https://test.com/yourscript"}, "name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "3087695896608003328_cybku4cl0av"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами внешней авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"auth": {"url": "https://test.com/yourscript2"}, "name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103856008585"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Ограничения раздачи $

Создание ресурса с ограничением раздачи по странам, IP адресам, referer или User-Agent

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами ограничений
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X POST \
-d '{"name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}, "limitations": {"geo": [{"default_action": "allow", "exclude": [{"country": "RU", "region": "BEL", "action": "deny"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}, {"default_action": "allow", "exclude": [{"country": "RU", "region": "CR", "action": "deny"}, {"country": "RU", "region": null, "action": "deny"}], "times": [{"start": "2019-07-20T14:19:00Z", "end": null}]}], "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}], "referer": [{"default_action": "deny", "exclude": [{"referer":"*.ru"}], "times": [{"start": null, "end": "2019-07-20T14:18:00Z"}]}], "useragent": [{"default_action": "deny", "exclude": [{"useragent": "browser_name"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}]}}' \
https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
"status": "accept",
"task_id": "20180402162358692400",
"resource_id": "3087695896608003328_cybku4cl0av"
}
Пример неуспешного ответа
{
"status": "error",
"message": "json invalid",
"description": "limitations : Invalid time interval: start:2021-05-11T19:12:00Z, end:2021-05-09T22:12:00Z"
}

Изменение ограничений раздачи ресурса

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами ограничений
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X PUT \
-d '{"name": "test_resource", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}, "limitations": { "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": []}]}}' \
https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{"status": "accept", "task_id": "20180402162358692401"}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

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

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

srt://a.r.rcloud.ru:19998/?streamid=#!::r=livemastersrt/someid1_stream01,auth=IEVM5Vyew2nEjPcYZmaskikMN
Ссылка для раздачи потока
<dist_protocol>://<domain>/<application>/<master_stream>/playlist.m3u8

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

https://test.a.trbcdn.net/livemastersrt/kqa3m_test_resource.smil/playlist.m3u8


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

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

Важно

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

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

ID профиляКачестваКодек для видеоКодек для аудиоОбъединение качеств в один поток
360_480_720360p, 480p, 720ph.264AAC/mp3+
480_720_1080480p, 720p, 1080ph.264AAC/mp3+
360_480_720_1080360p, 480p, 720p, 1080ph.264AAC/mp3+


Заказать услугу

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и выбранным профилем транскодирования
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"name": "test_resource", "transcode_profile": "360_480_720", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "3087695896608003328_cybku4cl0av"
}
Пример неуспешного ответа
{"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"}

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

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными ресурса и новым профилем транскодирования
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен

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

Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "transcode_profile": "360_480_720_1080", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831471"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "there must be only one stream to be transcoded. Not 0"}

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

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными ресурса и пустым профилем транскодирования
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"name": "test_resource", "transcode_profile": "", "type": "SRT-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20181122103450831472"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

HLS-cache

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

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

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Array или JSON Object в случае ошибки

Доступные параметры query string (* - обязательный параметр):

НазваниеОписаниеДопустимые значенияЗначение по умолчанию
activeФильтр по активным/деактивированным ресурсамtrue / falsetrue


Возможные коды ответа:

Код ответаДанные ответаФормат ответаОписание
200Все LIVE-ресурсы для аккаунта или описание ошибкиJSONПолучен список ресурсов или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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://apicdn.rcloud.ru/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object

Доступные параметры query string (* - обязательный параметр):

НазваниеОписаниеДопустимые значенияЗначение по умолчанию
activeФильтр по активным/деактивированным ресурсамtrue / falsetrue


Возможные коды ответа:

Код ответаДанные ответаФормат ответаОписание
200Конкретный LIVE-ресурс для аккаунта или описание ошибкиJSONПолучен ресурс или ошибка
403NoneNoneЗапрещено
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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://apicdn.rcloud.ru/cdn/api/v1/<your_account_name>/status/live/<resource_id>

  • Тип запроса: GET
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


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

Формат данных ответа:

ПараметрОписаниеВозможные значения
resourceID ресурсаID ресурса из URL запроса
statusСтатус ресурса"Completed" / "Processing" / "Error"
messageОписание статуса"" / "dns processing" / "configuration processing"
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://apicdn.rcloud.ru/cdn/api/v1/testaccount/status/live/3087695896608003328_cybku4cl0av
Пример успешного ответа
{"resource": "3087695896608003328_cybku4cl0av", "status": "Completed", "message": ""}
Пример неуспешного ответа
{"status": "error", "message": "Invalid Token", "description": "Invalid or expired token"}

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "read_timeout": "10s", "connect_timeout": "10s", "send_timeout": "10s", "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"]}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20190305103450831469",
  "resource_id": "9282601590143242685_pqy19d9z3pm"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с новыми данными ресурса
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -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://apicdn.rcloud.ru/cdn/api/v1/testaccount/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"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиJSONДеактивирован, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -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://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20190305103450831479"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиJSONАктивирован, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -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://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/9282601590143242685_pqy19d9z3pm
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20190305103450831479"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

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

Локальная авторизация может быть настроена только для какого-либо location. Включить ее для всего HLS-cache ресурса невозможно.

Важно

Если локальная авторизация включается для location-ов, затрагивающих плейлисты (m3u8, mpd), то для корректной работы необходимо отключить кэширование для этих location-ов.

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"locations": {"~* \\.m3u8$": {"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}}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20190305103450831469",
  "resource_id": "9282601590143242685_pqy19d9z3pm"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами локальной авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"locations": {"~* \\.m3u8$": {"auth": {"md5": {"secret": "234", "forever": true, "anywhere": true}}, "cache": {"valid": {"2xx": "1s", "3xx": "1s"}}}, "/": {"cache": {"valid": {"2xx": "300s", "3xx": "1s", "4xx": "1s", "5xx": "1s"}}}}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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"}

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

Важно

Внешняя авторизация может быть настроена только для какого-либо location. Включить ее для всего HLS-cache ресурса невозможно.

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

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X POST \
  -d '{"locations": {"~* \\.m3u8$": {"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}}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
  "status": "accept",
  "task_id": "20190305103450831469",
  "resource_id": "9282601590143242685_pqy19d9z3pm"
}
Пример неуспешного ответа
{"status": "error", "message": "Json invalid", "description": "required key name isn't provided"}

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

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами внешней авторизации
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
  -X PUT \
  -d '{"locations": {"~* \\.m3u8$": {"auth": {"url": "https://test.com/yourscript_new"}, "cache": {"valid": {"2xx": "1s", "3xx": "1s"}}}, "/": {"cache": {"valid": {"2xx": "300s", "3xx": "1s", "4xx": "1s", "5xx": "1s"}}}}, "name": "live-qxthy20jjz", "type": "HLS-cache", "streams": {"3it9dwypm4": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}}' \
  https://apicdn.rcloud.ru/cdn/api/v1/testaccount/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"}

Ограничения раздачи $

Создание ресурса с ограничением раздачи по странам, IP адресам, referer или User-Agent

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

  • Тип запроса: POST
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с данными создаваемого ресурса и параметрами ограничений
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id, resource_id или описание ошибкиJSONСоздан, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X POST \
-d '{"name": "test_resource", "type": "HLS-cache", "streams": {"someid1": {"id": "/stream/playlist.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "names": ["test-cname.com"], "limitations": {"geo": [{"default_action": "allow", "exclude": [{"country": "RU", "region": "BEL", "action": "deny"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}, {"default_action": "allow", "exclude": [{"country": "RU", "region": "CR", "action": "deny"}, {"country": "RU", "region": null, "action": "deny"}], "times": [{"start": "2019-07-20T14:19:00Z", "end": null}]}], "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}], "referer": [{"default_action": "deny", "exclude": [{"referer":"*.ru"}], "times": [{"start": null, "end": "2019-07-20T14:18:00Z"}]}], "useragent": [{"default_action": "deny", "exclude": [{"useragent": "browser_name"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}]}}' \
https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/
Пример успешного ответа
{
"status": "accept",
"task_id": "20180402162358692413",
"resource_id": "1163546047721937079_p0q2zwj4yih"
}
Пример неуспешного ответа
{
"status": "error",
"message": "json invalid",
"description": "limitations : Invalid time interval: start:2021-05-11T19:12:00Z, end:2021-05-09T22:12:00Z"
}

Изменение ограничений раздачи ресурса

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

Данный запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT запроса.

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

  • Тип запроса: PUT
  • Заголовки: CDN-AUTH-TOKEN
  • Тело запроса: JSON с измененными параметрами ограничений
  • Тип данных ответа: JSON Object


Код ответаДанные ответаФормат ответаОписание
200task_id или описание ошибкиNoneИзменен, id задачи в общей очереди задач или ошибка
400NoneNoneНеверный запрос
404NoneNoneНе найдено
500NoneNoneВнутренняя ошибка сервера
503NoneNoneСервис недоступен
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X PUT \
-d '{"name": "test_resource", "type": "HLS-cache", "streams": {"someid1": {"id": "/stream/playlist-2.m3u8"}}, "origin": {"https": false, "servers": {"yourdomain.com": {"port": 80, "weight": 1, "backup": false}}}, "limitations": {"geo": [{"default_action": "allow", "exclude": [{"country": "RU", "region": "BEL", "action": "deny"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}, {"default_action": "allow", "exclude": [{"country": "RU", "region": "CR", "action": "deny"}, {"country": "RU", "region": null, "action": "deny"}], "times": [{"start": "2019-07-20T14:19:00Z", "end": null}]}], "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}], "referer": [{"default_action": "deny", "exclude": [{"referer":"*.ru"}], "times": [{"start": null, "end": "2019-07-20T14:18:00Z"}]}], "useragent": [{"default_action": "deny", "exclude": [{"useragent": "browser_name"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}]}}' \
https://apicdn.rcloud.ru/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih
Пример успешного ответа
{
"status": "accept",
"task_id": "20180402162358692413"
}
Пример неуспешного ответа
{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

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

Для того, чтобы получить полные ссылки раздачи потоков, необходимо соединить параметры 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
  • Нет меток