REST API
Общие сведения
Адрес: http://mng.zerocdn.com/api/v2/users/
ZeroCDN реализует доступ к API в виде REST-ресурсов. В данный момент доступны следующие ресурсы:
Внимание! По-умолчанию пользователь не может загружать более 5 файлов в минуту. Для снятия данного ограничения необходимо связаться с администрацией.
Работа с зонами
По-умолчанию при загрузке через api по URL mng.zerocdn.com, файл будет автоматически загружен в ближашую к вам зону.
Для управления этим поведением нужно использовать URL конкретной зоны.
В данный момент доступны следующие зоны:
Зона | URL |
---|---|
Russia Moscow | http://msk.ru.mng.zerocdn.com/api/v2/users/ |
Belarus Minsk | http://minsk.by.mng.zerocdn.com/api/v2/users/ |
Russia Krasnoyarsk | http://kry.ru.mng.zerocdn.com/api/v2/users/ |
Belarus Minsk2 | http://minsk2.by.mng.zerocdn.com/api/v2/users/ |
USA Reston | http://rst.us.mng.zerocdn.com/api/v2/users/ |
Belarus Minsk3 | http://minsk3.by.mng.zerocdn.com/api/v2/users/ |
Russia Moscow2 | http://msk2.ru.mng.zerocdn.com/api/v2/users/ |
Russia Ryazan | http://rzn.ru.mng.zerocdn.com/api/v2/users/ |
Russia Rostov-na-Donu | http://rnd.ru.mng.zerocdn.com/api/v2/users/ |
Russia Tver | http://tvr.ru.mng.zerocdn.com/api/v2/users/ |
Russia Krasnodar | http://krd.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": "URL://IF/FAILED", "success_url": "URL://IF/SUCCESS", "is_hidden": true, "is_viewable": true, "autodownload": false}' "http://mng.zerocdn.com/api/v2/users/files.json"
Внимание! К файлу, загруженному срeдствами API, профили не применяются, необходимо явно задавать все необходимые параметры.
Поле | Функция |
---|---|
folder | ID папки, в которую будет загружен файл (пример: 999) |
success_url | url будет вызван в случае успешной загрузки файла |
fail_url | url будет вызван в случае проблем с загрузкой |
fail_email | Email для оповещения на случай проблем с загрузкой |
autodownload | Миновать промежуточную страницу перед скачиванием |
is_viewable | Не отправлять заголовок Content-Disposition: attachment |
is_hidden | Файл может доступен только по подписанной ссылке. На авторизованных пользователей-владельцев файла, данное ограничение не распространяется |
public_url | Публичная ссылка |
direct_url | Прямая ссылка |
max_speed | Ограничение скорости на одно соединение |
max_speed_after | Включeние ограничения скорости на одно соединение после пересылки указанного объема траффика в байтах |
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 POST --data '{"name": "sub-folder-name", "folder": "PARENT_FOLDER_ID"}' "http://mng.zerocdn.com/api/v2/users/folders.json"
Список папок:
curl -v "http://mng.zerocdn.com/api/v2/users/folders.json"
Получение папки по ID:
curl -v "http://mng.zerocdn.com/api/v2/users/folders/FOLDER_ID.json"
Переименовать папку:
curl -v -H "Content-Type: application/json" -X PATCH --data '{"name": "new-folder-name"}' "http://mng.zerocdn.com/api/v2/users/folders/FOLDER_ID.json"
Удалить папку:
curl -v -X DELETE "http://mng.zerocdn.com/api/v2/users/folders/FOLDER_ID.json"
Список подпапок в папке:
curl -v "http://mng.zerocdn.com/api/v2/users/folders.json?folder=FOLDER_ID"
Список подпапок в корневой папке:
curl -v "http://mng.zerocdn.com/api/v2/users/folders.json?folder=null"
Переместить файл в папку:
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"