Описание API
Этот раздел поясняет структуру и принципы работы REST API платформы. Все примеры приводятся для базового URL https://api.demo.corpai.ru/api/v1.
Основное API
Аутентификация
- Вход –
POST /auth/login - Request:
{ "email": "user@example.ru", "password": "secret" } - Response:
{ "access_token": "<JWT>", "token_type": "bearer" } - Проверка токена –
GET /auth/me - Требует заголовок
Authorization: Bearer <JWT>. - Возвращает профиль текущего пользователя.
- Выход –
POST /auth/logout - Аннулирует активный токен.
Ассистенты
- Список –
GET /assistants - Возвращает все ассистенты, доступные пользователю.
- Создание –
POST /assistants/create - Принимает форму ассистента и создаёт новый объект.
- Обновление –
POST /assistants/{id}/update - Изменяет параметры ассистента.
Чаты
- Создание чата –
POST /chats - Принимает тему и список участников.
- Отправка сообщения –
POST /chats/{id}/message - Передаёт текст и дополнительные данные.
- История –
GET /chats/{id} - Возвращает ленту сообщений.
Модели и функции
GET /models– перечень доступных моделей.GET /functions– список зарегистрированных функций и их описание.
Компоненты
Обучение (LMS)
- Категории
GET /lms/courses/categories– список категорий.POST /lms/courses/categories– создание категории (администратор).- Курсы
GET /lms/courses– поиск и пагинация курсов.POST /lms/courses/create– создание курса.POST /lms/courses/from-file– генерация курса по загруженному файлу ({ "file_id": "<UUID>" }).GET /lms/courses/{id}– получение курса по ID.- Уведомления и события
GET /lms/notifications– список уведомлений.GET /lms/events– календарь мероприятий.
База знаний (Wiki)
- Пространства
POST /wiki/spaces– создание пространства.GET /wiki/spaces– список пространств.- Страницы
POST /wiki/pages– создание страницы.GET /wiki/pages/{id}– получение содержания.- Ревизии и подписки
POST /wiki/pages/{page_id}/revisions– новая ревизия.POST /wiki/pages/{page_id}/subscribe– подписка на обновления.
Проекты
- Проекты
POST /task/projects– создание проекта.GET /task/projects– список проектов.DELETE /task/projects/{id}– удаление проекта (администратор).- Задачи
POST /task/projects/{project_id}/tasks– добавление задачи.GET /task/projects/{project_id}/tasks– список задач проекта.PUT /task/tasks/{id}– обновление параметров.
Поддержка
- Заявки
POST /support/tickets– создание заявки.GET /support/tickets– список заявок пользователя.PUT /support/tickets/{id}– изменение статуса заявки.- Сообщения
POST /support/messages– добавление сообщения к заявке.GET /support/messages– получение всех сообщений.
Каждый эндпоинт возвращает ошибки в формате { "detail": "сообщение" } при нарушении прав доступа или других проблемах. Для полного списка полей и кодов ответов используйте встроенную Swagger-документацию /docs или /redoc на работающем экземпляре платформы.