Файлы

MadBanner предоставляет возможность хранить составные части баннеров в виде файлов.

Примечание

Разрешены файлы с расширениями html, js, css, png, jpg, jpeg, gif, swf

Управление файлами осуществляется с помощью двух ресурсов:

  • /companies/:company_id/files - ресурс для поиска файлов
  • /companies/:company_id/files/:id - ресурс для создания/удаления файла с идентификатором id
Метод Ресурс Результат
GET /companies/:company_id/files найти файлы
GET /companies/:company_id/files/:id получить тело файла
GET /companies/:company_id/files/:id/meta получить метаинформацию
PUT /companies/:company_id/files/:id создать файл
DELETE /companies/:company_id/files/:id удалить файл

Создание файла

Чтобы создать файл, необходимо выполнить запрос POST /companies/:company_id/files/:id с файлом в теле запроса.

Пример:

$ curl --request PUT \
       --include \
       --user "admin:admin" \
       --header "Content-Type: image/png" \
       --data-binary @"./sample.png" \
       --url http://api.example.com/companies/company1/files/sample.png

HTTP/1.1 204 No Content
Server: nginx/1.4.3
Date: Wed, 13 Nov 2013 13:12:45 GMT
Content-Type: image/png
Content-Length: 0
Connection: keep-alive

Созданный файл автоматически привязывается к организации создателя.

Максимальный размер файла: 2MB.

Поиск файлов

Чтобы найти файлы, необходимо выполнить запрос GET /companies/:company_id/files.

Пример:

$ curl --request GET \
       --include \
       --user "admin:admin" \
      --url http://api.example.com//companies/company1/files

HTTP/1.1 200 OK
Server: nginx/1.4.3
Date: Wed, 13 Nov 2013 13:14:51 GMT
Content-Type: application/json
Content-Length: 124
Connection: keep-alive

{
  "results": [
    {
      "id": "sample.png",
      "company":"example",
      "public_url":"http://api.example.com/companies/company1/files/sample.png"
    }
  ],
  "total_count": 1
}

Пользователям с любой ролью разрешено искать файлы.

Пользователь с ролью administrator получит все файлы, остальные пользователи - только те файлы владельцами которых является их организация.

Получение файла

Чтобы получить файл, необходимо выполнить запрос GET /companies/:company_id/files/:id.

Пример:

$ curl --request GET \
       --user "admin:admin" \
       --url http://api.example.com/companies/company1/files/sample.png > sample2.png

Пользователям с любой ролью разрешено получать файлы.

Получение метаинформации файла

Чтобы получить метаинформацию о файле, необходимо выполнить запрос GET /companies/:company_id/files/:id/meta.

Пример:

$ curl --request GET \
       --user "admin:admin" \
       --url http://api.example.com/companies/company1/files/sample.png/meta

HTTP/1.1 200 OK
Server: nginx/1.4.3
Date: Tue, 12 Nov 2013 07:43:00 GMT
Content-Type: application/json
Content-Length: 35
Connection: keep-alive

{
  "id":"sample.png",
  "company":"example"
}

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

Чтобы удалить файл, необходимо выполнить запрос DELETE /companies/:company_id/files/:id.

Пример:

$ curl --request DELETE \
       --include \
       --user "admin:admin" \
       --url http://api.example.com/companies/company1/files/sample.png

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