Secure Sharing API
Авторизация: Bearer JWT, Telegram initData или API-токен.
Папки
Список папок
http
GET /api/secure/foldersОтвет:
json
[
{
"id": 1,
"name": "Команда разработки",
"description": "Доступы к серверам",
"isPaused": false,
"fileCount": 3,
"createdAt": "2025-01-15T10:00:00.000Z",
"updatedAt": "2025-01-15T10:00:00.000Z"
}
]Создание папки
http
POST /api/secure/folders
Content-Type: application/json
{
"name": "Команда разработки",
"description": "Доступы к серверам"
}Обновление папки
http
PATCH /api/secure/folders/:id
Content-Type: application/json
{
"name": "Новое название"
}Приостановка / возобновление
http
PATCH /api/secure/folders/:id/pauseПереключает isPaused. При isPaused: true все ссылки внутри папки возвращают 403.
Удаление папки
http
DELETE /api/secure/folders/:idКаскадно удаляет все файлы и ссылки.
Файлы
Список файлов в папке
http
GET /api/secure/files?folderId=1Получение файла
http
GET /api/secure/files/:idСоздание файла
http
POST /api/secure/files
Content-Type: application/json
{
"folderId": 1,
"name": "SSH ключ",
"description": "Сервер prod-01",
"contentType": "text",
"textContent": "ssh-rsa AAAA..."
}Загрузка медиа/файла
http
POST /api/secure/files/:id/upload
Content-Type: multipart/form-data
file: <binary>Удаление файла
http
DELETE /api/secure/files/:idСсылки
Список ссылок файла
http
GET /api/secure/links?fileId=1Создание ссылки
http
POST /api/secure/links
Content-Type: application/json
{
"fileId": 1,
"expiresInHours": 24,
"maxViews": 5
}Ответ:
json
{
"id": 1,
"code": "abc123",
"url": "https://tgio.app/s/abc123",
"expiresAt": "2025-01-16T10:00:00.000Z",
"maxViews": 5,
"viewCount": 0,
"isRevoked": false,
"createdAt": "2025-01-15T10:00:00.000Z"
}Отзыв ссылки
http
PATCH /api/secure/links/:id/revokeВосстановление ссылки
http
PATCH /api/secure/links/:id/restoreУдаление ссылки
http
DELETE /api/secure/links/:idПубличный просмотр (без авторизации)
Метаданные контента
http
GET /api/secure/view/:codeДля текста возвращает lines, для файлов — метаданные (mimeType, fileName, fileSize).
Стриминг файла
http
GET /api/secure/view/:code/streamПоддерживает HTTP Range для видео.
Скачивание файла
http
GET /api/secure/view/:code/downloadКоды ошибок
| Код | Описание |
|---|---|
| 403 | Ссылка отозвана или папка приостановлена |
| 404 | Ссылка не найдена |
| 410 | Срок ссылки истёк или лимит просмотров |
| 413 | Файл превышает 10 МБ |
