@hubex/mcp 0.9.20260922 → 0.9.20260923
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/IMPORT.json +12 -12
- package/swagger/dev/SC.json +1936 -1149
package/generated/index.dev.json
CHANGED
|
@@ -10908,7 +10908,7 @@
|
|
|
10908
10908
|
"service": "SC",
|
|
10909
10909
|
"method": "DELETE",
|
|
10910
10910
|
"path": "/ServiceContract",
|
|
10911
|
-
"summary": "
|
|
10911
|
+
"summary": "Удаление договоров обслуживания",
|
|
10912
10912
|
"tags": [
|
|
10913
10913
|
"ServiceContract"
|
|
10914
10914
|
],
|
|
@@ -10922,7 +10922,7 @@
|
|
|
10922
10922
|
"service": "SC",
|
|
10923
10923
|
"method": "DELETE",
|
|
10924
10924
|
"path": "/ServiceContract/{contractID}/assets",
|
|
10925
|
-
"summary": "
|
|
10925
|
+
"summary": "Удаляет список объектов, привязанных к сервисному договору",
|
|
10926
10926
|
"tags": [
|
|
10927
10927
|
"ServiceContract"
|
|
10928
10928
|
],
|
|
@@ -10938,7 +10938,7 @@
|
|
|
10938
10938
|
"service": "SC",
|
|
10939
10939
|
"method": "DELETE",
|
|
10940
10940
|
"path": "/ServiceContract/{contractID}/assets/{assetID}",
|
|
10941
|
-
"summary": "
|
|
10941
|
+
"summary": "Удаляет объект, привязанный к сервисному договору",
|
|
10942
10942
|
"tags": [
|
|
10943
10943
|
"ServiceContract"
|
|
10944
10944
|
],
|
|
@@ -10955,7 +10955,7 @@
|
|
|
10955
10955
|
"service": "SC",
|
|
10956
10956
|
"method": "DELETE",
|
|
10957
10957
|
"path": "/ServiceContract/{contractID}/attachments",
|
|
10958
|
-
"summary": "
|
|
10958
|
+
"summary": "Помечает связи договора и вложений как удалённые",
|
|
10959
10959
|
"tags": [
|
|
10960
10960
|
"ServiceContract"
|
|
10961
10961
|
],
|
|
@@ -10971,7 +10971,7 @@
|
|
|
10971
10971
|
"service": "SC",
|
|
10972
10972
|
"method": "DELETE",
|
|
10973
10973
|
"path": "/ServiceContract/{contractID}/contacts",
|
|
10974
|
-
"summary": "
|
|
10974
|
+
"summary": "Удаляет список контактов, привязанных к сервисному договору",
|
|
10975
10975
|
"tags": [
|
|
10976
10976
|
"ServiceContract"
|
|
10977
10977
|
],
|
|
@@ -10987,7 +10987,7 @@
|
|
|
10987
10987
|
"service": "SC",
|
|
10988
10988
|
"method": "DELETE",
|
|
10989
10989
|
"path": "/ServiceContract/{contractID}/contacts/{contactID}",
|
|
10990
|
-
"summary": "
|
|
10990
|
+
"summary": "Удаляет контакт, привязанный к сервисному договору",
|
|
10991
10991
|
"tags": [
|
|
10992
10992
|
"ServiceContract"
|
|
10993
10993
|
],
|
|
@@ -11004,7 +11004,7 @@
|
|
|
11004
11004
|
"service": "SC",
|
|
11005
11005
|
"method": "DELETE",
|
|
11006
11006
|
"path": "/ServiceContract/{id}",
|
|
11007
|
-
"summary": "
|
|
11007
|
+
"summary": "Удаление договора обслуживания по идентификатору",
|
|
11008
11008
|
"tags": [
|
|
11009
11009
|
"ServiceContract"
|
|
11010
11010
|
],
|
|
@@ -11020,7 +11020,7 @@
|
|
|
11020
11020
|
"service": "SC",
|
|
11021
11021
|
"method": "GET",
|
|
11022
11022
|
"path": "/ServiceContract",
|
|
11023
|
-
"summary": "
|
|
11023
|
+
"summary": "Получение списка договоров обслуживания",
|
|
11024
11024
|
"tags": [
|
|
11025
11025
|
"ServiceContract"
|
|
11026
11026
|
],
|
|
@@ -11045,7 +11045,7 @@
|
|
|
11045
11045
|
"service": "SC",
|
|
11046
11046
|
"method": "GET",
|
|
11047
11047
|
"path": "/ServiceContract/{contractID}",
|
|
11048
|
-
"summary": "
|
|
11048
|
+
"summary": "Получение договора обслуживания по идентификатору",
|
|
11049
11049
|
"tags": [
|
|
11050
11050
|
"ServiceContract"
|
|
11051
11051
|
],
|
|
@@ -11061,7 +11061,7 @@
|
|
|
11061
11061
|
"service": "SC",
|
|
11062
11062
|
"method": "GET",
|
|
11063
11063
|
"path": "/ServiceContract/{contractID}/assets",
|
|
11064
|
-
"summary": "
|
|
11064
|
+
"summary": "Возвращает список объектов, привязанных к сервисному договору",
|
|
11065
11065
|
"tags": [
|
|
11066
11066
|
"ServiceContract"
|
|
11067
11067
|
],
|
|
@@ -11080,7 +11080,7 @@
|
|
|
11080
11080
|
"service": "SC",
|
|
11081
11081
|
"method": "GET",
|
|
11082
11082
|
"path": "/ServiceContract/{contractID}/attachment/{attachmentID}",
|
|
11083
|
-
"summary": "
|
|
11083
|
+
"summary": "Возвращает прикреплённый к договору файл-вложение",
|
|
11084
11084
|
"tags": [
|
|
11085
11085
|
"ServiceContract"
|
|
11086
11086
|
],
|
|
@@ -11099,7 +11099,7 @@
|
|
|
11099
11099
|
"service": "SC",
|
|
11100
11100
|
"method": "GET",
|
|
11101
11101
|
"path": "/ServiceContract/{contractID}/attachments",
|
|
11102
|
-
"summary": "
|
|
11102
|
+
"summary": "Возвращает список файлов-вложений, прикреплённых к договору",
|
|
11103
11103
|
"tags": [
|
|
11104
11104
|
"ServiceContract"
|
|
11105
11105
|
],
|
|
@@ -11119,7 +11119,7 @@
|
|
|
11119
11119
|
"service": "SC",
|
|
11120
11120
|
"method": "GET",
|
|
11121
11121
|
"path": "/ServiceContract/{contractID}/attachments/{attachmentID}",
|
|
11122
|
-
"summary": "
|
|
11122
|
+
"summary": "Возвращает временную ссылку для скачивания файла-вложения",
|
|
11123
11123
|
"tags": [
|
|
11124
11124
|
"ServiceContract"
|
|
11125
11125
|
],
|
|
@@ -11129,9 +11129,7 @@
|
|
|
11129
11129
|
],
|
|
11130
11130
|
"queryParams": [
|
|
11131
11131
|
"thumbnailSize",
|
|
11132
|
-
"noRedirect"
|
|
11133
|
-
"offset",
|
|
11134
|
-
"fetch"
|
|
11132
|
+
"noRedirect"
|
|
11135
11133
|
],
|
|
11136
11134
|
"hasBody": false,
|
|
11137
11135
|
"bodyRequired": false
|
|
@@ -11141,7 +11139,7 @@
|
|
|
11141
11139
|
"service": "SC",
|
|
11142
11140
|
"method": "GET",
|
|
11143
11141
|
"path": "/ServiceContract/{contractID}/attributes",
|
|
11144
|
-
"summary": "Возвращает список
|
|
11142
|
+
"summary": "Возвращает список пользовательских полей сервисного договора",
|
|
11145
11143
|
"tags": [
|
|
11146
11144
|
"ServiceContract"
|
|
11147
11145
|
],
|
|
@@ -11160,7 +11158,7 @@
|
|
|
11160
11158
|
"service": "SC",
|
|
11161
11159
|
"method": "GET",
|
|
11162
11160
|
"path": "/ServiceContract/{contractID}/contacts",
|
|
11163
|
-
"summary": "
|
|
11161
|
+
"summary": "Возвращает список контактов, привязанных к сервисному договору",
|
|
11164
11162
|
"tags": [
|
|
11165
11163
|
"ServiceContract"
|
|
11166
11164
|
],
|
|
@@ -11179,13 +11177,15 @@
|
|
|
11179
11177
|
"service": "SC",
|
|
11180
11178
|
"method": "HEAD",
|
|
11181
11179
|
"path": "/ServiceContract",
|
|
11182
|
-
"summary": "
|
|
11180
|
+
"summary": "Получение общего количества договоров обслуживания",
|
|
11183
11181
|
"tags": [
|
|
11184
11182
|
"ServiceContract"
|
|
11185
11183
|
],
|
|
11186
11184
|
"pathParams": [],
|
|
11187
11185
|
"queryParams": [
|
|
11188
11186
|
"searchText",
|
|
11187
|
+
"offset",
|
|
11188
|
+
"fetch",
|
|
11189
11189
|
"taskID",
|
|
11190
11190
|
"assetID",
|
|
11191
11191
|
"includeUniversalContractsInAssetFilter",
|
|
@@ -11202,7 +11202,7 @@
|
|
|
11202
11202
|
"service": "SC",
|
|
11203
11203
|
"method": "POST",
|
|
11204
11204
|
"path": "/ContractAttributes",
|
|
11205
|
-
"summary": "Обновляет сведения о пользовательских полях
|
|
11205
|
+
"summary": "Обновляет сведения о пользовательских полях договоров",
|
|
11206
11206
|
"tags": [
|
|
11207
11207
|
"ContractAttributes"
|
|
11208
11208
|
],
|
|
@@ -11216,7 +11216,7 @@
|
|
|
11216
11216
|
"service": "SC",
|
|
11217
11217
|
"method": "POST",
|
|
11218
11218
|
"path": "/ServiceContract",
|
|
11219
|
-
"summary": "
|
|
11219
|
+
"summary": "Создание договоров обслуживания",
|
|
11220
11220
|
"tags": [
|
|
11221
11221
|
"ServiceContract"
|
|
11222
11222
|
],
|
|
@@ -11230,7 +11230,7 @@
|
|
|
11230
11230
|
"service": "SC",
|
|
11231
11231
|
"method": "POST",
|
|
11232
11232
|
"path": "/ServiceContract/{contractID}/assets",
|
|
11233
|
-
"summary": "
|
|
11233
|
+
"summary": "Добавляет список объектов к сервисному договору",
|
|
11234
11234
|
"tags": [
|
|
11235
11235
|
"ServiceContract"
|
|
11236
11236
|
],
|
|
@@ -11246,7 +11246,7 @@
|
|
|
11246
11246
|
"service": "SC",
|
|
11247
11247
|
"method": "POST",
|
|
11248
11248
|
"path": "/ServiceContract/{contractID}/attachments",
|
|
11249
|
-
"summary": "
|
|
11249
|
+
"summary": "Связывает договор с существующими вложениями",
|
|
11250
11250
|
"tags": [
|
|
11251
11251
|
"ServiceContract"
|
|
11252
11252
|
],
|
|
@@ -11262,7 +11262,7 @@
|
|
|
11262
11262
|
"service": "SC",
|
|
11263
11263
|
"method": "POST",
|
|
11264
11264
|
"path": "/ServiceContract/{contractID}/attachments/upload/fromBody",
|
|
11265
|
-
"summary": "
|
|
11265
|
+
"summary": "Загружает файл на файловый сервер и привязывает его к договору (данные из тела запроса)",
|
|
11266
11266
|
"tags": [
|
|
11267
11267
|
"ServiceContract"
|
|
11268
11268
|
],
|
|
@@ -11278,7 +11278,7 @@
|
|
|
11278
11278
|
"service": "SC",
|
|
11279
11279
|
"method": "POST",
|
|
11280
11280
|
"path": "/ServiceContract/{contractID}/attachments/upload/fromForm",
|
|
11281
|
-
"summary": "
|
|
11281
|
+
"summary": "Загружает файл на файловый сервер и привязывает его к договору (данные из формы)",
|
|
11282
11282
|
"tags": [
|
|
11283
11283
|
"ServiceContract"
|
|
11284
11284
|
],
|
|
@@ -11294,7 +11294,7 @@
|
|
|
11294
11294
|
"service": "SC",
|
|
11295
11295
|
"method": "POST",
|
|
11296
11296
|
"path": "/ServiceContract/{contractID}/contacts",
|
|
11297
|
-
"summary": "
|
|
11297
|
+
"summary": "Добавляет список контактов к сервисному договору",
|
|
11298
11298
|
"tags": [
|
|
11299
11299
|
"ServiceContract"
|
|
11300
11300
|
],
|
|
@@ -11310,7 +11310,7 @@
|
|
|
11310
11310
|
"service": "SC",
|
|
11311
11311
|
"method": "POST",
|
|
11312
11312
|
"path": "/ServiceContract/{contractID}/v2/attachments/upload/fromForm",
|
|
11313
|
-
"summary": "
|
|
11313
|
+
"summary": "Загружает несколько файлов на файловый сервер и привязывает их к договору (данные из формы)",
|
|
11314
11314
|
"tags": [
|
|
11315
11315
|
"ServiceContract"
|
|
11316
11316
|
],
|
|
@@ -11326,7 +11326,7 @@
|
|
|
11326
11326
|
"service": "SC",
|
|
11327
11327
|
"method": "PUT",
|
|
11328
11328
|
"path": "/ServiceContract",
|
|
11329
|
-
"summary": "
|
|
11329
|
+
"summary": "Изменение договоров обслуживания",
|
|
11330
11330
|
"tags": [
|
|
11331
11331
|
"ServiceContract"
|
|
11332
11332
|
],
|
|
@@ -11340,7 +11340,7 @@
|
|
|
11340
11340
|
"service": "SC",
|
|
11341
11341
|
"method": "PUT",
|
|
11342
11342
|
"path": "/ServiceContract/{contractID}/assets/{assetID}",
|
|
11343
|
-
"summary": "
|
|
11343
|
+
"summary": "Добавляет объект к сервисному договору",
|
|
11344
11344
|
"tags": [
|
|
11345
11345
|
"ServiceContract"
|
|
11346
11346
|
],
|
|
@@ -11359,7 +11359,7 @@
|
|
|
11359
11359
|
"service": "SC",
|
|
11360
11360
|
"method": "PUT",
|
|
11361
11361
|
"path": "/ServiceContract/{contractID}/contacts/{contactID}",
|
|
11362
|
-
"summary": "
|
|
11362
|
+
"summary": "Добавляет контакт к сервисному договору",
|
|
11363
11363
|
"tags": [
|
|
11364
11364
|
"ServiceContract"
|
|
11365
11365
|
],
|
package/package.json
CHANGED
package/swagger/dev/IMPORT.json
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"Assets"
|
|
22
22
|
],
|
|
23
23
|
"summary": "Импорт объектов и оборудования из Excel-файла",
|
|
24
|
-
"description": "## Пример запроса:\r\n`POST /Assets`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с
|
|
24
|
+
"description": "## Пример запроса:\r\n`POST /Assets`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Объекты и оборудование`, en: `Assets`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт объектов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Объекты и оборудование`, en: `Assets`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `AssetsImport`.",
|
|
25
25
|
"parameters": [
|
|
26
26
|
{
|
|
27
27
|
"name": "X-Application-ID",
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
"description": "Недостаточно прав для импорта объектов."
|
|
210
210
|
},
|
|
211
211
|
"409": {
|
|
212
|
-
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк
|
|
212
|
+
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
|
|
213
213
|
"content": {
|
|
214
214
|
"text/plain": {
|
|
215
215
|
"schema": {
|
|
@@ -251,7 +251,7 @@
|
|
|
251
251
|
"Companies"
|
|
252
252
|
],
|
|
253
253
|
"summary": "Импорт компаний из Excel-файла",
|
|
254
|
-
"description": "## Пример запроса:\r\n`POST /Companies`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с
|
|
254
|
+
"description": "## Пример запроса:\r\n`POST /Companies`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Компании`, en: `Companies`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт компаний принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Компании`, en: `Companies`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `CompaniesImport`.",
|
|
255
255
|
"parameters": [
|
|
256
256
|
{
|
|
257
257
|
"name": "X-Application-ID",
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
"description": "Недостаточно прав для импорта компаний."
|
|
440
440
|
},
|
|
441
441
|
"409": {
|
|
442
|
-
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк
|
|
442
|
+
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
|
|
443
443
|
"content": {
|
|
444
444
|
"text/plain": {
|
|
445
445
|
"schema": {
|
|
@@ -481,7 +481,7 @@
|
|
|
481
481
|
"Materials"
|
|
482
482
|
],
|
|
483
483
|
"summary": "Импорт материалов из Excel-файла (v1)",
|
|
484
|
-
"description": "## Пример запроса:\r\n`POST /Materials`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с
|
|
484
|
+
"description": "## Пример запроса:\r\n`POST /Materials`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Материалы`, en: `Materials`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт материалов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Материалы`, en: `Materials`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `MaterialImport`.",
|
|
485
485
|
"parameters": [
|
|
486
486
|
{
|
|
487
487
|
"name": "X-Application-ID",
|
|
@@ -669,7 +669,7 @@
|
|
|
669
669
|
"description": "Недостаточно прав для импорта материалов."
|
|
670
670
|
},
|
|
671
671
|
"409": {
|
|
672
|
-
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк
|
|
672
|
+
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
|
|
673
673
|
"content": {
|
|
674
674
|
"text/plain": {
|
|
675
675
|
"schema": {
|
|
@@ -711,7 +711,7 @@
|
|
|
711
711
|
"Materials"
|
|
712
712
|
],
|
|
713
713
|
"summary": "Импорт материалов из Excel-файла (v2)",
|
|
714
|
-
"description": "## Пример запроса:\r\n`POST /Materials/v2.0`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с
|
|
714
|
+
"description": "## Пример запроса:\r\n`POST /Materials/v2.0`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Материалы`, en: `Materials`).\r\n \r\nПеред записью строки группируются по `MaterialErpID` (для каждого ERP ID сохраняется последняя запись).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт материалов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Материалы`, en: `Materials`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `MaterialImport`.",
|
|
715
715
|
"parameters": [
|
|
716
716
|
{
|
|
717
717
|
"name": "X-Application-ID",
|
|
@@ -899,7 +899,7 @@
|
|
|
899
899
|
"description": "Недостаточно прав для импорта материалов."
|
|
900
900
|
},
|
|
901
901
|
"409": {
|
|
902
|
-
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк
|
|
902
|
+
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
|
|
903
903
|
"content": {
|
|
904
904
|
"text/plain": {
|
|
905
905
|
"schema": {
|
|
@@ -941,7 +941,7 @@
|
|
|
941
941
|
"Tasks"
|
|
942
942
|
],
|
|
943
943
|
"summary": "Импорт заявок из Excel-файла",
|
|
944
|
-
"description": "## Пример запроса:\r\n`POST /Tasks`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с
|
|
944
|
+
"description": "## Пример запроса:\r\n`POST /Tasks`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Заявки`, en: `Tasks`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт заявок принят в обработку.\r\nПосле импорта асинхронно отправляются уведомления и запросы на перевод по стадиям.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Заявки`, en: `Tasks`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TaskImport`.",
|
|
945
945
|
"parameters": [
|
|
946
946
|
{
|
|
947
947
|
"name": "X-Application-ID",
|
|
@@ -1129,7 +1129,7 @@
|
|
|
1129
1129
|
"description": "Недостаточно прав для импорта заявок."
|
|
1130
1130
|
},
|
|
1131
1131
|
"409": {
|
|
1132
|
-
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк
|
|
1132
|
+
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
|
|
1133
1133
|
"content": {
|
|
1134
1134
|
"text/plain": {
|
|
1135
1135
|
"schema": {
|
|
@@ -1171,7 +1171,7 @@
|
|
|
1171
1171
|
"Users"
|
|
1172
1172
|
],
|
|
1173
1173
|
"summary": "Импорт пользователей из Excel-файла",
|
|
1174
|
-
"description": "## Пример запроса:\r\n`POST /Users`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с
|
|
1174
|
+
"description": "## Пример запроса:\r\n`POST /Users`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Пользователи`, en: `Users`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт пользователей принят в обработку.\r\nПосле импорта отправляются приглашения на верификацию аккаунта.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Пользователи`, en: `Users`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserImport`.",
|
|
1175
1175
|
"parameters": [
|
|
1176
1176
|
{
|
|
1177
1177
|
"name": "X-Application-ID",
|
|
@@ -1359,7 +1359,7 @@
|
|
|
1359
1359
|
"description": "Недостаточно прав для импорта пользователей."
|
|
1360
1360
|
},
|
|
1361
1361
|
"409": {
|
|
1362
|
-
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк
|
|
1362
|
+
"description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
|
|
1363
1363
|
"content": {
|
|
1364
1364
|
"text/plain": {
|
|
1365
1365
|
"schema": {
|