Перейти к содержанию

Описание API

Этот раздел поясняет структуру и принципы работы REST API платформы. Все примеры приводятся для базового URL https://api.demo.corpai.ru/api/v1.

Основное API

Аутентификация

  1. ВходPOST /auth/login
  2. Request: { "email": "user@example.ru", "password": "secret" }
  3. Response: { "access_token": "<JWT>", "token_type": "bearer" }
  4. Проверка токенаGET /auth/me
  5. Требует заголовок Authorization: Bearer <JWT>.
  6. Возвращает профиль текущего пользователя.
  7. ВыходPOST /auth/logout
  8. Аннулирует активный токен.

Ассистенты

  1. СписокGET /assistants
  2. Возвращает все ассистенты, доступные пользователю.
  3. СозданиеPOST /assistants/create
  4. Принимает форму ассистента и создаёт новый объект.
  5. ОбновлениеPOST /assistants/{id}/update
  6. Изменяет параметры ассистента.

Чаты

  1. Создание чатаPOST /chats
  2. Принимает тему и список участников.
  3. Отправка сообщенияPOST /chats/{id}/message
  4. Передаёт текст и дополнительные данные.
  5. ИсторияGET /chats/{id}
  6. Возвращает ленту сообщений.

Модели и функции

  • GET /models – перечень доступных моделей.
  • GET /functions – список зарегистрированных функций и их описание.

Компоненты

Обучение (LMS)

  1. Категории
  2. GET /lms/courses/categories – список категорий.
  3. POST /lms/courses/categories – создание категории (администратор).
  4. Курсы
  5. GET /lms/courses – поиск и пагинация курсов.
  6. POST /lms/courses/create – создание курса.
  7. POST /lms/courses/from-file – генерация курса по загруженному файлу ({ "file_id": "<UUID>" }).
  8. GET /lms/courses/{id} – получение курса по ID.
  9. Уведомления и события
  10. GET /lms/notifications – список уведомлений.
  11. GET /lms/events – календарь мероприятий.

База знаний (Wiki)

  1. Пространства
  2. POST /wiki/spaces – создание пространства.
  3. GET /wiki/spaces – список пространств.
  4. Страницы
  5. POST /wiki/pages – создание страницы.
  6. GET /wiki/pages/{id} – получение содержания.
  7. Ревизии и подписки
  8. POST /wiki/pages/{page_id}/revisions – новая ревизия.
  9. POST /wiki/pages/{page_id}/subscribe – подписка на обновления.

Проекты

  1. Проекты
  2. POST /task/projects – создание проекта.
  3. GET /task/projects – список проектов.
  4. DELETE /task/projects/{id} – удаление проекта (администратор).
  5. Задачи
  6. POST /task/projects/{project_id}/tasks – добавление задачи.
  7. GET /task/projects/{project_id}/tasks – список задач проекта.
  8. PUT /task/tasks/{id} – обновление параметров.

Поддержка

  1. Заявки
  2. POST /support/tickets – создание заявки.
  3. GET /support/tickets – список заявок пользователя.
  4. PUT /support/tickets/{id} – изменение статуса заявки.
  5. Сообщения
  6. POST /support/messages – добавление сообщения к заявке.
  7. GET /support/messages – получение всех сообщений.

Каждый эндпоинт возвращает ошибки в формате { "detail": "сообщение" } при нарушении прав доступа или других проблемах. Для полного списка полей и кодов ответов используйте встроенную Swagger-документацию /docs или /redoc на работающем экземпляре платформы.