API эндпоинты — help-backend
Документация по REST API сервиса технической поддержки.
Общая информация
- Базовый префикс:
/help(задаётся черезapp.setGlobalPrefix('help')вsrc/main.ts) - Swagger UI:
/api - Полный путь к любому эндпоинту:
http://<host>:<HELP_BACKEND_PORT>/help/<route> - CORS: включён для всех источников
Заголовки аутентификации
Идентификация пользователя выполняется через HTTP-заголовки (не через JWT). Константы определены в src/request/request.constant.ts:
| Заголовок | Назначение |
|---|---|
X-TS-USER |
ID текущего пользователя |
X-TS-SYSTEM |
Код системы (организации), к которой относится запрос |
Ниже у каждого эндпоинта указано, какие заголовки он использует.
1. App (/)
src/app.controller.ts
| Метод | Путь | Описание |
|---|---|---|
GET |
/help |
Hello-эндпоинт (smoke-проверка) |
2. Health (/health)
src/health/health.controller.ts
| Метод | Путь | Описание |
|---|---|---|
GET |
/help/health |
Проверка работоспособности (MongoDB + RabbitMQ через Terminus) |
3. Debug (/debug)
src/debug/debug.controller.ts
| Метод | Путь | Описание |
|---|---|---|
GET |
/help/debug/memory |
Статистика по памяти процесса и V8 heap |
GET |
/help/debug/heap-snapshot |
Снимок V8 heap (.heapsnapshot), отдаётся как файл |
4. User (/user)
src/user/controller/user.controller.ts
| Метод | Путь | Headers | Body | Описание |
|---|---|---|---|---|
POST |
/help/user |
— | CreateTechSupportUserDto |
Создать нового пользователя |
POST |
/help/user/:id/check |
— | UpdateTechSupportUserDto |
Проверить пользователя по id и обновить, если данные отличаются |
POST |
/help/user/:id |
— | UpdateTechSupportUserDto |
Обновить пользователя |
DELETE |
/help/user/:id |
— | — | Удалить пользователя |
GET |
/help/user/all |
— | — | Список всех пользователей |
GET |
/help/user/current-user |
X-TS-USER |
— | Реквизиты текущего пользователя |
GET |
/help/user/settings/:type |
X-TS-USER |
— | Получить настройки пользователя по типу |
POST |
/help/user/settings/:type |
X-TS-USER |
TechSupportUserCommandDto |
Сохранить настройки пользователя по типу |
GET |
/help/user/from-external-system/:systemCode |
— | — | Список пользователей из внешней системы |
GET |
/help/user/:id |
— | — | Получить пользователя по id |
5. System (/system)
src/system/controller/system.controller.ts
| Метод | Путь | Body | Описание |
|---|---|---|---|
POST |
/help/system |
CreateTechSupportSystemDto |
Создать систему |
POST |
/help/system/:id |
UpdateTechSupportSystemDto |
Обновить систему |
DELETE |
/help/system/:id |
— | Удалить систему |
GET |
/help/system/all |
— | Получить список всех систем |
6. Status (/status)
src/status/controller/status.controller.ts
:code — текстовый код статуса (например, OPENED).
| Метод | Путь | Body | Описание |
|---|---|---|---|
POST |
/help/status |
CreateTechSupportStatusDto |
Создать статус |
POST |
/help/status/:code |
UpdateTechSupportStatusDto |
Обновить статус |
DELETE |
/help/status/:code |
— | Удалить статус |
GET |
/help/status/all |
— | Список всех статусов |
7. Status Relation (/status-relation)
src/status-relation/controller/status-relation.controller.ts
Описывает разрешённые переходы между статусами заявок.
| Метод | Путь | Body | Описание |
|---|---|---|---|
POST |
/help/status-relation |
CreateTechSupportStatusRelationDto[] |
Массовое создание переходов |
POST |
/help/status-relation/:id |
UpdateTechSupportStatusRelationDto |
Обновить переход |
DELETE |
/help/status-relation/:id |
— | Удалить переход |
GET |
/help/status-relation/all |
— | Список всех переходов |
8. Request Type (/request-type)
src/request-type/controller/request-type.controller.ts
Категории (типы) обращений в ТП.
| Метод | Путь | Body | Описание |
|---|---|---|---|
GET |
/help/request-type |
— | Список всех типов |
GET |
/help/request-type/:id |
— | Получить тип по id |
POST |
/help/request-type |
CreateRequestTypeDto |
Создать тип |
PATCH |
/help/request-type/:id |
TechSupportRequestTypeResponseDto |
Обновить тип |
DELETE |
/help/request-type/:id |
— | Удалить тип (204) |
9. Request Priority (/request-priority)
src/request-priority/controller/request-priority.controller.ts
Приоритеты заявок.
| Метод | Путь | Body | Описание |
|---|---|---|---|
GET |
/help/request-priority |
— | Список приоритетов |
GET |
/help/request-priority/:id |
— | Получить приоритет по id |
POST |
/help/request-priority |
CreateRequestPriorityDto |
Создать приоритет |
PATCH |
/help/request-priority/:id |
UpdateRequestPriorityDto |
Обновить приоритет |
DELETE |
/help/request-priority/:id |
— | Удалить приоритет (204) |
10. Request (/request) — основной домен
src/request/controller/request.controller.ts
Тикеты ТП: списки, фильтры, комментарии, статусы, линии поддержки и исполнители. Большинство методов читают X-TS-USER и часть — X-TS-SYSTEM.
Списки и агрегаты
| Метод | Путь | Headers | Body | Описание |
|---|---|---|---|---|
POST |
/help/request/all |
X-TS-USER, X-TS-SYSTEM |
PaginatedParams |
Пагинированный список заявок по роли пользователя |
POST |
/help/request/fieldValues/:field |
X-TS-USER, X-TS-SYSTEM |
FiltratedParams |
Получить уникальные значения поля :field с учётом фильтров |
GET |
/help/request/history-count |
X-TS-USER, X-TS-SYSTEM |
— | Количество непрочитанных сообщений истории |
GET |
/help/request/read-all-history |
X-TS-USER, X-TS-SYSTEM |
— | Пометить всю историю пользователя прочитанной (204) |
POST |
/help/request/overdue |
X-TS-USER |
— | Запустить проверку просроченных заявок (204) |
CRUD заявки
| Метод | Путь | Headers | Body | Описание |
|---|---|---|---|---|
POST |
/help/request |
X-TS-USER, X-TS-SYSTEM |
multipart/form-data + CreateTechSupportRequestDto |
Создать заявку (с вложениями) |
POST |
/help/request/:id |
X-TS-USER |
multipart/form-data + UpdateTechSupportRequestDto |
Обновить заявку (с вложениями) |
DELETE |
/help/request/:id |
X-TS-USER |
— | Удалить заявку |
GET |
/help/request/:id |
X-TS-USER |
— | Получить заявку по id |
Комментарии
| Метод | Путь | Headers | Body | Описание |
|---|---|---|---|---|
POST |
/help/request/:id/comment |
X-TS-USER |
multipart/form-data + CreateTechSupportCommentDto |
Добавить комментарий (с вложениями) |
POST |
/help/request/:id/comment/:commentId |
X-TS-USER |
multipart/form-data + UpdateTechSupportCommentDto |
Обновить комментарий |
DELETE |
/help/request/:id/comment/:commentId |
X-TS-USER |
— | Удалить комментарий |
Статус, линия поддержки, исполнитель
| Метод | Путь | Headers | Body | Описание |
|---|---|---|---|---|
POST |
/help/request/:id/changeStatus |
X-TS-USER |
ChangeStatusTechSupportRequestDto |
Изменить статус заявки |
POST |
/help/request/:id/changeLine |
X-TS-USER |
ChangeLineTechSupportRequestDto |
Изменить линию ТП |
GET |
/help/request/:id/performer/list |
X-TS-USER, X-TS-SYSTEM |
— | Список доступных исполнителей текущей линии ТП |
POST |
/help/request/:id/performer |
X-TS-USER |
SetSupportLinePerformerTechSupportRequestDto |
Назначить исполнителя |
11. History (/history)
src/history/controller/history.controller.ts
Журнал изменений заявок.
| Метод | Путь | Headers | Описание |
|---|---|---|---|
GET |
/help/history/request/all |
X-TS-USER |
Вся история по всем доступным заявкам |
GET |
/help/history/request/:id |
X-TS-USER |
История по конкретной заявке |
12. Email (/email)
src/email/controller/email.controller.ts
| Метод | Путь | Описание |
|---|---|---|
POST |
/help/email/read |
Прочитать непрочитанные письма IMAP-ящика и создать на их основе заявки |
13. Email Rule (/email-rule)
src/email-rules/controller/email-rule.controller.ts
Правила маршрутизации входящих писем. Отдельные ресурсы — для самих правил (/), их видов (/kind) и типов (/type).
Виды правил (rule kinds)
| Метод | Путь | Body | Описание |
|---|---|---|---|
POST |
/help/email-rule/kind |
CreateTechSupportEmailRuleKindDto |
Создать вид правила |
GET |
/help/email-rule/kind |
— | Список видов |
GET |
/help/email-rule/kind/:id |
— | Получить вид по id |
PUT |
/help/email-rule/kind/:id |
UpdateTechSupportEmailRuleKindDto |
Обновить вид |
DELETE |
/help/email-rule/kind/:id |
— | Удалить вид |
Типы правил (rule types)
| Метод | Путь | Body | Описание |
|---|---|---|---|
POST |
/help/email-rule/type |
CreateTechSupportEmailRuleTypeDto |
Создать тип правила |
GET |
/help/email-rule/type |
— | Список типов |
GET |
/help/email-rule/type/:id |
— | Получить тип по id |
PUT |
/help/email-rule/type/:id |
UpdateTechSupportEmailRuleTypeDto |
Обновить тип |
DELETE |
/help/email-rule/type/:id |
— | Удалить тип |
Правила
| Метод | Путь | Body | Описание |
|---|---|---|---|
POST |
/help/email-rule |
CreateTechSupportEmailRuleDto |
Создать правило |
GET |
/help/email-rule |
— | Список правил |
GET |
/help/email-rule/:id |
— | Получить правило по id |
PUT |
/help/email-rule/:id |
UpdateTechSupportEmailRuleDto |
Обновить правило |
DELETE |
/help/email-rule/:id |
— | Удалить правило |
Загрузка файлов
Эндпоинты заявок и комментариев, которые принимают вложения, используют multipart/form-data (NestJS AnyFilesInterceptor). Имена файлов проходят через MulterFilenamePipe из src/utils/multer-filename.pipe.ts. В тело запроса можно передавать обычные DTO-поля параллельно с файлами.
Источник
Документация автоматически собрана из контроллеров проекта (src/**/*.controller.ts) на основе декораторов @Controller, @Get/@Post/@Patch/@Put/@Delete, @ApiOperation и используемых заголовков. Актуальная интерактивная версия с DTO-схемами доступна в Swagger UI по адресу /api.
25 мая 2026 г.