Андрей Смирнов
Время чтения: ~19 мин.
Просмотров: 119

Cdnvideo

Общий конфиг

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

        http resource json object (HRJO) - data from request/response
        HRJO structure and keys:
        { 
            id <string> - uid of resource (used in api url)
            name <string> - identificator for web UI (required)
            origin <json> - section for traffic origin description (required)
            certificate <integer> - id of created certificate
            names <json> - section for names description
            robots <json> - section for robots file description
            headers <json> - section for specific headers description
            cache <json> - section for cache options description
            client_cache <json> - section for extra cache options description
            auth <json> - section for auth options description
            cors <json> - section for cors description
            modern_tls_only <boolean> - use only modern versions of TLS
            locations <json> - section for locations description
        }  

origin section

        {
            https <boolean> - use or not https during requests to origin
            hostname <string> - set host header during requests to origin
            servers <json> - client nodes description
        }

servers section

        {
            <client_domain/ip_address>: client node address <json>
        }

client node address section

        {
            port <integer> - client node port (default 80 and 443)
            weight <integer> - load balancing parameters
            read_timeout <integer> - load balancing parameters
            send_timeout <integer> - load balancing parameters
            connect_timeout <integer> - load balancing parameters
            max_fails <integer> - load balancing parameters
            backup <boolean> - use node only in backup mode
        }

names section

        list of string cnames, f.e. 

robots section

        {
            type <string> - ‘deny’, ‘custom’ or ‘cached’
            content <string> - client’s robots.txt text (only for ‘custom’ type)
        }

headers section

        {
            request <json> - headers for requests to origin
            response <json> - header for customer responses
        }

request headers section

        {
            <header_name>: <header_value>
        }

response headers section

        {
            <header_name>: <header_value>
        }

cache section

        {
            disable <boolean> - do not cache content
            consider_args <boolean> - use querystring while cache process
            valid <json> - time of caching
        }

valid section

        {
            2xx <string> - cache ttl for 2xx response codes
            3xx <string> - cache ttl for 3xx response codes
            4xx <string> - cache ttl for 4xx response codes
            5xx <string> - cache ttl for 5xx response codes
            force <boolean> - force cache update on clientside
        }

client cache section

        {
            expires <integer> - expire cache time
        }

cors section

        {
            disable <boolean> - disable cors (default: false)
            domains <list of strings> - list of allowed domains
            headers <list of strings> - list of secure request headers (Accept, Accept-Language, Content-Type, Content-Language are allowed by default)
            expose <list of strings> - list of upper level API accessible headers (Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma are allowed by default)
            methods <list of strings> - list of safe methods (GET, HEAD, POST are allowed by default)
            max_age <integer> - preflight request response lifetime
            credentials <boolean> - set an Access-Control-Allow-Credentials header
        }

locations section

        {
            key <string> - path to content: locations params <json>
        }

locations params section

        {
            headers <json> - like global section
            cache <json> - like global section
            client_cache <json> - like global section
            auth <json> - like global section
            cors <json> - like global section
        }

Products

CDNvideo’s main focus is on Live Streaming, Video on Demand, Web and Game Acceleration

View the table below for more insight into CDNvideo products.Hover over/touch the product to view a short description.

  • = Yes

  • = Sort of/partially

  • = No

  • = Extra costs

  • = Unknown

Product
Dynamic content deliveryNon-cacheable content delivery. User login, shopping cart …
Small file deliveryStatic object delivery; caching of small files (file size <1 MB)

Website acceleration

Large file deliveryStatic object delivery; caching of large files (file size >1 MB)
Live videoDelivery of live video. RTMP? Transcoding/transmuxing?

Live Streaming

Video on demandDelivery of on demand video

Video On Demand

Image OptimizationAutomatic image compression/optimization
DNSAuthoritative DNS for customer domain
WAFWeb Application Firewall
Anti-DDoSDDoS attack protection. Specific product(s) for this.
Private CDNDedicated edge resources & custom configs
Edge ComputeRun your code on CDN edge servers

Network

CDNvideo has 20+ POPs in Russia and several in the CIS countries, plus good coverage on other continents, as well as many POPs in mainland China. CDNvideo network map

Click the country flag icon to navigate to a page showing all CDNs with POP(s) in that country.
Locations marked with * are not active yet but on the CDN’s roadmap.

Region POPs Locations
North America 13

Montreal — Toronto

Ashburn — Atlanta — Boston — Chicago — Dallas — Denver — Los Angeles — Miami — New York — San Jose — Seattle

Latin America 7

Buenos Aires

Rio de Janeiro — São Paulo

Santiago

Bogotá

Mexico City

Lima

Europe 11

Brussels

Frankfurt

Madrid

Paris

London

Dublin

Amsterdam

Milan

Warsaw

Lisbon

Stockholm

Russia & CIS 37

Chelyabinsk — Irkutsk — Khabarovsk — Kazan — Krasnodar — Krasnoyarsk — Makhachkala — Moscow — Nizhny Novgorod — Novosibirsk — Omsk — Perm — Petropavlovsk-Kamchatskiy — Pskov — Rostov — Rostov-on-Don — Samara — St Petersburg — Stavropol — Tomsk — Tyumen — Ufa — Vladivostok — Voronezh — Yekaterinburg

Astana — Almaty — Atyrau

Bishkek

Dushanbe

Kiev

Yerevan

Baku

Kisinau

Tbilisi

Minsk

Tashkent

Asia excl. China 23

Bandar Seri Begawan

Hong Kong

Osaka — Tokyo

Jakarta — Medan — Surabaya

Bangalore — Chennai — Hyderabad — Mumbai — New Delhi

Ulan Bator

Macao

Kuala Lumpur

Phnom Penh

Seoul

Manila

Singapore

Bangkok

Kaohsiung City — Taipei

Ho Chi Minh

China 100

All major cities and provinces in China

Oceania 4

Melbourne — Sydney

Suva

Hamilton

Middle-East 8

Tel Aviv

Baghdad

Tehran

Kuwait City

Muscat

Doha

Riyad

Istanbul

Africa 7

Cape Town — Johannesburg

Djibouti

Cairo

Antananarivo

Port Louis

Dodoma

Получение параметров точек рестриминга

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

Для этого необходимо получить от медиаплатформы URL и ключ трансляции, на которые можно опубликовать поток.

YouTube

Сначала необходимо зайти в «Творческую студию Youtube».
Вы попадете в панель управления каналом.

После этого в правом верхнем углу панели управления нажмите кнопку «СОЗДАТЬ» и выберите в выпадающем списке «Начать трансляцию».

Откроется форма с параметрами создаваемой трансляции.
Заполните требуемые поля и нажмите «СОЗДАТЬ ТРАНСЛЯЦИЮ».

В открывшемся окне на вкладке «НАСТРОЙКИ ТРАНСЛЯЦИИ» указаны параметры точки рестриминга:

  • ключ трансляции;
  • URL трансляции;
  • резервный URL трансляции.

Укажите данные параметры при создании/редактировании ресурса рестриминга.

Сначала необходимо зайти в раздел «Видео».

После этого в правом верхнем углу страницы нажмите кнопку «Создать трансляцию».

Откроется форма с параметрами создаваемой трансляции. Заполните требуемые поля.

Раскройте пункт «Настройка программы для трансляции», нажав на него.
В открывшемся пункте указаны параметры точки рестриминга:

  • URL трансляции;
  • ключ трансляции (KEY).

Укажите данные параметры при создании/редактировании ресурса рестриминга.

Сначала необходимо зайти на главную страницу социальной сети.

Нажмите кнопку «Трансляция».

В появившемся всплывающем окне выберите пункт «Приложение».

Откроется форма с параметрами создаваемой трансляции. Заполните требуемые поля.

В нижнем левом углу настроек находится пункт «Настройки видеокодера».
В нем указаны параметры точки рестриминга:

  • URL сервера (URL трансляции);
  • ключ трансляции.

Укажите данные параметры при создании/редактировании ресурса рестриминга.

Сначала необходимо зайти на главную страницу социальной сети.

Нажмите на иконку «многоточие», чтобы отобразить дополнительные пункты.

Выберите пункт «Прямой эфир».

Нажмите «Использовать ключ трансляции».

Важно

В окне «Настроить варианты» поставьте галочку «Использовать постоянный ключ трансляции»

В появившемся окне указаны параметры точки рестриминга:

  • URL сервера (URL трансляции);
  • ключ трансляции.

Укажите данные параметры при создании/редактировании ресурса рестриминга.

Instagram

Сервис Instagram не позволяет получить параметры для рестриминга на вашу страницу.

Вы можете воспользоваться сторонними сервисами, которые позволяют это сделать.

Важно

Мы не несем ответственность за работу данных сервисов.

Примеры популярных сервисов получения параметров публикации в Instagram:

  • Instafeed
  • Yellow Duck

Instafeed

Зайдите на главную страницу сервиса.

Введите логин и пароль от своего аккаунта в Instagram и нажмите кнопку «Login».

После этого вы попадете на страницу, на которой указаны параметры точки рестриминга:

  • Instagram RTMPS server (URL трансляции);
  • stream key (ключ трансляции).

Чтобы получить ключ трансляции необходимо начать трансляцию, нажав на кнопку «CREATE NEW BROADCAST».

Укажите данные параметры при создании/редактировании ресурса рестриминга.

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

В случае рестриминга в Instagram необходимо указать тип точки рестриминга «Другое» при создании/редактировании ресурса рестриминга.

Yellow Duck

Для начала скачайте приложение с официального сайта и установите его.

Откройте приложение и введите логин и пароль от своего аккаунта в Instagram.

Нажмите кнопку «Log In & Start».

Вы попадете на страницу, на которой указаны параметры точки рестриминга:

  • RTMP URL (URL трансляции);
  • Stream key (ключ трансляции).

Укажите данные параметры при создании/редактировании ресурса рестриминга.

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

В случае рестриминга в Instagram необходимо указать тип точки рестриминга «Другое» при создании/редактировании ресурса рестриминга.

Управление кэшем

Предзагрузка или удаление файлов из cache, а также полный сброс cache.

Данные операции выполняются асинхронно и в ответе возвращается task_id — идентификатор задачи.
При наличии task_id можно проверить статус задачи (описано ниже).

Внимание!

Ограничение на количество запросов к API управления кэшем: не больше 125 обращений в минуту.

Удалить файл

URL: https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://<domain>/path/to/file

В качестве <domain> может использоваться либо выделенный CDN-домен , либо CNAME.

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

Параметры строки запроса:

Имя параметра Тип значения Обязательный
cdn_url Текст Да

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

Код ответа Данные ответа Формат ответа Описание
202 task_id: тип string JSON ОК
401 None None Доступ запрещен
503 None None Сервис недоступен

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

curl -X DELETE
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://lajjncnn6d.a.trbcdn.net/aloha/cdn/sample_03.flv'

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

{
  "task_id" "f0f9601e75b2415db0e2219ea07d8fde"
}

Сбросить весь кэш

URL: https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://<domain>/path/to/file&all

В качестве <domain> может использоваться либо выделенный CDN-домен , либо CNAME.

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

Параметры строки запроса:

Имя параметра Тип значения Обязательный
cdn_url Текст Да
all Значение отсутствует Да

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

Код ответа Данные ответа Формат ответа Описание
202 task_id: тип string JSON ОК
401 None None Доступ запрещен
503 None None Сервис недоступен

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

curl -X DELETE
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://lajjncnn6d.a.trbcdn.net/aloha/cdn/sample_03.flv&all'

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

{
  "task_id" "ccf82df380a34fe7a4992ca810ccfee4"
}

Предзагрузить файл

URL: https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://origin:port/path/to/file

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

Параметры строки запроса:

Имя параметра Тип значения Обязательный
cdn_url Текст Да

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

Код ответа Данные ответа Формат ответа Описание
202 task_id: тип string JSON ОК
401 None None Доступ запрещен
503 None None Сервис недоступен

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

curl -X PUT
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://cache-cdntest.cdnvideo.ru/aloha/cdn/sample_03.flv'

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

{
  "task_id" "7a14702e80ec4b99ba5792ca9d781b3d"
}

Проверить статус задачи

URL: https://api.cdnvideo.ru/app/cache/v2/tasks?id=<task_id>

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

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

Код ответа Данные ответа Формат ответа Описание
200 task_description: тип string, status: тип string, date_started: тип string, message: тип string JSON ОК
400 None None Неверный запрос
401 None None Доступ запрещен
503 None None Сервис недоступен

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

curl -X GET
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/tasks?id=7a14702e80ec4b99ba5792ca9d781b3d'

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

{
  "task_description" "PRELOAD http://cache-cdntest.cdnvideo.ru/aloha/cdn/sample_03.flv",
  "status" "completed",
  "date_started" "2018-11-27T09:55:11",
  "message" ""
}

SSL Certificates

First you have to upload your certificate or to configure a new one. Click “ADD SSL CERTIFICATE” in the upper right corner.

Adding your Certificate

Specify a random name and place your own certificate and a private key into the appropriate text boxes.

Attention!

It is often also required to specify all the chain of intermediate certificates. In this case, you`ll have to place the certificates in the following order: “personal certificate”-”CRM (intermediate certificate, please pay attention, there may be several of them)” — “root (root certificate)”. If you have lost root and intermediate certificates, you need to refer to where you have received it. They are often available for the public. E.g. for AlphaSSL.

After you add a certificate, it will appear in the interface with the following information: your domain or domains covered and beginning and end tags.

Content distribution zones expansion

Adding more distribution zones via ChinaNetCenter Network (CDNvideo`s partner). Find more details about partner`s network coverage here

Get current configuration

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

  • Method: GET
  • Headers: CDN-AUTH-TOKEN
  • Response Data Type: JSON Object
Status Code Response Data Response Format Description
200 code: type integer, message: type string, data: {areas: type list, certificate: type string or None, cnc_configured: type bool, is_changes_apply: type bool} JSON OK
401 None None Unauthorized
500 None None Internal Server Error

Possible values areas:

Value Description
am the USA
apac Asia and the Pacific
emea Europe, Middle East, Africa

Request example

curl -H 'cdn-auth-token: cdn2_P5OGFSL0USFFEW2NWU2VCKK79FQJU2'
https//api.cdnvideo.rucdnapiv1cpfgdakpcncconfigurationlajjncnn6d

Successful response example

{
  "message" "Ok",
  "code" 200,
  "data" {
    "is_changes_apply" true,
    "cnc_configured" true,
    "certificate" null,
    "areas" "apac", "emea"
  }
}

Add/Change distribution zones

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

  • Method: POST
  • Headers: CDN-AUTH-TOKEN
  • Request Data: JSON with configuration data
  • Response Data Type: JSON Object

Request data description:

Parameter name Value Type Required
{areas, certificate} JSON Object Yes
areas Array, one or more from («apac», «am», «emea») Yes
certificate String or None No

Possible response codes:

Status Code Response Data Response Format Description
200 message: type string, code: type integer JSON OK
400 None None Bad Request
401 None None Unauthorized
409 None None Conflict (previous changes haven`t been applied yet)

Request example

curl -X POST -d '{"areas": }'
-H 'cdn-auth-token: cdn2_P5OGFSL0USFFEW2NWU2VCKK79FQJU2'
https//api.cdnvideo.rucdnapiv1cpfgdakpcncconfigurationlajjncnn6d

Successful response example

{
  "message" "Ok",
  "code" 200
}

Disable additional distribution zones

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

  • Method: POST
  • Headers: CDN-AUTH-TOKEN
  • Request Data: JSON with configuration data
  • Response Data Type: JSON Object

Request data description:

Parameter name Value Type Required
{areas, certificate} JSON Object Yes
areas Empty Array Yes
certificate String or None No

Possible response codes:

Status Code Response Data Response Format Description
200 message: type string, code: type integer JSON OK
400 None None Bad Request
401 None None Unauthorized
409 None None Conflict (previous changes haven`t been applied yet)

Request example

curl -X POST -d '{"areas": []}'
-H 'cdn-auth-token: cdn2_P5OGFSL0USFFEW2NWU2VCKK79FQJU2'
https//api.cdnvideo.rucdnapiv1cpfgdakpcncconfigurationlajjncnn6d

Successful response example

{
  "message" "Ok",
  "code" 200
}

General configuration

Find below an example of general configuration, while in the following sections the particular examples will be clarified.

        http resource json object (HRJO) - data from request/response
        HRJO structure and keys:
        { 
            id <string> - uid of resource (used in api url)
            name <string> - identificator for web UI (required)
            origin <json> - section for traffic origin description (required)
            certificate <integer> - id of created certificate
            names <json> - section for names description
            robots <json> - section for robots file description
            headers <json> - section for specific headers description
            cache <json> - section for cache options description
            client_cache <json> - section for extra cache options description
            auth <json> - section for auth options description
            cors <json> - section for cors description
            modern_tls_only <boolean> - use only modern versions of TLS
            locations <json> - section for locations description
        }  

origin section

        {
            https <boolean> - use or not https during requests to origin
            hostname <string> - set host header during requests to origin
            servers <json> - client nodes description
        }

servers section

        {
            <client_domain/ip_address>: client node address <json>
        }

client node address section

        {
            port <integer> - client node port (default 80 and 443)
            weight <integer> - load balancing parameters
            read_timeout <integer> - load balancing parameters
            send_timeout <integer> - load balancing parameters
            connect_timeout <integer> - load balancing parameters
            max_fails <integer> - load balancing parameters
            backup <boolean> - use node only in backup mode
        }

names section

        list of string cnames, f.e. 

robots section

        {
            type <string> - ‘deny’, ‘custom’ or ‘cached’
            content <string> - client’s robots.txt text (only for ‘custom’ type)
        }

headers section

        {
            request <json> - headers for requests to origin
            response <json> - header for customer responses
        }

request headers section

        {
            <header_name>: <header_value>
        }

response headers section

        {
            <header_name>: <header_value>
        }

cache section

        {
            disable <boolean> - do not cache content
            consider_args <boolean> - use querystring while cache process
            valid <json> - time of caching
        }

valid section

        {
            2xx <string> - cache ttl for 2xx response codes
            3xx <string> - cache ttl for 3xx response codes
            4xx <string> - cache ttl for 4xx response codes
            5xx <string> - cache ttl for 5xx response codes
            force <boolean> - force cache update on clientside
        }

client cache section

        {
            expires <integer> - expire cache time
        }

cors section

        {
            disable <boolean> - disable cors (default: false)
            domains <list of strings> - list of allowed domains
            headers <list of strings> - list of secure request headers (Accept, Accept-Language, Content-Type, Content-Language are allowed by default)
            expose <list of strings> - list of upper level API accessible headers (Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma are allowed by default)
            methods <list of strings> - list of safe methods (GET, HEAD, POST are allowed by default)
            max_age <integer> - preflight request response lifetime
            credentials <boolean> - set an Access-Control-Allow-Credentials header
        }

locations section

        {
            key <string> - path to content: locations params <json>
        }

locations params section

        {
            headers <json> - like global section
            cache <json> - like global section
            client_cache <json> - like global section
            auth <json> - like global section
            cors <json> - like global section
        }

Cache managing

Preloading or deleting files from cache as well as whole cache deletion.

These operations are performed asynchronously and their response contains task_id.
You can check status of the task using task_id (described below).

Attention!

You can make no more than 125 API requests per minute for cache management.

Delete file

URL: https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://<domain>/path/to/file

Either the dedicated CDN domain or CNAME can be set as <domain>.

  • Method: DELETE
  • Headers: CDN-AUTH-TOKEN
  • Response Data Type: JSON Object

Query string parameters:

Parameter name Value Type Required
cdn_url Text Yes

Possible response codes:

Status Code Response Data Response Format Description
202 task_id: type string JSON OK
401 None None Access Denied
503 None None Service Unavailable

Request example

curl -X DELETE
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://lajjncnn6d.a.trbcdn.net/aloha/cdn/sample_03.flv'

Successful response example

{
  "task_id" "f0f9601e75b2415db0e2219ea07d8fde"
}

Delete whole cache

URL: https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://<domain>/path/to/file&all

Either the dedicated CDN domain or CNAME can be set as <domain>.

  • Method: DELETE
  • Headers: CDN-AUTH-TOKEN
  • Response Data Type: JSON Object

Query string parameters:

Parameter name Value Type Required
cdn_url Text Yes
all No value Yes

Possible response codes:

Status Code Response Data Response Format Description
202 task_id: type string JSON OK
401 None None Access Denied
503 None None Service Unavailable

Request example

curl -X DELETE
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://lajjncnn6d.a.trbcdn.net/aloha/cdn/sample_03.flv&all'

Successful response example

{
  "task_id" "ccf82df380a34fe7a4992ca810ccfee4"
}

Preload file

URL: https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://origin:port/path/to/file’

  • Method: PUT
  • Headers: CDN-AUTH-TOKEN
  • Response Data Type: JSON Object

Query string parameters:

Parameter name Value Type Required
cdn_url Text Yes

Possible response codes:

Status Code Response Data Response Format Description
202 task_id: type string JSON OK
401 None None Access Denied
503 None None Service Unavailable

Request example

curl -X PUT
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/objects?cdn_url=http://cache-cdntest.cdnvideo.ru/aloha/cdn/sample_03.flv'

Successful response example

{
  "task_id" "7a14702e80ec4b99ba5792ca9d781b3d"
}

Check status of task

URL: https://api.cdnvideo.ru/app/cache/v2/tasks?id=<task_id>

  • Method: GET
  • Headers: CDN-AUTH-TOKEN
  • Response Data Type: JSON Object

Possible response codes:

Status Code Response Data Response Format Description
200 task_description: type string, status: type string, date_started: type string, message: type string JSON OK
400 None None Bad Request
401 None None Access Denied
503 None None Service Unavailable

Request example

curl -X GET
-H 'cdn-auth-token:cdn2_G5LVU4LSC85AO2RAG4G1DL90I7CADR'
'https://api.cdnvideo.ru/app/cache/v2/tasks?id=7a14702e80ec4b99ba5792ca9d781b3d'

Successful response example

{
  "task_description" "PRELOAD http://cache-cdntest.cdnvideo.ru/aloha/cdn/sample_03.flv",
  "status" "completed",
  "date_started" "2018-11-27T09:55:11",
  "message" ""
}
Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации