diff --git a/API.md b/API.md new file mode 100644 index 0000000..82ee5fb --- /dev/null +++ b/API.md @@ -0,0 +1,69 @@ +# API эндпоинты + +Все эндпоинты (кроме auth) требуют cookie `va_token`. + +## Аутентификация + +| Метод | URL | Описание | +|---|---|---| +| POST | `/api/login` | Вход (login, password) | +| POST | `/api/logout` | Выход | +| GET | `/api/me` | Текущий пользователь | + +## Проект + +| Метод | URL | Описание | +|---|---|---| +| GET | `/api/project/:name` | Данные проекта (settings, letters, presets) | +| PUT | `/api/project/:name/settings` | Настройки (⚠️ admin only) | +| PUT | `/api/project/:name/draft` | Сохранить черновик | +| PUT | `/api/project/:name/block` | Обновить шаблон блока | + +## Рендер + +| Метод | URL | Описание | +|---|---|---| +| POST | `/api/project/:name/render-email` | Рендер PUG → HTML (pug, preheader, gender) | + +## Письма + +| Метод | URL | Описание | +|---|---|---| +| GET | `/api/project/:name/letters` | Список писем | +| POST | `/api/project/:name/letters` | Создать письмо | +| PUT | `/api/project/:name/letters/:id` | Обновить письмо | +| DELETE | `/api/project/:name/letters/:id` | Удалить письмо | + +## FTP/SFTP + +| Метод | URL | Описание | +|---|---|---| +| POST | `/api/project/:name/ftp/test` | Тест подключения | +| POST | `/api/project/:name/ftp/upload` | Загрузка картинки | +| POST | `/api/project/:name/ftp/list` | Список файлов | +| POST | `/api/project/:name/ftp/delete` | Удаление файла | + +## Конфигурация + +| Метод | URL | Описание | +|---|---|---| +| GET | `/api/config` | Конфиг (Yonote token, URLs) | +| PUT | `/api/config` | Обновить конфиг (⚠️ admin only) | + +## Хедер/Футер + +| Метод | URL | Описание | +|---|---|---| +| GET | `/api/parts-files` | Список pug-файлов header/footer | +| GET | `/api/parts-file-read?path=...` | Чтение pug-файла | +| POST | `/api/parts-file-write` | Запись pug-файла | + +## Прочее + +| Метод | URL | Описание | +|---|---|---| +| POST | `/api/check-links` | Проверка ссылок в письме | +| POST | `/api/upload-image` | Загрузка картинки (base64) | +| GET | `/api/project/:name/feed-suggestions` | Поиск товаров в фиде | +| GET | `/api/admin/users` | Список пользователей (admin) | +| POST | `/api/admin/users` | Создать пользователя (admin) |