Файлы
Файлы загружаются как multipart/form-data через POST /api/files. Каждый файл привязан к типу из справочника file_types (трудовой договор, аватар, и т.п.).
Файлы
Загрузка файла
- Метод
- POST
- URL
https://api.gigma.ru/api/files- Авторизация
- Bearer token
- Headers
Content-Type: multipart/form-data; Accept: application/json
Параметры запроса (form-data)
file— содержимое файла (обязательно)file_type_id— ID типа файла из/api/file_types(обязательно)link— произвольная URL ссылка (опционально, например на видео)
Пример запроса
POST https://api.gigma.ru/api/files
Content-Type: multipart/form-data
file: <binary>
file_type_id: 1
link: https://google.ru Ответ
При успешном действии возвращается HTTP код 200.
{
"file": {
"id": 2201,
"name": "downloader.py",
"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/7NYkKhv2Tm9CGlpcDzzLcsrKtrce8K39M4uU9pDw",
"link": "https://google.ru",
"created_at": "2024-12-03T10:42:18.000000Z",
"updated_at": "2024-12-03T10:42:18.000000Z"
}
} Описание полей ответа
id— первичный ключname— имя загруженного файлаtype— объект типа файлаpath— публичный URL файлаlink— произвольная URL ссылка (если передана)created_at,updated_at— таймстампы
Получение файла по ID
- Метод
- GET
- URL
https://api.gigma.ru/api/files/{id}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Пример запроса
GET https://api.gigma.ru/api/files/1 Ответ
{
"file": {
"id": 1,
"name": "logo.svg",
"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/yjohncMkjTSnvJ7FH4vksOtDYUy9pO2HDwmNU5Hc.svg",
"created_at": "2024-04-14T20:04:32.000000Z",
"updated_at": "2024-04-14T20:04:32.000000Z"
}
}Удаление файла
- Метод
- DELETE
- URL
https://api.gigma.ru/api/files/{id}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Ответ
{
"message": "File successfully deleted"
}Типы файлов (справочник)
Список типов файлов
- Метод
- GET
- URL
https://api.gigma.ru/api/file_types- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Используется при загрузке файла, чтобы выбрать file_type_id.
Ответ
{
"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[]— массив типов:id,name,avatar,created_atfileTypesCount— общее количество
Тип файла по ID
- Метод
- GET
- URL
https://api.gigma.ru/api/file_types/{id}- Авторизация
- Bearer token
- Headers
Accept: application/json; Content-Type: application/json
Ответ
{
"fileType": {
"id": 1,
"name": "Трудовой договор",
"avatar": "https://api.gigma.ru/storage/uploads/default.svg",
"created_at": "2024-03-27T07:00:46.000000Z"
}
}