REST API

Общие сведения

Адрес: http://mng.zerocdn.com/api/v2/users/

ZeroCDN реализует доступ к API в виде REST-ресурсов. В данный момент доступны следующие ресурсы:

Внимание! По-умолчанию пользователь не может загружать более 5 файлов в минуту. Для снятия данного ограничения необходимо связаться с администрацией.

Работа с зонами

По-умолчанию при загрузке через api по URL mng.zerocdn.com, файл будет автоматически загружен в ближашую к вам зону.

Для управления этим поведением нужно использовать URL конкретной зоны.

В данный момент доступны следующие зоны:

ЗонаURL
Russia Moscowhttp://msk.ru.mng.zerocdn.com/api/v2/users/
Belarus Minskhttp://minsk.by.mng.zerocdn.com/api/v2/users/
Russia Krasnoyarskhttp://kry.ru.mng.zerocdn.com/api/v2/users/

Методы авторизации

Логин/Пароль:

curl --user USERNAME:PASSWORD "http://mng.zerocdn.com/api/v2/users/files.json"

Логин/Ключ:

curl "http://mng.zerocdn.com/api/v2/users/files.json?username=USERNAME&api_key=KEY"

Работа с файлами

Добавление файла:

curl -v -H "Content-Type: multipart/form-data" -F file=@/path/to/file -F folder="FOLDER_ID" -X POST http://mng.zerocdn.com/api/v2/users/files.json

Добавление по ссылке:

curl -v -H "Content-Type: application/json" -X POST --data '{"url" : "URL://TO/FILE", "name": "file.name", "fail": "URL://IF/FAILED", "success": "URL://IF/SUCCESS", "is_hidden": true, "is_viewable": true, "autodownload": false}' "http://mng.zerocdn.com/api/v2/users/files.json"

Внимание! К файлу, загруженному срeдствами API, профили не применяются, необходимо явно задавать все необходимые параметры.

ПолеФункция
folderID папки, в которую будет загружен файл (пример: 999)
successurl будет вызван в случае успешной загрузки файла
failurl будет вызван в случае проблем с загрузкой
fail_emailEmail для оповещения на случай проблем с загрузкой
autodownloadМиновать промежуточную страницу перед скачиванием
is_viewableНе отправлять заголовок Content-Disposition: attachment
is_hiddenФайл может доступен только по подписанной ссылке. На авторизованных пользователей-владельцев файла, данное ограничение не распространяется.
public_urlПубличная ссылка
direct_urlПрямая ссылка
max_speedОграничение скорости на одно соединение
content_type«Content-type» передаваемый клиенту при скачивании
forceУдалить старый файл при конфликте имен вместо переименования нового
areasСписок названий зон, в которых необходимо разместить файл (пример: ["msk.ru"] или ["msk.ru", "minsk.by"])

Получение данных файла:

curl -v "http://mng.zerocdn.com/api/v1/users/files/FILE_ID.json"

Изменение параметров файла:

curl -v -H "Content-Type: application/json" -X PATCH --data '{"name": "NEW_NAME"}' "http://zerocdn.com/api/v2/users/files/FILE_ID.json"

Удаление файла:

curl -v -X DELETE "http://mng.zerocdn.com/api/v2/users/files/FILE_ID.json"

Список файлов:

curl -v "http://mng.zerocdn.com/api/v2/users/files.json"

Фильтр по имени:

curl -v "http://mng.zerocdn.com/api/v2/users/files.json?name__endswith=.mp4"

Выборка файлов размером больше 10 байт:

curl -v "http://mng.zerocdn.com/api/v2/users/files.json?size__gt=10"

Сортировка по размеру в обратном порядке:

curl -v "http://mng.zerocdn.com/api/v2/users/files.json?order_by=-size"

Работа с папками

Создать папку:

curl -v -H "Content-Type: application/json" -X POST --data '{"name": "folder-name"}' "http://mng.zerocdn.com/api/v2/users/folders.json"

Переместить файл в папку:

curl -v -H "Content-Type: application/json" -X PATCH --data '{"folder": "FOLDER_ID"}' "http://mng.zerocdn.com/api/v2/users/files/FILE_ID.json"

Загрузить файл в папку:

curl -v -H "Content-Type: application/json" -X POST --data '{"url" : "URL://TO/FILE", "name": "file.name", "folder": "FOLDER_ID"}' "http://mng.zerocdn.com/api/v2/users/files.json"