@hubex/mcp 0.8.20260919 → 0.9.20260922
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generated/index.dev.json +30 -30
- package/package.json +1 -1
- package/swagger/dev/ADM.json +380 -704
- package/swagger/dev/SC.json +1188 -1975
package/swagger/dev/ADM.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"BanReasons"
|
|
22
22
|
],
|
|
23
23
|
"summary": "Получить список причин блокировки пользователя",
|
|
24
|
-
"description": "## Пример запроса:\r\n\r\nGET /banreasons\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"VIOLATION\",\r\n \"name\": \"Нарушение правил\",\r\n \"description\": \"Пользователь нарушил правила использования системы\"\r\n },\r\n \"2\": {\r\n \"code\": \"INACTIVITY\",\r\n \"name\": \"Неактивность\",\r\n \"description\": \"Длительное отсутствие активности\"\r\n }\r\n}\r\n```\r\n \r\n##
|
|
24
|
+
"description": "## Пример запроса:\r\n\r\nGET /banreasons\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"VIOLATION\",\r\n \"name\": \"Нарушение правил\",\r\n \"description\": \"Пользователь нарушил правила использования системы\"\r\n },\r\n \"2\": {\r\n \"code\": \"INACTIVITY\",\r\n \"name\": \"Неактивность\",\r\n \"description\": \"Длительное отсутствие активности\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: причины не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `BanReasonsList`.",
|
|
25
25
|
"parameters": [
|
|
26
26
|
{
|
|
27
27
|
"name": "Range",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"Capabilities"
|
|
139
139
|
],
|
|
140
140
|
"summary": "Получить список возможностей работы с элементами интерфейса",
|
|
141
|
-
"description": "## Пример запроса:\r\n\r\nGET /capabilities\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"CAPABILITY_1\",\r\n \"name\": \"Возможность 1\",\r\n \"weightCoefficient\": 1
|
|
141
|
+
"description": "## Пример запроса:\r\n\r\nGET /capabilities\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"CAPABILITY_1\",\r\n \"name\": \"Возможность 1\",\r\n \"weightCoefficient\": 1\r\n },\r\n \"2\": {\r\n \"code\": \"CAPABILITY_2\",\r\n \"name\": \"Возможность 2\",\r\n \"weightCoefficient\": 2\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: возможности не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `CapabilitiesList`.",
|
|
142
142
|
"parameters": [
|
|
143
143
|
{
|
|
144
144
|
"name": "Range",
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
"DefaultPages"
|
|
256
256
|
],
|
|
257
257
|
"summary": "Получить список доступных стартовых страниц",
|
|
258
|
-
"description": "## Пример запроса:\r\n \r\nGET /defaultpages?applicationID=3\r\n \r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"code\": \"dashboard\",\r\n \"version\": null,\r\n \"nameRu\": \"Рабочий стол\",\r\n \"resourceID\": null,\r\n \"resourceNameRu\": null\r\n },\r\n {\r\n \"tenantID\": 1,\r\n \"code\": \"custom.package.code\",\r\n \"version\": \"1.0.0\",\r\n \"nameRu\": \"Пакетная стартовая страница\",\r\n \"resourceID\": 16,\r\n \"resourceNameRu\": \"Портал\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
258
|
+
"description": "## Пример запроса:\r\n \r\nGET /defaultpages?applicationID=3\r\n \r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"code\": \"dashboard\",\r\n \"version\": null,\r\n \"nameRu\": \"Рабочий стол\",\r\n \"resourceID\": null,\r\n \"resourceNameRu\": null\r\n },\r\n {\r\n \"tenantID\": 1,\r\n \"code\": \"custom.package.code\",\r\n \"version\": \"1.0.0\",\r\n \"nameRu\": \"Пакетная стартовая страница\",\r\n \"resourceID\": 16,\r\n \"resourceNameRu\": \"Портал\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: нет доступных страниц.\r\n- 400 BadRequest: некорректный query-параметр `applicationID`.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `DefaultPagesList`.",
|
|
259
259
|
"parameters": [
|
|
260
260
|
{
|
|
261
261
|
"name": "applicationID",
|
|
@@ -350,7 +350,7 @@
|
|
|
350
350
|
"GeolocationSettings"
|
|
351
351
|
],
|
|
352
352
|
"summary": "Получить список настроек точности сбора геокоординат",
|
|
353
|
-
"description": "## Пример запроса:\r\n\r\nGET /geolocationsettings/coordinateAccuracy\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"
|
|
353
|
+
"description": "## Пример запроса:\r\n\r\nGET /geolocationsettings/coordinateAccuracy\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"nameRu\": \"Высокая точность\",\r\n \"descriptionRu\": \"Точность до 5 метров\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameRu\": \"Средняя точность\",\r\n \"descriptionRu\": \"Точность до 50 метров\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: настройки не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `CoordinateAccuracyList`.",
|
|
354
354
|
"parameters": [
|
|
355
355
|
{
|
|
356
356
|
"name": "X-Application-ID",
|
|
@@ -432,7 +432,7 @@
|
|
|
432
432
|
"Invitations"
|
|
433
433
|
],
|
|
434
434
|
"summary": "Получить расширенную информацию о приглашении",
|
|
435
|
-
"description": "## Пример запроса:\r\n\r\nGET /invitations/123e4567-e89b-12d3-a456-426614174000\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"pinCode\": \"123456\",\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"isForSupport\": false,\r\n \"
|
|
435
|
+
"description": "## Пример запроса:\r\n\r\nGET /invitations/123e4567-e89b-12d3-a456-426614174000\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"pinCode\": \"123456\",\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"isPublic\": true,\r\n \"isForSupport\": false,\r\n \"allowSelfRegistration\": true,\r\n \"requiredSelfRegistration\": false,\r\n \"validFrom\": \"2025-01-01T00:00:00Z\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"allowRegisterWithoutVerification\": false,\r\n \"userTemplate\": {\r\n \"id\": 1,\r\n \"name\": \"Шаблон инженера\"\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `InvitationGet`.",
|
|
436
436
|
"parameters": [
|
|
437
437
|
{
|
|
438
438
|
"name": "id",
|
|
@@ -510,7 +510,7 @@
|
|
|
510
510
|
"Invitations"
|
|
511
511
|
],
|
|
512
512
|
"summary": "Удалить приглашение",
|
|
513
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /invitations/123e4567-e89b-12d3-a456-426614174000\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
513
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /invitations/123e4567-e89b-12d3-a456-426614174000\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `InvitationDelete`.",
|
|
514
514
|
"parameters": [
|
|
515
515
|
{
|
|
516
516
|
"name": "id",
|
|
@@ -573,7 +573,7 @@
|
|
|
573
573
|
"Invitations"
|
|
574
574
|
],
|
|
575
575
|
"summary": "Получить сокращенную информацию о приглашении",
|
|
576
|
-
"description": "## Пример запроса:\r\n\r\nGET /invitations/123e4567-e89b-12d3-a456-426614174000/short\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"isPublic\": true,\r\n \"allowSelfRegistration\": true,\r\n \"
|
|
576
|
+
"description": "## Пример запроса:\r\n\r\nGET /invitations/123e4567-e89b-12d3-a456-426614174000/short\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"isPublic\": true,\r\n \"allowSelfRegistration\": true,\r\n \"requiredSelfRegistration\": false,\r\n \"validFrom\": \"2025-01-01T00:00:00Z\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"allowRegisterWithoutVerification\": false,\r\n \"tenant\": {\r\n \"id\": 1,\r\n \"name\": \"Компания\"\r\n }\r\n}\r\n```\r\n\r\nЭтот метод доступен без аутентификации.",
|
|
577
577
|
"parameters": [
|
|
578
578
|
{
|
|
579
579
|
"name": "id",
|
|
@@ -642,7 +642,7 @@
|
|
|
642
642
|
"Invitations"
|
|
643
643
|
],
|
|
644
644
|
"summary": "Получить список всех приглашений тенанта",
|
|
645
|
-
"description": "## Пример запроса:\r\n\r\nGET /invitations?userTemplateID=1&userTemplateID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123e4567-e89b-12d3-a456-426614174000\": {\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n },\r\n \"223e4567-e89b-12d3-a456-426614174001\": {\r\n \"id\": \"223e4567-e89b-12d3-a456-426614174001\",\r\n \"description\": \"Приглашение для менеджера\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n }\r\n}\r\n```\r\n \r\n##
|
|
645
|
+
"description": "## Пример запроса:\r\n\r\nGET /invitations?userTemplateID=1&userTemplateID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123e4567-e89b-12d3-a456-426614174000\": {\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n },\r\n \"223e4567-e89b-12d3-a456-426614174001\": {\r\n \"id\": \"223e4567-e89b-12d3-a456-426614174001\",\r\n \"description\": \"Приглашение для менеджера\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: приглашения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `InvitationGet`.",
|
|
646
646
|
"parameters": [
|
|
647
647
|
{
|
|
648
648
|
"name": "Range",
|
|
@@ -766,7 +766,7 @@
|
|
|
766
766
|
"Invitations"
|
|
767
767
|
],
|
|
768
768
|
"summary": "Создать приглашения",
|
|
769
|
-
"description": "## Пример запроса:\r\n\r\nPOST /invitations\r\n\r\n```json\r\n[\r\n {\r\n \"userTemplateID\": 1,\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"
|
|
769
|
+
"description": "## Пример запроса:\r\n\r\nPOST /invitations\r\n\r\n```json\r\n[\r\n {\r\n \"userTemplateID\": 1,\r\n \"description\": \"Приглашение для нового сотрудника\",\r\n \"isPublic\": true,\r\n \"isForSupport\": false,\r\n \"allowSelfRegistration\": true,\r\n \"requiredSelfRegistration\": false,\r\n \"validFrom\": \"2025-01-01T00:00:00Z\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"allowRegisterWithoutVerification\": false\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"tenantID\": 1\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `InvitationAdd`.",
|
|
770
770
|
"parameters": [
|
|
771
771
|
{
|
|
772
772
|
"name": "X-Application-ID",
|
|
@@ -886,7 +886,7 @@
|
|
|
886
886
|
"Invitations"
|
|
887
887
|
],
|
|
888
888
|
"summary": "Обновить приглашения",
|
|
889
|
-
"description": "## Пример запроса:\r\n\r\nPUT /invitations\r\n\r\n```json\r\n[\r\n {\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"description\": \"Обновленное описание приглашения\",\r\n \"validTill\": \"2026-12-31T23:59:59Z\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
889
|
+
"description": "## Пример запроса:\r\n\r\nPUT /invitations\r\n\r\n```json\r\n[\r\n {\r\n \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"description\": \"Обновленное описание приглашения\",\r\n \"isPublic\": true,\r\n \"isForSupport\": false,\r\n \"allowSelfRegistration\": true,\r\n \"requiredSelfRegistration\": false,\r\n \"validFrom\": \"2025-01-01T00:00:00Z\",\r\n \"validTill\": \"2026-12-31T23:59:59Z\",\r\n \"allowRegisterWithoutVerification\": false\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `InvitationUpdate`.",
|
|
890
890
|
"parameters": [
|
|
891
891
|
{
|
|
892
892
|
"name": "X-Application-ID",
|
|
@@ -977,7 +977,7 @@
|
|
|
977
977
|
"Invitations"
|
|
978
978
|
],
|
|
979
979
|
"summary": "Удалить приглашения",
|
|
980
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /invitations\r\n\r\n```json\r\n[\r\n \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"223e4567-e89b-12d3-a456-426614174001\"\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
980
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /invitations\r\n\r\n```json\r\n[\r\n \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"223e4567-e89b-12d3-a456-426614174001\"\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `InvitationDelete`.",
|
|
981
981
|
"parameters": [
|
|
982
982
|
{
|
|
983
983
|
"name": "X-Application-ID",
|
|
@@ -1074,7 +1074,7 @@
|
|
|
1074
1074
|
"PermissionApiTags"
|
|
1075
1075
|
],
|
|
1076
1076
|
"summary": "Получить список тегов API-полномочий",
|
|
1077
|
-
"description": "## Пример запроса:\r\n\r\nGET /permissionapitags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionApiID\": 10,\r\n \"code\": \"TAG_1\",\r\n \"description\": \"Тег 1\"\r\n },\r\n {\r\n \"permissionApiID\": 11,\r\n \"code\": \"TAG_2\",\r\n \"description\": \"Тег 2\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n##
|
|
1077
|
+
"description": "## Пример запроса:\r\n\r\nGET /permissionapitags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionApiID\": 10,\r\n \"code\": \"TAG_1\",\r\n \"description\": \"Тег 1\"\r\n },\r\n {\r\n \"permissionApiID\": 11,\r\n \"code\": \"TAG_2\",\r\n \"description\": \"Тег 2\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: теги не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionApiTagList`.",
|
|
1078
1078
|
"parameters": [
|
|
1079
1079
|
{
|
|
1080
1080
|
"name": "Range",
|
|
@@ -1200,7 +1200,7 @@
|
|
|
1200
1200
|
"PermissionExtTags"
|
|
1201
1201
|
],
|
|
1202
1202
|
"summary": "Получить список тегов расширенных полномочий",
|
|
1203
|
-
"description": "## Пример запроса:\r\n\r\nGET /permissionexttags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionExtID\": 10,\r\n \"code\": \"TAG_1\",\r\n \"description\": \"Тег 1\"\r\n },\r\n {\r\n \"permissionExtID\": 11,\r\n \"code\": \"TAG_2\",\r\n \"description\": \"Тег 2\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n##
|
|
1203
|
+
"description": "## Пример запроса:\r\n\r\nGET /permissionexttags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionExtID\": 10,\r\n \"code\": \"TAG_1\",\r\n \"description\": \"Тег 1\"\r\n },\r\n {\r\n \"permissionExtID\": 11,\r\n \"code\": \"TAG_2\",\r\n \"description\": \"Тег 2\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: теги не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionExtTagList`.",
|
|
1204
1204
|
"parameters": [
|
|
1205
1205
|
{
|
|
1206
1206
|
"name": "Range",
|
|
@@ -1326,7 +1326,7 @@
|
|
|
1326
1326
|
"PermissionsApi"
|
|
1327
1327
|
],
|
|
1328
1328
|
"summary": "Получить список API-полномочий",
|
|
1329
|
-
"description": "## Пример запроса:\r\n\r\nGET /permissionsapi\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"USER_GET\",\r\n \"description\": \"Получение информации о пользователе\"\r\n },\r\n \"2\": {\r\n \"code\": \"USER_ADD\",\r\n \"description\": \"Добавление пользователя\"\r\n }\r\n}\r\n```\r\n \r\n##
|
|
1329
|
+
"description": "## Пример запроса:\r\n\r\nGET /permissionsapi\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"USER_GET\",\r\n \"description\": \"Получение информации о пользователе\"\r\n },\r\n \"2\": {\r\n \"code\": \"USER_ADD\",\r\n \"description\": \"Добавление пользователя\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: полномочия не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionsApiList`.",
|
|
1330
1330
|
"parameters": [
|
|
1331
1331
|
{
|
|
1332
1332
|
"name": "Range",
|
|
@@ -1443,7 +1443,7 @@
|
|
|
1443
1443
|
"PermissionsExt"
|
|
1444
1444
|
],
|
|
1445
1445
|
"summary": "Получить список расширенных полномочий",
|
|
1446
|
-
"description": "## Пример запроса:\r\n\r\nGET /permissionsext\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"EXT_FEATURE_1\",\r\n \"description\": \"Расширенное полномочие 1\"\r\n },\r\n \"2\": {\r\n \"code\": \"EXT_FEATURE_2\",\r\n \"description\": \"Расширенное полномочие 2\"\r\n }\r\n}\r\n```\r\n \r\n##
|
|
1446
|
+
"description": "## Пример запроса:\r\n\r\nGET /permissionsext\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"EXT_FEATURE_1\",\r\n \"description\": \"Расширенное полномочие 1\"\r\n },\r\n \"2\": {\r\n \"code\": \"EXT_FEATURE_2\",\r\n \"description\": \"Расширенное полномочие 2\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: полномочия не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionsExtList`.",
|
|
1447
1447
|
"parameters": [
|
|
1448
1448
|
{
|
|
1449
1449
|
"name": "Range",
|
|
@@ -1560,7 +1560,7 @@
|
|
|
1560
1560
|
"PermissionsUi"
|
|
1561
1561
|
],
|
|
1562
1562
|
"summary": "Получить данные UI полномочия",
|
|
1563
|
-
"description": "## Пример запроса:\r\n\r\nGET /permissionsui/1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"code\": \"UI_FEATURE_1\",\r\n \"description\": \"UI полномочие 1\",\r\n \"isSystem\": false,\r\n \"mustBeAssignedToRole\": true,\r\n \"allowReadonlyOnly\": false,\r\n \"allowRewritableOnly\": false,\r\n \"deleted\":
|
|
1563
|
+
"description": "## Пример запроса:\r\n\r\nGET /permissionsui/1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"code\": \"UI_FEATURE_1\",\r\n \"description\": \"UI полномочие 1\",\r\n \"isSystem\": false,\r\n \"mustBeAssignedToRole\": true,\r\n \"allowReadonlyOnly\": false,\r\n \"allowRewritableOnly\": false,\r\n \"deleted\": null\r\n}\r\n```\r\n\r\nМетод возвращает данные, включая помеченные как удаленные.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: полномочие не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionUiGet`.",
|
|
1564
1564
|
"parameters": [
|
|
1565
1565
|
{
|
|
1566
1566
|
"name": "id",
|
|
@@ -1641,7 +1641,7 @@
|
|
|
1641
1641
|
"PermissionsUi"
|
|
1642
1642
|
],
|
|
1643
1643
|
"summary": "Удалить UI полномочие",
|
|
1644
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /permissionsui/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
1644
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /permissionsui/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionUiDelete`.",
|
|
1645
1645
|
"parameters": [
|
|
1646
1646
|
{
|
|
1647
1647
|
"name": "id",
|
|
@@ -1704,7 +1704,7 @@
|
|
|
1704
1704
|
"PermissionsUi"
|
|
1705
1705
|
],
|
|
1706
1706
|
"summary": "Получить список UI полномочий",
|
|
1707
|
-
"description": "## Пример запроса:\r\n\r\nGET /permissionsui\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"UI_FEATURE_1\",\r\n \"description\": \"UI полномочие 1\",\r\n \"isSystem\": false\r\n },\r\n \"2\": {\r\n \"code\": \"UI_FEATURE_2\",\r\n \"description\": \"UI полномочие 2\",\r\n \"isSystem\": true\r\n }\r\n}\r\n```\r\n\r\nВозвращает только неудаленные полномочия.\r\n \r\n##
|
|
1707
|
+
"description": "## Пример запроса:\r\n\r\nGET /permissionsui\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"UI_FEATURE_1\",\r\n \"description\": \"UI полномочие 1\",\r\n \"isSystem\": false\r\n },\r\n \"2\": {\r\n \"code\": \"UI_FEATURE_2\",\r\n \"description\": \"UI полномочие 2\",\r\n \"isSystem\": true\r\n }\r\n}\r\n```\r\n\r\nВозвращает только неудаленные полномочия.\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: полномочия не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionUiList`.",
|
|
1708
1708
|
"parameters": [
|
|
1709
1709
|
{
|
|
1710
1710
|
"name": "Range",
|
|
@@ -1819,7 +1819,7 @@
|
|
|
1819
1819
|
"PermissionsUi"
|
|
1820
1820
|
],
|
|
1821
1821
|
"summary": "Создать UI полномочия",
|
|
1822
|
-
"description": "## Пример запроса:\r\n\r\nPOST /permissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"code\": \"UI_NEW_FEATURE\",\r\n \"description\": \"Новое UI полномочие\",\r\n \"mustBeAssignedToRole\": true\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[1]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
1822
|
+
"description": "## Пример запроса:\r\n\r\nPOST /permissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"code\": \"UI_NEW_FEATURE\",\r\n \"description\": \"Новое UI полномочие\",\r\n \"mustBeAssignedToRole\": true\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[1]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionUiAdd`.",
|
|
1823
1823
|
"parameters": [
|
|
1824
1824
|
{
|
|
1825
1825
|
"name": "X-Application-ID",
|
|
@@ -1939,7 +1939,7 @@
|
|
|
1939
1939
|
"PermissionsUi"
|
|
1940
1940
|
],
|
|
1941
1941
|
"summary": "Обновить UI полномочия",
|
|
1942
|
-
"description": "## Пример запроса:\r\n\r\nPUT /permissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"description\": \"Обновленное описание\",\r\n \"mustBeAssignedToRole\": false\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
1942
|
+
"description": "## Пример запроса:\r\n\r\nPUT /permissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"description\": \"Обновленное описание\",\r\n \"mustBeAssignedToRole\": false\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionUiUpdate`.",
|
|
1943
1943
|
"parameters": [
|
|
1944
1944
|
{
|
|
1945
1945
|
"name": "X-Application-ID",
|
|
@@ -2030,7 +2030,7 @@
|
|
|
2030
2030
|
"PermissionsUi"
|
|
2031
2031
|
],
|
|
2032
2032
|
"summary": "Удалить UI полномочия",
|
|
2033
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /permissionsui\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
2033
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /permissionsui\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `PermissionUiDelete`.",
|
|
2034
2034
|
"parameters": [
|
|
2035
2035
|
{
|
|
2036
2036
|
"name": "X-Application-ID",
|
|
@@ -2127,7 +2127,7 @@
|
|
|
2127
2127
|
"RoleApplications"
|
|
2128
2128
|
],
|
|
2129
2129
|
"summary": "Добавить или обновить приложения для ролей",
|
|
2130
|
-
"description": "## Пример запроса:\r\n\r\nPOST /roleapplications\r\n\r\n```json\r\n[\r\n {\r\n \"
|
|
2130
|
+
"description": "## Пример запроса:\r\n\r\nPOST /roleapplications\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"roleID\": 1,\r\n \"applicationID\": 10\r\n },\r\n {\r\n \"tenantID\": 1,\r\n \"roleID\": 1,\r\n \"applicationID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleApplicationMerge`.",
|
|
2131
2131
|
"parameters": [
|
|
2132
2132
|
{
|
|
2133
2133
|
"name": "X-Application-ID",
|
|
@@ -2244,7 +2244,7 @@
|
|
|
2244
2244
|
"RoleApplications"
|
|
2245
2245
|
],
|
|
2246
2246
|
"summary": "Удалить приложения для ролей",
|
|
2247
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /roleapplications\r\n\r\n```json\r\n[\r\n {\r\n \"
|
|
2247
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /roleapplications\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleApplicationDelete`.",
|
|
2248
2248
|
"parameters": [
|
|
2249
2249
|
{
|
|
2250
2250
|
"name": "X-Application-ID",
|
|
@@ -2337,7 +2337,7 @@
|
|
|
2337
2337
|
"RoleAttachments"
|
|
2338
2338
|
],
|
|
2339
2339
|
"summary": "Добавить роли для доступа к файлам",
|
|
2340
|
-
"description": "## Пример запроса:\r\n\r\nPOST /roleattachments\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 11\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
2340
|
+
"description": "## Пример запроса:\r\n\r\nPOST /roleattachments\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 11\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleAttachmentAdd`.",
|
|
2341
2341
|
"parameters": [
|
|
2342
2342
|
{
|
|
2343
2343
|
"name": "X-Application-ID",
|
|
@@ -2454,7 +2454,7 @@
|
|
|
2454
2454
|
"RoleAttachments"
|
|
2455
2455
|
],
|
|
2456
2456
|
"summary": "Удалить доступ ролей к файлам",
|
|
2457
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /roleattachments\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 10\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
2457
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /roleattachments\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attachmentID\": 10\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleAttachmentDelete`.",
|
|
2458
2458
|
"parameters": [
|
|
2459
2459
|
{
|
|
2460
2460
|
"name": "X-Application-ID",
|
|
@@ -2547,7 +2547,7 @@
|
|
|
2547
2547
|
"RolePermissionsApi"
|
|
2548
2548
|
],
|
|
2549
2549
|
"summary": "Создать связи роли с API-полномочиями",
|
|
2550
|
-
"description": "## Пример запроса:\r\n\r\nPOST /rolepermissionsapi\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"
|
|
2550
|
+
"description": "## Пример запроса:\r\n\r\nPOST /rolepermissionsapi\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"permissionApiID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"permissionApiID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionApiAdd`.",
|
|
2551
2551
|
"parameters": [
|
|
2552
2552
|
{
|
|
2553
2553
|
"name": "X-Application-ID",
|
|
@@ -2664,7 +2664,7 @@
|
|
|
2664
2664
|
"RolePermissionsApi"
|
|
2665
2665
|
],
|
|
2666
2666
|
"summary": "Удалить связи роли с API-полномочиями",
|
|
2667
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /rolepermissionsapi\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"
|
|
2667
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /rolepermissionsapi\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionApiDelete`.",
|
|
2668
2668
|
"parameters": [
|
|
2669
2669
|
{
|
|
2670
2670
|
"name": "X-Application-ID",
|
|
@@ -2757,7 +2757,7 @@
|
|
|
2757
2757
|
"RolePermissionsExt"
|
|
2758
2758
|
],
|
|
2759
2759
|
"summary": "Создать связи роли с Ext-полномочиями",
|
|
2760
|
-
"description": "## Пример запроса:\r\n\r\nPOST /rolepermissionsext\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"
|
|
2760
|
+
"description": "## Пример запроса:\r\n\r\nPOST /rolepermissionsext\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"permissionExtID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"permissionExtID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionExtAdd`.",
|
|
2761
2761
|
"parameters": [
|
|
2762
2762
|
{
|
|
2763
2763
|
"name": "X-Application-ID",
|
|
@@ -2874,7 +2874,7 @@
|
|
|
2874
2874
|
"RolePermissionsExt"
|
|
2875
2875
|
],
|
|
2876
2876
|
"summary": "Удалить связи роли с Ext-полномочиями",
|
|
2877
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /rolepermissionsext\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"
|
|
2877
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /rolepermissionsext\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionExtDelete`.",
|
|
2878
2878
|
"parameters": [
|
|
2879
2879
|
{
|
|
2880
2880
|
"name": "X-Application-ID",
|
|
@@ -2967,7 +2967,7 @@
|
|
|
2967
2967
|
"RolePermissionsUi"
|
|
2968
2968
|
],
|
|
2969
2969
|
"summary": "Создать связи роли с UI-полномочиями",
|
|
2970
|
-
"description": "## Пример запроса:\r\n\r\nPOST /rolepermissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"
|
|
2970
|
+
"description": "## Пример запроса:\r\n\r\nPOST /rolepermissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"capabilityID\": 1,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"permissionUiID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"permissionUiID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionUiAdd`.",
|
|
2971
2971
|
"parameters": [
|
|
2972
2972
|
{
|
|
2973
2973
|
"name": "X-Application-ID",
|
|
@@ -3084,7 +3084,7 @@
|
|
|
3084
3084
|
"RolePermissionsUi"
|
|
3085
3085
|
],
|
|
3086
3086
|
"summary": "Удалить связи роли с UI-полномочиями",
|
|
3087
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /rolepermissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"
|
|
3087
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /rolepermissionsui\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"capabilityID\": 1,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionUiDelete`.",
|
|
3088
3088
|
"parameters": [
|
|
3089
3089
|
{
|
|
3090
3090
|
"name": "X-Application-ID",
|
|
@@ -3177,7 +3177,7 @@
|
|
|
3177
3177
|
"Roles"
|
|
3178
3178
|
],
|
|
3179
3179
|
"summary": "Получить список приложений роли",
|
|
3180
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles/1/applications\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"applicationCode\": \"WEB\",\r\n \"applicationName\": \"Веб-приложение\"\r\n },\r\n \"2\": {\r\n \"applicationCode\": \"MOBILE\",\r\n \"applicationName\": \"Мобильное приложение\"\r\n }\r\n}\r\n```\r\n \r\n##
|
|
3180
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles/1/applications\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"applicationCode\": \"WEB\",\r\n \"applicationName\": \"Веб-приложение\"\r\n },\r\n \"2\": {\r\n \"applicationCode\": \"MOBILE\",\r\n \"applicationName\": \"Мобильное приложение\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: приложения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleApplicationList`.",
|
|
3181
3181
|
"parameters": [
|
|
3182
3182
|
{
|
|
3183
3183
|
"name": "roleID",
|
|
@@ -3304,7 +3304,7 @@
|
|
|
3304
3304
|
"Roles"
|
|
3305
3305
|
],
|
|
3306
3306
|
"summary": "Получить список вложенных файлов роли",
|
|
3307
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles/1/attachments\r\n\r\n## Пример успешного ответа:\r\n```json\r\n
|
|
3307
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles/1/attachments\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"fileName\": \"document.pdf\",\r\n \"description\": \"Документация\",\r\n \"isUploaded\": true,\r\n \"publicUrl\": \"https://example.com/files/document.pdf\",\r\n \"contentType\": \"application/pdf\"\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: файлы не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleAttachmentsList`.",
|
|
3308
3308
|
"parameters": [
|
|
3309
3309
|
{
|
|
3310
3310
|
"name": "roleID",
|
|
@@ -3431,7 +3431,7 @@
|
|
|
3431
3431
|
"Roles"
|
|
3432
3432
|
],
|
|
3433
3433
|
"summary": "Получить информацию о роли",
|
|
3434
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles/1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 1,\r\n \"name\": \"Администратор\",\r\n \"description\": \"Роль администратора системы\",\r\n \"deleted\":
|
|
3434
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles/1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 1,\r\n \"name\": \"Администратор\",\r\n \"description\": \"Роль администратора системы\",\r\n \"deleted\": null,\r\n \"systemRoles\": [\r\n {\r\n \"id\": 1,\r\n \"name\": \"Системный администратор\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: роль не найдена или удалена.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleGet`.",
|
|
3435
3435
|
"parameters": [
|
|
3436
3436
|
{
|
|
3437
3437
|
"name": "id",
|
|
@@ -3512,7 +3512,7 @@
|
|
|
3512
3512
|
"Roles"
|
|
3513
3513
|
],
|
|
3514
3514
|
"summary": "Удалить роль",
|
|
3515
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /roles/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
3515
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /roles/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleDelete`.",
|
|
3516
3516
|
"parameters": [
|
|
3517
3517
|
{
|
|
3518
3518
|
"name": "id",
|
|
@@ -3575,7 +3575,7 @@
|
|
|
3575
3575
|
"Roles"
|
|
3576
3576
|
],
|
|
3577
3577
|
"summary": "Получить список ролей тенанта",
|
|
3578
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles?isDeleted=false\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Администратор\",\r\n \"description\": \"Роль администратора системы\",\r\n \"deleted\":
|
|
3578
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles?isDeleted=false\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Администратор\",\r\n \"description\": \"Роль администратора системы\",\r\n \"deleted\": null,\r\n \"systemRoles\": [\r\n {\r\n \"id\": 1,\r\n \"name\": \"Системный администратор\"\r\n }\r\n ]\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Менеджер\",\r\n \"description\": \"Роль менеджера\",\r\n \"deleted\": null,\r\n \"systemRoles\": []\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: роли не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleList`.",
|
|
3579
3579
|
"parameters": [
|
|
3580
3580
|
{
|
|
3581
3581
|
"name": "Range",
|
|
@@ -3648,24 +3648,24 @@
|
|
|
3648
3648
|
"content": {
|
|
3649
3649
|
"text/plain": {
|
|
3650
3650
|
"schema": {
|
|
3651
|
-
"type": "
|
|
3652
|
-
"
|
|
3651
|
+
"type": "array",
|
|
3652
|
+
"items": {
|
|
3653
3653
|
"$ref": "#/components/schemas/RRGetResult"
|
|
3654
3654
|
}
|
|
3655
3655
|
}
|
|
3656
3656
|
},
|
|
3657
3657
|
"application/json": {
|
|
3658
3658
|
"schema": {
|
|
3659
|
-
"type": "
|
|
3660
|
-
"
|
|
3659
|
+
"type": "array",
|
|
3660
|
+
"items": {
|
|
3661
3661
|
"$ref": "#/components/schemas/RRGetResult"
|
|
3662
3662
|
}
|
|
3663
3663
|
}
|
|
3664
3664
|
},
|
|
3665
3665
|
"text/json": {
|
|
3666
3666
|
"schema": {
|
|
3667
|
-
"type": "
|
|
3668
|
-
"
|
|
3667
|
+
"type": "array",
|
|
3668
|
+
"items": {
|
|
3669
3669
|
"$ref": "#/components/schemas/RRGetResult"
|
|
3670
3670
|
}
|
|
3671
3671
|
}
|
|
@@ -3698,7 +3698,7 @@
|
|
|
3698
3698
|
"Roles"
|
|
3699
3699
|
],
|
|
3700
3700
|
"summary": "Создать роли",
|
|
3701
|
-
"description": "## Пример запроса:\r\n\r\nPOST /roles\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"Новая роль\",\r\n \"description\": \"Описание новой роли\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[1, 2]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
3701
|
+
"description": "## Пример запроса:\r\n\r\nPOST /roles\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"Новая роль\",\r\n \"description\": \"Описание новой роли\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[1, 2]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleAdd`.",
|
|
3702
3702
|
"parameters": [
|
|
3703
3703
|
{
|
|
3704
3704
|
"name": "X-Application-ID",
|
|
@@ -3835,7 +3835,7 @@
|
|
|
3835
3835
|
"Roles"
|
|
3836
3836
|
],
|
|
3837
3837
|
"summary": "Обновить роли",
|
|
3838
|
-
"description": "## Пример запроса:\r\n\r\nPUT /roles\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Обновленное название\",\r\n \"description\": \"Обновленное описание\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
3838
|
+
"description": "## Пример запроса:\r\n\r\nPUT /roles\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Обновленное название\",\r\n \"description\": \"Обновленное описание\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleUpdate`.",
|
|
3839
3839
|
"parameters": [
|
|
3840
3840
|
{
|
|
3841
3841
|
"name": "X-Application-ID",
|
|
@@ -3943,7 +3943,7 @@
|
|
|
3943
3943
|
"Roles"
|
|
3944
3944
|
],
|
|
3945
3945
|
"summary": "Удалить роли",
|
|
3946
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /roles\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
3946
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /roles\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleDelete`.",
|
|
3947
3947
|
"parameters": [
|
|
3948
3948
|
{
|
|
3949
3949
|
"name": "X-Application-ID",
|
|
@@ -4057,7 +4057,7 @@
|
|
|
4057
4057
|
"Roles"
|
|
4058
4058
|
],
|
|
4059
4059
|
"summary": "Копировать роли",
|
|
4060
|
-
"description": "## Пример запроса:\r\n\r\nPOST /roles/copy\r\n\r\n```json\r\n[\r\n {\r\n \"
|
|
4060
|
+
"description": "## Пример запроса:\r\n\r\nPOST /roles/copy\r\n\r\n```json\r\n[\r\n {\r\n \"copiedRoleID\": 1,\r\n \"name\": \"Копия роли администратора\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[3]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleAdd`.",
|
|
4061
4061
|
"parameters": [
|
|
4062
4062
|
{
|
|
4063
4063
|
"name": "X-Application-ID",
|
|
@@ -4196,7 +4196,7 @@
|
|
|
4196
4196
|
"Roles"
|
|
4197
4197
|
],
|
|
4198
4198
|
"summary": "Получить список расширений роли",
|
|
4199
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles/1/packages?searchText=модуль\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\":
|
|
4199
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles/1/packages?searchText=модуль\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\",\r\n \"packageName\": \"Модуль отчетности\",\r\n \"isEnabled\": true,\r\n \"resource\": {\r\n \"id\": 1,\r\n \"code\": \"WEB\",\r\n \"name\": \"Web интерфейс\"\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: расширения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageList`.",
|
|
4200
4200
|
"parameters": [
|
|
4201
4201
|
{
|
|
4202
4202
|
"name": "roleID",
|
|
@@ -4338,7 +4338,7 @@
|
|
|
4338
4338
|
"Roles"
|
|
4339
4339
|
],
|
|
4340
4340
|
"summary": "Добавить расширения к роли",
|
|
4341
|
-
"description": "## Пример запроса:\r\n\r\nPOST /roles/1/packages\r\n\r\n```json\r\n[\r\n {\r\n \"packageID\": 10,\r\n \"packageVersion\": \"1.0.0\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"id\": 5,\r\n \"packageID\": 10,\r\n \"packageVersion\": \"1.0.0\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
4341
|
+
"description": "## Пример запроса:\r\n\r\nPOST /roles/1/packages\r\n\r\n```json\r\n[\r\n {\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\",\r\n \"isEnabled\": true\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"id\": 5,\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageAdd`.",
|
|
4342
4342
|
"parameters": [
|
|
4343
4343
|
{
|
|
4344
4344
|
"name": "roleID",
|
|
@@ -4465,7 +4465,7 @@
|
|
|
4465
4465
|
"Roles"
|
|
4466
4466
|
],
|
|
4467
4467
|
"summary": "Удалить расширения роли",
|
|
4468
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /roles/1/packages\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
4468
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /roles/1/packages\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageDelete`.",
|
|
4469
4469
|
"parameters": [
|
|
4470
4470
|
{
|
|
4471
4471
|
"name": "roleID",
|
|
@@ -4572,7 +4572,7 @@
|
|
|
4572
4572
|
"Roles"
|
|
4573
4573
|
],
|
|
4574
4574
|
"summary": "Активировать расширения роли",
|
|
4575
|
-
"description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/activate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
4575
|
+
"description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/activate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageActivate`.",
|
|
4576
4576
|
"parameters": [
|
|
4577
4577
|
{
|
|
4578
4578
|
"name": "roleID",
|
|
@@ -4679,7 +4679,7 @@
|
|
|
4679
4679
|
"Roles"
|
|
4680
4680
|
],
|
|
4681
4681
|
"summary": "Деактивировать расширения роли",
|
|
4682
|
-
"description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/deactivate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
4682
|
+
"description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/deactivate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageDeactivate`.",
|
|
4683
4683
|
"parameters": [
|
|
4684
4684
|
{
|
|
4685
4685
|
"name": "roleID",
|
|
@@ -4786,7 +4786,7 @@
|
|
|
4786
4786
|
"Roles"
|
|
4787
4787
|
],
|
|
4788
4788
|
"summary": "Получить список API-полномочий роли",
|
|
4789
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles/1/permissionsApi?isCheckedPermission=true\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionApiID\": 1,\r\n \"code\": \"USER_VIEW\",\r\n \"description\": \"Просмотр пользователей\",\r\n \"isChecked\": true,\r\n \"systemTag\": {\r\n \"
|
|
4789
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles/1/permissionsApi?isCheckedPermission=true\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionApiID\": 1,\r\n \"code\": \"USER_VIEW\",\r\n \"description\": \"Просмотр пользователей\",\r\n \"isChecked\": true,\r\n \"systemTag\": {\r\n \"id\": 1,\r\n \"name\": \"Управление пользователями\"\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: полномочия не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionApiList`.",
|
|
4790
4790
|
"parameters": [
|
|
4791
4791
|
{
|
|
4792
4792
|
"name": "roleID",
|
|
@@ -4938,7 +4938,7 @@
|
|
|
4938
4938
|
"Roles"
|
|
4939
4939
|
],
|
|
4940
4940
|
"summary": "Получить список Ext-полномочий роли",
|
|
4941
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles/1/permissionsExt?isCheckedPermission=true\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionExtID\": 1,\r\n \"code\": \"TASK_ASSIGN\",\r\n \"description\": \"Назначение заявок\",\r\n \"isChecked\": true,\r\n \"systemTag\": {\r\n \"
|
|
4941
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles/1/permissionsExt?isCheckedPermission=true\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionExtID\": 1,\r\n \"code\": \"TASK_ASSIGN\",\r\n \"description\": \"Назначение заявок\",\r\n \"isChecked\": true,\r\n \"systemTag\": {\r\n \"id\": 1,\r\n \"name\": \"Управление заявками\"\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: полномочия не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionExtList`.",
|
|
4942
4942
|
"parameters": [
|
|
4943
4943
|
{
|
|
4944
4944
|
"name": "roleID",
|
|
@@ -5090,7 +5090,7 @@
|
|
|
5090
5090
|
"Roles"
|
|
5091
5091
|
],
|
|
5092
5092
|
"summary": "Получить список UI-полномочий роли",
|
|
5093
|
-
"description": "## Пример запроса:\r\n\r\nGET /roles/1/permissionsUi?isCheckedPermission=true\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionUiID\": 1,\r\n \"capabilityID\": 1,\r\n \"code\": \"USER_VIEW\",\r\n \"description\": \"Просмотр пользователей\",\r\n \"isChecked\": true,\r\n \"isSystem\": false,\r\n \"systemTag\": {\r\n \"
|
|
5093
|
+
"description": "## Пример запроса:\r\n\r\nGET /roles/1/permissionsUi?isCheckedPermission=true\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionUiID\": 1,\r\n \"capabilityID\": 1,\r\n \"code\": \"USER_VIEW\",\r\n \"description\": \"Просмотр пользователей\",\r\n \"isChecked\": true,\r\n \"isSystem\": false,\r\n \"systemTag\": {\r\n \"id\": 1,\r\n \"name\": \"Управление пользователями\"\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: полномочия не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePermissionUiList`.",
|
|
5094
5094
|
"parameters": [
|
|
5095
5095
|
{
|
|
5096
5096
|
"name": "roleID",
|
|
@@ -5251,7 +5251,7 @@
|
|
|
5251
5251
|
"RoleTaskListQueries"
|
|
5252
5252
|
],
|
|
5253
5253
|
"summary": "Добавить сохраненные запросы заявок для роли",
|
|
5254
|
-
"description": "## Пример запроса:\r\n\r\nPOST /roletasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 11\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
5254
|
+
"description": "## Пример запроса:\r\n\r\nPOST /roletasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 11\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 10\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 11\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleTaskListQueryAdd`.",
|
|
5255
5255
|
"parameters": [
|
|
5256
5256
|
{
|
|
5257
5257
|
"name": "X-Application-ID",
|
|
@@ -5368,7 +5368,7 @@
|
|
|
5368
5368
|
"RoleTaskListQueries"
|
|
5369
5369
|
],
|
|
5370
5370
|
"summary": "Удалить сохраненные запросы заявок у роли",
|
|
5371
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /roletasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 10\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
5371
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /roletasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"taskListQueryID\": 10\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleTaskListQueryDelete`.",
|
|
5372
5372
|
"parameters": [
|
|
5373
5373
|
{
|
|
5374
5374
|
"name": "X-Application-ID",
|
|
@@ -5461,7 +5461,7 @@
|
|
|
5461
5461
|
"RoleTaskPropertiesAccess"
|
|
5462
5462
|
],
|
|
5463
5463
|
"summary": "Добавить настройки доступности атрибутов задач для ролей",
|
|
5464
|
-
"description": "## Пример запроса:\r\n\r\nPOST /roletaskpropertiesaccess/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 10,\r\n \"isAccessable\": true
|
|
5464
|
+
"description": "## Пример запроса:\r\n\r\nPOST /roletaskpropertiesaccess/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 10,\r\n \"isAccessable\": true\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleTaskAttributeAccessAdd`.",
|
|
5465
5465
|
"parameters": [
|
|
5466
5466
|
{
|
|
5467
5467
|
"name": "X-Application-ID",
|
|
@@ -5552,7 +5552,7 @@
|
|
|
5552
5552
|
"RoleTaskPropertiesAccess"
|
|
5553
5553
|
],
|
|
5554
5554
|
"summary": "Обновить настройки доступности атрибутов задач для ролей",
|
|
5555
|
-
"description": "## Пример запроса:\r\n\r\nPUT /roletaskpropertiesaccess/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 10,\r\n \"isAccessable\": false
|
|
5555
|
+
"description": "## Пример запроса:\r\n\r\nPUT /roletaskpropertiesaccess/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 10,\r\n \"isAccessable\": false\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleTaskAttributeAccessUpdate`.",
|
|
5556
5556
|
"parameters": [
|
|
5557
5557
|
{
|
|
5558
5558
|
"name": "X-Application-ID",
|
|
@@ -5643,7 +5643,7 @@
|
|
|
5643
5643
|
"RoleTaskPropertiesAccess"
|
|
5644
5644
|
],
|
|
5645
5645
|
"summary": "Получить настройки доступности атрибутов задач для ролей",
|
|
5646
|
-
"description": "## Пример запроса:\r\n\r\nGET /roletaskpropertiesaccess/attributes?roleID=1&roleID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 10,\r\n \"isAccessable\": true,\r\n \"isDefault\": false\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 11,\r\n \"isAccessable\": false,\r\n \"isDefault\": true\r\n }\r\n]\r\n```\r\n \r\n##
|
|
5646
|
+
"description": "## Пример запроса:\r\n\r\nGET /roletaskpropertiesaccess/attributes?roleID=1&roleID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 10,\r\n \"isAccessable\": true,\r\n \"isDefault\": false\r\n },\r\n {\r\n \"roleID\": 1,\r\n \"attributeID\": 11,\r\n \"isAccessable\": false,\r\n \"isDefault\": true\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: по заданным фильтрам записи не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RoleTaskAttributeAccessList`.",
|
|
5647
5647
|
"parameters": [
|
|
5648
5648
|
{
|
|
5649
5649
|
"name": "Range",
|
|
@@ -5769,7 +5769,7 @@
|
|
|
5769
5769
|
"SystemPermissionUiTags"
|
|
5770
5770
|
],
|
|
5771
5771
|
"summary": "Получить список тегов системных UI-полномочий",
|
|
5772
|
-
"description": "## Пример запроса:\r\n\r\nGET /systempermissionuitags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionUiID\": 10,\r\n \"code\": \"TAG_1\",\r\n \"description\": \"Тег 1\"\r\n },\r\n {\r\n \"permissionUiID\": 11,\r\n \"code\": \"TAG_2\",\r\n \"description\": \"Тег 2\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n##
|
|
5772
|
+
"description": "## Пример запроса:\r\n\r\nGET /systempermissionuitags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"permissionUiID\": 10,\r\n \"code\": \"TAG_1\",\r\n \"description\": \"Тег 1\"\r\n },\r\n {\r\n \"permissionUiID\": 11,\r\n \"code\": \"TAG_2\",\r\n \"description\": \"Тег 2\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: теги не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `SystemPermissionUiTagList`.",
|
|
5773
5773
|
"parameters": [
|
|
5774
5774
|
{
|
|
5775
5775
|
"name": "Range",
|
|
@@ -5895,7 +5895,7 @@
|
|
|
5895
5895
|
"TenantCreationRequests"
|
|
5896
5896
|
],
|
|
5897
5897
|
"summary": "Получить запрос на создание тенанта",
|
|
5898
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantcreationrequests/abc123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": \"abc123\",\r\n \"approved\": null,\r\n \"processed\": null,\r\n \"created\": \"2024-01-15T10:00:00Z\",\r\n \"rejected\": null,\r\n \"rejectionReason\": null,\r\n \"tenant\": null\r\n}\r\n```\r\n\r\nЭтот метод доступен без
|
|
5898
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantcreationrequests/abc123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": \"abc123\",\r\n \"approved\": null,\r\n \"processed\": null,\r\n \"created\": \"2024-01-15T10:00:00Z\",\r\n \"rejected\": null,\r\n \"rejectionReason\": null,\r\n \"tenant\": null\r\n}\r\n```\r\n\r\nЭтот метод доступен без аутентификации.",
|
|
5899
5899
|
"parameters": [
|
|
5900
5900
|
{
|
|
5901
5901
|
"name": "id",
|
|
@@ -5963,7 +5963,7 @@
|
|
|
5963
5963
|
"TenantCreationRequests"
|
|
5964
5964
|
],
|
|
5965
5965
|
"summary": "Создать запрос на создание тенанта",
|
|
5966
|
-
"description": "## Пример запроса:\r\n\r\nPOST /tenantcreationrequests\r\n\r\n```json\r\n{\r\n \"
|
|
5966
|
+
"description": "## Пример запроса:\r\n\r\nPOST /tenantcreationrequests\r\n\r\n```json\r\n{\r\n \"accountID\": 456,\r\n \"tenantName\": \"Новая компания\",\r\n \"tenantUriName\": \"new-company\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": \"abc123\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
5967
5967
|
"parameters": [
|
|
5968
5968
|
{
|
|
5969
5969
|
"name": "X-Application-ID",
|
|
@@ -6061,7 +6061,7 @@
|
|
|
6061
6061
|
"TenantCreationRequests"
|
|
6062
6062
|
],
|
|
6063
6063
|
"summary": "Утвердить запрос на создание тенанта",
|
|
6064
|
-
"description": "## Пример запроса:\r\n\r\nPUT /tenantcreationrequests/abc123/approve\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\nДоступно только для кросс-тенантных администраторов.\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
6064
|
+
"description": "## Пример запроса:\r\n\r\nPUT /tenantcreationrequests/abc123/approve\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\nДоступно только для кросс-тенантных администраторов.\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: некорректный идентификатор запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
6065
6065
|
"parameters": [
|
|
6066
6066
|
{
|
|
6067
6067
|
"name": "id",
|
|
@@ -6126,7 +6126,7 @@
|
|
|
6126
6126
|
"TenantCreationRequests"
|
|
6127
6127
|
],
|
|
6128
6128
|
"summary": "Отклонить запрос на создание тенанта",
|
|
6129
|
-
"description": "## Пример запроса:\r\n\r\nPUT /tenantcreationrequests/abc123/reject\r\n\r\n```json\r\n{\r\n \"
|
|
6129
|
+
"description": "## Пример запроса:\r\n\r\nPUT /tenantcreationrequests/abc123/reject\r\n\r\n```json\r\n{\r\n \"id\": \"abc123\",\r\n \"reason\": \"Недостаточно информации для создания тенанта\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\nДоступно только для кросс-тенантных администраторов.\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
6130
6130
|
"parameters": [
|
|
6131
6131
|
{
|
|
6132
6132
|
"name": "id",
|
|
@@ -6216,7 +6216,7 @@
|
|
|
6216
6216
|
"TenantMembers"
|
|
6217
6217
|
],
|
|
6218
6218
|
"summary": "Получить данные члена тенанта",
|
|
6219
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"accountID\": 456,\r\n \"userID\": 789,\r\n \"
|
|
6219
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"accountID\": 456,\r\n \"userID\": 789,\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"description\": \"Основной член тенанта\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberGet`.",
|
|
6220
6220
|
"parameters": [
|
|
6221
6221
|
{
|
|
6222
6222
|
"name": "tenantMemberID",
|
|
@@ -6281,35 +6281,6 @@
|
|
|
6281
6281
|
}
|
|
6282
6282
|
}
|
|
6283
6283
|
}
|
|
6284
|
-
},
|
|
6285
|
-
"500": {
|
|
6286
|
-
"description": "Внутренняя ошибка сервера",
|
|
6287
|
-
"content": {
|
|
6288
|
-
"text/plain": {
|
|
6289
|
-
"schema": {
|
|
6290
|
-
"type": "array",
|
|
6291
|
-
"items": {
|
|
6292
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
6293
|
-
}
|
|
6294
|
-
}
|
|
6295
|
-
},
|
|
6296
|
-
"application/json": {
|
|
6297
|
-
"schema": {
|
|
6298
|
-
"type": "array",
|
|
6299
|
-
"items": {
|
|
6300
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
6301
|
-
}
|
|
6302
|
-
}
|
|
6303
|
-
},
|
|
6304
|
-
"text/json": {
|
|
6305
|
-
"schema": {
|
|
6306
|
-
"type": "array",
|
|
6307
|
-
"items": {
|
|
6308
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
6309
|
-
}
|
|
6310
|
-
}
|
|
6311
|
-
}
|
|
6312
|
-
}
|
|
6313
6284
|
}
|
|
6314
6285
|
},
|
|
6315
6286
|
"security": [
|
|
@@ -6323,7 +6294,7 @@
|
|
|
6323
6294
|
"TenantMembers"
|
|
6324
6295
|
],
|
|
6325
6296
|
"summary": "Удалить члена тенанта",
|
|
6326
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenantmembers/123\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
6297
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenantmembers/123\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberDelete`.",
|
|
6327
6298
|
"parameters": [
|
|
6328
6299
|
{
|
|
6329
6300
|
"name": "tenantMemberID",
|
|
@@ -6386,7 +6357,7 @@
|
|
|
6386
6357
|
"TenantMembers"
|
|
6387
6358
|
],
|
|
6388
6359
|
"summary": "Получить данные текущего члена тенанта",
|
|
6389
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/this\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"accountID\": 456,\r\n \"userID\": 789,\r\n \"description\": \"Основной член тенанта\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
6360
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/this\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"accountID\": 456,\r\n \"userID\": 789,\r\n \"description\": \"Основной член тенанта\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberGet`.",
|
|
6390
6361
|
"parameters": [
|
|
6391
6362
|
{
|
|
6392
6363
|
"name": "X-Application-ID",
|
|
@@ -6456,7 +6427,7 @@
|
|
|
6456
6427
|
"TenantMembers"
|
|
6457
6428
|
],
|
|
6458
6429
|
"summary": "Получить список членов тенанта",
|
|
6459
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers?userID=789&accountID=456\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"id\": 123,\r\n \"
|
|
6430
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers?userID=789&accountID=456\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"id\": 123,\r\n \"description\": \"Основной член тенанта\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"account\": {\r\n \"id\": 456,\r\n \"email\": \"user@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"login\": \"username\",\r\n \"ban\": null\r\n },\r\n \"user\": {\r\n \"id\": 789,\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"ban\": null\r\n },\r\n \"tokens\": null\r\n },\r\n \"124\": {\r\n \"id\": 124,\r\n \"description\": \"Дополнительный член тенанта\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"account\": {\r\n \"id\": 457,\r\n \"email\": \"user2@example.com\",\r\n \"mobilePhone\": \"+79991234568\",\r\n \"login\": \"username2\",\r\n \"ban\": null\r\n },\r\n \"user\": {\r\n \"id\": 790,\r\n \"firstName\": \"Пётр\",\r\n \"middleName\": null,\r\n \"lastName\": \"Петров\",\r\n \"ban\": null\r\n },\r\n \"tokens\": null\r\n }\r\n}\r\n```\r\n\r\nЕсли фильтр не указан, возвращается список пользователей, с которыми ассоциирована учетная запись текущего члена тенанта.\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: члены не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberList`.",
|
|
6460
6431
|
"parameters": [
|
|
6461
6432
|
{
|
|
6462
6433
|
"name": "Range",
|
|
@@ -6571,7 +6542,7 @@
|
|
|
6571
6542
|
"TenantMembers"
|
|
6572
6543
|
],
|
|
6573
6544
|
"summary": "Создать члена тенанта",
|
|
6574
|
-
"description": "## Пример запроса:\r\n\r\nPOST /tenantmembers\r\n\r\n```json\r\n[\r\n {\r\n \"accountID\": 456,\r\n \"userID\": 789,\r\n \"description\": \"Новый член тенанта\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[123]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
6545
|
+
"description": "## Пример запроса:\r\n\r\nPOST /tenantmembers\r\n\r\n```json\r\n[\r\n {\r\n \"accountID\": 456,\r\n \"userID\": 789,\r\n \"description\": \"Новый член тенанта\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[123]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberAdd`.",
|
|
6575
6546
|
"parameters": [
|
|
6576
6547
|
{
|
|
6577
6548
|
"name": "X-Application-ID",
|
|
@@ -6691,7 +6662,7 @@
|
|
|
6691
6662
|
"TenantMembers"
|
|
6692
6663
|
],
|
|
6693
6664
|
"summary": "Обновить данные члена тенанта",
|
|
6694
|
-
"description": "## Пример запроса:\r\n\r\nPUT /tenantmembers\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 123,\r\n \"description\": \"Обновленное описание\",\r\n \"validTill\": \"2026-12-31T23:59:59Z\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
6665
|
+
"description": "## Пример запроса:\r\n\r\nPUT /tenantmembers\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 123,\r\n \"description\": \"Обновленное описание\",\r\n \"validTill\": \"2026-12-31T23:59:59Z\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberUpdate`.",
|
|
6695
6666
|
"parameters": [
|
|
6696
6667
|
{
|
|
6697
6668
|
"name": "X-Application-ID",
|
|
@@ -6782,7 +6753,7 @@
|
|
|
6782
6753
|
"TenantMembers"
|
|
6783
6754
|
],
|
|
6784
6755
|
"summary": "Удалить членов тенанта",
|
|
6785
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenantmembers\r\n\r\n```json\r\n[123, 124, 125]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
6756
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenantmembers\r\n\r\n```json\r\n[123, 124, 125]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberDelete`.",
|
|
6786
6757
|
"parameters": [
|
|
6787
6758
|
{
|
|
6788
6759
|
"name": "X-Application-ID",
|
|
@@ -6879,7 +6850,7 @@
|
|
|
6879
6850
|
"TenantMembers"
|
|
6880
6851
|
],
|
|
6881
6852
|
"summary": "Получить пользователя API в текущем тенанте",
|
|
6882
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/apiUser\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"
|
|
6853
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/apiUser\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"description\": \"API пользователь\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"account\": {\r\n \"id\": 456,\r\n \"email\": \"api@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"login\": \"apiuser\",\r\n \"ban\": null\r\n },\r\n \"user\": {\r\n \"id\": 789,\r\n \"firstName\": \"API\",\r\n \"middleName\": null,\r\n \"lastName\": \"User\",\r\n \"ban\": null\r\n },\r\n \"tokens\": null\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: API пользователь не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberGet`.",
|
|
6883
6854
|
"parameters": [
|
|
6884
6855
|
{
|
|
6885
6856
|
"name": "X-Application-ID",
|
|
@@ -6952,7 +6923,7 @@
|
|
|
6952
6923
|
"TenantMembers"
|
|
6953
6924
|
],
|
|
6954
6925
|
"summary": "Получить анонимного пользователя в текущем тенанте",
|
|
6955
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/anonymousUser\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"
|
|
6926
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantmembers/anonymousUser\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 123,\r\n \"description\": \"Анонимный пользователь\",\r\n \"validTill\": \"2025-12-31T23:59:59Z\",\r\n \"account\": {\r\n \"id\": 456,\r\n \"email\": \"anonymous@example.com\",\r\n \"mobilePhone\": null,\r\n \"login\": \"anonymous\",\r\n \"ban\": null\r\n },\r\n \"user\": {\r\n \"id\": 789,\r\n \"firstName\": \"Anonymous\",\r\n \"middleName\": null,\r\n \"lastName\": \"User\",\r\n \"ban\": null\r\n },\r\n \"tokens\": null\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: анонимный пользователь не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantMemberGet`.",
|
|
6956
6927
|
"parameters": [
|
|
6957
6928
|
{
|
|
6958
6929
|
"name": "X-Application-ID",
|
|
@@ -7025,7 +6996,7 @@
|
|
|
7025
6996
|
"Tenants"
|
|
7026
6997
|
],
|
|
7027
6998
|
"summary": "Получить данные текущего тенанта",
|
|
7028
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants/this\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 1,\r\n \"name\": \"Моя компания\",\r\n \"uriName\": \"my-company\",\r\n \"fullName\": \"ООО Моя компания\",\r\n \"owner\": {\r\n \"tenantMemberID\": 1,\r\n \"userID\": 123,\r\n \"accountID\": 456\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
6999
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants/this\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 1,\r\n \"name\": \"Моя компания\",\r\n \"uriName\": \"my-company\",\r\n \"fullName\": \"ООО Моя компания\",\r\n \"owner\": {\r\n \"tenantMemberID\": 1,\r\n \"userID\": 123,\r\n \"accountID\": 456,\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"middleName\": \"Петрович\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"email\": \"owner@example.com\"\r\n },\r\n \"paymentInfo\": {\r\n \"payer\": \"ООО Моя компания\",\r\n \"tin\": \"1234567890\",\r\n \"iec\": \"123456789\",\r\n \"lawAddress\": \"г. Москва, ул. Примерная, д. 1\",\r\n \"postAddress\": \"г. Москва, ул. Примерная, д. 1\",\r\n \"phone\": \"+74951234567\",\r\n \"email\": \"accounting@example.com\",\r\n \"contactPerson\": \"Иванов Иван Петрович\",\r\n \"bic\": \"044525225\",\r\n \"bankName\": \"ПАО Сбербанк\",\r\n \"correspondingAccount\": \"30101810400000000225\",\r\n \"checkingAccount\": \"40702810100000000001\"\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantGet`.",
|
|
7029
7000
|
"parameters": [
|
|
7030
7001
|
{
|
|
7031
7002
|
"name": "X-Application-ID",
|
|
@@ -7095,7 +7066,7 @@
|
|
|
7095
7066
|
"Tenants"
|
|
7096
7067
|
],
|
|
7097
7068
|
"summary": "Получить список тенантов",
|
|
7098
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Моя компания\",\r\n \"uriName\": \"my-company\",\r\n \"banned\": null,\r\n \"owner\": {\r\n \"
|
|
7069
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Моя компания\",\r\n \"uriName\": \"my-company\",\r\n \"fullName\": \"ООО Моя компания\",\r\n \"banned\": null,\r\n \"owner\": {\r\n \"id\": 1,\r\n \"accountID\": 456,\r\n \"description\": \"Владелец тенанта\",\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"middleName\": \"Петрович\"\r\n },\r\n \"tenantMembers\": [\r\n {\r\n \"id\": 1,\r\n \"accountID\": 456,\r\n \"description\": \"Владелец тенанта\",\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"middleName\": \"Петрович\"\r\n }\r\n ],\r\n \"isCurrent\": true\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: тенанты не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantsList`.",
|
|
7099
7070
|
"parameters": [
|
|
7100
7071
|
{
|
|
7101
7072
|
"name": "Range",
|
|
@@ -7212,7 +7183,7 @@
|
|
|
7212
7183
|
"Tenants"
|
|
7213
7184
|
],
|
|
7214
7185
|
"summary": "Получить список шаблонных тенантов",
|
|
7215
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants/templates\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Шаблонный тенант\",\r\n \"uriName\": \"template-tenant\"\r\n }\r\n]\r\n```\r\n \r\n##
|
|
7186
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants/templates\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Шаблонный тенант\",\r\n \"uriName\": \"template-tenant\"\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: шаблонные тенанты не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
7216
7187
|
"parameters": [
|
|
7217
7188
|
{
|
|
7218
7189
|
"name": "Range",
|
|
@@ -7329,7 +7300,7 @@
|
|
|
7329
7300
|
"Tenants"
|
|
7330
7301
|
],
|
|
7331
7302
|
"summary": "Получить список флагов функций тенанта",
|
|
7332
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/featureFlags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n \"FEATURE_NEW_UI\",\r\n \"FEATURE_ADVANCED_REPORTS\",\r\n \"FEATURE_MOBILE_APP\"\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
7303
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/featureFlags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n \"FEATURE_NEW_UI\",\r\n \"FEATURE_ADVANCED_REPORTS\",\r\n \"FEATURE_MOBILE_APP\"\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: флаги не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `FeatureFlagsForTenantList`.",
|
|
7333
7304
|
"parameters": [
|
|
7334
7305
|
{
|
|
7335
7306
|
"name": "X-Application-ID",
|
|
@@ -7411,7 +7382,7 @@
|
|
|
7411
7382
|
"Tenants"
|
|
7412
7383
|
],
|
|
7413
7384
|
"summary": "Получить список лицензий тенанта",
|
|
7414
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/licenses?validOn=2024-01-15T00:00:00Z\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n
|
|
7385
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/licenses?validOn=2024-01-15T00:00:00Z\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"license\": {\r\n \"id\": 1,\r\n \"name\": \"Базовая лицензия\",\r\n \"description\": \"Базовая лицензия тенанта\",\r\n \"code\": \"BASIC\"\r\n },\r\n \"type\": {\r\n \"id\": 1,\r\n \"name\": \"Техническая\"\r\n },\r\n \"dateTill\": \"2024-12-31T23:59:59Z\",\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"trialPeriodDays\": 30,\r\n \"remainig\": {\r\n \"techniciansCount\": 8,\r\n \"companiesCount\": 3,\r\n \"publicTaskTemplatesCount\": 10\r\n },\r\n \"total\": {\r\n \"techniciansCount\": 10,\r\n \"companiesCount\": 5,\r\n \"publicTaskTemplatesCount\": 20\r\n },\r\n \"status\": {\r\n \"id\": 1,\r\n \"name\": \"Активна\"\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: по заданным фильтрам записи не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantLicenseList`.",
|
|
7415
7386
|
"parameters": [
|
|
7416
7387
|
{
|
|
7417
7388
|
"name": "validOn",
|
|
@@ -7461,17 +7432,26 @@
|
|
|
7461
7432
|
"content": {
|
|
7462
7433
|
"text/plain": {
|
|
7463
7434
|
"schema": {
|
|
7464
|
-
"
|
|
7435
|
+
"type": "array",
|
|
7436
|
+
"items": {
|
|
7437
|
+
"$ref": "#/components/schemas/ListTenantLicenseResult"
|
|
7438
|
+
}
|
|
7465
7439
|
}
|
|
7466
7440
|
},
|
|
7467
7441
|
"application/json": {
|
|
7468
7442
|
"schema": {
|
|
7469
|
-
"
|
|
7443
|
+
"type": "array",
|
|
7444
|
+
"items": {
|
|
7445
|
+
"$ref": "#/components/schemas/ListTenantLicenseResult"
|
|
7446
|
+
}
|
|
7470
7447
|
}
|
|
7471
7448
|
},
|
|
7472
7449
|
"text/json": {
|
|
7473
7450
|
"schema": {
|
|
7474
|
-
"
|
|
7451
|
+
"type": "array",
|
|
7452
|
+
"items": {
|
|
7453
|
+
"$ref": "#/components/schemas/ListTenantLicenseResult"
|
|
7454
|
+
}
|
|
7475
7455
|
}
|
|
7476
7456
|
}
|
|
7477
7457
|
}
|
|
@@ -7491,7 +7471,7 @@
|
|
|
7491
7471
|
"Tenants"
|
|
7492
7472
|
],
|
|
7493
7473
|
"summary": "Добавить лицензию для тенанта",
|
|
7494
|
-
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/licenses\r\n\r\n```json\r\n{\r\n \"licenseID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\",\r\n \"
|
|
7474
|
+
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/licenses\r\n\r\n```json\r\n{\r\n \"licenseID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\",\r\n \"paymentInfo\": {\r\n \"payer\": \"ООО Компания\",\r\n \"tin\": \"1234567890\",\r\n \"iec\": \"123456789\",\r\n \"lawAddress\": \"г. Москва, ул. Примерная, д. 1\",\r\n \"postAddress\": \"г. Москва, ул. Примерная, д. 1\",\r\n \"contactPerson\": \"Иванов Иван Иванович\",\r\n \"bic\": \"044525225\",\r\n \"bankName\": \"ПАО Сбербанк\",\r\n \"correspondingAccount\": \"30101810400000000225\",\r\n \"checkingAccount\": \"40702810100000000001\"\r\n }\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantLicenseAdd`.",
|
|
7495
7475
|
"parameters": [
|
|
7496
7476
|
{
|
|
7497
7477
|
"name": "X-Application-ID",
|
|
@@ -7570,7 +7550,7 @@
|
|
|
7570
7550
|
"Tenants"
|
|
7571
7551
|
],
|
|
7572
7552
|
"summary": "Удалить лицензии тенанта",
|
|
7573
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/licenses\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
7553
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/licenses\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantLicenseDelete`.",
|
|
7574
7554
|
"parameters": [
|
|
7575
7555
|
{
|
|
7576
7556
|
"name": "X-Application-ID",
|
|
@@ -7667,7 +7647,7 @@
|
|
|
7667
7647
|
"Tenants"
|
|
7668
7648
|
],
|
|
7669
7649
|
"summary": "Удалить лицензию тенанта",
|
|
7670
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/licenses/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
7650
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/licenses/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantLicenseDelete`.",
|
|
7671
7651
|
"parameters": [
|
|
7672
7652
|
{
|
|
7673
7653
|
"name": "id",
|
|
@@ -7730,7 +7710,7 @@
|
|
|
7730
7710
|
"Tenants"
|
|
7731
7711
|
],
|
|
7732
7712
|
"summary": "Отправить запрос на продление лицензии",
|
|
7733
|
-
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/licenses/renewal\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 200 OK\r\n\r\n##
|
|
7713
|
+
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/licenses/renewal\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 200 OK\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
7734
7714
|
"parameters": [
|
|
7735
7715
|
{
|
|
7736
7716
|
"name": "X-Application-ID",
|
|
@@ -7768,35 +7748,6 @@
|
|
|
7768
7748
|
},
|
|
7769
7749
|
"200": {
|
|
7770
7750
|
"description": "Запрос на продление успешно отправлен"
|
|
7771
|
-
},
|
|
7772
|
-
"500": {
|
|
7773
|
-
"description": "Внутренняя ошибка сервера",
|
|
7774
|
-
"content": {
|
|
7775
|
-
"text/plain": {
|
|
7776
|
-
"schema": {
|
|
7777
|
-
"type": "array",
|
|
7778
|
-
"items": {
|
|
7779
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
7780
|
-
}
|
|
7781
|
-
}
|
|
7782
|
-
},
|
|
7783
|
-
"application/json": {
|
|
7784
|
-
"schema": {
|
|
7785
|
-
"type": "array",
|
|
7786
|
-
"items": {
|
|
7787
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
7788
|
-
}
|
|
7789
|
-
}
|
|
7790
|
-
},
|
|
7791
|
-
"text/json": {
|
|
7792
|
-
"schema": {
|
|
7793
|
-
"type": "array",
|
|
7794
|
-
"items": {
|
|
7795
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
7796
|
-
}
|
|
7797
|
-
}
|
|
7798
|
-
}
|
|
7799
|
-
}
|
|
7800
7751
|
}
|
|
7801
7752
|
},
|
|
7802
7753
|
"security": [
|
|
@@ -7812,7 +7763,7 @@
|
|
|
7812
7763
|
"Tenants"
|
|
7813
7764
|
],
|
|
7814
7765
|
"summary": "Обновить лицензию тенанта",
|
|
7815
|
-
"description": "## Пример запроса:\r\n\r\nPUT /tenants/licenses\r\n\r\n```json\r\n{\r\n \"
|
|
7766
|
+
"description": "## Пример запроса:\r\n\r\nPUT /tenants/licenses\r\n\r\n```json\r\n{\r\n \"licenseID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2025-12-31T23:59:59Z\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantLicenseUpdate`.",
|
|
7816
7767
|
"parameters": [
|
|
7817
7768
|
{
|
|
7818
7769
|
"name": "X-Application-ID",
|
|
@@ -7893,7 +7844,7 @@
|
|
|
7893
7844
|
"Tenants"
|
|
7894
7845
|
],
|
|
7895
7846
|
"summary": "Получить метаданные тенанта",
|
|
7896
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/meta\r\n\r\n## Пример успешного ответа:\r\n
|
|
7847
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/meta\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 200 OK\r\n\r\nТело — JSON метаданных тенанта (`DataJson`). Фиксированной схемы ответа нет.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: метаданные не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
7897
7848
|
"parameters": [
|
|
7898
7849
|
{
|
|
7899
7850
|
"name": "X-Application-ID",
|
|
@@ -7949,7 +7900,7 @@
|
|
|
7949
7900
|
"Tenants"
|
|
7950
7901
|
],
|
|
7951
7902
|
"summary": "Получить список расширений тенанта",
|
|
7952
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/packages?resourceID=1&resourceID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n
|
|
7903
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/packages?resourceID=1&resourceID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: расширения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
7953
7904
|
"parameters": [
|
|
7954
7905
|
{
|
|
7955
7906
|
"name": "resourceID",
|
|
@@ -8076,7 +8027,7 @@
|
|
|
8076
8027
|
"Tenants"
|
|
8077
8028
|
],
|
|
8078
8029
|
"summary": "Добавить расширение (только для кросс-тенантных администраторов)",
|
|
8079
|
-
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"
|
|
8030
|
+
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"name\": \"Расширение отчетности\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"addonUrl\": \"https://example.com/addon\",\r\n \"resourceID\": 1,\r\n \"isMobile\": false\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 204 NoContent: расширение не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
8080
8031
|
"parameters": [
|
|
8081
8032
|
{
|
|
8082
8033
|
"name": "X-Application-ID",
|
|
@@ -8184,7 +8135,7 @@
|
|
|
8184
8135
|
"Tenants"
|
|
8185
8136
|
],
|
|
8186
8137
|
"summary": "Удалить расширение (только для кросс-тенантных администраторов)",
|
|
8187
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"
|
|
8138
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
8188
8139
|
"parameters": [
|
|
8189
8140
|
{
|
|
8190
8141
|
"name": "X-Application-ID",
|
|
@@ -8263,7 +8214,7 @@
|
|
|
8263
8214
|
"Tenants"
|
|
8264
8215
|
],
|
|
8265
8216
|
"summary": "Обновить расширение (только для кросс-тенантных администраторов)",
|
|
8266
|
-
"description": "## Пример запроса:\r\n\r\nPATCH /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"
|
|
8217
|
+
"description": "## Пример запроса:\r\n\r\nPATCH /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\",\r\n \"name\": \"Расширение отчетности\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
8267
8218
|
"parameters": [
|
|
8268
8219
|
{
|
|
8269
8220
|
"name": "X-Application-ID",
|
|
@@ -8344,7 +8295,7 @@
|
|
|
8344
8295
|
"Tenants"
|
|
8345
8296
|
],
|
|
8346
8297
|
"summary": "Добавить расширение для тенанта",
|
|
8347
|
-
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"
|
|
8298
|
+
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 204 NoContent: расширение не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
8348
8299
|
"parameters": [
|
|
8349
8300
|
{
|
|
8350
8301
|
"name": "X-Application-ID",
|
|
@@ -8452,7 +8403,7 @@
|
|
|
8452
8403
|
"Tenants"
|
|
8453
8404
|
],
|
|
8454
8405
|
"summary": "Удалить расширение для тенанта",
|
|
8455
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"
|
|
8406
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
8456
8407
|
"parameters": [
|
|
8457
8408
|
{
|
|
8458
8409
|
"name": "X-Application-ID",
|
|
@@ -8533,7 +8484,7 @@
|
|
|
8533
8484
|
"Tenants"
|
|
8534
8485
|
],
|
|
8535
8486
|
"summary": "Получить список переменных окружения тенанта",
|
|
8536
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/variables\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"API_URL\": {\r\n \"
|
|
8487
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenants/this/variables\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"API_URL\": {\r\n \"value\": \"https://api.example.com\",\r\n \"description\": \"URL API сервиса\"\r\n },\r\n \"DB_CONNECTION\": {\r\n \"value\": \"Server=localhost;Database=HubEx\",\r\n \"description\": \"Строка подключения к БД\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: переменные не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantVariableList`.",
|
|
8537
8488
|
"parameters": [
|
|
8538
8489
|
{
|
|
8539
8490
|
"name": "Range",
|
|
@@ -8648,7 +8599,7 @@
|
|
|
8648
8599
|
"Tenants"
|
|
8649
8600
|
],
|
|
8650
8601
|
"summary": "Добавить переменные окружения тенанта",
|
|
8651
|
-
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/variables\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"API_URL\",\r\n \"value\": \"https://api.example.com\",\r\n \"description\": \"URL API сервиса\"\r\n },\r\n {\r\n \"name\": \"DB_CONNECTION\",\r\n \"value\": \"Server=localhost;Database=HubEx\",\r\n \"description\": \"Строка подключения к БД\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
8602
|
+
"description": "## Пример запроса:\r\n\r\nPOST /tenants/this/variables\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"API_URL\",\r\n \"value\": \"https://api.example.com\",\r\n \"description\": \"URL API сервиса\"\r\n },\r\n {\r\n \"name\": \"DB_CONNECTION\",\r\n \"value\": \"Server=localhost;Database=HubEx\",\r\n \"description\": \"Строка подключения к БД\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantVariableAdd`.",
|
|
8652
8603
|
"parameters": [
|
|
8653
8604
|
{
|
|
8654
8605
|
"name": "X-Application-ID",
|
|
@@ -8739,7 +8690,7 @@
|
|
|
8739
8690
|
"Tenants"
|
|
8740
8691
|
],
|
|
8741
8692
|
"summary": "Обновить переменные окружения тенанта",
|
|
8742
|
-
"description": "## Пример запроса:\r\n\r\nPUT /tenants/this/variables\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"API_URL\",\r\n \"value\": \"https://new-api.example.com\",\r\n \"description\": \"Обновленный URL API сервиса\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
8693
|
+
"description": "## Пример запроса:\r\n\r\nPUT /tenants/this/variables\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"API_URL\",\r\n \"value\": \"https://new-api.example.com\",\r\n \"description\": \"Обновленный URL API сервиса\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantVariableUpdate`.",
|
|
8743
8694
|
"parameters": [
|
|
8744
8695
|
{
|
|
8745
8696
|
"name": "X-Application-ID",
|
|
@@ -8830,7 +8781,7 @@
|
|
|
8830
8781
|
"Tenants"
|
|
8831
8782
|
],
|
|
8832
8783
|
"summary": "Удалить переменные окружения тенанта",
|
|
8833
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/variables\r\n\r\n```json\r\n[\"API_URL\", \"DB_CONNECTION\"]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
8784
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/variables\r\n\r\n```json\r\n[\"API_URL\", \"DB_CONNECTION\"]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantVariableDelete`.",
|
|
8834
8785
|
"parameters": [
|
|
8835
8786
|
{
|
|
8836
8787
|
"name": "X-Application-ID",
|
|
@@ -8923,7 +8874,7 @@
|
|
|
8923
8874
|
"Tenants"
|
|
8924
8875
|
],
|
|
8925
8876
|
"summary": "Удалить переменную окружения тенанта",
|
|
8926
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/variables/API_URL\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
8877
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/variables/API_URL\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantVariableDelete`.",
|
|
8927
8878
|
"parameters": [
|
|
8928
8879
|
{
|
|
8929
8880
|
"name": "name",
|
|
@@ -8985,7 +8936,7 @@
|
|
|
8985
8936
|
"TenantSettings"
|
|
8986
8937
|
],
|
|
8987
8938
|
"summary": "Получить настройки тенанта",
|
|
8988
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantsettings?tenantMemberId=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"geoDataRetentionMonths\": 12,\r\n \"supportEmail\": \"support@example.com\",\r\n \"supportPhone\": \"+7 (999) 123-45-67\",\r\n \"storageApiUrl\": \"https://storage.example.com/api\",\r\n \"storageUrl\": \"https://storage.example.com\",\r\n \"defaultCurrency\": {\r\n \"id\": 1,\r\n \"shortName\": \"RUB\"\r\n },\r\n \"defaultTimezoneID\": 1,\r\n \"defaultMailBoxID\": 1,\r\n \"realm\": \"example\",\r\n \"managerFullName\": \"Иванов Иван\",\r\n \"managerPhone\": \"+79998887766\",\r\n \"managerEmail\": \"manager@hubex.ru\"\r\n}\r\n```\r\n\r\n##
|
|
8939
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantsettings?tenantMemberId=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"geoDataRetentionMonths\": 12,\r\n \"supportEmail\": \"support@example.com\",\r\n \"supportPhone\": \"+7 (999) 123-45-67\",\r\n \"storageApiUrl\": \"https://storage.example.com/api\",\r\n \"storageUrl\": \"https://storage.example.com\",\r\n \"defaultCurrency\": {\r\n \"id\": 1,\r\n \"shortName\": \"RUB\",\r\n \"asciiCode\": \"RUB\"\r\n },\r\n \"defaultTimezoneID\": 1,\r\n \"defaultMailBoxID\": 1,\r\n \"storageProviderID\": 1,\r\n \"realm\": \"example\",\r\n \"managerFullName\": \"Иванов Иван\",\r\n \"managerPhone\": \"+79998887766\",\r\n \"managerEmail\": \"manager@hubex.ru\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: настройки тенанта не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
8989
8940
|
"parameters": [
|
|
8990
8941
|
{
|
|
8991
8942
|
"name": "tenantMemberId",
|
|
@@ -8996,16 +8947,6 @@
|
|
|
8996
8947
|
"format": "int32"
|
|
8997
8948
|
}
|
|
8998
8949
|
},
|
|
8999
|
-
{
|
|
9000
|
-
"name": "tenantMemberId",
|
|
9001
|
-
"in": "query",
|
|
9002
|
-
"description": "Идентификатор члена тенанта (опционально). Если не указан, используется текущий tenantMemberId",
|
|
9003
|
-
"schema": {
|
|
9004
|
-
"type": "integer",
|
|
9005
|
-
"format": "int32",
|
|
9006
|
-
"nullable": true
|
|
9007
|
-
}
|
|
9008
|
-
},
|
|
9009
8950
|
{
|
|
9010
8951
|
"name": "X-Application-ID",
|
|
9011
8952
|
"in": "header",
|
|
@@ -9062,35 +9003,6 @@
|
|
|
9062
9003
|
},
|
|
9063
9004
|
"204": {
|
|
9064
9005
|
"description": "Настройки не найдены"
|
|
9065
|
-
},
|
|
9066
|
-
"500": {
|
|
9067
|
-
"description": "Внутренняя ошибка сервера",
|
|
9068
|
-
"content": {
|
|
9069
|
-
"text/plain": {
|
|
9070
|
-
"schema": {
|
|
9071
|
-
"type": "array",
|
|
9072
|
-
"items": {
|
|
9073
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
9074
|
-
}
|
|
9075
|
-
}
|
|
9076
|
-
},
|
|
9077
|
-
"application/json": {
|
|
9078
|
-
"schema": {
|
|
9079
|
-
"type": "array",
|
|
9080
|
-
"items": {
|
|
9081
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
9082
|
-
}
|
|
9083
|
-
}
|
|
9084
|
-
},
|
|
9085
|
-
"text/json": {
|
|
9086
|
-
"schema": {
|
|
9087
|
-
"type": "array",
|
|
9088
|
-
"items": {
|
|
9089
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
9090
|
-
}
|
|
9091
|
-
}
|
|
9092
|
-
}
|
|
9093
|
-
}
|
|
9094
9006
|
}
|
|
9095
9007
|
},
|
|
9096
9008
|
"security": [
|
|
@@ -9106,7 +9018,7 @@
|
|
|
9106
9018
|
"TenantSettings"
|
|
9107
9019
|
],
|
|
9108
9020
|
"summary": "Получить кастомный URL текущего тенанта",
|
|
9109
|
-
"description": "## Пример запроса:\r\n\r\nGET /tenantsettings/this/plateUrl?taskTemplateID=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n\"https://plate.hubex.ru\"\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9021
|
+
"description": "## Пример запроса:\r\n\r\nGET /tenantsettings/this/plateUrl?taskTemplateID=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n\"https://plate.hubex.ru\"\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: кастомный URL не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantPlateUrlGet`.",
|
|
9110
9022
|
"parameters": [
|
|
9111
9023
|
{
|
|
9112
9024
|
"name": "taskTemplateID",
|
|
@@ -9185,7 +9097,7 @@
|
|
|
9185
9097
|
"TenantSettings"
|
|
9186
9098
|
],
|
|
9187
9099
|
"summary": "Обновить кастомный URL текущего тенанта",
|
|
9188
|
-
"description": "## Пример запроса:\r\n\r\nPUT /tenantsettings/this/plateUrl?plateUrl=https://client-domain.ru\r\n\r\n### NULL\r\nЕсли параметр `plateUrl` не передали, будет сохранен `NULL`.\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9100
|
+
"description": "## Пример запроса:\r\n\r\nPUT /tenantsettings/this/plateUrl?plateUrl=https://client-domain.ru\r\n\r\n### NULL\r\nЕсли параметр `plateUrl` не передали, будет сохранен `NULL`.\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TenantCustomPlateUrlUpdate`.",
|
|
9189
9101
|
"parameters": [
|
|
9190
9102
|
{
|
|
9191
9103
|
"name": "plateUrl",
|
|
@@ -9246,7 +9158,7 @@
|
|
|
9246
9158
|
"UserAssetListQueries"
|
|
9247
9159
|
],
|
|
9248
9160
|
"summary": "Добавить сохраненные запросы объектов пользователю",
|
|
9249
|
-
"description": "## Пример запроса:\r\n\r\nPOST /userassetlistqueries/123\r\n\r\n```json\r\n[10, 11, 12]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"assetListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 12,\r\n \"userID\": 123\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9161
|
+
"description": "## Пример запроса:\r\n\r\nPOST /userassetlistqueries/123\r\n\r\n```json\r\n[10, 11, 12]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"assetListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 12,\r\n \"userID\": 123\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAssetListQueryAdd`.",
|
|
9250
9162
|
"parameters": [
|
|
9251
9163
|
{
|
|
9252
9164
|
"name": "userID",
|
|
@@ -9377,7 +9289,7 @@
|
|
|
9377
9289
|
"UserAssetListQueries"
|
|
9378
9290
|
],
|
|
9379
9291
|
"summary": "Удалить сохраненные запросы объектов у пользователя",
|
|
9380
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /userassetlistqueries/123\r\n\r\n```json\r\n[10, 11]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9292
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /userassetlistqueries/123\r\n\r\n```json\r\n[10, 11]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAssetListQueryDelete`.",
|
|
9381
9293
|
"parameters": [
|
|
9382
9294
|
{
|
|
9383
9295
|
"name": "userID",
|
|
@@ -9484,7 +9396,7 @@
|
|
|
9484
9396
|
"UserAssetListQueries"
|
|
9485
9397
|
],
|
|
9486
9398
|
"summary": "Добавить сохраненные запросы объектов пользователям",
|
|
9487
|
-
"description": "## Пример запроса:\r\n\r\nPOST /userassetlistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n },\r\n {\r\n \"userID\": 124,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"assetListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 10,\r\n \"userID\": 124\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9399
|
+
"description": "## Пример запроса:\r\n\r\nPOST /userassetlistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n },\r\n {\r\n \"userID\": 124,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"assetListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"assetListQueryID\": 10,\r\n \"userID\": 124\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAssetListQueryAdd`.",
|
|
9488
9400
|
"parameters": [
|
|
9489
9401
|
{
|
|
9490
9402
|
"name": "X-Application-ID",
|
|
@@ -9601,7 +9513,7 @@
|
|
|
9601
9513
|
"UserAssetListQueries"
|
|
9602
9514
|
],
|
|
9603
9515
|
"summary": "Удалить сохраненные запросы объектов у пользователей",
|
|
9604
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /userassetlistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9516
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /userassetlistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAssetListQueryDelete`.",
|
|
9605
9517
|
"parameters": [
|
|
9606
9518
|
{
|
|
9607
9519
|
"name": "X-Application-ID",
|
|
@@ -9694,7 +9606,7 @@
|
|
|
9694
9606
|
"UserCompanyListQueries"
|
|
9695
9607
|
],
|
|
9696
9608
|
"summary": "Добавляет сохраненные запросы пользователю",
|
|
9697
|
-
"description": "## Пример запроса:\r\n\r\nPOST /usercompanylistqueries/123\r\n\r\n```json\r\n[10, 11, 12]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"companyListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 12,\r\n \"userID\": 123\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9609
|
+
"description": "## Пример запроса:\r\n\r\nPOST /usercompanylistqueries/123\r\n\r\n```json\r\n[10, 11, 12]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"companyListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 12,\r\n \"userID\": 123\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserCompanyListQueryAdd`.",
|
|
9698
9610
|
"parameters": [
|
|
9699
9611
|
{
|
|
9700
9612
|
"name": "userID",
|
|
@@ -9825,7 +9737,7 @@
|
|
|
9825
9737
|
"UserCompanyListQueries"
|
|
9826
9738
|
],
|
|
9827
9739
|
"summary": "Помечает как удалённые сохраненные запросы для пользователя",
|
|
9828
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usercompanylistqueries/123\r\n\r\n```json\r\n[10, 11]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9740
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usercompanylistqueries/123\r\n\r\n```json\r\n[10, 11]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserCompanyListQueryDelete`.",
|
|
9829
9741
|
"parameters": [
|
|
9830
9742
|
{
|
|
9831
9743
|
"name": "userID",
|
|
@@ -9932,7 +9844,7 @@
|
|
|
9932
9844
|
"UserCompanyListQueries"
|
|
9933
9845
|
],
|
|
9934
9846
|
"summary": "Добавляет сохраненные запросы пользователям",
|
|
9935
|
-
"description": "## Пример запроса:\r\n\r\nPOST /usercompanylistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n },\r\n {\r\n \"userID\": 124,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"companyListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 10,\r\n \"userID\": 124\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9847
|
+
"description": "## Пример запроса:\r\n\r\nPOST /usercompanylistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n },\r\n {\r\n \"userID\": 124,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"companyListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 11,\r\n \"userID\": 123\r\n },\r\n {\r\n \"companyListQueryID\": 10,\r\n \"userID\": 124\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserCompanyListQueryAdd`.",
|
|
9936
9848
|
"parameters": [
|
|
9937
9849
|
{
|
|
9938
9850
|
"name": "X-Application-ID",
|
|
@@ -10049,7 +9961,7 @@
|
|
|
10049
9961
|
"UserCompanyListQueries"
|
|
10050
9962
|
],
|
|
10051
9963
|
"summary": "Помечает как удалённые сохраненные запросы для пользователей",
|
|
10052
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usercompanylistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
9964
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usercompanylistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserCompanyListQueryDelete`.",
|
|
10053
9965
|
"parameters": [
|
|
10054
9966
|
{
|
|
10055
9967
|
"name": "X-Application-ID",
|
|
@@ -10142,7 +10054,7 @@
|
|
|
10142
10054
|
"UserDisabledNotifications"
|
|
10143
10055
|
],
|
|
10144
10056
|
"summary": "Изменить настройки уведомлений пользователя",
|
|
10145
|
-
"description": "## Пример запроса:\r\n\r\nPOST /userdisablednotifications\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [\r\n {\r\n \"providerID\": 1,\r\n \"isOn\": false\r\n },\r\n {\r\n \"providerID\": 2,\r\n \"isOn\": true\r\n }\r\n ]\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"providerID\": 1,\r\n \"isOn\": false\r\n },\r\n {\r\n \"providerID\": 2,\r\n \"isOn\": true\r\n }\r\n]\r\n```\r\n\r\n##
|
|
10057
|
+
"description": "## Пример запроса:\r\n\r\nPOST /userdisablednotifications\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [\r\n {\r\n \"providerID\": 1,\r\n \"isOn\": false\r\n },\r\n {\r\n \"providerID\": 2,\r\n \"isOn\": true\r\n }\r\n ]\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"providerID\": 1,\r\n \"isOn\": false\r\n },\r\n {\r\n \"providerID\": 2,\r\n \"isOn\": true\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 204 NoContent: настройки не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
10146
10058
|
"parameters": [
|
|
10147
10059
|
{
|
|
10148
10060
|
"name": "X-Application-ID",
|
|
@@ -10237,35 +10149,6 @@
|
|
|
10237
10149
|
},
|
|
10238
10150
|
"400": {
|
|
10239
10151
|
"description": "Неверные данные запроса"
|
|
10240
|
-
},
|
|
10241
|
-
"500": {
|
|
10242
|
-
"description": "Внутренняя ошибка сервера",
|
|
10243
|
-
"content": {
|
|
10244
|
-
"text/plain": {
|
|
10245
|
-
"schema": {
|
|
10246
|
-
"type": "array",
|
|
10247
|
-
"items": {
|
|
10248
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10249
|
-
}
|
|
10250
|
-
}
|
|
10251
|
-
},
|
|
10252
|
-
"application/json": {
|
|
10253
|
-
"schema": {
|
|
10254
|
-
"type": "array",
|
|
10255
|
-
"items": {
|
|
10256
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10257
|
-
}
|
|
10258
|
-
}
|
|
10259
|
-
},
|
|
10260
|
-
"text/json": {
|
|
10261
|
-
"schema": {
|
|
10262
|
-
"type": "array",
|
|
10263
|
-
"items": {
|
|
10264
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10265
|
-
}
|
|
10266
|
-
}
|
|
10267
|
-
}
|
|
10268
|
-
}
|
|
10269
10152
|
}
|
|
10270
10153
|
},
|
|
10271
10154
|
"security": [
|
|
@@ -10281,7 +10164,7 @@
|
|
|
10281
10164
|
"UserDistricts"
|
|
10282
10165
|
],
|
|
10283
10166
|
"summary": "Добавить участки пользователю",
|
|
10284
|
-
"description": "## Пример запроса:\r\n\r\nPOST /userdistricts\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [\r\n {\r\n \"districtID\": 1,\r\n \"
|
|
10167
|
+
"description": "## Пример запроса:\r\n\r\nPOST /userdistricts\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [\r\n {\r\n \"districtID\": 1,\r\n \"scheduleRuleID\": 10\r\n },\r\n {\r\n \"districtID\": 2,\r\n \"scheduleRuleID\": 11\r\n }\r\n ]\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": [1, 2]\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDistrictAdd`.",
|
|
10285
10168
|
"parameters": [
|
|
10286
10169
|
{
|
|
10287
10170
|
"name": "X-Application-ID",
|
|
@@ -10347,35 +10230,6 @@
|
|
|
10347
10230
|
},
|
|
10348
10231
|
"400": {
|
|
10349
10232
|
"description": "Неверные данные запроса"
|
|
10350
|
-
},
|
|
10351
|
-
"500": {
|
|
10352
|
-
"description": "Внутренняя ошибка сервера",
|
|
10353
|
-
"content": {
|
|
10354
|
-
"text/plain": {
|
|
10355
|
-
"schema": {
|
|
10356
|
-
"type": "array",
|
|
10357
|
-
"items": {
|
|
10358
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10359
|
-
}
|
|
10360
|
-
}
|
|
10361
|
-
},
|
|
10362
|
-
"application/json": {
|
|
10363
|
-
"schema": {
|
|
10364
|
-
"type": "array",
|
|
10365
|
-
"items": {
|
|
10366
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10367
|
-
}
|
|
10368
|
-
}
|
|
10369
|
-
},
|
|
10370
|
-
"text/json": {
|
|
10371
|
-
"schema": {
|
|
10372
|
-
"type": "array",
|
|
10373
|
-
"items": {
|
|
10374
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10375
|
-
}
|
|
10376
|
-
}
|
|
10377
|
-
}
|
|
10378
|
-
}
|
|
10379
10233
|
}
|
|
10380
10234
|
},
|
|
10381
10235
|
"security": [
|
|
@@ -10389,7 +10243,7 @@
|
|
|
10389
10243
|
"UserDistricts"
|
|
10390
10244
|
],
|
|
10391
10245
|
"summary": "Удалить участки у пользователя",
|
|
10392
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /userdistricts\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [1, 2, 3]\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
10246
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /userdistricts\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [1, 2, 3]\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDistrictDelete`.",
|
|
10393
10247
|
"parameters": [
|
|
10394
10248
|
{
|
|
10395
10249
|
"name": "X-Application-ID",
|
|
@@ -10455,35 +10309,6 @@
|
|
|
10455
10309
|
},
|
|
10456
10310
|
"400": {
|
|
10457
10311
|
"description": "Неверные данные запроса"
|
|
10458
|
-
},
|
|
10459
|
-
"500": {
|
|
10460
|
-
"description": "Внутренняя ошибка сервера",
|
|
10461
|
-
"content": {
|
|
10462
|
-
"text/plain": {
|
|
10463
|
-
"schema": {
|
|
10464
|
-
"type": "array",
|
|
10465
|
-
"items": {
|
|
10466
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10467
|
-
}
|
|
10468
|
-
}
|
|
10469
|
-
},
|
|
10470
|
-
"application/json": {
|
|
10471
|
-
"schema": {
|
|
10472
|
-
"type": "array",
|
|
10473
|
-
"items": {
|
|
10474
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10475
|
-
}
|
|
10476
|
-
}
|
|
10477
|
-
},
|
|
10478
|
-
"text/json": {
|
|
10479
|
-
"schema": {
|
|
10480
|
-
"type": "array",
|
|
10481
|
-
"items": {
|
|
10482
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10483
|
-
}
|
|
10484
|
-
}
|
|
10485
|
-
}
|
|
10486
|
-
}
|
|
10487
10312
|
}
|
|
10488
10313
|
},
|
|
10489
10314
|
"security": [
|
|
@@ -10497,7 +10322,7 @@
|
|
|
10497
10322
|
"UserDistricts"
|
|
10498
10323
|
],
|
|
10499
10324
|
"summary": "Обновить участки у пользователя",
|
|
10500
|
-
"description": "## Пример запроса:\r\n\r\nPUT /userdistricts\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [\r\n {\r\n \"districtID\": 1,\r\n \"
|
|
10325
|
+
"description": "## Пример запроса:\r\n\r\nPUT /userdistricts\r\n\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"data\": [\r\n {\r\n \"districtID\": 1,\r\n \"scheduleRuleID\": 10\r\n }\r\n ]\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDistrictUpdate`.",
|
|
10501
10326
|
"parameters": [
|
|
10502
10327
|
{
|
|
10503
10328
|
"name": "X-Application-ID",
|
|
@@ -10563,35 +10388,6 @@
|
|
|
10563
10388
|
},
|
|
10564
10389
|
"400": {
|
|
10565
10390
|
"description": "Неверные данные запроса"
|
|
10566
|
-
},
|
|
10567
|
-
"500": {
|
|
10568
|
-
"description": "Внутренняя ошибка сервера",
|
|
10569
|
-
"content": {
|
|
10570
|
-
"text/plain": {
|
|
10571
|
-
"schema": {
|
|
10572
|
-
"type": "array",
|
|
10573
|
-
"items": {
|
|
10574
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10575
|
-
}
|
|
10576
|
-
}
|
|
10577
|
-
},
|
|
10578
|
-
"application/json": {
|
|
10579
|
-
"schema": {
|
|
10580
|
-
"type": "array",
|
|
10581
|
-
"items": {
|
|
10582
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10583
|
-
}
|
|
10584
|
-
}
|
|
10585
|
-
},
|
|
10586
|
-
"text/json": {
|
|
10587
|
-
"schema": {
|
|
10588
|
-
"type": "array",
|
|
10589
|
-
"items": {
|
|
10590
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10591
|
-
}
|
|
10592
|
-
}
|
|
10593
|
-
}
|
|
10594
|
-
}
|
|
10595
10391
|
}
|
|
10596
10392
|
},
|
|
10597
10393
|
"security": [
|
|
@@ -10607,7 +10403,7 @@
|
|
|
10607
10403
|
"UserOrderBy"
|
|
10608
10404
|
],
|
|
10609
10405
|
"summary": "Получить список методов сортировки сотрудников",
|
|
10610
|
-
"description": "## Пример запроса:\r\n\r\nGET /userorderby\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"name\": \"По имени\",\r\n \"code\": \"BY_NAME\"\r\n },\r\n \"2\": {\r\n \"name\": \"По дате регистрации\",\r\n \"code\": \"BY_REGISTRATION_DATE\"\r\n }\r\n}\r\n```\r\n \r\n##
|
|
10406
|
+
"description": "## Пример запроса:\r\n\r\nGET /userorderby\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"name\": \"По имени\",\r\n \"code\": \"BY_NAME\"\r\n },\r\n \"2\": {\r\n \"name\": \"По дате регистрации\",\r\n \"code\": \"BY_REGISTRATION_DATE\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: методы сортировки не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserOrderByList`.",
|
|
10611
10407
|
"parameters": [
|
|
10612
10408
|
{
|
|
10613
10409
|
"name": "Range",
|
|
@@ -10724,7 +10520,7 @@
|
|
|
10724
10520
|
"UserRoles"
|
|
10725
10521
|
],
|
|
10726
10522
|
"summary": "Добавить роли пользователю",
|
|
10727
|
-
"description": "## Пример запроса:\r\n\r\nPOST /userroles\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"roleIDs\": [1, 2]\r\n },\r\n {\r\n \"userID\": 124,\r\n \"roleIDs\": [1]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": [1, 2],\r\n \"124\": [1]\r\n}\r\n```\r\n\r\n##
|
|
10523
|
+
"description": "## Пример запроса:\r\n\r\nPOST /userroles\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"roleIDs\": [1, 2]\r\n },\r\n {\r\n \"userID\": 124,\r\n \"roleIDs\": [1]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": [1, 2],\r\n \"124\": [1]\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserRoleAdd`.",
|
|
10728
10524
|
"parameters": [
|
|
10729
10525
|
{
|
|
10730
10526
|
"name": "X-Application-ID",
|
|
@@ -10802,35 +10598,6 @@
|
|
|
10802
10598
|
},
|
|
10803
10599
|
"400": {
|
|
10804
10600
|
"description": "Неверные данные запроса"
|
|
10805
|
-
},
|
|
10806
|
-
"500": {
|
|
10807
|
-
"description": "Внутренняя ошибка сервера",
|
|
10808
|
-
"content": {
|
|
10809
|
-
"text/plain": {
|
|
10810
|
-
"schema": {
|
|
10811
|
-
"type": "array",
|
|
10812
|
-
"items": {
|
|
10813
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10814
|
-
}
|
|
10815
|
-
}
|
|
10816
|
-
},
|
|
10817
|
-
"application/json": {
|
|
10818
|
-
"schema": {
|
|
10819
|
-
"type": "array",
|
|
10820
|
-
"items": {
|
|
10821
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10822
|
-
}
|
|
10823
|
-
}
|
|
10824
|
-
},
|
|
10825
|
-
"text/json": {
|
|
10826
|
-
"schema": {
|
|
10827
|
-
"type": "array",
|
|
10828
|
-
"items": {
|
|
10829
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10830
|
-
}
|
|
10831
|
-
}
|
|
10832
|
-
}
|
|
10833
|
-
}
|
|
10834
10601
|
}
|
|
10835
10602
|
},
|
|
10836
10603
|
"security": [
|
|
@@ -10844,7 +10611,7 @@
|
|
|
10844
10611
|
"UserRoles"
|
|
10845
10612
|
],
|
|
10846
10613
|
"summary": "Удалить роли у пользователя",
|
|
10847
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /userroles\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"roleIDs\": [1, 2]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
10614
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /userroles\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"roleIDs\": [1, 2]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserRoleDelete`.",
|
|
10848
10615
|
"parameters": [
|
|
10849
10616
|
{
|
|
10850
10617
|
"name": "X-Application-ID",
|
|
@@ -10922,35 +10689,6 @@
|
|
|
10922
10689
|
},
|
|
10923
10690
|
"400": {
|
|
10924
10691
|
"description": "Неверные данные запроса"
|
|
10925
|
-
},
|
|
10926
|
-
"500": {
|
|
10927
|
-
"description": "Внутренняя ошибка сервера",
|
|
10928
|
-
"content": {
|
|
10929
|
-
"text/plain": {
|
|
10930
|
-
"schema": {
|
|
10931
|
-
"type": "array",
|
|
10932
|
-
"items": {
|
|
10933
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10934
|
-
}
|
|
10935
|
-
}
|
|
10936
|
-
},
|
|
10937
|
-
"application/json": {
|
|
10938
|
-
"schema": {
|
|
10939
|
-
"type": "array",
|
|
10940
|
-
"items": {
|
|
10941
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10942
|
-
}
|
|
10943
|
-
}
|
|
10944
|
-
},
|
|
10945
|
-
"text/json": {
|
|
10946
|
-
"schema": {
|
|
10947
|
-
"type": "array",
|
|
10948
|
-
"items": {
|
|
10949
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
10950
|
-
}
|
|
10951
|
-
}
|
|
10952
|
-
}
|
|
10953
|
-
}
|
|
10954
10692
|
}
|
|
10955
10693
|
},
|
|
10956
10694
|
"security": [
|
|
@@ -10966,7 +10704,7 @@
|
|
|
10966
10704
|
"Users"
|
|
10967
10705
|
],
|
|
10968
10706
|
"summary": "Получить список объектов, назначенных пользователю",
|
|
10969
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/assetAssignments?validOn=2024-01-15T00:00:00Z\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"asset\": {\r\n \"id\": 1,\r\n \"name\": \"Объект №1\"\r\n },\r\n \"validityPeriod\": {\r\n \"
|
|
10707
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/assetAssignments?validOn=2024-01-15T00:00:00Z\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"asset\": {\r\n \"id\": 1,\r\n \"name\": \"Объект №1\"\r\n },\r\n \"validityPeriod\": {\r\n \"from\": \"2024-01-01T00:00:00Z\",\r\n \"till\": \"2024-12-31T23:59:59Z\"\r\n },\r\n \"notes\": \"Основной объект\"\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: назначения объектов для указанного пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `AssetAssignmentList`.",
|
|
10970
10708
|
"parameters": [
|
|
10971
10709
|
{
|
|
10972
10710
|
"name": "userID",
|
|
@@ -11111,7 +10849,7 @@
|
|
|
11111
10849
|
"Users"
|
|
11112
10850
|
],
|
|
11113
10851
|
"summary": "Получить список сохраненных запросов по объектам пользователя",
|
|
11114
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/assetListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"
|
|
10852
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/assetListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"name\": \"Мои объекты\",\r\n \"filter\": {\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"Офис\",\r\n \"queryString\": \"?searchText=Офис&range=1-10\",\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n },\r\n \"range\": {\r\n \"offset\": 0,\r\n \"fetch\": 10\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: сохраненные запросы по объектам пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `AssetListQueryList`.",
|
|
11115
10853
|
"parameters": [
|
|
11116
10854
|
{
|
|
11117
10855
|
"name": "id",
|
|
@@ -11238,7 +10976,7 @@
|
|
|
11238
10976
|
"Users"
|
|
11239
10977
|
],
|
|
11240
10978
|
"summary": "Получить список сохраненных запросов по объектам текущего пользователя",
|
|
11241
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/this/assetListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"
|
|
10979
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/this/assetListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"name\": \"Мои объекты\",\r\n \"filter\": {\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"Офис\",\r\n \"queryString\": \"?searchText=Офис&range=1-10\",\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n },\r\n \"range\": {\r\n \"offset\": 0,\r\n \"fetch\": 10\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: сохраненные запросы по объектам текущего пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `AssetListQueryList`.",
|
|
11242
10980
|
"parameters": [
|
|
11243
10981
|
{
|
|
11244
10982
|
"name": "Range",
|
|
@@ -11355,7 +11093,7 @@
|
|
|
11355
11093
|
"Users"
|
|
11356
11094
|
],
|
|
11357
11095
|
"summary": "Получить список атрибутов пользователей",
|
|
11358
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/attributes?userID=123&attributeID=1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"attributeID\": 1,\r\n \"attributeName\": \"Специализация\",\r\n \"value\": \"Электрика\",\r\n \"domain\": {\r\n \"id\": 1,\r\n \"name\": \"Технические навыки\",\r\n \"code\": \"TECH_SKILLS\"\r\n }\r\n }\r\n]\r\n```\r\n \r\n##
|
|
11096
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/attributes?userID=123&attributeID=1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"attributeID\": 1,\r\n \"attributeName\": \"Специализация\",\r\n \"value\": \"Электрика\",\r\n \"domain\": {\r\n \"id\": 1,\r\n \"name\": \"Технические навыки\",\r\n \"code\": \"TECH_SKILLS\"\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: по заданным фильтрам записи не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeList`.",
|
|
11359
11097
|
"parameters": [
|
|
11360
11098
|
{
|
|
11361
11099
|
"name": "Range",
|
|
@@ -11504,7 +11242,7 @@
|
|
|
11504
11242
|
"Users"
|
|
11505
11243
|
],
|
|
11506
11244
|
"summary": "Создать атрибуты для пользователей",
|
|
11507
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": {\r\n \"attributeID\": 1,\r\n \"value\": \"Электрика\"\r\n }\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
11245
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": {\r\n \"attributeID\": 1,\r\n \"value\": \"Электрика\"\r\n }\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeAdd`.",
|
|
11508
11246
|
"parameters": [
|
|
11509
11247
|
{
|
|
11510
11248
|
"name": "X-Application-ID",
|
|
@@ -11595,7 +11333,7 @@
|
|
|
11595
11333
|
"Users"
|
|
11596
11334
|
],
|
|
11597
11335
|
"summary": "Обновить атрибуты пользователей",
|
|
11598
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": {\r\n \"attributeID\": 1,\r\n \"value\": \"Сантехника\"\r\n }\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
11336
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": {\r\n \"attributeID\": 1,\r\n \"value\": \"Сантехника\"\r\n }\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeUpdate`.",
|
|
11599
11337
|
"parameters": [
|
|
11600
11338
|
{
|
|
11601
11339
|
"name": "X-Application-ID",
|
|
@@ -11686,7 +11424,7 @@
|
|
|
11686
11424
|
"Users"
|
|
11687
11425
|
],
|
|
11688
11426
|
"summary": "Удалить атрибуты пользователей",
|
|
11689
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /users/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": 1\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
11427
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /users/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"data\": 1\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeDelete`.",
|
|
11690
11428
|
"parameters": [
|
|
11691
11429
|
{
|
|
11692
11430
|
"name": "X-Application-ID",
|
|
@@ -11779,7 +11517,7 @@
|
|
|
11779
11517
|
"Users"
|
|
11780
11518
|
],
|
|
11781
11519
|
"summary": "Получить атрибуты пользователя",
|
|
11782
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/attributes?attributeID=1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"attributeID\": 1,\r\n \"attributeName\": \"Специализация\",\r\n \"value\": \"Электрика\",\r\n \"domain\": {\r\n \"id\": 1,\r\n \"name\": \"Технические навыки\",\r\n \"code\": \"TECH_SKILLS\"\r\n }\r\n }\r\n]\r\n```\r\n \r\n##
|
|
11520
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/attributes?attributeID=1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"attributeID\": 1,\r\n \"attributeName\": \"Специализация\",\r\n \"value\": \"Электрика\",\r\n \"domain\": {\r\n \"id\": 1,\r\n \"name\": \"Технические навыки\",\r\n \"code\": \"TECH_SKILLS\"\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: атрибуты указанного пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeList`.",
|
|
11783
11521
|
"parameters": [
|
|
11784
11522
|
{
|
|
11785
11523
|
"name": "userID",
|
|
@@ -11929,7 +11667,7 @@
|
|
|
11929
11667
|
"Users"
|
|
11930
11668
|
],
|
|
11931
11669
|
"summary": "Создать атрибуты пользователя",
|
|
11932
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/123/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"attributeID\": 1,\r\n \"value\": \"Электрика\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
11670
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/123/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"attributeID\": 1,\r\n \"value\": \"Электрика\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeAdd`.",
|
|
11933
11671
|
"parameters": [
|
|
11934
11672
|
{
|
|
11935
11673
|
"name": "userID",
|
|
@@ -12030,7 +11768,7 @@
|
|
|
12030
11768
|
"Users"
|
|
12031
11769
|
],
|
|
12032
11770
|
"summary": "Обновить атрибуты пользователя",
|
|
12033
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/123/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"attributeID\": 1,\r\n \"value\": \"Сантехника\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
11771
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/123/attributes\r\n\r\n```json\r\n[\r\n {\r\n \"attributeID\": 1,\r\n \"value\": \"Сантехника\"\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeUpdate`.",
|
|
12034
11772
|
"parameters": [
|
|
12035
11773
|
{
|
|
12036
11774
|
"name": "userID",
|
|
@@ -12131,7 +11869,7 @@
|
|
|
12131
11869
|
"Users"
|
|
12132
11870
|
],
|
|
12133
11871
|
"summary": "Удалить атрибуты пользователя",
|
|
12134
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /users/123/attributes\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
11872
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /users/123/attributes\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAttributeDelete`.",
|
|
12135
11873
|
"parameters": [
|
|
12136
11874
|
{
|
|
12137
11875
|
"name": "userID",
|
|
@@ -12238,7 +11976,7 @@
|
|
|
12238
11976
|
"Users"
|
|
12239
11977
|
],
|
|
12240
11978
|
"summary": "Получить список сохраненных запросов по компаниям пользователя",
|
|
12241
|
-
"description": "## Пример запроса:\r\n \r\nGET /users/123/companyListQueries\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"10\": {\r\n \"name\": \"Мои компании\",\r\n \"filter\": {\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?isDeleted=false\",\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n-
|
|
11979
|
+
"description": "## Пример запроса:\r\n \r\nGET /users/123/companyListQueries\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"10\": {\r\n \"name\": \"Мои компании\",\r\n \"filter\": {\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?isDeleted=false\",\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: сохраненные запросы по компаниям пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `CompanyListQueryList`.",
|
|
12242
11980
|
"parameters": [
|
|
12243
11981
|
{
|
|
12244
11982
|
"name": "id",
|
|
@@ -12383,7 +12121,7 @@
|
|
|
12383
12121
|
"Users"
|
|
12384
12122
|
],
|
|
12385
12123
|
"summary": "Получить список сохраненных запросов по компаниям текущего пользователя",
|
|
12386
|
-
"description": "## Пример запроса:\r\n \r\nGET /users/this/companyListQueries\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"10\": {\r\n \"name\": \"Мои компании\",\r\n \"filter\": {\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?isDeleted=false\",\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n##
|
|
12124
|
+
"description": "## Пример запроса:\r\n \r\nGET /users/this/companyListQueries\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"10\": {\r\n \"name\": \"Мои компании\",\r\n \"filter\": {\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?isDeleted=false\",\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: сохраненные запросы по компаниям текущего пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `CompanyListQueryList`.",
|
|
12387
12125
|
"parameters": [
|
|
12388
12126
|
{
|
|
12389
12127
|
"name": "Range",
|
|
@@ -12518,7 +12256,7 @@
|
|
|
12518
12256
|
"Users"
|
|
12519
12257
|
],
|
|
12520
12258
|
"summary": "Возвращает список пользователей с усеченным набором полей (для справочников и ниспадающих списков)",
|
|
12521
|
-
"description": "## Пример запроса:\r\n \r\nGET /users/short?searchText=Иван\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"employments\": [],\r\n \"sortOrder\": 1\r\n }\r\n}\r\n```\r\n \r\n##
|
|
12259
|
+
"description": "## Пример запроса:\r\n \r\nGET /users/short?searchText=Иван\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"employments\": [],\r\n \"sortOrder\": 1\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: по заданным фильтрам записи не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UsersListShort`.",
|
|
12522
12260
|
"parameters": [
|
|
12523
12261
|
{
|
|
12524
12262
|
"name": "searchText",
|
|
@@ -12812,7 +12550,7 @@
|
|
|
12812
12550
|
"Users"
|
|
12813
12551
|
],
|
|
12814
12552
|
"summary": "Возвращает список пользователей",
|
|
12815
|
-
"description": "## Пример запроса:\r\n \r\nGET /users?searchText=Иван&includeDistricts=true&includeTaskActuality=false\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"employments\": [],\r\n \"districts\": [],\r\n \"sortOrder\": 1\r\n }\r\n}\r\n```\r\n \r\n##
|
|
12553
|
+
"description": "## Пример запроса:\r\n \r\nGET /users?searchText=Иван&includeDistricts=true&includeTaskActuality=false\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"employments\": [],\r\n \"districts\": [],\r\n \"sortOrder\": 1\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: по заданным фильтрам записи не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UsersList`.",
|
|
12816
12554
|
"parameters": [
|
|
12817
12555
|
{
|
|
12818
12556
|
"name": "searchText",
|
|
@@ -13164,7 +12902,7 @@
|
|
|
13164
12902
|
"Users"
|
|
13165
12903
|
],
|
|
13166
12904
|
"summary": "Возвращает заголовок запроса пользователей с количеством данных, удовлетворяющих фильтру",
|
|
13167
|
-
"description": "## Пример запроса:\r\n \r\nHEAD /users?isDeleted=false\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 200 OK\r\n \r\nЗаголовок ответа:\r\n```\r\nContent-Range: items 0-0/42\r\n```\r\n \r\nТело ответа пустое.\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
12905
|
+
"description": "## Пример запроса:\r\n \r\nHEAD /users?isDeleted=false\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 200 OK\r\n \r\nЗаголовок ответа:\r\n```\r\nContent-Range: items 0-0/42\r\n```\r\n \r\nТело ответа пустое.\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UsersList`.",
|
|
13168
12906
|
"parameters": [
|
|
13169
12907
|
{
|
|
13170
12908
|
"name": "orgUnitID",
|
|
@@ -13349,7 +13087,7 @@
|
|
|
13349
13087
|
"Users"
|
|
13350
13088
|
],
|
|
13351
13089
|
"summary": "Добавить нового пользователя",
|
|
13352
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users?skipAccountVerification=false\r\n\r\n```json\r\n{\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Николаевич\",\r\n \"lastName\": \"Реван\",\r\n \"sexID\": 1,\r\n \"email\": \"japose9395@combcub.com\",\r\n \"mobilePhone\":
|
|
13090
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users?skipAccountVerification=false\r\n\r\n```json\r\n{\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Николаевич\",\r\n \"lastName\": \"Реван\",\r\n \"sexID\": 1,\r\n \"email\": \"japose9395@combcub.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": null,\r\n \"accountDomainLogin\": \"DOMAIN\\\\username\",\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": true,\r\n \"mobilityID\": 1,\r\n \"geotrackingModeID\": 1,\r\n \"banReasonID\": null,\r\n \"banTill\": null,\r\n \"isEmailVerified\": false,\r\n \"isMobilePhoneVerified\": false,\r\n \"rate\": 1500.00,\r\n \"rateCurrencyID\": 1\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 456,\r\n \"userID\": 123,\r\n \"tenantMemberID\": 789,\r\n \"tenantID\": 1,\r\n \"isNewAccount\": true,\r\n \"isPasswordDefined\": false,\r\n \"verificationRequestValidTill\": \"2024-01-15T10:15:00Z\"\r\n}\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"UserAccountAlreadyExists\",\r\n \"message\": \"Пользователь с таким email, телефоном или domain login уже существует\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не пройдена валидация `AddData` (`firstName`/`lastName`, `sexID`; для техника — `mobilityID`/`geotrackingModeID`; нужен email, телефон или domain login) (`InvalidDataException` / `InvalidEmailException` / `ParameterOutOfRangeException`).\r\n- 409 Conflict: некорректный `mobilePhone` (`InvalidPhoneException`).\r\n- 409 Conflict: учетная запись с таким email, телефоном или domain login уже существует (`UserAccountAlreadyExists`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAdd`.",
|
|
13353
13091
|
"parameters": [
|
|
13354
13092
|
{
|
|
13355
13093
|
"name": "skipAccountVerification",
|
|
@@ -13500,7 +13238,7 @@
|
|
|
13500
13238
|
"Users"
|
|
13501
13239
|
],
|
|
13502
13240
|
"summary": "Удалить нескольких пользователей",
|
|
13503
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /users\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
13241
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /users\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 409 Conflict: бизнес-конфликт при удалении одного или нескольких пользователей.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDelete`.",
|
|
13504
13242
|
"parameters": [
|
|
13505
13243
|
{
|
|
13506
13244
|
"name": "X-Application-ID",
|
|
@@ -13623,7 +13361,7 @@
|
|
|
13623
13361
|
"Users"
|
|
13624
13362
|
],
|
|
13625
13363
|
"summary": "Возвращает список пользователей по их релевантности к заявке",
|
|
13626
|
-
"description": "## Пример запроса:\r\n \r\nGET /users/relevance?searchText=Иван&assetID=100&includeDistricts=true\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"relevance\": {\r\n \"total\": 85\r\n }\r\n }\r\n}\r\n```\r\n \r\n##
|
|
13364
|
+
"description": "## Пример запроса:\r\n \r\nGET /users/relevance?searchText=Иван&assetID=100&includeDistricts=true\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": {\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"lastName\": \"Иванов\",\r\n \"relevance\": {\r\n \"total\": 85\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: по заданным фильтрам записи не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UsersList`.",
|
|
13627
13365
|
"parameters": [
|
|
13628
13366
|
{
|
|
13629
13367
|
"name": "searchText",
|
|
@@ -13882,7 +13620,7 @@
|
|
|
13882
13620
|
"Users"
|
|
13883
13621
|
],
|
|
13884
13622
|
"summary": "Получить детальную информацию о пользователе",
|
|
13885
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"teamUserID\": null,\r\n \"lastSeen\": \"2024-01-15T14:30:00Z\",\r\n \"rate\": 1500.50,\r\n \"accountDomainLogin\": \"DOMAIN\\\\username\",\r\n \"ban\": null,\r\n \"defaultLocation\": {\r\n \"id\": 1,\r\n \"address\": \"г. Москва, ул. Примерная, д. 1\",\r\n \"coordinate\": \"55.7558, 37.6173\"\r\n },\r\n \"actualLocation\": {\r\n \"coordinate\": \"55.7558, 37.6173\",\r\n \"actuality\": \"2024-01-15T14:30:00Z\"\r\n },\r\n \"mobility\": {\r\n \"id\": 1,\r\n \"name\": \"Мобильный\"\r\n },\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n },\r\n \"rating\": {\r\n \"total\": 4.5,\r\n \"totalTrendDirection\": 1,\r\n \"timestamp\": \"2024-01-15T14:30:00Z\"\r\n },\r\n \"flags\": {\r\n \"IsAllowedNestedDistricts\": true\r\n },\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"rateCurrency\": {\r\n \"id\": 1,\r\n \"shortName\": \"RUB\",\r\n \"asciiCode\": \"RUB\"\r\n }\r\n}\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n{\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"USER_NOT_FOUND\", \r\n \"message\": \"Пользователь с ID 999 не найден\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
13623
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"teamUserID\": null,\r\n \"lastSeen\": \"2024-01-15T14:30:00Z\",\r\n \"rate\": 1500.50,\r\n \"accountDomainLogin\": \"DOMAIN\\\\username\",\r\n \"ban\": null,\r\n \"defaultLocation\": {\r\n \"id\": 1,\r\n \"address\": \"г. Москва, ул. Примерная, д. 1\",\r\n \"coordinate\": \"55.7558, 37.6173\"\r\n },\r\n \"actualLocation\": {\r\n \"coordinate\": \"55.7558, 37.6173\",\r\n \"actuality\": \"2024-01-15T14:30:00Z\"\r\n },\r\n \"mobility\": {\r\n \"id\": 1,\r\n \"name\": \"Мобильный\"\r\n },\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n },\r\n \"rating\": {\r\n \"total\": 4.5,\r\n \"totalTrendDirection\": 1,\r\n \"timestamp\": \"2024-01-15T14:30:00Z\"\r\n },\r\n \"flags\": {\r\n \"IsAllowedNestedDistricts\": true\r\n },\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"rateCurrency\": {\r\n \"id\": 1,\r\n \"shortName\": \"RUB\",\r\n \"asciiCode\": \"RUB\"\r\n }\r\n}\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n{\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"USER_NOT_FOUND\", \r\n \"message\": \"Пользователь с ID 999 не найден\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 404 NotFound: пользователь с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGet`.",
|
|
13886
13624
|
"parameters": [
|
|
13887
13625
|
{
|
|
13888
13626
|
"name": "id",
|
|
@@ -14000,7 +13738,7 @@
|
|
|
14000
13738
|
"Users"
|
|
14001
13739
|
],
|
|
14002
13740
|
"summary": "Обновить данные пользователя",
|
|
14003
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/3\r\n\r\n```json\r\n{\r\n \"firstName\": \"Anonymous\",\r\n \"middleName\": \"\",\r\n \"lastName\": \"\",\r\n \"sexID\": 3,\r\n \"email\": \"\",\r\n \"mobilePhone\": \"\",\r\n \"workPhone\": \"\",\r\n \"isTechnician\": null,\r\n \"mobilityID\": null,\r\n \"geotrackingModeID\": null,\r\n \"rate\": null,\r\n \"rateCurrencyID\": null\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
13741
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/3\r\n\r\n```json\r\n{\r\n \"firstName\": \"Anonymous\",\r\n \"middleName\": \"\",\r\n \"lastName\": \"\",\r\n \"sexID\": 3,\r\n \"email\": \"\",\r\n \"mobilePhone\": \"\",\r\n \"workPhone\": \"\",\r\n \"isTechnician\": null,\r\n \"mobilityID\": null,\r\n \"geotrackingModeID\": null,\r\n \"rate\": null,\r\n \"rateCurrencyID\": null\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: некорректный `mobilePhone` (`InvalidPhoneException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserUpdate`.",
|
|
14004
13742
|
"parameters": [
|
|
14005
13743
|
{
|
|
14006
13744
|
"name": "id",
|
|
@@ -14128,7 +13866,7 @@
|
|
|
14128
13866
|
"Users"
|
|
14129
13867
|
],
|
|
14130
13868
|
"summary": "Получить профиль пользователя",
|
|
14131
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/profile?tenantMemberId=1&userId=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"isDelegationOn\": false,\r\n \"averageRating\": 4.5,\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"employments\": [\r\n {\r\n \"company\": {\r\n \"id\": 1,\r\n \"name\": \"ООО Пример\"\r\n },\r\n \"position\": \"Инженер\",\r\n \"scheduleRuleID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n }\r\n ],\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n{\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"USER_NOT_FOUND\", \r\n \"message\": \"Пользователь не найден\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
13869
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/profile?tenantMemberId=1&userId=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"isDelegationOn\": false,\r\n \"averageRating\": 4.5,\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"employments\": [\r\n {\r\n \"company\": {\r\n \"id\": 1,\r\n \"name\": \"ООО Пример\"\r\n },\r\n \"position\": \"Инженер\",\r\n \"scheduleRuleID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n }\r\n ],\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n{\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"USER_NOT_FOUND\", \r\n \"message\": \"Пользователь не найден\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 404 NotFound: пользователь не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGet`.",
|
|
14132
13870
|
"parameters": [
|
|
14133
13871
|
{
|
|
14134
13872
|
"name": "tenantMemberId",
|
|
@@ -14148,26 +13886,6 @@
|
|
|
14148
13886
|
"format": "int32"
|
|
14149
13887
|
}
|
|
14150
13888
|
},
|
|
14151
|
-
{
|
|
14152
|
-
"name": "tenantMemberId",
|
|
14153
|
-
"in": "query",
|
|
14154
|
-
"description": "ID члена тенанта (опционально). Если не указан, используется текущий tenantMemberId",
|
|
14155
|
-
"schema": {
|
|
14156
|
-
"type": "integer",
|
|
14157
|
-
"format": "int32",
|
|
14158
|
-
"nullable": true
|
|
14159
|
-
}
|
|
14160
|
-
},
|
|
14161
|
-
{
|
|
14162
|
-
"name": "userId",
|
|
14163
|
-
"in": "query",
|
|
14164
|
-
"description": "ID пользователя (опционально)",
|
|
14165
|
-
"schema": {
|
|
14166
|
-
"type": "integer",
|
|
14167
|
-
"format": "int32",
|
|
14168
|
-
"nullable": true
|
|
14169
|
-
}
|
|
14170
|
-
},
|
|
14171
13889
|
{
|
|
14172
13890
|
"name": "X-Application-ID",
|
|
14173
13891
|
"in": "header",
|
|
@@ -14256,7 +13974,7 @@
|
|
|
14256
13974
|
"Users"
|
|
14257
13975
|
],
|
|
14258
13976
|
"summary": "Добавить нового пользователя через интеграцию",
|
|
14259
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/addbyintegration?skipAccountVerification=false\r\n\r\n```json\r\n{\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Николаевич\",\r\n \"lastName\": \"Реван\",\r\n \"sexID\": 1,\r\n \"email\": \"japose9395@combcub.com\",\r\n \"mobilePhone\":
|
|
13977
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/addbyintegration?skipAccountVerification=false\r\n\r\n```json\r\n{\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Николаевич\",\r\n \"lastName\": \"Реван\",\r\n \"sexID\": 1,\r\n \"email\": \"japose9395@combcub.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": null,\r\n \"accountDomainLogin\": \"DOMAIN\\\\username\",\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": true,\r\n \"mobilityID\": 1,\r\n \"geotrackingModeID\": 1,\r\n \"banReasonID\": null,\r\n \"banTill\": null,\r\n \"isEmailVerified\": false,\r\n \"isMobilePhoneVerified\": false,\r\n \"rate\": 1500.00,\r\n \"rateCurrencyID\": 1\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"roleID\": 1\r\n }\r\n]\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"UserAccountAlreadyExists\",\r\n \"message\": \"Пользователь с таким email, телефоном или domain login уже существует\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не пройдена валидация `AddData` (`firstName`/`lastName`, `sexID`; для техника — `mobilityID`/`geotrackingModeID`; нужен email, телефон или domain login) (`InvalidDataException` / `InvalidEmailException` / `ParameterOutOfRangeException`).\r\n- 409 Conflict: некорректный `mobilePhone` (`InvalidPhoneException`).\r\n- 409 Conflict: учетная запись с таким email, телефоном или domain login уже существует (`UserAccountAlreadyExists`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAddWithSystemRoleByIntegration`.",
|
|
14260
13978
|
"parameters": [
|
|
14261
13979
|
{
|
|
14262
13980
|
"name": "skipAccountVerification",
|
|
@@ -14418,7 +14136,7 @@
|
|
|
14418
14136
|
"Users"
|
|
14419
14137
|
],
|
|
14420
14138
|
"summary": "Изменить тип пользователя на заказчика",
|
|
14421
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/changeToCustomer\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
14139
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/changeToCustomer\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserChangeTypeToCustomer`.",
|
|
14422
14140
|
"parameters": [
|
|
14423
14141
|
{
|
|
14424
14142
|
"name": "X-Application-ID",
|
|
@@ -14532,7 +14250,7 @@
|
|
|
14532
14250
|
"Users"
|
|
14533
14251
|
],
|
|
14534
14252
|
"summary": "Изменить тип пользователя на сотрудника",
|
|
14535
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/changeToStaff\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
14253
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/changeToStaff\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserChangeTypeToStaff`.",
|
|
14536
14254
|
"parameters": [
|
|
14537
14255
|
{
|
|
14538
14256
|
"name": "X-Application-ID",
|
|
@@ -14646,7 +14364,7 @@
|
|
|
14646
14364
|
"Users"
|
|
14647
14365
|
],
|
|
14648
14366
|
"summary": "Удалить пользователя",
|
|
14649
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /users/123\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
14367
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /users/123\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 409 Conflict: бизнес-конфликт при удалении пользователя.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDelete`.",
|
|
14650
14368
|
"parameters": [
|
|
14651
14369
|
{
|
|
14652
14370
|
"name": "userID",
|
|
@@ -14738,7 +14456,7 @@
|
|
|
14738
14456
|
"Users"
|
|
14739
14457
|
],
|
|
14740
14458
|
"summary": "Восстановить пользователя из удаленных",
|
|
14741
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/123/restore\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
14459
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/123/restore\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 409 Conflict: бизнес-конфликт при восстановлении пользователя.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserRestore`.",
|
|
14742
14460
|
"parameters": [
|
|
14743
14461
|
{
|
|
14744
14462
|
"name": "userID",
|
|
@@ -14830,7 +14548,7 @@
|
|
|
14830
14548
|
"Users"
|
|
14831
14549
|
],
|
|
14832
14550
|
"summary": "Восстановить нескольких пользователей из удаленных",
|
|
14833
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/restore\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
14551
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/restore\r\n\r\n```json\r\n[123, 456, 789]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 409 Conflict: бизнес-конфликт при восстановлении одного или нескольких пользователей.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserRestore`.",
|
|
14834
14552
|
"parameters": [
|
|
14835
14553
|
{
|
|
14836
14554
|
"name": "X-Application-ID",
|
|
@@ -14953,7 +14671,7 @@
|
|
|
14953
14671
|
"Users"
|
|
14954
14672
|
],
|
|
14955
14673
|
"summary": "Добавить стартовые страницы пользователей",
|
|
14956
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/defaultPages\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 1,\r\n \"webPage\": \"dashboard\",\r\n \"mobilePage\": \"tasks\"\r\n },\r\n {\r\n \"userID\": 2,\r\n \"webPage\": \"workorders\",\r\n \"mobilePage\": null\r\n }\r\n]\r\n```\r\n\r\n## Успешный ответ\r\n\r\nHTTP 201 Created, без тела.\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
14674
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/defaultPages\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 1,\r\n \"webPage\": \"dashboard\",\r\n \"mobilePage\": \"tasks\"\r\n },\r\n {\r\n \"userID\": 2,\r\n \"webPage\": \"workorders\",\r\n \"mobilePage\": null\r\n }\r\n]\r\n```\r\n\r\n## Успешный ответ\r\n\r\nHTTP 201 Created, без тела.\r\n \r\n## Негативные сценарии:\r\n- 409 Conflict: null-элемент или не заданы `webPage` и `mobilePage` (`ParameterOutOfRangeException`).\r\n- 409 Conflict: у всех переданных пользователей настройки стартовых страниц уже существуют.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDefaultPagesAdd`.",
|
|
14957
14675
|
"parameters": [
|
|
14958
14676
|
{
|
|
14959
14677
|
"name": "X-Application-ID",
|
|
@@ -15081,7 +14799,7 @@
|
|
|
15081
14799
|
"Users"
|
|
15082
14800
|
],
|
|
15083
14801
|
"summary": "Изменить стартовые страницы пользователей",
|
|
15084
|
-
"description": "## Пример запроса:\r\n \r\nPUT /users/defaultPages\r\n \r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"webPage\": \"dashboard\",\r\n \"mobilePage\": \"tasks\"\r\n },\r\n {\r\n \"userID\": 124,\r\n \"webPage\": \"workorders\",\r\n \"mobilePage\": null\r\n }\r\n]\r\n```\r\n \r\n## Успешный ответ\r\n \r\nHTTP 202 Accepted, без тела.\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
14802
|
+
"description": "## Пример запроса:\r\n \r\nPUT /users/defaultPages\r\n \r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"webPage\": \"dashboard\",\r\n \"mobilePage\": \"tasks\"\r\n },\r\n {\r\n \"userID\": 124,\r\n \"webPage\": \"workorders\",\r\n \"mobilePage\": null\r\n }\r\n]\r\n```\r\n \r\n## Успешный ответ\r\n \r\nHTTP 202 Accepted, без тела.\r\n \r\n## Негативные сценарии:\r\n- 409 Conflict: null-элемент или не заданы `webPage` и `mobilePage` (`ParameterOutOfRangeException`).\r\n- 400 BadRequest: ошибка обновления настроек для всех переданных пользователей.\r\n- 404 NotFound: ни для одного из переданных пользователей не найдены настройки стартовых страниц.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDefaultPagesUpdate`.",
|
|
15085
14803
|
"parameters": [
|
|
15086
14804
|
{
|
|
15087
14805
|
"name": "X-Application-ID",
|
|
@@ -15177,6 +14895,26 @@
|
|
|
15177
14895
|
}
|
|
15178
14896
|
}
|
|
15179
14897
|
},
|
|
14898
|
+
"409": {
|
|
14899
|
+
"description": "Conflict",
|
|
14900
|
+
"content": {
|
|
14901
|
+
"text/plain": {
|
|
14902
|
+
"schema": {
|
|
14903
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
14904
|
+
}
|
|
14905
|
+
},
|
|
14906
|
+
"application/json": {
|
|
14907
|
+
"schema": {
|
|
14908
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
14909
|
+
}
|
|
14910
|
+
},
|
|
14911
|
+
"text/json": {
|
|
14912
|
+
"schema": {
|
|
14913
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
14914
|
+
}
|
|
14915
|
+
}
|
|
14916
|
+
}
|
|
14917
|
+
},
|
|
15180
14918
|
"404": {
|
|
15181
14919
|
"description": "Ни для кого из переданных пользователей не найдены настройки стартовых страниц (ни одна запись не обновлена)",
|
|
15182
14920
|
"content": {
|
|
@@ -15209,7 +14947,7 @@
|
|
|
15209
14947
|
"Users"
|
|
15210
14948
|
],
|
|
15211
14949
|
"summary": "Сбросить стартовые страницы у пользователей",
|
|
15212
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /users/defaultPages\r\n\r\n```json\r\n[123, 124, 125]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
14950
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /users/defaultPages\r\n\r\n```json\r\n[123, 124, 125]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDefaultPagesDelete`.",
|
|
15213
14951
|
"parameters": [
|
|
15214
14952
|
{
|
|
15215
14953
|
"name": "X-Application-ID",
|
|
@@ -15306,7 +15044,7 @@
|
|
|
15306
15044
|
"Users"
|
|
15307
15045
|
],
|
|
15308
15046
|
"summary": "Получить текущие стартовые страницы пользователя",
|
|
15309
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/defaultPages\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"webPage\": \"dashboard\",\r\n \"mobilePage\": \"tasks\",\r\n \"webPageNameRu\": \"Дашборд\",\r\n \"mobilePageNameRu\": \"Задачи\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n-
|
|
15047
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/defaultPages\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"webPage\": \"dashboard\",\r\n \"mobilePage\": \"tasks\",\r\n \"webPageNameRu\": \"Дашборд\",\r\n \"mobilePageNameRu\": \"Задачи\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: настройки стартовых страниц пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDefaultPagesGet`.",
|
|
15310
15048
|
"parameters": [
|
|
15311
15049
|
{
|
|
15312
15050
|
"name": "userID",
|
|
@@ -15392,7 +15130,7 @@
|
|
|
15392
15130
|
"Users"
|
|
15393
15131
|
],
|
|
15394
15132
|
"summary": "Получить список участков пользователя",
|
|
15395
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/districts\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"
|
|
15133
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/districts\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"parentID\": null,\r\n \"name\": \"Центральный район\"\r\n },\r\n \"2\": {\r\n \"parentID\": 1,\r\n \"name\": \"Северный район\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: участки пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserDistrictList`.",
|
|
15396
15134
|
"parameters": [
|
|
15397
15135
|
{
|
|
15398
15136
|
"name": "id",
|
|
@@ -15469,7 +15207,7 @@
|
|
|
15469
15207
|
"schema": {
|
|
15470
15208
|
"type": "object",
|
|
15471
15209
|
"additionalProperties": {
|
|
15472
|
-
"$ref": "#/components/schemas/
|
|
15210
|
+
"$ref": "#/components/schemas/ListDistrictResult"
|
|
15473
15211
|
}
|
|
15474
15212
|
}
|
|
15475
15213
|
},
|
|
@@ -15477,7 +15215,7 @@
|
|
|
15477
15215
|
"schema": {
|
|
15478
15216
|
"type": "object",
|
|
15479
15217
|
"additionalProperties": {
|
|
15480
|
-
"$ref": "#/components/schemas/
|
|
15218
|
+
"$ref": "#/components/schemas/ListDistrictResult"
|
|
15481
15219
|
}
|
|
15482
15220
|
}
|
|
15483
15221
|
},
|
|
@@ -15485,7 +15223,7 @@
|
|
|
15485
15223
|
"schema": {
|
|
15486
15224
|
"type": "object",
|
|
15487
15225
|
"additionalProperties": {
|
|
15488
|
-
"$ref": "#/components/schemas/
|
|
15226
|
+
"$ref": "#/components/schemas/ListDistrictResult"
|
|
15489
15227
|
}
|
|
15490
15228
|
}
|
|
15491
15229
|
}
|
|
@@ -15519,7 +15257,7 @@
|
|
|
15519
15257
|
"Users"
|
|
15520
15258
|
],
|
|
15521
15259
|
"summary": "Добавить настройки точности сбора геокоординат для пользователей",
|
|
15522
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/geolocation\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"coordinateAccuracyID\": 1\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
15260
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/geolocation\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"coordinateAccuracyID\": 1\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGeolocationBatchAdd`.",
|
|
15523
15261
|
"parameters": [
|
|
15524
15262
|
{
|
|
15525
15263
|
"name": "X-Application-ID",
|
|
@@ -15610,7 +15348,7 @@
|
|
|
15610
15348
|
"Users"
|
|
15611
15349
|
],
|
|
15612
15350
|
"summary": "Обновить настройки точности сбора геокоординат для пользователей",
|
|
15613
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/geolocation\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"coordinateAccuracyID\": 2\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
15351
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/geolocation\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"coordinateAccuracyID\": 2\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGeolocationBatchUpdate`.",
|
|
15614
15352
|
"parameters": [
|
|
15615
15353
|
{
|
|
15616
15354
|
"name": "X-Application-ID",
|
|
@@ -15701,7 +15439,7 @@
|
|
|
15701
15439
|
"Users"
|
|
15702
15440
|
],
|
|
15703
15441
|
"summary": "Получить список настроек точности сбора геокоординат для пользователей",
|
|
15704
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/geolocation?userID=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"coordinateAccuracy\": {\r\n \"id\": 1,\r\n \"isDefault\": true\r\n }\r\n }\r\n]\r\n```\r\n \r\n##
|
|
15442
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/geolocation?userID=123\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"coordinateAccuracy\": {\r\n \"id\": 1,\r\n \"isDefault\": true\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: по заданным фильтрам записи не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGeolocationList`.",
|
|
15705
15443
|
"parameters": [
|
|
15706
15444
|
{
|
|
15707
15445
|
"name": "Range",
|
|
@@ -15827,7 +15565,7 @@
|
|
|
15827
15565
|
"Users"
|
|
15828
15566
|
],
|
|
15829
15567
|
"summary": "Добавить настройку точности сбора геокоординат для пользователя",
|
|
15830
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/123/geolocation?coordinateAccuracyID=1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
15568
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/123/geolocation?coordinateAccuracyID=1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 201 Created\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: некорректный `userID` или `coordinateAccuracyID`.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGeolocationAdd`.",
|
|
15831
15569
|
"parameters": [
|
|
15832
15570
|
{
|
|
15833
15571
|
"name": "userID",
|
|
@@ -15900,7 +15638,7 @@
|
|
|
15900
15638
|
"Users"
|
|
15901
15639
|
],
|
|
15902
15640
|
"summary": "Обновить настройку точности сбора геокоординат для пользователя",
|
|
15903
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/123/geolocation?coordinateAccuracyID=2\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n-
|
|
15641
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/123/geolocation?coordinateAccuracyID=2\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: некорректный `userID` или `coordinateAccuracyID`.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGeolocationUpdate`.",
|
|
15904
15642
|
"parameters": [
|
|
15905
15643
|
{
|
|
15906
15644
|
"name": "userID",
|
|
@@ -15975,7 +15713,7 @@
|
|
|
15975
15713
|
"Users"
|
|
15976
15714
|
],
|
|
15977
15715
|
"summary": "Получить настройку точности сбора геокоординат текущего пользователя",
|
|
15978
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/this/geolocation\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"coordinateAccuracy\": {\r\n \"id\": 1,\r\n \"parametersJson\": \"{\\\"accuracy\\\": 10}\",\r\n \"isDefault\": true\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
15716
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/this/geolocation\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"coordinateAccuracy\": {\r\n \"id\": 1,\r\n \"parametersJson\": \"{\\\"accuracy\\\": 10}\",\r\n \"isDefault\": true\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGeolocationGet`.",
|
|
15979
15717
|
"parameters": [
|
|
15980
15718
|
{
|
|
15981
15719
|
"name": "X-Application-ID",
|
|
@@ -16045,7 +15783,7 @@
|
|
|
16045
15783
|
"Users"
|
|
16046
15784
|
],
|
|
16047
15785
|
"summary": "Повторно отправить приглашение пользователю",
|
|
16048
|
-
"description": "## Пример запроса:\r\n\r\nPUT /users/123/resendinvitation\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
15786
|
+
"description": "## Пример запроса:\r\n\r\nPUT /users/123/resendinvitation\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: для указанного пользователя не найден член тенанта.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAdd`.",
|
|
16049
15787
|
"parameters": [
|
|
16050
15788
|
{
|
|
16051
15789
|
"name": "userID",
|
|
@@ -16111,7 +15849,7 @@
|
|
|
16111
15849
|
"Users"
|
|
16112
15850
|
],
|
|
16113
15851
|
"summary": "Получить список UI полномочий текущего пользователя",
|
|
16114
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/this/permissions/ui\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"USER_VIEW\": \"READ\",\r\n \"USER_EDIT\": \"WRITE\",\r\n \"TASK_CREATE\": \"READ\"\r\n}\r\n```\r\n \r\n##
|
|
15852
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/this/permissions/ui\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"USER_VIEW\": \"READ\",\r\n \"USER_EDIT\": \"WRITE\",\r\n \"TASK_CREATE\": \"READ\"\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: UI-полномочия текущего пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
16115
15853
|
"parameters": [
|
|
16116
15854
|
{
|
|
16117
15855
|
"name": "Range",
|
|
@@ -16228,7 +15966,7 @@
|
|
|
16228
15966
|
"Users"
|
|
16229
15967
|
],
|
|
16230
15968
|
"summary": "Получить список расширенных полномочий текущего пользователя",
|
|
16231
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/this/permissions/ext\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": \"TASK_ASSIGN\",\r\n \"2\": \"USER_MANAGE\",\r\n \"3\": \"REPORT_VIEW\"\r\n}\r\n```\r\n \r\n##
|
|
15969
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/this/permissions/ext\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": \"TASK_ASSIGN\",\r\n \"2\": \"USER_MANAGE\",\r\n \"3\": \"REPORT_VIEW\"\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: расширенные полномочия текущего пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
|
|
16232
15970
|
"parameters": [
|
|
16233
15971
|
{
|
|
16234
15972
|
"name": "Range",
|
|
@@ -16345,7 +16083,7 @@
|
|
|
16345
16083
|
"Users"
|
|
16346
16084
|
],
|
|
16347
16085
|
"summary": "Получить профиль пользователя",
|
|
16348
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/profile\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"isDelegationOn\": false,\r\n \"averageRating\": 4.5,\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"employments\": [\r\n {\r\n \"company\": {\r\n \"id\": 1,\r\n \"name\": \"ООО Пример\"\r\n },\r\n \"position\": \"Инженер\",\r\n \"scheduleRuleID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n }\r\n ],\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n{\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"USER_NOT_FOUND\", \r\n \"message\": \"Пользователь не найден\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
16086
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/profile\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"isDelegationOn\": false,\r\n \"averageRating\": 4.5,\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"employments\": [\r\n {\r\n \"company\": {\r\n \"id\": 1,\r\n \"name\": \"ООО Пример\"\r\n },\r\n \"position\": \"Инженер\",\r\n \"scheduleRuleID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n }\r\n ],\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n\r\n## Пример ошибки:\r\n```json\r\n{\r\n \"traceIdentifier\": \"0HMV3B6Q3K2Q1:00000001\",\r\n \"code\": \"USER_NOT_FOUND\", \r\n \"message\": \"Пользователь не найден\"\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 404 NotFound: пользователь с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGet`.",
|
|
16349
16087
|
"parameters": [
|
|
16350
16088
|
{
|
|
16351
16089
|
"name": "id",
|
|
@@ -16445,7 +16183,7 @@
|
|
|
16445
16183
|
"Users"
|
|
16446
16184
|
],
|
|
16447
16185
|
"summary": "Получить профиль текущего пользователя",
|
|
16448
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/this/profile\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"isDelegationOn\": false,\r\n \"averageRating\": 4.5,\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"employments\": [\r\n {\r\n \"company\": {\r\n \"id\": 1,\r\n \"name\": \"ООО Пример\"\r\n },\r\n \"position\": \"Инженер\",\r\n \"scheduleRuleID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n }\r\n ],\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
16186
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/this/profile\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"workPhone\": \"+74951234567\",\r\n \"isEmailVerified\": true,\r\n \"isMobilePhoneVerified\": true,\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"avatarUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"isDelegationOn\": false,\r\n \"averageRating\": 4.5,\r\n \"sex\": {\r\n \"id\": 1,\r\n \"name\": \"Мужской\"\r\n },\r\n \"employments\": [\r\n {\r\n \"company\": {\r\n \"id\": 1,\r\n \"name\": \"ООО Пример\"\r\n },\r\n \"position\": \"Инженер\",\r\n \"scheduleRuleID\": 1,\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n }\r\n ],\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserGet`.",
|
|
16449
16187
|
"parameters": [
|
|
16450
16188
|
{
|
|
16451
16189
|
"name": "X-Application-ID",
|
|
@@ -16515,7 +16253,7 @@
|
|
|
16515
16253
|
"Users"
|
|
16516
16254
|
],
|
|
16517
16255
|
"summary": "Загрузить аватар пользователя из формы",
|
|
16518
|
-
"description": "## Пример запроса:\r\n \r\nPUT /users/123/avatar/upload/fromForm\r\n \r\nФорма multipart/form-data с полем файла изображения JPG не менее 256x256.\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n-
|
|
16256
|
+
"description": "## Пример запроса:\r\n \r\nPUT /users/123/avatar/upload/fromForm\r\n \r\nФорма multipart/form-data с полем файла изображения JPG не менее 256x256.\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не пройдена валидация данных вложения (`InvalidDataException`).\r\n- 409 Conflict: значение `userID` вне допустимого диапазона (`ParameterOutOfRangeException`).\r\n- 409 Conflict: недопустимый `Content-Type` изображения (`InvalidContentTypeException`).\r\n- 400 BadRequest: ошибка загрузки файла в хранилище.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserProfileAvatarUpload`.",
|
|
16519
16257
|
"parameters": [
|
|
16520
16258
|
{
|
|
16521
16259
|
"name": "id",
|
|
@@ -16731,6 +16469,26 @@
|
|
|
16731
16469
|
},
|
|
16732
16470
|
"400": {
|
|
16733
16471
|
"description": "Неверные данные запроса"
|
|
16472
|
+
},
|
|
16473
|
+
"409": {
|
|
16474
|
+
"description": "Conflict",
|
|
16475
|
+
"content": {
|
|
16476
|
+
"text/plain": {
|
|
16477
|
+
"schema": {
|
|
16478
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16479
|
+
}
|
|
16480
|
+
},
|
|
16481
|
+
"application/json": {
|
|
16482
|
+
"schema": {
|
|
16483
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16484
|
+
}
|
|
16485
|
+
},
|
|
16486
|
+
"text/json": {
|
|
16487
|
+
"schema": {
|
|
16488
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16489
|
+
}
|
|
16490
|
+
}
|
|
16491
|
+
}
|
|
16734
16492
|
}
|
|
16735
16493
|
},
|
|
16736
16494
|
"security": [
|
|
@@ -16746,7 +16504,7 @@
|
|
|
16746
16504
|
"Users"
|
|
16747
16505
|
],
|
|
16748
16506
|
"summary": "Загрузить аватар пользователя из тела запроса",
|
|
16749
|
-
"description": "## Пример запроса:\r\n \r\nPUT /users/123/avatar/upload/fromBody\r\n \r\n```json\r\n{\r\n \"fileName\": \"avatar.jpg\",\r\n \"contentType\": \"image/jpeg\",\r\n \"file\": \"base64-encoded-content\"\r\n}\r\n```\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n-
|
|
16507
|
+
"description": "## Пример запроса:\r\n \r\nPUT /users/123/avatar/upload/fromBody\r\n \r\n```json\r\n{\r\n \"fileName\": \"avatar.jpg\",\r\n \"contentType\": \"image/jpeg\",\r\n \"file\": \"base64-encoded-content\"\r\n}\r\n```\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не пройдена валидация данных вложения (`InvalidDataException`).\r\n- 409 Conflict: значение `userID` вне допустимого диапазона (`ParameterOutOfRangeException`).\r\n- 409 Conflict: недопустимый `Content-Type` изображения (`InvalidContentTypeException`).\r\n- 400 BadRequest: ошибка загрузки файла в хранилище.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserProfileAvatarUpload`.",
|
|
16750
16508
|
"parameters": [
|
|
16751
16509
|
{
|
|
16752
16510
|
"name": "id",
|
|
@@ -16839,6 +16597,26 @@
|
|
|
16839
16597
|
},
|
|
16840
16598
|
"400": {
|
|
16841
16599
|
"description": "Неверные данные запроса"
|
|
16600
|
+
},
|
|
16601
|
+
"409": {
|
|
16602
|
+
"description": "Conflict",
|
|
16603
|
+
"content": {
|
|
16604
|
+
"text/plain": {
|
|
16605
|
+
"schema": {
|
|
16606
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16607
|
+
}
|
|
16608
|
+
},
|
|
16609
|
+
"application/json": {
|
|
16610
|
+
"schema": {
|
|
16611
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16612
|
+
}
|
|
16613
|
+
},
|
|
16614
|
+
"text/json": {
|
|
16615
|
+
"schema": {
|
|
16616
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16617
|
+
}
|
|
16618
|
+
}
|
|
16619
|
+
}
|
|
16842
16620
|
}
|
|
16843
16621
|
},
|
|
16844
16622
|
"security": [
|
|
@@ -16854,7 +16632,7 @@
|
|
|
16854
16632
|
"Users"
|
|
16855
16633
|
],
|
|
16856
16634
|
"summary": "Загрузить аватар текущего пользователя из формы",
|
|
16857
|
-
"description": "## Пример запроса:\r\n \r\nPUT /users/this/avatar/upload/fromForm\r\n \r\nФорма multipart/form-data с полем файла изображения JPG не менее 128x128.\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
16635
|
+
"description": "## Пример запроса:\r\n \r\nPUT /users/this/avatar/upload/fromForm\r\n \r\nФорма multipart/form-data с полем файла изображения JPG не менее 128x128.\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не пройдена валидация данных вложения (`InvalidDataException`).\r\n- 409 Conflict: значение `userID` вне допустимого диапазона (`ParameterOutOfRangeException`).\r\n- 409 Conflict: недопустимый `Content-Type` изображения (`InvalidContentTypeException`).\r\n- 400 BadRequest: ошибка загрузки файла в хранилище.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserProfileAvatarUpload`.",
|
|
16858
16636
|
"parameters": [
|
|
16859
16637
|
{
|
|
16860
16638
|
"name": "X-Application-ID",
|
|
@@ -17060,6 +16838,26 @@
|
|
|
17060
16838
|
},
|
|
17061
16839
|
"400": {
|
|
17062
16840
|
"description": "Неверные данные запроса"
|
|
16841
|
+
},
|
|
16842
|
+
"409": {
|
|
16843
|
+
"description": "Conflict",
|
|
16844
|
+
"content": {
|
|
16845
|
+
"text/plain": {
|
|
16846
|
+
"schema": {
|
|
16847
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16848
|
+
}
|
|
16849
|
+
},
|
|
16850
|
+
"application/json": {
|
|
16851
|
+
"schema": {
|
|
16852
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16853
|
+
}
|
|
16854
|
+
},
|
|
16855
|
+
"text/json": {
|
|
16856
|
+
"schema": {
|
|
16857
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16858
|
+
}
|
|
16859
|
+
}
|
|
16860
|
+
}
|
|
17063
16861
|
}
|
|
17064
16862
|
},
|
|
17065
16863
|
"security": [
|
|
@@ -17075,7 +16873,7 @@
|
|
|
17075
16873
|
"Users"
|
|
17076
16874
|
],
|
|
17077
16875
|
"summary": "Загрузить аватар текущего пользователя из тела запроса",
|
|
17078
|
-
"description": "## Пример запроса:\r\n \r\nPUT /users/this/avatar/upload/fromBody\r\n \r\n```json\r\n{\r\n \"fileName\": \"avatar.jpg\",\r\n \"contentType\": \"image/jpeg\",\r\n \"file\": \"base64-encoded-content\"\r\n}\r\n```\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
16876
|
+
"description": "## Пример запроса:\r\n \r\nPUT /users/this/avatar/upload/fromBody\r\n \r\n```json\r\n{\r\n \"fileName\": \"avatar.jpg\",\r\n \"contentType\": \"image/jpeg\",\r\n \"file\": \"base64-encoded-content\"\r\n}\r\n```\r\n \r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"attachmentID\": 456,\r\n \"publicUrl\": \"https://storage.example.com/avatars/user123.jpg\",\r\n \"size\": 102400\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не пройдена валидация данных вложения (`InvalidDataException`).\r\n- 409 Conflict: значение `userID` вне допустимого диапазона (`ParameterOutOfRangeException`).\r\n- 409 Conflict: недопустимый `Content-Type` изображения (`InvalidContentTypeException`).\r\n- 400 BadRequest: ошибка загрузки файла в хранилище.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserProfileAvatarUpload`.",
|
|
17079
16877
|
"parameters": [
|
|
17080
16878
|
{
|
|
17081
16879
|
"name": "X-Application-ID",
|
|
@@ -17158,6 +16956,26 @@
|
|
|
17158
16956
|
},
|
|
17159
16957
|
"400": {
|
|
17160
16958
|
"description": "Неверные данные запроса"
|
|
16959
|
+
},
|
|
16960
|
+
"409": {
|
|
16961
|
+
"description": "Conflict",
|
|
16962
|
+
"content": {
|
|
16963
|
+
"text/plain": {
|
|
16964
|
+
"schema": {
|
|
16965
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16966
|
+
}
|
|
16967
|
+
},
|
|
16968
|
+
"application/json": {
|
|
16969
|
+
"schema": {
|
|
16970
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16971
|
+
}
|
|
16972
|
+
},
|
|
16973
|
+
"text/json": {
|
|
16974
|
+
"schema": {
|
|
16975
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
16976
|
+
}
|
|
16977
|
+
}
|
|
16978
|
+
}
|
|
17161
16979
|
}
|
|
17162
16980
|
},
|
|
17163
16981
|
"security": [
|
|
@@ -17173,7 +16991,7 @@
|
|
|
17173
16991
|
"Users"
|
|
17174
16992
|
],
|
|
17175
16993
|
"summary": "Удалить аватар указанного пользователя",
|
|
17176
|
-
"description": "## Пример запроса:\r\n \r\nDELETE /users/123/avatar\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
16994
|
+
"description": "## Пример запроса:\r\n \r\nDELETE /users/123/avatar\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserProfileAvatarDelete`.",
|
|
17177
16995
|
"parameters": [
|
|
17178
16996
|
{
|
|
17179
16997
|
"name": "id",
|
|
@@ -17236,7 +17054,7 @@
|
|
|
17236
17054
|
"Users"
|
|
17237
17055
|
],
|
|
17238
17056
|
"summary": "Удалить аватар текущего пользователя",
|
|
17239
|
-
"description": "## Пример запроса:\r\n \r\nDELETE /users/this/avatar\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
17057
|
+
"description": "## Пример запроса:\r\n \r\nDELETE /users/this/avatar\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserProfileAvatarDelete`.",
|
|
17240
17058
|
"parameters": [
|
|
17241
17059
|
{
|
|
17242
17060
|
"name": "X-Application-ID",
|
|
@@ -17289,7 +17107,7 @@
|
|
|
17289
17107
|
"Users"
|
|
17290
17108
|
],
|
|
17291
17109
|
"summary": "Удалить аватары указанных пользователей",
|
|
17292
|
-
"description": "## Пример запроса:\r\n \r\nDELETE /users/avatar\r\n \r\n```json\r\n[123, 124]\r\n```\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
17110
|
+
"description": "## Пример запроса:\r\n \r\nDELETE /users/avatar\r\n \r\n```json\r\n[123, 124]\r\n```\r\n \r\n## Пример успешного ответа:\r\n \r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserProfileAvatarDelete`.",
|
|
17293
17111
|
"parameters": [
|
|
17294
17112
|
{
|
|
17295
17113
|
"name": "X-Application-ID",
|
|
@@ -17383,7 +17201,7 @@
|
|
|
17383
17201
|
"Users"
|
|
17384
17202
|
],
|
|
17385
17203
|
"summary": "Получить рейтинг инженера",
|
|
17386
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/ratings\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"technicianID\": 123,\r\n \"averageRating\": 4.5,\r\n \"maxMark\": 5,\r\n \"ratingCriterias\": [\r\n {\r\n \"id\": 1,\r\n \"name\": \"Качество работы\",\r\n \"averageRating\": 4.8,\r\n \"rating\": [\r\n {\r\n \"markNumber\": 5,\r\n \"countOfTotal\": 10,\r\n \"direction\": 1\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n```\r\n \r\n##
|
|
17204
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/ratings\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"technicianID\": 123,\r\n \"averageRating\": 4.5,\r\n \"maxMark\": 5,\r\n \"ratingCriterias\": [\r\n {\r\n \"id\": 1,\r\n \"name\": \"Качество работы\",\r\n \"averageRating\": 4.8,\r\n \"rating\": [\r\n {\r\n \"markNumber\": 5,\r\n \"countOfTotal\": 10,\r\n \"direction\": 1\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: рейтинги инженера не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TaskTechnicianRatingListByTechnicianForTenantMember`.",
|
|
17387
17205
|
"parameters": [
|
|
17388
17206
|
{
|
|
17389
17207
|
"name": "userID",
|
|
@@ -17501,7 +17319,7 @@
|
|
|
17501
17319
|
"Users"
|
|
17502
17320
|
],
|
|
17503
17321
|
"summary": "Саморегистрация пользователя по приглашению",
|
|
17504
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/registration\r\n\r\n```json\r\n{\r\n \"invitationID\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"accountDomainLogin\": \"DOMAIN\\\\username\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"accountID\": 456,\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"verificationCodeRepeatTimeout\": 60\r\n}\r\n```\r\n\r\n##
|
|
17322
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/registration\r\n\r\n```json\r\n{\r\n \"invitationID\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"firstName\": \"Иван\",\r\n \"middleName\": \"Петрович\",\r\n \"lastName\": \"Иванов\",\r\n \"email\": \"ivan.ivanov@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"accountDomainLogin\": \"DOMAIN\\\\username\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"accountID\": 456,\r\n \"tenantID\": 1,\r\n \"userID\": 123,\r\n \"verificationCodeRepeatTimeout\": 60\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не заданы обязательные `invitationID`/`firstName`/`lastName` или превышена длина строковых полей (`InvalidDataException`).\r\n- 409 Conflict: не передан ни `email`, ни `mobilePhone`, ни `accountDomainLogin` (`InvalidDataException`).\r\n- 204 NoContent: регистрация по приглашению не выполнена.\r\n- 409 Conflict: приглашение недействительно или бизнес-конфликт при регистрации.",
|
|
17505
17323
|
"parameters": [
|
|
17506
17324
|
{
|
|
17507
17325
|
"name": "X-Application-ID",
|
|
@@ -17640,7 +17458,7 @@
|
|
|
17640
17458
|
"Users"
|
|
17641
17459
|
],
|
|
17642
17460
|
"summary": "Подтвердить регистрацию пользователя",
|
|
17643
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/registration/verify\r\n\r\n```json\r\n{\r\n \"tenantID\": 1,\r\n \"accountID\": 456\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"accountID\": 456,\r\n \"tenantID\": 1,\r\n \"userID\": null,\r\n \"verificationCodeRepeatTimeout\": 60\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400
|
|
17461
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/registration/verify\r\n\r\n```json\r\n{\r\n \"tenantID\": 1,\r\n \"accountID\": 456\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"accountID\": 456,\r\n \"tenantID\": 1,\r\n \"userID\": null,\r\n \"verificationCodeRepeatTimeout\": 60\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 409 Conflict: не пройдена валидация `tenantID`/`accountID` (`InvalidDataException` / `ParameterOutOfRangeException`).",
|
|
17644
17462
|
"parameters": [
|
|
17645
17463
|
{
|
|
17646
17464
|
"name": "X-Application-ID",
|
|
@@ -17714,6 +17532,38 @@
|
|
|
17714
17532
|
}
|
|
17715
17533
|
}
|
|
17716
17534
|
}
|
|
17535
|
+
},
|
|
17536
|
+
"400": {
|
|
17537
|
+
"description": "Bad Request"
|
|
17538
|
+
},
|
|
17539
|
+
"409": {
|
|
17540
|
+
"description": "Conflict",
|
|
17541
|
+
"content": {
|
|
17542
|
+
"text/plain": {
|
|
17543
|
+
"schema": {
|
|
17544
|
+
"type": "array",
|
|
17545
|
+
"items": {
|
|
17546
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
17547
|
+
}
|
|
17548
|
+
}
|
|
17549
|
+
},
|
|
17550
|
+
"application/json": {
|
|
17551
|
+
"schema": {
|
|
17552
|
+
"type": "array",
|
|
17553
|
+
"items": {
|
|
17554
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
17555
|
+
}
|
|
17556
|
+
}
|
|
17557
|
+
},
|
|
17558
|
+
"text/json": {
|
|
17559
|
+
"schema": {
|
|
17560
|
+
"type": "array",
|
|
17561
|
+
"items": {
|
|
17562
|
+
"$ref": "#/components/schemas/ErrorModel"
|
|
17563
|
+
}
|
|
17564
|
+
}
|
|
17565
|
+
}
|
|
17566
|
+
}
|
|
17717
17567
|
}
|
|
17718
17568
|
}
|
|
17719
17569
|
}
|
|
@@ -17724,7 +17574,7 @@
|
|
|
17724
17574
|
"Users"
|
|
17725
17575
|
],
|
|
17726
17576
|
"summary": "Получить список ролей пользователя",
|
|
17727
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/roles\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": [\r\n {\r\n \"id\": 1,\r\n \"name\": \"Администратор\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Менеджер\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n##
|
|
17577
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/roles\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": [\r\n {\r\n \"id\": 1,\r\n \"name\": \"Администратор\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Менеджер\"\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: роли пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserRoleList`.",
|
|
17728
17578
|
"parameters": [
|
|
17729
17579
|
{
|
|
17730
17580
|
"name": "id",
|
|
@@ -17801,7 +17651,10 @@
|
|
|
17801
17651
|
"schema": {
|
|
17802
17652
|
"type": "object",
|
|
17803
17653
|
"additionalProperties": {
|
|
17804
|
-
"
|
|
17654
|
+
"type": "array",
|
|
17655
|
+
"items": {
|
|
17656
|
+
"$ref": "#/components/schemas/IdNameResultOfShort"
|
|
17657
|
+
}
|
|
17805
17658
|
}
|
|
17806
17659
|
}
|
|
17807
17660
|
},
|
|
@@ -17809,7 +17662,10 @@
|
|
|
17809
17662
|
"schema": {
|
|
17810
17663
|
"type": "object",
|
|
17811
17664
|
"additionalProperties": {
|
|
17812
|
-
"
|
|
17665
|
+
"type": "array",
|
|
17666
|
+
"items": {
|
|
17667
|
+
"$ref": "#/components/schemas/IdNameResultOfShort"
|
|
17668
|
+
}
|
|
17813
17669
|
}
|
|
17814
17670
|
}
|
|
17815
17671
|
},
|
|
@@ -17817,7 +17673,10 @@
|
|
|
17817
17673
|
"schema": {
|
|
17818
17674
|
"type": "object",
|
|
17819
17675
|
"additionalProperties": {
|
|
17820
|
-
"
|
|
17676
|
+
"type": "array",
|
|
17677
|
+
"items": {
|
|
17678
|
+
"$ref": "#/components/schemas/IdNameResultOfShort"
|
|
17679
|
+
}
|
|
17821
17680
|
}
|
|
17822
17681
|
}
|
|
17823
17682
|
}
|
|
@@ -17851,7 +17710,7 @@
|
|
|
17851
17710
|
"Users"
|
|
17852
17711
|
],
|
|
17853
17712
|
"summary": "Создать API-пользователя в тенанте",
|
|
17854
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/api\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"tenantMemberID\": 456\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
17713
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/api\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"tenantMemberID\": 456\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAddApi`.",
|
|
17855
17714
|
"parameters": [
|
|
17856
17715
|
{
|
|
17857
17716
|
"name": "X-Application-ID",
|
|
@@ -17921,7 +17780,7 @@
|
|
|
17921
17780
|
"Users"
|
|
17922
17781
|
],
|
|
17923
17782
|
"summary": "Создать анонимного пользователя в тенанте",
|
|
17924
|
-
"description": "## Пример запроса:\r\n\r\nPOST /users/anonymous\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"tenantMemberID\": 456\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
17783
|
+
"description": "## Пример запроса:\r\n\r\nPOST /users/anonymous\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"userID\": 123,\r\n \"tenantMemberID\": 456\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserAddAnonymous`.",
|
|
17925
17784
|
"parameters": [
|
|
17926
17785
|
{
|
|
17927
17786
|
"name": "X-Application-ID",
|
|
@@ -17991,7 +17850,7 @@
|
|
|
17991
17850
|
"Users"
|
|
17992
17851
|
],
|
|
17993
17852
|
"summary": "Получить список навыков пользователя",
|
|
17994
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/skills\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"
|
|
17853
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/skills\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"id\": 1,\r\n \"name\": \"Электрика\",\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n },\r\n \"2\": {\r\n \"id\": 2,\r\n \"name\": \"Сантехника\",\r\n \"dateFrom\": \"2024-01-01T00:00:00Z\",\r\n \"dateTill\": \"2024-12-31T23:59:59Z\"\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: навыки пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserSkillList`.",
|
|
17995
17854
|
"parameters": [
|
|
17996
17855
|
{
|
|
17997
17856
|
"name": "userID",
|
|
@@ -18093,35 +17952,6 @@
|
|
|
18093
17952
|
"204": {
|
|
18094
17953
|
"description": "Навыки не найдены"
|
|
18095
17954
|
},
|
|
18096
|
-
"500": {
|
|
18097
|
-
"description": "Внутренняя ошибка сервера",
|
|
18098
|
-
"content": {
|
|
18099
|
-
"text/plain": {
|
|
18100
|
-
"schema": {
|
|
18101
|
-
"type": "array",
|
|
18102
|
-
"items": {
|
|
18103
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
18104
|
-
}
|
|
18105
|
-
}
|
|
18106
|
-
},
|
|
18107
|
-
"application/json": {
|
|
18108
|
-
"schema": {
|
|
18109
|
-
"type": "array",
|
|
18110
|
-
"items": {
|
|
18111
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
18112
|
-
}
|
|
18113
|
-
}
|
|
18114
|
-
},
|
|
18115
|
-
"text/json": {
|
|
18116
|
-
"schema": {
|
|
18117
|
-
"type": "array",
|
|
18118
|
-
"items": {
|
|
18119
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
18120
|
-
}
|
|
18121
|
-
}
|
|
18122
|
-
}
|
|
18123
|
-
}
|
|
18124
|
-
},
|
|
18125
17955
|
"206": {
|
|
18126
17956
|
"description": "PartialContent",
|
|
18127
17957
|
"headers": {
|
|
@@ -18147,7 +17977,7 @@
|
|
|
18147
17977
|
"Users"
|
|
18148
17978
|
],
|
|
18149
17979
|
"summary": "Получить список тегов пользователя",
|
|
18150
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/tags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n \"Срочно\",\r\n \"VIP\",\r\n \"Важный клиент\"\r\n]\r\n```\r\n \r\n##
|
|
17980
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/tags\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n \"Срочно\",\r\n \"VIP\",\r\n \"Важный клиент\"\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: теги пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTagsList`.",
|
|
18151
17981
|
"parameters": [
|
|
18152
17982
|
{
|
|
18153
17983
|
"name": "userID",
|
|
@@ -18274,7 +18104,7 @@
|
|
|
18274
18104
|
"Users"
|
|
18275
18105
|
],
|
|
18276
18106
|
"summary": "Получить список сохраненных запросов по заявкам пользователя",
|
|
18277
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/taskListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"87\": {\r\n \"name\": \"Мои заявки\",\r\n \"filter\": {\r\n \"taskFlags\": {\r\n \"isClosed\": false\r\n },\r\n \"districts\": [592],\r\n \"workTypes\": [6],\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?districtID=592&workTypeID=6&isDeleted=false&isClosed=false&orderBy=1&sortDirection=2\",\r\n \"isUserQuery\": true,\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
18107
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/taskListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"87\": {\r\n \"name\": \"Мои заявки\",\r\n \"filter\": {\r\n \"taskFlags\": {\r\n \"isClosed\": false\r\n },\r\n \"districts\": [592],\r\n \"workTypes\": [6],\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?districtID=592&workTypeID=6&isDeleted=false&isClosed=false&orderBy=1&sortDirection=2\",\r\n \"isUserQuery\": true,\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: сохраненные запросы по заявкам пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TaskListQueryList`.",
|
|
18278
18108
|
"parameters": [
|
|
18279
18109
|
{
|
|
18280
18110
|
"name": "id",
|
|
@@ -18401,7 +18231,7 @@
|
|
|
18401
18231
|
"Users"
|
|
18402
18232
|
],
|
|
18403
18233
|
"summary": "Получить список сохраненных запросов по заявкам текущего пользователя",
|
|
18404
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/this/taskListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"87\": {\r\n \"name\": \"Мои заявки\",\r\n \"filter\": {\r\n \"taskFlags\": {\r\n \"isClosed\": false\r\n },\r\n \"districts\": [592],\r\n \"workTypes\": [6],\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?districtID=592&workTypeID=6&isDeleted=false&isClosed=false&orderBy=1&sortDirection=2\",\r\n \"isUserQuery\": true,\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n##
|
|
18234
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/this/taskListQueries\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"87\": {\r\n \"name\": \"Мои заявки\",\r\n \"filter\": {\r\n \"taskFlags\": {\r\n \"isClosed\": false\r\n },\r\n \"districts\": [592],\r\n \"workTypes\": [6],\r\n \"flags\": {\r\n \"isDeleted\": false\r\n }\r\n },\r\n \"searchText\": \"\",\r\n \"queryString\": \"?districtID=592&workTypeID=6&isDeleted=false&isClosed=false&orderBy=1&sortDirection=2\",\r\n \"isUserQuery\": true,\r\n \"sort\": {\r\n \"orderBy\": 1,\r\n \"direction\": 2\r\n }\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: сохраненные запросы по заявкам текущего пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TaskListQueryList`.",
|
|
18405
18235
|
"parameters": [
|
|
18406
18236
|
{
|
|
18407
18237
|
"name": "Range",
|
|
@@ -18518,7 +18348,7 @@
|
|
|
18518
18348
|
"Users"
|
|
18519
18349
|
],
|
|
18520
18350
|
"summary": "Получить список настроек уведомлений пользователя",
|
|
18521
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/notifications\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"email\": \"user@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"providers\": [\r\n {\r\n \"id\": 1,\r\n \"code\": \"EMAIL\",\r\n \"name\": \"Email\",\r\n \"isOn\": true,\r\n \"isAvailableForUser\": true\r\n }\r\n ]\r\n}\r\n```\r\n \r\n##
|
|
18351
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/notifications\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"email\": \"user@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"providers\": [\r\n {\r\n \"id\": 1,\r\n \"code\": \"EMAIL\",\r\n \"name\": \"Email\",\r\n \"isOn\": true,\r\n \"isAvailableForUser\": true\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: настройки уведомлений пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
|
|
18522
18352
|
"parameters": [
|
|
18523
18353
|
{
|
|
18524
18354
|
"name": "id",
|
|
@@ -18636,7 +18466,7 @@
|
|
|
18636
18466
|
"Users"
|
|
18637
18467
|
],
|
|
18638
18468
|
"summary": "Получить список настроек уведомлений текущего пользователя",
|
|
18639
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/this/notifications\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"email\": \"user@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"providers\": [\r\n {\r\n \"id\": 1,\r\n \"code\": \"EMAIL\",\r\n \"name\": \"Email\",\r\n \"isOn\": true,\r\n \"isAvailableForUser\": true\r\n }\r\n ]\r\n}\r\n```\r\n \r\n##
|
|
18469
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/this/notifications\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"email\": \"user@example.com\",\r\n \"mobilePhone\": \"+79991234567\",\r\n \"providers\": [\r\n {\r\n \"id\": 1,\r\n \"code\": \"EMAIL\",\r\n \"name\": \"Email\",\r\n \"isOn\": true,\r\n \"isAvailableForUser\": true\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: настройки уведомлений текущего пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
|
|
18640
18470
|
"parameters": [
|
|
18641
18471
|
{
|
|
18642
18472
|
"name": "Range",
|
|
@@ -18744,7 +18574,7 @@
|
|
|
18744
18574
|
"Users"
|
|
18745
18575
|
],
|
|
18746
18576
|
"summary": "Получить список складов пользователя",
|
|
18747
|
-
"description": "## Пример запроса:\r\n\r\nGET /users/123/warehouses\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Склад №1\",\r\n \"erpID\": \"WH001\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Склад №2\",\r\n \"erpID\": \"WH002\"\r\n }\r\n]\r\n```\r\n \r\n##
|
|
18577
|
+
"description": "## Пример запроса:\r\n\r\nGET /users/123/warehouses\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Склад №1\",\r\n \"erpID\": \"WH001\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Склад №2\",\r\n \"erpID\": \"WH002\"\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: склады пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserWarehouseList`.",
|
|
18748
18578
|
"parameters": [
|
|
18749
18579
|
{
|
|
18750
18580
|
"name": "id",
|
|
@@ -18819,24 +18649,24 @@
|
|
|
18819
18649
|
"content": {
|
|
18820
18650
|
"text/plain": {
|
|
18821
18651
|
"schema": {
|
|
18822
|
-
"type": "
|
|
18823
|
-
"
|
|
18652
|
+
"type": "array",
|
|
18653
|
+
"items": {
|
|
18824
18654
|
"$ref": "#/components/schemas/IdNameErpIDResultOfShort"
|
|
18825
18655
|
}
|
|
18826
18656
|
}
|
|
18827
18657
|
},
|
|
18828
18658
|
"application/json": {
|
|
18829
18659
|
"schema": {
|
|
18830
|
-
"type": "
|
|
18831
|
-
"
|
|
18660
|
+
"type": "array",
|
|
18661
|
+
"items": {
|
|
18832
18662
|
"$ref": "#/components/schemas/IdNameErpIDResultOfShort"
|
|
18833
18663
|
}
|
|
18834
18664
|
}
|
|
18835
18665
|
},
|
|
18836
18666
|
"text/json": {
|
|
18837
18667
|
"schema": {
|
|
18838
|
-
"type": "
|
|
18839
|
-
"
|
|
18668
|
+
"type": "array",
|
|
18669
|
+
"items": {
|
|
18840
18670
|
"$ref": "#/components/schemas/IdNameErpIDResultOfShort"
|
|
18841
18671
|
}
|
|
18842
18672
|
}
|
|
@@ -18872,7 +18702,7 @@
|
|
|
18872
18702
|
"UserTags"
|
|
18873
18703
|
],
|
|
18874
18704
|
"summary": "Добавить теги пользователю",
|
|
18875
|
-
"description": "## Пример запроса:\r\n\r\nPOST /usertags\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"tags\": [\"VIP\", \"Менеджер\"]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"
|
|
18705
|
+
"description": "## Пример запроса:\r\n\r\nPOST /usertags\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"tags\": [\"VIP\", \"Менеджер\"]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"tag\": \"VIP\"\r\n },\r\n {\r\n \"userID\": 123,\r\n \"tag\": \"Менеджер\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 409 Conflict: бизнес-конфликт при добавлении тегов.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTagAdd`.",
|
|
18876
18706
|
"parameters": [
|
|
18877
18707
|
{
|
|
18878
18708
|
"name": "X-Application-ID",
|
|
@@ -19018,7 +18848,7 @@
|
|
|
19018
18848
|
"UserTags"
|
|
19019
18849
|
],
|
|
19020
18850
|
"summary": "Удалить теги пользователя",
|
|
19021
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usertags\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"tags\": [\"VIP\"]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
18851
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usertags\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"tags\": [\"VIP\"]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTagRemove`.",
|
|
19022
18852
|
"parameters": [
|
|
19023
18853
|
{
|
|
19024
18854
|
"name": "X-Application-ID",
|
|
@@ -19111,7 +18941,7 @@
|
|
|
19111
18941
|
"UserTaskListQueries"
|
|
19112
18942
|
],
|
|
19113
18943
|
"summary": "Добавить сохраненные запросы заявок пользователям",
|
|
19114
|
-
"description": "## Пример запроса:\r\n\r\nPOST /usertasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 616,\r\n \"data\": [94]\r\n },\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"taskListQueryID\": 94,\r\n \"userID\": 616\r\n },\r\n {\r\n \"taskListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"taskListQueryID\": 11,\r\n \"userID\": 123\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
18944
|
+
"description": "## Пример запроса:\r\n\r\nPOST /usertasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 616,\r\n \"data\": [94]\r\n },\r\n {\r\n \"userID\": 123,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"taskListQueryID\": 94,\r\n \"userID\": 616\r\n },\r\n {\r\n \"taskListQueryID\": 10,\r\n \"userID\": 123\r\n },\r\n {\r\n \"taskListQueryID\": 11,\r\n \"userID\": 123\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTaskListQueryAdd`.",
|
|
19115
18945
|
"parameters": [
|
|
19116
18946
|
{
|
|
19117
18947
|
"name": "X-Application-ID",
|
|
@@ -19228,7 +19058,7 @@
|
|
|
19228
19058
|
"UserTaskListQueries"
|
|
19229
19059
|
],
|
|
19230
19060
|
"summary": "Удалить сохраненные запросы заявок у пользователей",
|
|
19231
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usertasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 616,\r\n \"data\": [94]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
19061
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usertasklistqueries\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 616,\r\n \"data\": [94]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTaskListQueryDelete`.",
|
|
19232
19062
|
"parameters": [
|
|
19233
19063
|
{
|
|
19234
19064
|
"name": "X-Application-ID",
|
|
@@ -19321,7 +19151,7 @@
|
|
|
19321
19151
|
"UserTemplateDistricts"
|
|
19322
19152
|
],
|
|
19323
19153
|
"summary": "Добавить участки к шаблону пользователя",
|
|
19324
|
-
"description": "## Пример запроса:\r\n\r\nPOST /usertemplatedistricts\r\n\r\n```json\r\n[\r\n {\r\n \"
|
|
19154
|
+
"description": "## Пример запроса:\r\n\r\nPOST /usertemplatedistricts\r\n\r\n```json\r\n[\r\n {\r\n \"userTemplateID\": 1,\r\n \"data\": [10, 11]\r\n },\r\n {\r\n \"userTemplateID\": 2,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [10, 11],\r\n \"2\": [10]\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateDistrictAdd`.",
|
|
19325
19155
|
"parameters": [
|
|
19326
19156
|
{
|
|
19327
19157
|
"name": "X-Application-ID",
|
|
@@ -19399,35 +19229,6 @@
|
|
|
19399
19229
|
},
|
|
19400
19230
|
"400": {
|
|
19401
19231
|
"description": "Неверные данные запроса"
|
|
19402
|
-
},
|
|
19403
|
-
"500": {
|
|
19404
|
-
"description": "Внутренняя ошибка сервера",
|
|
19405
|
-
"content": {
|
|
19406
|
-
"text/plain": {
|
|
19407
|
-
"schema": {
|
|
19408
|
-
"type": "array",
|
|
19409
|
-
"items": {
|
|
19410
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19411
|
-
}
|
|
19412
|
-
}
|
|
19413
|
-
},
|
|
19414
|
-
"application/json": {
|
|
19415
|
-
"schema": {
|
|
19416
|
-
"type": "array",
|
|
19417
|
-
"items": {
|
|
19418
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19419
|
-
}
|
|
19420
|
-
}
|
|
19421
|
-
},
|
|
19422
|
-
"text/json": {
|
|
19423
|
-
"schema": {
|
|
19424
|
-
"type": "array",
|
|
19425
|
-
"items": {
|
|
19426
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19427
|
-
}
|
|
19428
|
-
}
|
|
19429
|
-
}
|
|
19430
|
-
}
|
|
19431
19232
|
}
|
|
19432
19233
|
},
|
|
19433
19234
|
"security": [
|
|
@@ -19443,7 +19244,7 @@
|
|
|
19443
19244
|
"UserTemplateDistricts"
|
|
19444
19245
|
],
|
|
19445
19246
|
"summary": "Удалить участки из шаблона пользователя",
|
|
19446
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplatedistricts/remove\r\n\r\n```json\r\n[\r\n {\r\n \"
|
|
19247
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplatedistricts/remove\r\n\r\n```json\r\n[\r\n {\r\n \"userTemplateID\": 1,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateDistrictRemove`.",
|
|
19447
19248
|
"parameters": [
|
|
19448
19249
|
{
|
|
19449
19250
|
"name": "X-Application-ID",
|
|
@@ -19521,35 +19322,6 @@
|
|
|
19521
19322
|
},
|
|
19522
19323
|
"400": {
|
|
19523
19324
|
"description": "Неверные данные запроса"
|
|
19524
|
-
},
|
|
19525
|
-
"500": {
|
|
19526
|
-
"description": "Внутренняя ошибка сервера",
|
|
19527
|
-
"content": {
|
|
19528
|
-
"text/plain": {
|
|
19529
|
-
"schema": {
|
|
19530
|
-
"type": "array",
|
|
19531
|
-
"items": {
|
|
19532
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19533
|
-
}
|
|
19534
|
-
}
|
|
19535
|
-
},
|
|
19536
|
-
"application/json": {
|
|
19537
|
-
"schema": {
|
|
19538
|
-
"type": "array",
|
|
19539
|
-
"items": {
|
|
19540
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19541
|
-
}
|
|
19542
|
-
}
|
|
19543
|
-
},
|
|
19544
|
-
"text/json": {
|
|
19545
|
-
"schema": {
|
|
19546
|
-
"type": "array",
|
|
19547
|
-
"items": {
|
|
19548
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19549
|
-
}
|
|
19550
|
-
}
|
|
19551
|
-
}
|
|
19552
|
-
}
|
|
19553
19325
|
}
|
|
19554
19326
|
},
|
|
19555
19327
|
"security": [
|
|
@@ -19565,7 +19337,7 @@
|
|
|
19565
19337
|
"UserTemplateRoles"
|
|
19566
19338
|
],
|
|
19567
19339
|
"summary": "Добавить роли к шаблону пользователя",
|
|
19568
|
-
"description": "## Пример запроса:\r\n\r\nPOST /usertemplateroles\r\n\r\n```json\r\n[\r\n {\r\n \"
|
|
19340
|
+
"description": "## Пример запроса:\r\n\r\nPOST /usertemplateroles\r\n\r\n```json\r\n[\r\n {\r\n \"userTemplateID\": 1,\r\n \"data\": [10, 11]\r\n },\r\n {\r\n \"userTemplateID\": 2,\r\n \"data\": [10]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [10, 11],\r\n \"2\": [10]\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateRoleAdd`.",
|
|
19569
19341
|
"parameters": [
|
|
19570
19342
|
{
|
|
19571
19343
|
"name": "X-Application-ID",
|
|
@@ -19643,35 +19415,6 @@
|
|
|
19643
19415
|
},
|
|
19644
19416
|
"400": {
|
|
19645
19417
|
"description": "Неверные данные запроса"
|
|
19646
|
-
},
|
|
19647
|
-
"500": {
|
|
19648
|
-
"description": "Внутренняя ошибка сервера",
|
|
19649
|
-
"content": {
|
|
19650
|
-
"text/plain": {
|
|
19651
|
-
"schema": {
|
|
19652
|
-
"type": "array",
|
|
19653
|
-
"items": {
|
|
19654
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19655
|
-
}
|
|
19656
|
-
}
|
|
19657
|
-
},
|
|
19658
|
-
"application/json": {
|
|
19659
|
-
"schema": {
|
|
19660
|
-
"type": "array",
|
|
19661
|
-
"items": {
|
|
19662
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19663
|
-
}
|
|
19664
|
-
}
|
|
19665
|
-
},
|
|
19666
|
-
"text/json": {
|
|
19667
|
-
"schema": {
|
|
19668
|
-
"type": "array",
|
|
19669
|
-
"items": {
|
|
19670
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19671
|
-
}
|
|
19672
|
-
}
|
|
19673
|
-
}
|
|
19674
|
-
}
|
|
19675
19418
|
}
|
|
19676
19419
|
},
|
|
19677
19420
|
"security": [
|
|
@@ -19687,7 +19430,7 @@
|
|
|
19687
19430
|
"UserTemplateRoles"
|
|
19688
19431
|
],
|
|
19689
19432
|
"summary": "Удалить роли из шаблона пользователя",
|
|
19690
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplateroles/remove\r\n\r\n```json\r\n[\r\n {\r\n \"
|
|
19433
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplateroles/remove\r\n\r\n```json\r\n[\r\n {\r\n \"userTemplateID\": 1,\r\n \"data\": [10, 11]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateRoleRemove`.",
|
|
19691
19434
|
"parameters": [
|
|
19692
19435
|
{
|
|
19693
19436
|
"name": "X-Application-ID",
|
|
@@ -19765,35 +19508,6 @@
|
|
|
19765
19508
|
},
|
|
19766
19509
|
"400": {
|
|
19767
19510
|
"description": "Неверные данные запроса"
|
|
19768
|
-
},
|
|
19769
|
-
"500": {
|
|
19770
|
-
"description": "Внутренняя ошибка сервера",
|
|
19771
|
-
"content": {
|
|
19772
|
-
"text/plain": {
|
|
19773
|
-
"schema": {
|
|
19774
|
-
"type": "array",
|
|
19775
|
-
"items": {
|
|
19776
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19777
|
-
}
|
|
19778
|
-
}
|
|
19779
|
-
},
|
|
19780
|
-
"application/json": {
|
|
19781
|
-
"schema": {
|
|
19782
|
-
"type": "array",
|
|
19783
|
-
"items": {
|
|
19784
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19785
|
-
}
|
|
19786
|
-
}
|
|
19787
|
-
},
|
|
19788
|
-
"text/json": {
|
|
19789
|
-
"schema": {
|
|
19790
|
-
"type": "array",
|
|
19791
|
-
"items": {
|
|
19792
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
19793
|
-
}
|
|
19794
|
-
}
|
|
19795
|
-
}
|
|
19796
|
-
}
|
|
19797
19511
|
}
|
|
19798
19512
|
},
|
|
19799
19513
|
"security": [
|
|
@@ -19809,7 +19523,7 @@
|
|
|
19809
19523
|
"UserTemplates"
|
|
19810
19524
|
],
|
|
19811
19525
|
"summary": "Получить список шаблонов пользователя",
|
|
19812
|
-
"description": "## Пример запроса:\r\n\r\nGET /usertemplates?searchText=инженер&isTechnician=true&roleID=1&districtID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"id\": 1,\r\n \"name\": \"Шаблон инженера\",\r\n \"description\": \"Шаблон для инженеров\",\r\n \"isTechnician\": true,\r\n \"defaultLocationID\": 10,\r\n \"roles\": [1
|
|
19526
|
+
"description": "## Пример запроса:\r\n\r\nGET /usertemplates?searchText=инженер&isTechnician=true&roleID=1&districtID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"id\": 1,\r\n \"name\": \"Шаблон инженера\",\r\n \"description\": \"Шаблон для инженеров\",\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"defaultLocationID\": 10,\r\n \"mobilityID\": 1,\r\n \"geoTrackingModeID\": 1,\r\n \"roles\": [\r\n {\r\n \"id\": 1,\r\n \"name\": \"Инженер\"\r\n }\r\n ],\r\n \"districts\": [\r\n {\r\n \"id\": 2,\r\n \"name\": \"Участок 2\"\r\n }\r\n ]\r\n }\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: шаблоны не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateList`.",
|
|
19813
19527
|
"parameters": [
|
|
19814
19528
|
{
|
|
19815
19529
|
"name": "searchText",
|
|
@@ -19958,7 +19672,7 @@
|
|
|
19958
19672
|
"UserTemplates"
|
|
19959
19673
|
],
|
|
19960
19674
|
"summary": "Создать шаблон пользователя",
|
|
19961
|
-
"description": "## Пример запроса:\r\n\r\nPOST /usertemplates\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"Новый шаблон инженера\",\r\n \"description\": \"Описание шаблона\",\r\n \"isTechnician\": true,\r\n \"defaultLocationID\": 10\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[1]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
19675
|
+
"description": "## Пример запроса:\r\n\r\nPOST /usertemplates\r\n\r\n```json\r\n[\r\n {\r\n \"name\": \"Новый шаблон инженера\",\r\n \"description\": \"Описание шаблона\",\r\n \"isTechnician\": true,\r\n \"defaultLocationID\": 10\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[1]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateAdd`.",
|
|
19962
19676
|
"parameters": [
|
|
19963
19677
|
{
|
|
19964
19678
|
"name": "X-Application-ID",
|
|
@@ -20078,7 +19792,7 @@
|
|
|
20078
19792
|
"UserTemplates"
|
|
20079
19793
|
],
|
|
20080
19794
|
"summary": "Обновить шаблон пользователя",
|
|
20081
|
-
"description": "## Пример запроса:\r\n\r\nPUT /usertemplates\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Обновленное название\",\r\n \"description\": \"Обновленное описание\",\r\n \"defaultLocationID\": 11\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n##
|
|
19795
|
+
"description": "## Пример запроса:\r\n\r\nPUT /usertemplates\r\n\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Обновленное название\",\r\n \"description\": \"Обновленное описание\",\r\n \"defaultLocationID\": 11\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 409 Conflict: бизнес-конфликт при обновлении шаблона.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateUpdate`.",
|
|
20082
19796
|
"parameters": [
|
|
20083
19797
|
{
|
|
20084
19798
|
"name": "X-Application-ID",
|
|
@@ -20198,7 +19912,7 @@
|
|
|
20198
19912
|
"UserTemplates"
|
|
20199
19913
|
],
|
|
20200
19914
|
"summary": "Удалить шаблоны пользователя",
|
|
20201
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplates\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
19915
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplates\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateDelete`.",
|
|
20202
19916
|
"parameters": [
|
|
20203
19917
|
{
|
|
20204
19918
|
"name": "X-Application-ID",
|
|
@@ -20295,7 +20009,7 @@
|
|
|
20295
20009
|
"UserTemplates"
|
|
20296
20010
|
],
|
|
20297
20011
|
"summary": "Получить шаблон пользователя",
|
|
20298
|
-
"description": "## Пример запроса:\r\n\r\nGET /usertemplates/1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 1,\r\n \"name\": \"Шаблон инженера\",\r\n \"description\": \"Шаблон для инженеров\",\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"defaultLocation\": {\r\n \"id\": 10,\r\n \"address\": \"Москва, ул. Примерная, 1\"\r\n },\r\n \"mobility\": {\r\n \"id\": 1,\r\n \"name\": \"Мобильный\"\r\n },\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
20012
|
+
"description": "## Пример запроса:\r\n\r\nGET /usertemplates/1\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"id\": 1,\r\n \"name\": \"Шаблон инженера\",\r\n \"description\": \"Шаблон для инженеров\",\r\n \"isTechnician\": true,\r\n \"isTeam\": false,\r\n \"isCustomer\": false,\r\n \"defaultLocation\": {\r\n \"id\": 10,\r\n \"address\": \"Москва, ул. Примерная, 1\"\r\n },\r\n \"mobility\": {\r\n \"id\": 1,\r\n \"name\": \"Мобильный\"\r\n },\r\n \"geoTrackingMode\": {\r\n \"id\": 1,\r\n \"name\": \"Автоматический\"\r\n }\r\n}\r\n```\r\n \r\n## Негативные сценарии:\r\n- 204 NoContent: шаблон не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateGet`.",
|
|
20299
20013
|
"parameters": [
|
|
20300
20014
|
{
|
|
20301
20015
|
"name": "id",
|
|
@@ -20376,7 +20090,7 @@
|
|
|
20376
20090
|
"UserTemplates"
|
|
20377
20091
|
],
|
|
20378
20092
|
"summary": "Удалить шаблон пользователя",
|
|
20379
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplates/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401
|
|
20093
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /usertemplates/1\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateDelete`.",
|
|
20380
20094
|
"parameters": [
|
|
20381
20095
|
{
|
|
20382
20096
|
"name": "id",
|
|
@@ -20439,7 +20153,7 @@
|
|
|
20439
20153
|
"UserTemplates"
|
|
20440
20154
|
],
|
|
20441
20155
|
"summary": "Получить список участков шаблона пользователя",
|
|
20442
|
-
"description": "## Пример запроса:\r\n\r\nGET /usertemplates/1/districts\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Центральный участок\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Северный участок\"\r\n }\r\n]\r\n```\r\n \r\n##
|
|
20156
|
+
"description": "## Пример запроса:\r\n\r\nGET /usertemplates/1/districts\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Центральный участок\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Северный участок\"\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: участки не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateDistrictList`.",
|
|
20443
20157
|
"parameters": [
|
|
20444
20158
|
{
|
|
20445
20159
|
"name": "id",
|
|
@@ -20566,7 +20280,7 @@
|
|
|
20566
20280
|
"UserTemplates"
|
|
20567
20281
|
],
|
|
20568
20282
|
"summary": "Получить список ролей шаблона пользователя",
|
|
20569
|
-
"description": "## Пример запроса:\r\n\r\nGET /usertemplates/1/roles\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Инженер\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Менеджер\"\r\n }\r\n]\r\n```\r\n \r\n##
|
|
20283
|
+
"description": "## Пример запроса:\r\n\r\nGET /usertemplates/1/roles\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Инженер\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Менеджер\"\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: роли не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserTemplateRoleList`.",
|
|
20570
20284
|
"parameters": [
|
|
20571
20285
|
{
|
|
20572
20286
|
"name": "id",
|
|
@@ -20693,7 +20407,7 @@
|
|
|
20693
20407
|
"UserWarehouses"
|
|
20694
20408
|
],
|
|
20695
20409
|
"summary": "Добавить склады пользователю",
|
|
20696
|
-
"description": "## Пример запроса:\r\n\r\nPOST /userwarehouses\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"
|
|
20410
|
+
"description": "## Пример запроса:\r\n\r\nPOST /userwarehouses\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"warehouseIDs\": [1, 2]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"123\": [1, 2]\r\n}\r\n```\r\n\r\n⚠️ **Устаревший метод**: Используйте POST /WH/WarehouseUser/s\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserWarehouseAdd`.",
|
|
20697
20411
|
"parameters": [
|
|
20698
20412
|
{
|
|
20699
20413
|
"name": "X-Application-ID",
|
|
@@ -20771,35 +20485,6 @@
|
|
|
20771
20485
|
},
|
|
20772
20486
|
"400": {
|
|
20773
20487
|
"description": "Неверные данные запроса"
|
|
20774
|
-
},
|
|
20775
|
-
"500": {
|
|
20776
|
-
"description": "Внутренняя ошибка сервера",
|
|
20777
|
-
"content": {
|
|
20778
|
-
"text/plain": {
|
|
20779
|
-
"schema": {
|
|
20780
|
-
"type": "array",
|
|
20781
|
-
"items": {
|
|
20782
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
20783
|
-
}
|
|
20784
|
-
}
|
|
20785
|
-
},
|
|
20786
|
-
"application/json": {
|
|
20787
|
-
"schema": {
|
|
20788
|
-
"type": "array",
|
|
20789
|
-
"items": {
|
|
20790
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
20791
|
-
}
|
|
20792
|
-
}
|
|
20793
|
-
},
|
|
20794
|
-
"text/json": {
|
|
20795
|
-
"schema": {
|
|
20796
|
-
"type": "array",
|
|
20797
|
-
"items": {
|
|
20798
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
20799
|
-
}
|
|
20800
|
-
}
|
|
20801
|
-
}
|
|
20802
|
-
}
|
|
20803
20488
|
}
|
|
20804
20489
|
},
|
|
20805
20490
|
"deprecated": true,
|
|
@@ -20814,7 +20499,7 @@
|
|
|
20814
20499
|
"UserWarehouses"
|
|
20815
20500
|
],
|
|
20816
20501
|
"summary": "Удалить склады у пользователя",
|
|
20817
|
-
"description": "## Пример запроса:\r\n\r\nDELETE /userwarehouses\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"
|
|
20502
|
+
"description": "## Пример запроса:\r\n\r\nDELETE /userwarehouses\r\n\r\n```json\r\n[\r\n {\r\n \"userID\": 123,\r\n \"warehouseIDs\": [1]\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n\r\n⚠️ **Устаревший метод**: Используйте DELETE /WH/WarehouseUser/\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserWarehouseDelete`.",
|
|
20818
20503
|
"parameters": [
|
|
20819
20504
|
{
|
|
20820
20505
|
"name": "X-Application-ID",
|
|
@@ -20892,35 +20577,6 @@
|
|
|
20892
20577
|
},
|
|
20893
20578
|
"400": {
|
|
20894
20579
|
"description": "Неверные данные запроса"
|
|
20895
|
-
},
|
|
20896
|
-
"500": {
|
|
20897
|
-
"description": "Внутренняя ошибка сервера",
|
|
20898
|
-
"content": {
|
|
20899
|
-
"text/plain": {
|
|
20900
|
-
"schema": {
|
|
20901
|
-
"type": "array",
|
|
20902
|
-
"items": {
|
|
20903
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
20904
|
-
}
|
|
20905
|
-
}
|
|
20906
|
-
},
|
|
20907
|
-
"application/json": {
|
|
20908
|
-
"schema": {
|
|
20909
|
-
"type": "array",
|
|
20910
|
-
"items": {
|
|
20911
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
20912
|
-
}
|
|
20913
|
-
}
|
|
20914
|
-
},
|
|
20915
|
-
"text/json": {
|
|
20916
|
-
"schema": {
|
|
20917
|
-
"type": "array",
|
|
20918
|
-
"items": {
|
|
20919
|
-
"$ref": "#/components/schemas/ErrorModel"
|
|
20920
|
-
}
|
|
20921
|
-
}
|
|
20922
|
-
}
|
|
20923
|
-
}
|
|
20924
20580
|
}
|
|
20925
20581
|
},
|
|
20926
20582
|
"deprecated": true,
|
|
@@ -24109,6 +23765,26 @@
|
|
|
24109
23765
|
"additionalProperties": false,
|
|
24110
23766
|
"description": "Лицензия"
|
|
24111
23767
|
},
|
|
23768
|
+
"ListDistrictResult": {
|
|
23769
|
+
"type": "object",
|
|
23770
|
+
"properties": {
|
|
23771
|
+
"parentID": {
|
|
23772
|
+
"type": "integer",
|
|
23773
|
+
"description": "Идентификатор родительского участка",
|
|
23774
|
+
"format": "int32",
|
|
23775
|
+
"nullable": true,
|
|
23776
|
+
"example": 1
|
|
23777
|
+
},
|
|
23778
|
+
"name": {
|
|
23779
|
+
"type": "string",
|
|
23780
|
+
"description": "Название участка",
|
|
23781
|
+
"nullable": true,
|
|
23782
|
+
"example": "Центральный район"
|
|
23783
|
+
}
|
|
23784
|
+
},
|
|
23785
|
+
"additionalProperties": false,
|
|
23786
|
+
"description": "Участок пользователя"
|
|
23787
|
+
},
|
|
24112
23788
|
"ListTenantLicenseResult": {
|
|
24113
23789
|
"type": "object",
|
|
24114
23790
|
"properties": {
|