Файлы и медиа
С помощью этих методов вы можете загрузить изображение или документ и получить публичный URL файла.
Все запросы этой страницы отправляйте с Bearer сотрудника из доверенного серверного кода.
Порядок работы
- Получите актуальный
file_type_id. - Загрузите файл методом
POST /api/files. - Сохраните
file.idдля полейphoto_id,preview_id,avatar_idилиfile_id. - Используйте
file.pathдля отображения файла.
Не фиксируйте file_type_id по примеру: справочник может отличаться между проектами.
Получить типы файлов
- Метод
- GET
- URL
https://api.gigma.ru/api/file_types- Авторизация
- Bearer сотрудника
- Headers
Authorization: Bearer {token}; Accept: application/json
Получите справочник перед загрузкой и выберите подходящий fileTypes[].id.
Пример запроса
GET /api/file_types HTTP/1.1
Host: api.gigma.ru
Authorization: Bearer <employee_token>
Accept: application/json Ответ
{
"fileTypes": [
{
"id": 1,
"name": "Трудовой договор",
"avatar": "https://api.gigma.ru/storage/uploads/default.svg",
"created_at": "2024-03-27T07:00:46.000000Z"
},
{
"id": 2,
"name": "Аватар",
"avatar": "https://api.gigma.ru/storage/uploads/default.svg",
"created_at": "2024-03-27T07:00:46.000000Z"
}
],
"fileTypesCount": 2
} Поля ответа
fileTypes— типы файлов;fileTypes[].id— ID для поляfile_type_id;fileTypes[].name— название типа;fileTypesCount— количество типов.
Ошибки
401— Bearer сотрудника отсутствует или недействителен.
Загрузить файл
- Метод
- POST
- URL
https://api.gigma.ru/api/files- Авторизация
- Bearer сотрудника
- Headers
Authorization: Bearer {token}; Content-Type: multipart/form-data; Accept: application/json- Успешный ответ
200
Отправьте файл как multipart/form-data.
Параметры запроса
file(binary, обязательный) — содержимое файла;file_type_id(integer, обязательный) — ID типа изGET /api/file_types;link(string, опционально) — внешняя ссылка, например на видео.
Пример запроса
curl https://api.gigma.ru/api/files
-X POST
-H "Authorization: Bearer <employee_token>"
-H "Accept: application/json"
-F "file=@contract.pdf"
-F "file_type_id=1"
-F "link=https://example.test/contracts/offer" Ответ
{
"file": {
"id": 2201,
"name": "contract.pdf",
"type": {
"id": 1,
"name": "Трудовой договор",
"avatar": "https://api.gigma.ru/storage/uploads/default.svg",
"created_at": "2024-03-27T07:00:46.000000Z"
},
"path": "https://api.gigma.ru/storage/uploads/contract.pdf",
"link": "https://example.test/contracts/offer",
"created_at": "2024-12-03T10:42:18.000000Z",
"updated_at": "2024-12-03T10:42:18.000000Z"
}
} Сохраните file.id и file.path.
Ошибки
401— Bearer сотрудника отсутствует или недействителен.
Получить файл
- Метод
- GET
- URL
https://api.gigma.ru/api/files/{id}- Авторизация
- Bearer сотрудника
- Headers
Authorization: Bearer {token}; Accept: application/json
Параметры пути
id(integer, обязательный) — ID файла.
Пример запроса
GET /api/files/2201 HTTP/1.1
Host: api.gigma.ru
Authorization: Bearer <employee_token>
Accept: application/json Ответ
{
"file": {
"id": 2201,
"name": "contract.pdf",
"type": {
"id": 1,
"name": "Трудовой договор",
"avatar": "https://api.gigma.ru/storage/uploads/default.svg",
"created_at": "2024-03-27T07:00:46.000000Z"
},
"path": "https://api.gigma.ru/storage/uploads/contract.pdf",
"created_at": "2024-12-03T10:42:18.000000Z",
"updated_at": "2024-12-03T10:42:18.000000Z"
}
} Ошибки
401— Bearer сотрудника отсутствует или недействителен.
Удалить файл
- Метод
- DELETE
- URL
https://api.gigma.ru/api/files/{id}- Авторизация
- Bearer сотрудника
- Headers
Authorization: Bearer {token}; Accept: application/json
Удаление необратимо. Сначала убедитесь, что ID файла не используется товарами, страницами, блоками или меню.
Параметры пути
id(integer, обязательный) — ID файла.
Ответ
{
"message": "File successfully deleted"
} Ошибки
401— Bearer сотрудника отсутствует или недействителен.
Получить тип файла
- Метод
- GET
- URL
https://api.gigma.ru/api/file_types/{id}- Авторизация
- Bearer сотрудника
- Headers
Authorization: Bearer {token}; Accept: application/json
Параметры пути
id(integer, обязательный) — ID типа файла.
Ответ
{
"fileType": {
"id": 1,
"name": "Трудовой договор",
"avatar": "https://api.gigma.ru/storage/uploads/default.svg",
"created_at": "2024-03-27T07:00:46.000000Z"
}
} Ошибки
401— Bearer сотрудника отсутствует или недействителен.
Дальнейшие шаги
- Добавьте
file.idв товар. - Используйте файл в странице CMS или контентном блоке.
- Перед удалением найдите все объекты, которые ссылаются на файл.