SVSP
TECHNOLOGIES

Документация

Эндпоинты

Данный документ содержит полный список всех эндпоинтов системы Ultralight CRM с описанием их функциональности, параметров и примеров использования.

Основные принципы

Методы HTTP

Система использует стандартные HTTP-методы:

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

Большинство эндпоинтов требуют аутентификации. Система использует сессионную аутентификацию на основе cookie.

Структура ответов

Успешный ответ:

{
"success": true,
"data": { /* данные */ },
"message": "Описание операции"
}

Ответ с ошибкой:

{
"success": false,
"error": "Тип ошибки",
"message": "Описание ошибки"
}

Публичные эндпоинты

GET /

Описание: Главная страница Метод: GET Требует аутентификацию: Нет Редирект: Перенаправляет на рабочий стол (/workspace)

GET /authform

Описание: Страница формы входа Метод: GET Требует аутентификацию: Нет Ответ: HTML-форма входа

POST /auth

Описание: Аутентификация пользователя Метод: POST Требует аутентификацию: Нет Параметры:

Пример запроса:

{
"email": "user@example.com",
"password": "secret"
}

Успешный ответ:

{
"success": true,
"data": {
"user_id": 1,
"name": "Иван Иванов"
},
"message": "Успешный вход в систему"
}

Ошибки:

Рабочий стол

GET /workspace

Описание: Рабочий стол пользователя Метод: GET Требует аутентификацию: Да Права: Любой авторизованный пользователь Ответ: HTML-страница рабочего стола

Административная панель

GET /workspace/admin

Описание: Страница списка пользователей Метод: GET Требует аутентификацию: Да Права: Только администраторы Ответ: HTML-страница со списком пользователей

GET /workspace/admin/entity

Описание: Страница управления типами сущностей Метод: GET Требует аутентификацию: Да Права: Только администраторы Ответ: HTML-страница управления сущностями

GET /workspace/admin/modules

Описание: Страница управления модулями Метод: GET Требует аутентификацию: Да Права: Только администраторы Ответ: HTML-страница управления модулями

GET /workspace/admin/groups

Описание: Страница управления группами пользователей Метод: GET Требует аутентификацию: Да Права: Только администраторы Ответ: HTML-страница управления группами

Управление пользователями

POST /workspace/admin/create/user

Описание: Создание нового пользователя Метод: POST Требует аутентификацию: Да Права: Только администраторы Параметры:

Пример запроса:

{
"name": "Петр Петров",
"email": "petr@example.com",
"password": "secret123",
"post": "Менеджер"
}

Успешный ответ:

{
"success": true,
"data": {
"id": 2,
"name": "Петр Петров",
"email": "petr@example.com"
},
"message": "Пользователь успешно создан"
}

GET /workspace/admin/get/user/{uid}

Описание: Получение информации о пользователе Метод: GET Требует аутентификацию: Да Права: Только администраторы Параметры:

Ответ:

{
"success": true,
"data": {
"id": 1,
"name": "Иван Иванов",
"email": "ivan@example.com",
"appeal": "Уважаемый",
"primary_email": "ivan@company.com",
"primary_phone": "+79991234567",
"post": "Администратор",
"groups": [
{
"id": 1,
"name": "Администраторы"
}
]
}
}

GET /workspace/admin/get/user/groups/{uid}

Описание: Получение групп пользователя Метод: GET Требует аутентификацию: Да Права: Только администраторы Параметры:

Ответ:

{
"success": true,
"data": [
{
"id": 1,
"name": "Администраторы",
"access_right": 0
},
{
"id": 2,
"name": "Сотрудники",
"access_right": 1
}
]
}

POST /workspace/admin/update/user/{uid}

Описание: Обновление пользователя Метод: POST Требует аутентификацию: Да Права: Только администраторы Параметры:

Пример запроса:

{
"post": "Старший менеджер",
"primary_phone": "+79997654321"
}

Управление группами

POST /workspace/admin/create/group

Описание: Создание новой группы Метод: POST Требует аутентификацию: Да Права: Только администраторы Параметры:

Пример запроса:

{
"name": "Отдел продаж"
}

GET /workspace/admin/get/group/{uid}

Описание: Получение информации о группе Метод: GET Требует аутентификацию: Да Права: Только администраторы Параметры:

Ответ:

{
"success": true,
"data": {
"id": 3,
"name": "Отдел продаж",
"permissions": [
{
"entity_type_id": 3,
"access_right": 0
}
]
}
}

GET /workspace/admin/get/group/entities/{uid}

Описание: Получение сущностей группы Метод: GET Требует аутентификацию: Да Права: Только администраторы Параметры:

POST /workspace/admin/update/group/{uid}

Описание: Обновление группы Метод: POST Требует аутентификацию: Да Права: Только администраторы Параметры:

POST /workspace/admin/update/group/entity/{gid}/{etid}/{eid}/{access}

Описание: Обновление прав доступа группы к сущности Метод: POST Требует аутентификацию: Да Права: Только администраторы Параметры в URL:

GET /workspace/admin/get/group/entity/rule/{gid}/{etid}

Описание: Получение правила доступа группы к сущности Метод: GET Требует аутентификацию: Да Права: Только администраторы Параметры в URL:

DELETE /workspace/admin/delete/group/entity/rule/{gid}/{etid}/{eid}

Описание: Удаление правила доступа группы к сущности Метод: DELETE Требует аутентификацию: Да Права: Только администраторы Параметры в URL:

Управление модулями

GET /workspace/admin/module/install

Описание: Страница установки модуля Метод: GET Требует аутентификацию: Да Права: Только администраторы Ответ: HTML-страница выбора модуля для установки

GET /workspace/admin/module/remove

Описание: Страница удаления модуля Метод: GET Требует аутентификацию: Да Права: Только администраторы Ответ: HTML-страница выбора модуля для удаления

POST /workspace/admin/module/confirmInstall

Описание: Подтверждение установки модуля Метод: POST Требует аутентификацию: Да Права: Только администраторы Параметры:

Пример запроса:

{
"module_id": "SalesModule"
}

POST /workspace/admin/module/confirmRemove

Описание: Подтверждение удаления модуля Метод: POST Требует аутентификацию: Да Права: Только администраторы Параметры:

Пример запроса:

{
"module_id": "SalesModule"
}

Безопасность эндпоинтов

Защита от CSRF

Все POST-запросы требуют CSRF-токен, который автоматически включается в формы.

Ограничение частоты запросов

Система реализует ограничение частоты запросов для предотвращения злоупотреблений:

Валидация входных данных

Все входные данные проходят строгую валидацию:

Рекомендации по использованию

Для разработчиков

  1. Используйте HTTPS — все запросы должны выполняться по защищенному соединению
  2. Обрабатывайте ошибки — корректно обрабатывайте все возможные коды ошибок
  3. Кэшируйте ответы — для часто запрашиваемых данных
  4. Используйте пагинацию — для списков с большим количеством элементов

Для администраторов

  1. Ограничьте доступ — к административным эндпоинтам
  2. Мониторьте использование — API и эндпоинтов
  3. Регулярно обновляйте — систему и зависимости
  4. Настройте резервное копирование — перед массовыми операциями

Этот документ содержит полный список всех эндпоинтов Ultralight CRM. При разработке интеграций или модулей используйте эту документацию как основной источник информации.

SVSP
TECHNOLOGIES
Политика конфиденциальности
Политика конфиденциальности