Changes for page Методы API для работы с ГЛОНАССSoft
Last modified by Андрей Калиновский on 2025/01/28 12:59
<
>
edited by Андрей Калиновский
on 2024/07/19 13:24
on 2024/07/19 13:24
edited by Андрей Калиновский
on 2025/01/27 14:08
on 2025/01/27 14:08
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,5 +1,17 @@ 1 1 (% class="western" id="H41E43F43844143043D43843541341B41E41D410421421SoftPublicAPI" %) 2 2 ((( 3 +(% class="box warningmessage" %) 4 +((( 5 +(% class="mark" %)##Для обеспечения бесперебойной работы команд и серверного оборудования ГЛОНАССSoft убедительно 6 +просим вас соблюдать несколько простых правил при использовании API-команд:## 7 +))) 8 + 9 +* Формировать не более 3 отчётов одновременно. 10 +* Ограничить количество активных сессий одного пользователя с одного IP-адреса до 50. 11 + 12 +В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить выполнение запросов с определенных IP адресов. 13 + 14 + 3 3 **Содержание страницы:** 4 4 ))) 5 5 ... ... @@ -14,11 +14,20 @@ 14 14 15 15 Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de. 16 16 17 -(% style="color:#000000" %)− (%%)При **редактировании** необходимо передавать все параметры пользователяв теле запроса! Те параметры, значения которых не будут переданы - будут стерты!29 +(% style="color:#000000" %)− (%%)При **редактировании** любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты! 18 18 31 + 32 +(% style="color:#000000; font-size:16px" %)**Рекомендации** 33 + 34 +- Для запросов по API рекомендуется наделить пользователя ролью **Администратора партнера**, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период). 35 + 19 19 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Авторизация**(%%) = 20 20 21 -== (% style="color:#000000; font-size:16px" %)**Авторизация**(%%) == 38 +(% class="box warningmessage" id="H41043244243E44043843743044643844F" %) 39 +((( 40 +(% style="color:#000000; font-size:16px" %)**Авторизация**(%%) 41 +(% style="color:#000000; font-size:16px" %)Адрес сервера всегда следует указывать именно тот, по которому происходит вход в СМТ (https:~/~/hosting.glonasssoft.ru/ , [[https:~~/~~/regions.glonasssoft.ru/>>https://regions.glonasssoft.ru/]] или другие) 42 +))) 22 22 23 23 (% class="box successmessage" %) 24 24 ((( ... ... @@ -44,12 +44,8 @@ 44 44 45 45 (% lang="en-US" %) 46 46 (% style="color:#000000" %){ 47 - 48 -(% lang="en-US" %) 49 -(% style="color:#000000" %) "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации 50 - "User": "testuser" , ~/~/ имя пользователя 51 - 52 -(% lang="en-US" %) 68 + "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации 69 + "User": "testuser" , ~/~/ имя пользователя(%%) 53 53 } 54 54 55 55 **Примечание: **Время жизни токена авторизации задается в настройках пользователя, там есть параметр длительность сессии. При каждом запросе токен пролонгируется. ... ... @@ -229,7 +229,6 @@ 229 229 "bankKS": "string" ~/~/ корр. счёт 230 230 } 231 231 232 - 233 233 Ответ: 234 234 235 235 { ... ... @@ -423,7 +423,6 @@ 423 423 ], 424 424 "language": 0 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 425 425 } 426 - 427 427 { 428 428 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 429 429 "lastName": "string", ... ... @@ -437,12 +437,8 @@ 437 437 438 438 (% style="text-align:left" %) 439 439 (% style="color:#000000; font-weight:normal" %)Ответ: 440 - 441 -(% style="text-align:left" %) 442 -(% style="color:#000000; font-weight:normal" %){ 443 - 444 -(% style="text-align:left" %) 445 -(% style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 455 +{ 456 + "id": "" , ~/~/ ID пользователя 446 446 "lastName": "" , ~/~/ Фамилия , 447 447 "firstName": "" , ~/~/ Имя 448 448 "position": "" , ~/~/ Должность ... ... @@ -459,11 +459,9 @@ 459 459 "kind": "" , ~/~/ тип аутентификации 460 460 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 461 461 "groups": (% style="color:#000000" %)["", ""] (% style="color:#000000; font-weight:normal" %), ~/~/ роли пользователя, перечислены названия групп пользователя 473 +} 462 462 463 -(% style="text-align:left" %) 464 -(% style="color:#000000; font-weight:normal" %)} 465 465 466 - 467 467 == (% style="color:#000000; font-size:16px" %)**Получение списка пользователей**(%%) == 468 468 469 469 (% class="box infomessage" %) ... ... @@ -483,19 +483,16 @@ 483 483 484 484 (% style="color:#000000" %)Параметры в теле запроса (JSON): 485 485 486 -(% style="color:#000000" %){ 487 - 495 +(% style="color:#000000" %){(%%) 488 488 "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", ~/~/ GUID агента, для которого надо получить данные, null - для текущего агента 489 489 "userId": "11111111-c384-43f8-8562-1c3d79a32303", ~/~/ ID пользователя, по которому фильтруется, null - неважно 490 490 "login": "qqqqqq", ~/~/ Логин пользователя, по которому фильтруется, null - неважно 491 491 "email": "eee", ~/~/ Email пользователя, по которому фильтруется, null - неважно 492 - 493 493 (% style="color:#000000" %)} 494 494 495 495 (% style="color:#000000" %)Ответ: 496 496 497 497 (% style="color:#000000" %){ (%%) 498 - 499 499 "id": "" , ~/~/ идентификатор пользователя 500 500 "lastName": "" , ~/~/ фамилия 501 501 "firstName": "" , ~/~/ имя ... ... @@ -509,7 +509,6 @@ 509 509 "sessionDuration":"", ~/~/ длительность сессии в минутах 510 510 "status": "1", ~/~/ статус пользователя 511 511 "lastLogged": "", ~/~/ дата/время последней авторизации 512 - 513 513 (% style="color:#000000" %)} 514 514 515 515 == (% style="color:#000000; font-size:16px" %)**Получение информации о пользователе**(%%) == ... ... @@ -583,10 +583,8 @@ 583 583 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)Параметры в теле запроса (JSON): 584 584 585 585 (% lang="en-US" style="text-align:left" %) 586 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 587 - 588 -(% lang="en-US" style="text-align:left" %) 589 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 591 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 592 + "id": "" , ~/~/ ID пользователя 590 590 "lastName": "" , ~/~/ фамилия 591 591 "firstName": "" , ~/~/ имя 592 592 "position": "" , ~/~/ должность ... ... @@ -608,9 +608,7 @@ 608 608 "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации 609 609 }, 610 610 "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 611 - "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 612 - 613 -(% lang="en-US" style="text-align:left" %) 614 + "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя(%%) 614 614 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)__}__ 615 615 616 616 (% lang="en-US" style="text-align:left" %) ... ... @@ -617,10 +617,8 @@ 617 617 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)//Ответ~:// 618 618 619 619 (% lang="en-US" style="text-align:left" %) 620 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 621 - 622 -(% lang="en-US" style="text-align:left" %) 623 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ идентификатор пользователя 621 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 622 + "id": "" , ~/~/ идентификатор пользователя 624 624 "lastName": "" , ~/~/ фамилия 625 625 "firstName": "" , ~/~/ имя 626 626 "position": "" , ~/~/ должность ... ... @@ -641,10 +641,8 @@ 641 641 "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 642 642 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 643 643 "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 643 +} 644 644 645 -(% lang="en-US" style="text-align:left" %) 646 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 647 - 648 648 == (% style="color:#000000; font-size:16px" %)**Изменение статуса пользователя**(%%) == 649 649 650 650 (% class="box warningmessage" %) ... ... @@ -664,12 +664,10 @@ 664 664 665 665 (% style="color:#000000" %)Параметры в теле запроса (JSON): 666 666 667 -(% style="color:#000000" %){ 668 - 664 +(% style="color:#000000" %){(%%) 669 669 "status": "" , ~/~/ статус пользователя (0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован) 670 670 "description": "" , ~/~/ описание 671 671 "data": "" , ~/~/ данные, связанные со сменой статуса 672 - 673 673 (% style="color:#000000" %)} 674 674 675 675 (% style="text-align:left" %) ... ... @@ -691,7 +691,7 @@ 691 691 (% style="color:#000000" %)В теле запроса перечисляете массив id пользователей (JSON): 692 692 693 693 [ 694 - 689 + "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc", 695 695 "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1" 696 696 ] 697 697 ... ... @@ -997,7 +997,7 @@ 997 997 998 998 Ответ: В случае успеха **Success 200** 999 999 1000 -= (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства**(%%) = 995 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства (объекты)**(%%) = 1001 1001 1002 1002 == (% style="color:#000000; font-size:16px" %)**Получение информации об объекте**(%%) == 1003 1003 ... ... @@ -1026,6 +1026,17 @@ 1026 1026 1027 1027 ((( 1028 1028 { 1024 + 1025 +((( 1026 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1027 + "IsSackEnabled": true, ~/~/ Определяет, должен ли внутренний сервер отвечать устройству сообщением SACK при получении сообщения от устройства 1028 +))) 1029 + 1030 +((( 1031 + ~/~/Используется только на ТС с типом устройства quecklink gv56, quecklink gv58, quecklink 1032 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC 1033 +))) 1034 + 1029 1029 "vehicleId": "", ~/~/ ID объекта 1030 1030 "name": "", ~/~/ Имя объекта 1031 1031 "imei": "", ~/~/ IMEI объекта ... ... @@ -1033,19 +1033,15 @@ 1033 1033 "deviceTypeName": "", ~/~/ Название типа устройства 1034 1034 "sim1": "", ~/~/ Номер SIM1 1035 1035 "sim2": "", ~/~/ Номер SIM2 1036 - 1037 1037 "parentId": "", ~/~/ ID клиента-родителя 1038 1038 "parentName": "", ~/~/ Наименование клиента-родителя 1039 1039 "modelId": "", ~/~/ ID модели объекта 1040 1040 "modelName": "", ~/~/ Имя модели объекта 1041 - 1042 1042 "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1043 1043 "unitName": "string", ~/~/ Наименование подразделения 1044 1044 "status": 0, ~/~/ Статус объекта 1045 - 1046 1046 "createdAt": "", ~/~/ Дата создания объекта 1047 1047 }, 1048 - 1049 1049 "customFields": [ ~/~/ Произвольные поля 1050 1050 { 1051 1051 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID поля ... ... @@ -1068,8 +1068,7 @@ 1068 1068 "consumptionPerHourSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1069 1069 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1070 1070 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1071 - "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1072 - 1073 + "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1073 1073 "mileageCalcMethod": 0, ~/~/ Метод расчета пробега, 0 - gps, 1 - датчик зажигания 1074 1074 "mileageCoeff": 0, ~/~/ коэффициент пробега 1075 1075 "locationByCellId": true, ~/~/ определение местоположения по данным LBS, true - активна, false - не активна ... ... @@ -1099,7 +1099,6 @@ 1099 1099 "retries": 0 ~/~/ Количество попыток 1100 1100 } 1101 1101 ], 1102 - 1103 1103 "sensors": [ ~/~/ Датчики 1104 1104 { 1105 1105 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика ... ... @@ -1126,6 +1126,7 @@ 1126 1126 ], 1127 1127 "showInTooltip": true, ~/~/ Отображать в подсказке 1128 1128 "showLastValid": true, ~/~/ Отображать последнее валидное значение 1129 + "color": "string", ~/~/ Код цвета датчиков 1129 1129 "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1130 1130 "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1131 1131 "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION ... ... @@ -1140,31 +1140,19 @@ 1140 1140 }, 1141 1141 1142 1142 ~/~/ Характерные для произвольного: 1143 - 1144 1144 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1145 - 1146 1146 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1147 - 1148 1148 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1149 - 1150 1150 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1151 - 1152 1152 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1153 - 1154 1154 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1155 - 1156 1156 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1157 - 1158 1158 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1159 - 1160 1160 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1161 - 1162 1162 ~/~/ "ValueOn": "Вкл.", 1163 - 1164 1164 ~/~/ "ValueOff": "Выкл." 1165 1165 "summaryMaxValue": 0 ~/~/ Макс. значение 1166 1166 } 1167 - 1168 1168 "drivers": [ ~/~/ Водители 1169 1169 { 1170 1170 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -1173,7 +1173,6 @@ 1173 1173 "isDefault": true ~/~/ По умолчанию 1174 1174 } 1175 1175 ], 1176 - 1177 1177 "inspectionTasks": [ ~/~/ Задания на тех. обслуживание 1178 1178 { 1179 1179 "id": "", ~/~/ ID задания ... ... @@ -1190,19 +1190,27 @@ 1190 1190 "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1191 1191 } 1192 1192 ], 1193 - 1194 - "statusHistory": [ ~/~/ История статусов 1181 +"statusHistory": [ ~/~/ История статусов 1195 1195 { 1196 1196 "status": 0, 1197 1197 "date": "2023-05-22T09:57:39.562Z", 1198 1198 "description": "string", 1199 1199 "additionalInfo": "string" 1200 - } 1201 - ] 1202 1202 1188 +((( 1203 1203 } 1190 + ], 1191 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1192 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 1204 1204 ))) 1205 1205 1195 +((( 1196 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 1197 +} 1198 + 1199 +))) 1200 +))) 1201 + 1206 1206 (% style="text-align:left" %) 1207 1207 Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже: 1208 1208 ... ... @@ -1209,6 +1209,75 @@ 1209 1209 (% style="text-align:left" %) 1210 1210 0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется». 1211 1211 1208 + 1209 +== **Отправить команду на терминал** == 1210 + 1211 +(% class="box successmessage" %) 1212 +((( 1213 +(% lang="en-US" %)**POST **(%%)**/api/v3/Vehicles/cmd/create** 1214 +))) 1215 + 1216 +Команда для отправки на тс. 1217 + 1218 +{ 1219 +"id": "", ~/~/идентификатор объекта (он же идентификатор ТС: vehicleId) 1220 +"command": "", ~/~/ Текст отправляемой команды 1221 +"retries": "", ~/~/ Количество попыток отправки на терминал 1222 +"idTemplate": "" ~/~/ ID шаблона команды (при использовании ранее созданных шаблонов). 1223 +} 1224 + 1225 +В ответ получаем cmdid 1226 + 1227 + 1228 +== **Получить ответ на отправленную на ТС команду** == 1229 + 1230 +(% class="box infomessage" %) 1231 +((( 1232 +(% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer** 1233 +))) 1234 + 1235 +Идентификатор команды: cmdId 1236 + 1237 +Запрос от терминала на ответ команды 1238 + 1239 +Пример ответ от терминала: 1240 + 1241 +ID= "" ~/~/ идентификатор объекта 1242 +Soft="" ~/~/ версия софта 1243 +GPS=4 ~/~/ тип трекера 1244 +Time=11:05:43 28.06.24 ~/~/ время запроса 1245 +Lat=45.056221 ~/~/ широта 1246 +Lon=39.035938 ~/~/ долгота 1247 +Speed=0.0 ~/~/ скорость 1248 +Course=181.4 ~/~/направление 1249 + 1250 +((( 1251 +== **Список отправленных объекту команд с ответами** == 1252 + 1253 +(% class="box infomessage" %) 1254 +((( 1255 +(% lang="en-US" %)**GET**(%%)**/api/v3/Vehicles/cmd/{vehicleId}/history** 1256 +))) 1257 + 1258 +Идентификатор ТС: vehicleId 1259 + 1260 +В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала. 1261 + 1262 +Пример ответа терминала 1263 + 1264 +[ 1265 +{ 1266 +"id": "", ~/~/ идентификатор пользователя 1267 +"commandText": "", ~/~/Текст команды. 1268 +"templateId": "", ~/~/Идентификатор шаблона 1269 +"updated": "", ~/~/ Время отправки 1270 +"tryCount": 0, ~/~/ Количество попыток отправки команды 1271 +"answer": "", ~/~/ Ответ терминала. 1272 +"status": "" ~/~/ Статус отправки 1273 +} 1274 +] 1275 +))) 1276 + 1212 1212 == (% style="color:#000000; font-size:16px" %)**Добавление объекта**(%%) == 1213 1213 1214 1214 (% class="box successmessage" %) ... ... @@ -1228,6 +1228,11 @@ 1228 1228 1229 1229 (% style="color:#000000" %){ 1230 1230 1296 + 1297 +((( 1298 + "vehicleId": 0, ~/~/ ID ТС 1299 +))) 1300 + 1231 1231 "parentId": "" , ~/~/ ID клиента 1232 1232 "name": "" , ~/~/ имя ТС 1233 1233 "imei": "" , ~/~/ IMEI ... ... @@ -1248,7 +1248,6 @@ 1248 1248 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1249 1249 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1250 1250 "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1251 - 1252 1252 "mileageCalcMethod": 0, 1253 1253 "mileageCoeff": 0, 1254 1254 "locationByCellId": true, ... ... @@ -1281,7 +1281,6 @@ 1281 1281 "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано) 1282 1282 "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1283 1283 } 1284 - 1285 1285 "drivers": [ ~/~/ Водители 1286 1286 { 1287 1287 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -1296,8 +1296,7 @@ 1296 1296 "retries": 0 1297 1297 } 1298 1298 ], 1299 - 1300 - "sensors": [ ~/~/ Датчики 1367 +"sensors": [ ~/~/ Датчики 1301 1301 { 1302 1302 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1303 1303 "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный ... ... @@ -1323,6 +1323,7 @@ 1323 1323 ], 1324 1324 "showInTooltip": true, ~/~/ Отображать в подсказке 1325 1325 "showLastValid": true, ~/~/ Отображать последнее валидное значение 1393 + "color": "string", ~/~/ код цвета датчиков 1326 1326 "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1327 1327 "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1328 1328 "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION ... ... @@ -1335,99 +1335,289 @@ 1335 1335 "additionalProp2": "string", 1336 1336 "additionalProp3": "string" 1337 1337 }, 1338 - 1339 1339 ~/~/ Характерные для произвольного: 1340 - 1341 1341 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1342 - 1343 1343 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1344 - 1345 1345 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1346 - 1347 1347 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1348 - 1349 1349 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1350 - 1351 1351 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1352 - 1353 1353 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1354 - 1355 1355 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1356 - 1357 1357 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1358 - 1359 1359 ~/~/ "ValueOn": "Вкл.", 1360 - 1361 1361 ~/~/ "ValueOff": "Выкл." 1362 - "summaryMaxValue": 0 ~/~/ Макс. значение 1418 + "summaryMaxValue": 0 ~/~/ Определяет максимальное значение датчика в режиме накопления. 1419 + 1420 +((( 1421 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1422 + { 1423 + "from": 0, ~/~/ С какого значения 1424 + "color": "string", ~/~/ Каким цветом 1425 + "text": "string" ~/~/ Текст подписи к этому интервалу 1426 + } 1427 + ] 1363 1363 } 1364 1364 ], 1430 +))) 1431 + 1432 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1433 + 1434 + 1365 1365 "customFields": [ ~/~/ Произвольные поля 1366 1366 { 1367 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1368 - "name": "string", 1369 - "value": "string", 1370 - "forClient": true, 1371 - "forTooltip": true, 1372 - "forReport": true 1373 - } 1374 - ] 1437 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1438 + "name": "string", ~/~/ Наименование произвольного поля 1439 + "value": "string", ~/~/ Значение произвольного поля 1440 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1441 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1442 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1443 + 1444 +((( 1445 + } 1446 + ], 1447 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 1448 +))) 1449 + 1450 +((( 1451 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 1375 1375 } 1453 +))) 1376 1376 1455 + 1377 1377 (% style="color:#000000" %)Ответ: 1378 1378 1379 -(% style="color:#000000" %){ 1380 1380 1381 - "vehicleId": "", ~/~/ID ТС 1382 - "parentId": "", ~/~/Guid владельца ТС 1383 - "name": "", ~/~/Имя объекта 1384 - "imei": "", ~/~/IMEI 1385 - "deviceTypeId": "", ~/~/ID типа устройства 1386 - "modelId": "", ~/~/ID модели 1387 - "unitId": "", ~/~/ID подразделения 1388 - "sim1": "", ~/~/SIM1 1389 - "sim2": "", ~/~/SIM2 1390 - "consumptionPer100Km": "", ~/~/Расход топлива на 100 км 1391 - "consumptionIdle": "", ~/~/Расход топлива на холостом ходу 1392 - "counters": { ~/~/Счётчики 1393 - "mileageEnabled": true, 1394 - "motohoursEnabled": true, 1395 - "mileage": "", 1396 - "motohours": 345.0 1397 - }, 1398 - "cmsv6Parameters": { ~/~/Параметры CmsV6 1399 - "id": null, 1400 - "enabled": true, ~/~/флаг включения 1401 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1402 - "login": "", ~/~/ имя учетной записи 1403 - "password": "" ~/~/ пароль учетной записи 1404 - }, 1405 - "inspectionTasks": { ~/~/ задания на ТО 1406 - "id": "", ~/~/ ID задачи 1407 - "enabled": false, ~/~/ Признак включения 1408 - "name": "", ~/~/ Имя задания 1409 - "description": "", ~/~/ Описание задания 1410 - "mileageCondition": "", ~/~/ Условие по пробегу 1411 - "lastMileage": "", ~/~/ Пробег (в метрах) 1412 - "motohoursCondition": "", ~/~/ Условие по моточасам 1413 - "lastMotohours": "", ~/~/ Моточасы 1414 - "periodicCondition": "", ~/~/ Условие периодичности по времени 1415 - "kind": "", ~/~/ Вид периодичности по времени 1416 - "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1459 +((( 1460 +((( 1461 +((( 1462 +{ 1463 + "vehicleId": 0, ~/~/ ID ТС 1464 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 1465 + "name": "string", ~/~/ Имя объекта 1466 + "imei": "string", ~/~/ IMEI 1467 + "deviceTypeId": 0, ~/~/ ID типа устройства 1468 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 1469 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1470 + "sim1": "string", ~/~/ SIM1 1471 + "sim2": "string", ~/~/ SIM2 1472 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 1473 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 1474 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 1475 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 1476 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 1477 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 1478 + "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 1479 + "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 1480 + "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1481 + "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1482 + "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1483 + "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1484 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor) 1485 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 1486 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 1487 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 1488 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1489 + "counters": { ~/~/ Dto для состояний счётчиков 1490 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 1491 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 1492 + "mileage": 0, ~/~/ Пробег 1493 + "motohours": 0 ~/~/ Моточасы 1494 + }, 1495 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 1496 + "id": "string", ~/~/ CMSV6 Идентификатор 1497 + "enabled": true, ~/~/ Признак включения 1498 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 1499 + "login": "string", ~/~/ CMSV6 имя учетной записи 1500 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 1501 + }, 1502 + "inspectionTasks": [ ~/~/ Dto для описания задачи на ТО 1503 + { 1504 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 1505 + "enabled": true, ~/~/ Признак включения 1506 + "name": "string", ~/~/ Имя задания 1507 + "description": "string", ~/~/ Описание задания 1508 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 1509 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 1510 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 1511 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 1512 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 1513 + "kind": 0, ~/~/ Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы) 1514 + "lastInspectionDate": "2024-10-30T08:11:35.622Z", ~/~/ Дата последнего ТО 1515 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 1417 1417 } 1517 + ], 1518 + "drivers": [ ~/~/ Список водителей. Определяет класс назначения водителя на объект. 1519 + { 1520 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 1521 + "inputNumber": 0, ~/~/ № входа. 1522 + "createTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени создания назначения. 1523 + "comment": "string", ~/~/ Комментарий 1524 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 1525 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 1526 + "beginTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени начала назначения. 1527 + "endTime": "2024-10-30T08:11:35.622Z" ~/~/ Момент времени окончания назначения. 1528 + } 1529 + ], 1530 + "commandTemplates": [ ~/~/ Список шаблонов команд 1531 + { 1532 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 1533 + "name": "string", ~/~/ Название шаблона команд 1534 + "command": "string", ~/~/ Команда на выполнение 1535 + "retries": 0 ~/~/ Лимит попыток отправки 1536 + } 1537 + ], 1538 + "sensors": [ ~/~/ Список датчиков 1539 + { 1540 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1541 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 1542 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed 1543 + "name": "string", ~/~/ Имя датчика 1544 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 1545 + "inputNumber": 0, ~/~/ Номер входа 1546 + "pseudonym": "string", ~/~/ Псевдоним 1547 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 1548 + "isInverted": true, ~/~/ Признак инверсии 1549 + "disabled": true, ~/~/ Датчик не участвует в обработке 1550 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 1551 + "gradesTables": [ ~/~/ Тарировка 1552 + { 1553 + "grades": [ ~/~/ Таблицы тарировки 1554 + { 1555 + "input": 0, ~/~/ Вход 1556 + "output": 0 ~/~/ Выход 1557 + } 1558 + ], 1559 + "relevanceTime": "2024-10-30T08:11:35.622Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 1560 + } 1561 + ], 1562 + "showInTooltip": true, ~/~/ Отображение в подсказке 1563 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1564 + "color": "string", ~/~/ код цвета датчиков 1565 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1566 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 1567 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 1568 + "expr": "string", ~/~/ Выражение 1569 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 1570 + "string" 1571 + ], 1572 + "customParams": { 1573 + "additionalProp1": "string", 1574 + "additionalProp2": "string", 1575 + "additionalProp3": "string" 1576 + }, 1577 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 1578 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1579 + { 1580 + "from": 0, ~/~/ С какого значения 1581 + "color": "string", ~/~/ Каким цветом 1582 +))) 1418 1418 1419 -(% style="text-align:left" %) 1420 -(% style="color:#000000" %)} 1584 +((( 1585 + "text": "string" ~/~/ Текст подписи к этому интервалу 1586 + } 1587 + ] 1588 + } 1589 + ], 1590 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1591 + "customFields": [ ~/~/ Список произвольных полей 1592 + { 1593 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1594 + "name": "string", ~/~/ Наименование произвольного поля 1595 + "value": "string", ~/~/ Значение произвольного поля 1596 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1597 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1598 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1599 + } 1600 + ], 1601 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 1602 +} 1603 +))) 1604 +))) 1605 +))) 1421 1421 1607 + 1422 1422 **Валидация:** 1423 1423 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 1424 1424 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; 1425 1425 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 1426 1426 1427 -== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) == 1428 1428 1614 +== **Импортировать историю ТС (Асинхронный запрос)** == 1615 + 1616 +(% class="box successmessage" %) 1617 +((( 1618 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 1619 +))) 1620 + 1621 +Метод запроса: **POST** 1622 + 1623 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 1624 + 1625 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 1626 + 1627 + 1628 +Ответ: 1629 + 1630 +{ 1631 + 1632 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1633 + 1634 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса 1635 + 1636 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 1637 + 1638 + "Message": "string", ~/~/ Информация о выполнении запроса 1639 + 1640 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 1641 + 1642 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1643 + 1644 + "Data": "string" ~/~/ Данные 1645 + 1646 +} 1647 + 1648 + 1649 +== **Возвращает статус асинхронного запроса импорта истории ТС** == 1650 + 1429 1429 (% class="box infomessage" %) 1430 1430 ((( 1653 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 1654 +))) 1655 + 1656 +Метод запроса: **GET** 1657 + 1658 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 1659 + 1660 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 1661 + 1662 + 1663 +Ответ: 1664 + 1665 +{ 1666 + 1667 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1668 + 1669 + "Status": 0, ~/~/ Перечисление состояний выполения запроса 1670 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 1671 + 1672 + "Message": "string", ~/~/ Информация о выполнении запроса 1673 + 1674 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 1675 + 1676 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 1677 + 1678 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1679 + 1680 + "Data": "string" ~/~/ Данные 1681 + 1682 +} 1683 + 1684 + 1685 +== (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) == 1686 + 1687 +(% class="box infomessage" %) 1688 +((( 1431 1431 (% lang="en-US" %)**POST /api/v3/vehicles/find** 1432 1432 ))) 1433 1433 ... ... @@ -1465,9 +1465,12 @@ 1465 1465 "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально) 1466 1466 "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально) 1467 1467 "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально) 1468 - "parentId": null, ~/~/ ID клиента (Guid, опционально) 1469 - "unitId": null, ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально) 1470 - "customFields": null ~/~/ значение любого из произвольных полей ТС 1726 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ ID подразделения (опционально) 1727 + "unitName": "string", ~/~/ Название подразделения (опционально) 1728 + "customFields": "string", ~/~/ Поиск по содержимому произвольных полей ТС (опционально) 1729 + "vehicleGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID группы ТС (опционально) 1730 + "vehicleGroupName": "string", ~/~/ Название группы ТС (опционально) 1731 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор агента, для которого надо получить данные 1471 1471 } 1472 1472 1473 1473 (% style="color:#000000" %)Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. ... ... @@ -1474,8 +1474,14 @@ 1474 1474 1475 1475 (% style="color:#000000" %)Ответ: 1476 1476 1477 -(% style="color:#000000" %){ 1738 +(% style="color:#000000" %)[ 1739 +{ 1478 1478 1741 +((( 1742 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC 1743 +))) 1744 + 1745 +((( 1479 1479 (% style="color:#000000" %) "vehicleId": "" ~/~/ идентификатор объекта 1480 1480 "name": "" ~/~/ наименование объекта 1481 1481 "imei": "" ~/~/ IMEI объекта ... ... @@ -1501,9 +1501,21 @@ 1501 1501 "forClient": true, ~/~/ право на отображение у клиента 1502 1502 "forTooltip": false, ~/~/ право на отображение в подсказке 1503 1503 "forReport": false ~/~/ право на отображение в отчетах 1504 - }(%%) 1505 -(% style="color:#000000" %)} 1771 +))) 1506 1506 1773 +((( 1774 + } 1775 + ], 1776 + "vehicleGroups": [ ~/~/ Группы ТС 1777 + { 1778 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1779 + "name": "string" ~/~/ Наименование группы ТС 1780 + } 1781 + ] 1782 + } 1783 +] 1784 +))) 1785 + 1507 1507 (% style="color:#000000" %) Параметры «__**sim1**__» и «__**sim2**__» содержатся в ответе при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. Параметр «__**status**__» содержится в ответе при наличии у авторизованного пользователя права **«__Просмотр статуса объекта__»**. 1508 1508 1509 1509 == (% style="color:#000000; font-size:16px" %)**Изменение статуса объекта**(%%) == ... ... @@ -1535,13 +1535,11 @@ 1535 1535 "data": "", ~/~/ Данные 1536 1536 "overwrite": false, ~/~/ Флаг перезаписи 1537 1537 "stage": "", ~/~/ Состояние, может быть null 1538 - 1539 1539 (% style="color:#000000" %)} 1540 1540 1541 1541 (% style="color:#000000" %)Ответ: 1542 1542 1543 -(% style="color:#000000" %){ 1544 - 1821 +(% style="color:#000000" %){(%%) 1545 1545 "status": "", ~/~/ значение статуса 1546 1546 "date": "", ~/~/ Дата смены статуса 1547 1547 "description": "", ~/~/ Описание ... ... @@ -1548,10 +1548,10 @@ 1548 1548 "data": "", ~/~/ Данные 1549 1549 "overwrite": false, ~/~/ Флаг перезаписи 1550 1550 "stage": "", ~/~/ Состояние 1551 - 1552 -(% style="text-align:left" %) 1553 1553 (% style="color:#000000" %) } 1554 1554 1830 +== == 1831 + 1555 1555 == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) == 1556 1556 1557 1557 (% class="box warningmessage" %) ... ... @@ -1627,9 +1627,19 @@ 1627 1627 1628 1628 "drivers": [ ~/~/ Водители 1629 1629 { 1630 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1631 - "isDefault": true 1632 - } 1907 + 1908 +((( 1909 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 1910 + "inputNumber": 0, ~/~/ № входа. 1911 + "createTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени создания назначения. 1912 + "comment": "string", ~/~/ Комментарий. 1913 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 1914 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 1915 + "beginTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени начала назначения. 1916 + "endTime": "2024-12-23T10:45:04.961Z" ~/~/ Момент времени окончания назначения. 1917 +))) 1918 + 1919 + } 1633 1633 ], 1634 1634 "commandTemplates": [ ~/~/ Шаблон команды 1635 1635 { ... ... @@ -1639,8 +1639,7 @@ 1639 1639 "retries": 0 1640 1640 } 1641 1641 ], 1642 - 1643 - "sensors": [ ~/~/ Датчики 1929 +"sensors": [ ~/~/ Датчики 1644 1644 { 1645 1645 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1646 1646 "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный ... ... @@ -1666,6 +1666,11 @@ 1666 1666 ], 1667 1667 "showInTooltip": true, ~/~/ Отображать в подсказке 1668 1668 "showLastValid": true, ~/~/ Отображать последнее валидное значение 1955 + 1956 +((( 1957 + "color": "string",** ~/~/ **Цвет датчика 1958 +))) 1959 + 1669 1669 "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1670 1670 "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1671 1671 "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION ... ... @@ -1678,95 +1678,225 @@ 1678 1678 "additionalProp2": "string", 1679 1679 "additionalProp3": "string" 1680 1680 }, 1681 - 1682 1682 ~/~/ Характерные для произвольного: 1683 - 1684 1684 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1685 - 1686 1686 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1687 - 1688 1688 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1689 - 1690 1690 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1691 - 1692 1692 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1693 - 1694 1694 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1695 - 1696 1696 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1697 - 1698 1698 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1699 - 1700 1700 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1701 - 1702 1702 ~/~/ "ValueOn": "Вкл.", 1703 - 1704 1704 ~/~/ "ValueOff": "Выкл." 1705 1705 "summaryMaxValue": 0 ~/~/ Макс. значение 1985 + 1986 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1987 + { 1988 + "from": 0, ~/~/ С какого значения 1989 + "color": "string", ~/~/ Каким цветом 1990 + "text": "string" ~/~/ Текст подписи к этому интервалу 1991 + } 1992 + ] 1706 1706 } 1707 1707 ], 1995 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1996 + 1708 1708 "customFields": [ ~/~/ Произвольные поля 1709 - { 1710 - 1711 - "name": "string", 1712 - "value": "string", 1713 - "forClient": true, 1714 - "forTooltip": true, 1715 - "forReport": true 1998 + { 1999 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 2000 + "name": "string", ~/~/ Наименование произвольного поля 2001 + "value": "string", ~/~/ Значение произвольного поля 2002 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 2003 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 2004 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1716 1716 } 1717 - ] 2006 + 2007 +((( 2008 + ], 2009 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 2010 +))) 2011 + 1718 1718 } 1719 1719 2014 + 1720 1720 (% style="color:#000000" %)Ответ: 1721 1721 1722 -(% lang="en-US" style="text-align:left" %) 1723 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 2017 +((( 2018 +{ 2019 + "vehicleId": 0, ~/~/ ID ТС 2020 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 2021 + "name": "string", ~/~/ Имя объекта 2022 + "imei": "string", ~/~/ IMEI 2023 + "deviceTypeId": 0, ~/~/ ID типа устройства 2024 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 2025 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 2026 + "sim1": "string", ~/~/ SIM1 2027 + "sim2": "string", ~/~/ SIM2 2028 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 2029 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 2030 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 2031 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 2032 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 2033 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 2034 + "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 2035 + "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 2036 + "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 2037 + "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 2038 + "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 2039 + "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 2040 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor 2041 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 2042 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 2043 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 2044 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 2045 + "counters": { ~/~/ состояний счётчиков 2046 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 2047 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 2048 + "mileage": 0, ~/~/ Пробег 2049 + "motohours": 0 ~/~/ Моточасы 2050 + }, 2051 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 2052 + "id": "string", ~/~/ CMSV6 Идентификатор 2053 + "enabled": true, ~/~/ Признак включения 2054 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. 2055 +))) 1724 1724 1725 -(% lang="en-US" style="text-align:left" %) 1726 - "vehicleId": "", ~/~/ ID ТС 1727 - "parentId": "", ~/~/ ID клиента 1728 - "name": "", ~/~/ имя ТС 1729 - "imei": "", ~/~/ IMEI 1730 - "deviceTypeId": "", ~/~/ типа устройства 1731 - "modelId": "", ~/~/ ID модели 1732 - "unitId": "", ~/~/ ID подразделения 1733 - "sim1": "", ~/~/ SIM 1 1734 - "sim2": "", ~/~/ SIM2 1735 - "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км 1736 - "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу 1737 - "counters": 1738 - { 1739 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег» 1740 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы» 1741 - "mileage": "", ~/~/ пробег 1742 - "motohours": "", ~/~/ моточасы 1743 - } 1744 - "cmsv6Parameters": ~/~/ параметры CMSv6 2057 + 2058 +((( 2059 +~/~/ Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 2060 + "login": "string", ~/~/ CMSV6 имя учетной записи 2061 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 2062 + }, 2063 + "inspectionTasks": [ ~/~/ Задания на ТО 2064 + { 2065 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 2066 + "enabled": true, ~/~/ Признак включения 2067 + "name": "string", ~/~/ Имя задания 2068 + "description": "string", ~/~/ Описание задания 2069 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 2070 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 2071 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 2072 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 2073 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 2074 + "kind": 0, ~/~/ Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы 2075 + "lastInspectionDate": "2024-10-30T10:31:17.196Z", ~/~/ Дата последнего ТО 2076 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 2077 + } 2078 + ], 2079 + "drivers": [ ~/~/ Список водителей 2080 + { 2081 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 2082 + "inputNumber": 0, ~/~/ № входа. 2083 + "createTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени создания назначения. 2084 + "comment": "string", ~/~/ Комментарий. 2085 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 2086 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 2087 + "beginTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени начала назначения. 2088 + "endTime": "2024-10-30T10:31:17.196Z" ~/~/ Момент времени окончания назначения. 2089 + } 2090 + ], 2091 + "commandTemplates": [ ~/~/ Список шаблонов команд 2092 + { 2093 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 2094 + "name": "string", ~/~/ Название шаблона команд 2095 + "command": "string", ~/~/ Команда на выполнение 2096 + "retries": 0 ~/~/ Лимит попыток отправки 2097 + } 2098 + ], 2099 + "sensors": [ ~/~/ Список датчиков 2100 + { 2101 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 2102 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 2103 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 2104 +))) 2105 + 2106 +((( 2107 +~/~/ 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 2108 +))) 2109 + 2110 +((( 2111 +~/~/ 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 2112 +))) 2113 + 2114 +((( 2115 +~/~/ 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 2116 +))) 2117 + 2118 +((( 2119 +~/~/ 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 2120 +))) 2121 + 2122 +((( 2123 +~/~/ 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed 2124 + "name": "string", ~/~/ Имя датчика 2125 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 2126 +))) 2127 + 2128 +((( 2129 +~/~/ 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 2130 + "inputNumber": 0, ~/~/ Номер входа 2131 + "pseudonym": "string", ~/~/ Псевдоним 2132 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 2133 + "isInverted": true, ~/~/ Признак инверсии 2134 + "disabled": true, ~/~/ Датчик не участвует в обработке 2135 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 2136 + "gradesTables": [ ~/~/ Тарировка 1745 1745 { 1746 - "id": ~/~/ идентификатор 1747 - "enabled": true, ~/~/ флаг включения 1748 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1749 - "login": "", ~/~/ имя учетной записи 1750 - "password": "", ~/~/ пароль учетной записи 1751 - } 1752 - "inspectionTasks": ~/~/ задания на ТО 1753 - { 1754 - "id": "", ~/~/ ID задания 1755 - "enabled": false, ~/~/ Признак включения 1756 - "name": "", ~/~/ Имя задания 1757 - "description": "", ~/~/ Описание задания 1758 - "mileageCondition": "", ~/~/ Условие по пробегу 1759 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО 1760 - "motohoursCondition": "", ~/~/ Условие по моточасам 1761 - "lastMotohours": "", ~/~/ Моточасы 1762 - "periodicCondition": "", ~/~/ Условие периодичности по времени 1763 - "kind": "", ~/~/ Вид периодичности по времени 1764 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание 2138 + "grades": [ ~/~/ Таблицы тарировки 2139 + { 2140 + "input": 0, ~/~/ Вход 2141 + "output": 0 ~/~/ Выход 2142 + } 2143 + ], 2144 + "relevanceTime": "2024-10-30T10:31:17.196Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 1765 1765 } 2146 + ], 2147 + "showInTooltip": true, ~/~/ Отображение в подсказке 2148 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1766 1766 1767 -(% lang="en-US" style="text-align:left" %) 1768 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 2150 +((( 2151 + "color": "string", ~/~/ цвет уведомлений 2152 +))) 1769 1769 2154 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 2155 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 2156 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 2157 + "expr": "string", ~/~/ Выражение 2158 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 2159 + "string" 2160 + ], 2161 + "customParams": { ~/~/ Дополнительные настройки 2162 + "additionalProp1": "string", 2163 + "additionalProp2": "string", 2164 + "additionalProp3": "string" 2165 + }, 2166 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 2167 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 2168 + { 2169 + "from": 0, ~/~/ С какого значения 2170 + "color": "string", ~/~/ Каким цветом 2171 + "text": "string" ~/~/ Текст подписи к этому интервалу 2172 + } 2173 + ] 2174 + } 2175 + ], 2176 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 2177 + "customFields": [ ~/~/ Список произвольных полей 2178 + { 2179 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 2180 + "name": "string", ~/~/ Наименование произвольного поля 2181 + "value": "string", ~/~/ Значение произвольного поля 2182 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 2183 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 2184 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 2185 + } 2186 + ], 2187 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor 2188 +} 2189 +))) 2190 + 1770 1770 **Валидация:** 1771 1771 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 1772 1772 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; ... ... @@ -1811,12 +1811,9 @@ 1811 1811 1812 1812 (% style="color:#000000" %)Ответ: 1813 1813 1814 -(% style="color:#000000" %){ 1815 - 2235 +(% style="color:#000000" %){(%%) 1816 1816 "deviceTypeId" : "", ~/~/ ID типа устройства 1817 1817 "deviceTypeName" : "" ~/~/ Название типа устройства 1818 - 1819 -(% style="text-align:left" %) 1820 1820 (% style="color:#000000" %)} 1821 1821 1822 1822 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Датчики**(%%) = ... ... @@ -1838,13 +1838,10 @@ 1838 1838 1839 1839 (% style="color:#000000" %)Ответ: 1840 1840 1841 -(% style="color:#000000" %){ 1842 - 2259 +(% style="color:#000000" %){(%%) 1843 1843 "id": "", ~/~/ ID типа датчика 1844 1844 "name": "", ~/~/ Название 1845 1845 "description": "", ~/~/ Описание 1846 - 1847 -(% style="text-align:left" %) 1848 1848 (% style="color:#000000" %)} 1849 1849 1850 1850 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Сообщения**(%%) = ... ... @@ -2046,10 +2046,12 @@ 2046 2046 { 2047 2047 "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 2048 2048 "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 2049 - "mileageBegin": 0, ~/~/ Пробег на начало периода 2050 - "mileageEnd": 0, ~/~/ Пробег на окончание периода 2051 - "motohoursBegin": 0, ~/~/ Моточасы на начало периода 2052 - "motohoursEnd": 0 ~/~/ Моточасы на окончание периода 2464 + "mileage": 0, ~/~/ Пробег за период, километры 2465 + "mileageBegin": 0, ~/~/ Пробег на начало периода, километры 2466 + "mileageEnd": 0, ~/~/ Пробег на окончание периода, километры 2467 + "motohours": 0, ~/~/ Моточасы за период, секунды 2468 + "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды 2469 + "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды 2053 2053 } 2054 2054 ] 2055 2055 } ... ... @@ -2098,6 +2098,12 @@ 2098 2098 } 2099 2099 ] 2100 2100 2518 +(% class="box warningmessage" %) 2519 +((( 2520 +Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"". 2521 +\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling". 2522 +))) 2523 + 2101 2101 == (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) == 2102 2102 2103 2103 (% class="box infomessage" %) ... ... @@ -2161,74 +2161,42 @@ 2161 2161 Тело запроса: 2162 2162 2163 2163 { 2164 - 2165 2165 "vehicleIds": [ ], ~/~/ Список ID объектов 2166 - 2167 2167 "from": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время начало запроса 2168 - 2169 2169 "to": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время окончания запроса 2170 - 2171 2171 "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 2172 - 2173 2173 } 2174 2174 2175 2175 Ответ: 2176 2176 2177 -[ 2178 - 2595 +[ 2179 2179 { 2180 - 2181 2181 "vehicleId": 0, ~/~/ ID объекта 2182 - 2183 2183 "vehicleName": "string", ~/~/ Имя объекта 2184 - 2185 2185 "moves": [ ~/~/ Событие движения 2186 - 2187 2187 { 2188 - 2189 2189 "mileage": 0, ~/~/ Пробег, км 2190 - 2191 2191 "eventId": 0, ~/~/ Идентификатор события 2192 - 2193 2193 "eventName": "string", ~/~/ Название события 2194 - 2195 2195 "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2196 - 2197 2197 "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2198 - 2199 2199 "duration": 0 ~/~/ Продолжительность события, секунд 2200 - 2201 2201 } 2202 - 2203 2203 ], 2204 - 2205 2205 "stops": [ ~/~/ События стоянок 2206 - 2207 2207 { 2208 - 2209 - "address": "string", ~/~/ Адрес события 2210 - 2611 + "address": "[Street] [House] [City] [State] [Country] [Coordinates]", ~/~/ Адрес события Улица, Дом, Город, Регион, Страна, Координаты 2211 2211 "eventId": 0, ~/~/ Идентификатор события 2212 - 2213 2213 "eventName": "string", ~/~/ Название события 2214 - 2215 2215 "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2216 - 2217 2217 "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2218 - 2219 2219 "duration": 0 ~/~/ Продолжительность события, секунд 2220 - 2221 - 2222 2222 } 2223 - 2224 2224 ] 2225 - 2226 2226 } 2227 - 2228 2228 ] 2229 2229 2230 2230 2231 - 2232 2232 == (% style="color:#000000; font-size:16px" %)**Получение последних данных объекта**(%%) == 2233 2233 2234 2234 (% class="box infomessage" %) ... ... @@ -2265,7 +2265,6 @@ 2265 2265 } 2266 2266 2267 2267 2268 - 2269 2269 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) = 2270 2270 2271 2271 == (% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) == ... ... @@ -2573,6 +2573,32 @@ 2573 2573 2574 2574 Success 2575 2575 2966 + 2967 +== (% style="color:#000000; font-size:16px" %)**Автоматическое продление уведомлений **(%%) == 2968 + 2969 +(% class="box warningmessage" %) 2970 +((( 2971 +**PUT** /api/v3/notifications/prolongation 2972 +))) 2973 + 2974 +Метод позволяет продлить уведомления. 2975 + 2976 +Метод запроса **PUT** 2977 + 2978 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/prolongation 2979 + 2980 +В заголовках запроса: X-Auth: Токен авторизации. 2981 + 2982 +Тело запроса: 2983 + 2984 +[ 2985 + 2986 +0 2987 + 2988 +] 2989 + 2990 +где 0 идентификатор ids. 2991 + 2576 2576 == (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) == 2577 2577 2578 2578 (% class="box errormessage" %) ... ... @@ -3763,7 +3763,7 @@ 3763 3763 **POST /api/v3/vehicles/import/{agentId}** 3764 3764 ))) 3765 3765 3766 -Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml** или **wlp. **Также они могут находится в** zip-архиве.** 4182 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).** 3767 3767 3768 3768 В пути указывается **agentId** - id клиента. 3769 3769 ... ... @@ -3775,7 +3775,7 @@ 3775 3775 3776 3776 |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3777 3777 |withNoData|Параметр **Объекты без данных**. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать. 3778 -|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: 1- Замена,2- Слияние,3- Добавление4194 +|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление 3779 3779 3780 3780 В теле использовать тип **form-data,** тип значения** file** 3781 3781 ... ... @@ -3954,64 +3954,67 @@ 3954 3954 Тело запроса: 3955 3955 3956 3956 { 3957 - "vehicleIds": [vehicleId], 3958 - "from": "2023-11-22T09:29:48.051Z", 3959 - "to": "2023-11-22T09:29:48.051Z" 4373 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов 4374 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса 4375 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса 3960 3960 } 3961 3961 3962 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3963 -|vehicleIds|Массив ID объектов 3964 -|from|Дата начала запроса 3965 -|to|Дата окончания запроса 3966 - 3967 3967 Ответ: 3968 3968 3969 3969 { 3970 - "items": [ 4381 + "items": [ ~/~/ Список в разрезе ТС 3971 3971 { 3972 - "from": "2023-11-22T09:29:48.052Z", 3973 - "to": "2023-11-22T09:29:48.052Z", 3974 - "vehicleId": 0, 3975 - "vehicleName": "string", 3976 - "vehicleModel": "string", 3977 - "penalty": 0, 3978 - "score": 0, 3979 - "totalViolations": 0, 3980 - "violationsByType": { 3981 - "overspeedingViolations": 0, 3982 - "accelerationViolations": 0, 3983 - "brakingViolations": 0, 3984 - "turningViolations": 0, 3985 - "dangerousDrivingViolations": 0, 3986 - "sensorViolations": 0 4383 + "from": "2023-11-22T09:29:48.052Z", ~/~/ Дата начала периода 4384 + "to": "2023-11-22T09:29:48.052Z", ~/~/ Дата окончания периода 4385 + "vehicleId": 0, ~/~/ ID ТС 4386 + "vehicleName": "string", ~/~/ Название ТС 4387 + "vehicleModel": "string", ~/~/ Модель ТС 4388 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов в разрезе ТС 4389 + "score": 0, ~/~/ Рассчитанная оценка вождения в разрезе ТС 4390 + "totalViolations": 0, ~/~/ Нарушений всего 4391 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4392 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4393 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4394 + "brakingViolations": 0, ~/~/ Нарушений торможения 4395 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4396 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4397 + "sensorViolations": 0 ~/~/ Нарушений по датчику 3987 3987 }, 3988 - "moveTime": 0, 3989 - "mileage": 0, 3990 - "tripsCount": 0, 3991 - "trips": [ 4399 + 4400 +((( 4401 + 4402 +))) 4403 + 4404 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4405 + "mileage": 0, ~/~/ Пробег, м 4406 + "tripsCount": 0, ~/~/ Кол-во рейсов 4407 + "trips": [ ~/~/ Информация по рейсу 3992 3992 { 3993 - "penalty": 0, 3994 - "score": 0, 3995 - "violationsCount": 0, 3996 - "violationsByType": { 3997 - "overspeedingViolations": 0, 3998 - "accelerationViolations": 0, 3999 - "brakingViolations": 0, 4000 - "turningViolations": 0, 4001 - "dangerousDrivingViolations": 0, 4002 - "sensorViolations": 0 4409 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов за рейс 4410 + "score": 0, ~/~/ Рассчитанная оценка вождения за рейс 4411 + "violationsCount": 0, ~/~/ Всего нарушений 4412 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4413 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4414 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4415 + "brakingViolations": 0, ~/~/ Нарушений торможения 4416 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4417 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4418 + "sensorViolations": 0 ~/~/ Нарушений по датчику 4003 4003 }, 4004 - "moveTime": 0, 4005 - "mileage": 0, 4006 - "motohours": 0, 4007 - "maxSpeed": 0, 4008 - "startAddress": "string", 4009 - "endAddress": "string", 4010 - "drivers": [ 4420 + 4421 + "startDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата начала поездки 4422 + "endDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата окончания поездки 4423 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4424 + "mileage": 0, ~/~/ Пробег, м 4425 + "motohours": 0, ~/~/ Моточасы, секунды 4426 + "maxSpeed": 0, ~/~/ Максимальная скорость за рейс 4427 + "startAddress": "string", ~/~/ Адрес начала рейса 4428 + "endAddress": "string", ~/~/ Адрес конца рейса 4429 + "drivers": [ ~/~/ Список водителей 4011 4011 { 4012 - "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4013 - "driverName": "string", 4014 - "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" 4431 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя 4432 + "driverName": "string", ~/~/ФИО водителя 4433 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки 4015 4015 } 4016 4016 ] 4017 4017 } ... ... @@ -4020,34 +4020,6 @@ 4020 4020 ] 4021 4021 } 4022 4022 4023 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4024 -|from|Дата начала запроса 4025 -|to|Дата окончания 4026 -|vehicleId|ID объекта 4027 -|vehicleName|Имя объекта 4028 -|vehicleModel|Модель объекта 4029 -|penalty|Сумма штрафных баллов 4030 -|score|Оценка 4031 -|totalViolations|Суммарное количество нарушений 4032 -|violationsByType|Список типов нарушений и количество нарушений для каждого типа 4033 -|overspeedingViolations|Превышение скорости 4034 -|accelerationViolations|Ускорение 4035 -|brakingViolations|Торможение 4036 -|turningViolations|Резкий поворот 4037 -|dangerousDrivingViolations|Резкое вождение 4038 -|sensorViolations|Нарушение по датчику 4039 -|moveTime|Время в движении 4040 -|mileage|Пробег 4041 -|tripsCount|Количество рейсов 4042 -|motohours|Моточасы 4043 -|maxSpeed|Максимальная скорость 4044 -|startAddress|Адрес начала рейса 4045 -|endAddress|Адрес окончания рейса 4046 -|drivers|Список водителей, которые были на объекте в течениии рейса 4047 -|driverGuid|Guid водителя 4048 -|driverName|Имя водителя 4049 -|driverRfid|Номер Карты-метки 4050 - 4051 4051 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) = 4052 4052 4053 4053 == (% style="color:#000000; font-size:16px" %)**Запрос транзакций по топливным картам**(%%) == ... ... @@ -4056,7 +4056,7 @@ 4056 4056 4057 4057 (% class="box infomessage" %) 4058 4058 ((( 4059 -POST /api/v3/fuelcards/transactions 4450 +**POST /api/v3/fuelcards/transactions** 4060 4060 ))) 4061 4061 4062 4062 Метод запроса: POST ... ... @@ -4067,179 +4067,970 @@ 4067 4067 Параметры в теле запроса (JSON): 4068 4068 4069 4069 { 4461 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/ Начало периода 4462 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/ Конец периода 4463 + "ids": [ 4464 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификаторы топливных карт 4465 + ], 4466 + "timezone": 0 ~/~/ Часовой пояс 4467 +} 4070 4070 4071 - "startDate": "2024-04-11T10:32:02.395Z", ~/~/Начало периода 4072 4072 4073 - "endDate": "2024-04-11T10:32:02.395Z", ~/~/Конец периода 4470 +Ответ: 4471 + { 4472 + "date": "2024-04-11T10:41:02.265Z", ~/~/ Дата и время транзакции 4473 + "driver": "string", ~/~/ Водители, привязанные к ТК 4474 + "object": "string", ~/~/ Наименование ТС 4475 + "amount": 0, ~/~/ Количество топлива 4476 + "amountDut": 0, ~/~/ Количество по ДУТ 4477 + "amountDiff": 0, ~/~/ Разница, л 4478 + "amountDiffPerc": 0, ~/~/ Разница, % 4479 + "summa": 0, ~/~/ Стоимость, руб 4480 + "serviceName": "string", ~/~/ Тип топлива 4481 + "price": 0, ~/~/ Цена за литр, руб 4482 + "cardName": "string", ~/~/ Наименование ТК 4483 + "cardNum": "string", ~/~/ Номер ТК 4484 + "operator": "string", ~/~/ Оператор ТК 4485 + "address": "string" ~/~/ Адрес АЗС 4486 + } 4074 4074 4075 - "ids":[4488 +== (% style="color:#000000; font-size:16px" %)**Получение списка топливных карт**(%%) == 4076 4076 4077 - "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/гуиды топливных карт 4490 +(% class="box infomessage" %) 4491 +((( 4492 +**GET /api/v3/fuelcards** 4493 +))) 4078 4078 4079 - ],4495 +Метод запроса: GET 4080 4080 4081 - "timezone": 0 ~/~/Таймзона 4497 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards 4498 + 4082 4082 4083 -} 4084 - 4085 4085 Ответ: 4086 4086 4502 +[ 4087 4087 { 4504 + "Name": "string", ~/~/ Определяет наименование карты. 4505 + "OperatorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Определяет идентификатор оператора. 4506 + "Number": "string", ~/~/ Определяет № карты. 4507 + "Enabled": true, ~/~/ Определяет признак активности карты. 4508 + "Description": "string", ~/~/ Определяет описание карты. 4509 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID карты 4510 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 4511 + "deleted": true ~/~/ Признак удаления 4512 + } 4513 +] 4088 4088 4089 - "date":"2024-04-11T10:41:02.265Z",~/~/Датаивремя транзакции4515 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** = 4090 4090 4091 - "driver": "string", ~/~/Водители, привязанные к ТК 4092 4092 4093 - "object": "string", ~/~/НаименованиеТС4518 +== **Получение полных данных о ретрансляторе** == 4094 4094 4095 - "amount": 0, ~/~/Количество топлива 4520 +(% class="box infomessage" %) 4521 +((( 4522 +**GET ** **/api/v3/retranslations/{id}** 4523 +))) 4096 4096 4097 - "amountDut": 0, ~/~/Количествопо ДУТ4525 +id - Идентификатор ретранслятора 4098 4098 4099 - "amountDiff": 0, ~/~/Разница, л 4100 4100 4101 - "amountDiffPerc": 0, ~/~/Разница,%4528 +Пример ответа: 4102 4102 4103 - "summa": 0, ~/~/Стоимость, руб 4530 +{ 4531 +"description": "", ~/~/ Поле описания ретранслятора 4532 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4533 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4534 +"isEnabled": true, ~/~/ Признак включения ретранслятора, Включен, true - включен, false - отключен 4535 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4536 +"objects": [ ~/~/ Объекты для ретрансляции 4537 +{ 4538 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4539 +"name": "", ~/~/ Наименование объекта ретрансляции 4540 +"imei": "", ~/~/ IMEI объекта ретрансляции 4541 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4542 +} 4543 + ], 4544 +"id": "", ~/~/ Идентификатор ретранслятора 4545 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4546 +"deleted": "" ~/~/ Признак удаления ретранслятора: true - включен, false - отключен 4547 +} 4104 4104 4105 - "serviceName": "string", ~/~/Тип топлива 4106 4106 4107 - "price": 0, ~/~/Ценаза литр,руб4550 +== **Удаление данных ретранслятора** == 4108 4108 4109 - "cardName": "string", ~/~/Наименование ТК 4552 +(% class="box infomessage" %) 4553 +((( 4554 +**DELETE** **/api/v3/retranslations/{id}** 4555 +))) 4110 4110 4111 - "cardNum":"string",~/~/НомерТК4557 +id - Идентификатор ретранслятора 4112 4112 4113 - "operator": "string", ~/~/Оператор ТК 4114 4114 4115 - "address": "string" ~/~/АдресАЗС4560 +== **Создание ретранслятора** == 4116 4116 4117 - } 4562 +(% class="box infomessage" %) 4563 +((( 4564 +**POST ** **/api/v3/retranslations/{id}** 4565 +))) 4118 4118 4119 - = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) =4567 +Запрос: 4120 4120 4121 -== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) == 4569 +{ 4570 +"description": "", ~/~/ Поле описания ретранслятора 4571 +"subscriberId": "", ~/~/ Идентификатор подписчика 4572 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4573 +"address": "", ~/~/ Адрес и порт принимающего сервера 4574 +"isEnabled": "", ~/~/ Признак включения ретранслятора, true - включен, false - отключен 4575 +"objects": [ ~/~/Объекты для ретрансляции 4576 +{ 4577 +"id": "", ~/~/ Идентификатор ретранслятора 4578 +"imei": "", ~/~/ IMEI объекта ретрансляции 4579 +"isEnabled": "" ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4580 +} 4581 + ] 4582 +} 4122 4122 4123 4123 4585 +Ответ: 4586 + 4587 +{ 4588 +"description": "", ~/~/ Поле описания ретранслятора 4589 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4590 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4591 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4592 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4593 +"objects": [ ~/~/ Объекты для ретрансляции 4594 +{ 4595 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4596 +"name": "string", ~/~/ Наименование объекта ретрансляции 4597 +"imei": "", ~/~/ IMEI объекта ретрансляции 4598 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4599 +} 4600 + ], 4601 +"id": "", ~/~/ Идентификатор ретранслятора 4602 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4603 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4604 +} 4605 + 4606 + 4607 +== **Редактирование ретранслятора** == 4608 + 4124 4124 (% class="box infomessage" %) 4125 4125 ((( 4126 - GETVehicles/recyclebin/all4611 +**PUT** **/api/v3/retranslations** 4127 4127 ))) 4128 4128 4129 - Метод возвращает полнуюинформацию о списках всех объектов в корзинепо пользователям, доступнымагенту4614 +Пример запроса: 4130 4130 4131 -Параметр запроса: {parentId} - идентификатор агента 4616 +{ 4617 +"id": "", ~/~/ Идентификатор ретранслятора 4618 +"description": "string", ~/~/ Поле описания ретранслятора 4619 +"subscriberId": "", ~/~/ Идентификатор подписчика 4620 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4621 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4622 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4623 +"objects": ~/~/ Объекты для ретрансляции 4624 +[ 4625 +{ 4626 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4627 +"imei": "", ~/~/ IMEI объекта ретрансляции 4628 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4629 +} 4630 + ] 4631 +} 4132 4132 4133 -В заголовках запроса: X-Auth: Токен авторизации 4134 4134 4634 +Пример ответа: 4635 + 4636 +{ 4637 +"description": "", ~/~/ Поле описания ретранслятора 4638 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4639 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4640 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4641 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4642 +"objects": [ ~/~/ Объекты для ретрансляции 4643 +{ 4644 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4645 +"name": "string", ~/~/ Наименование объекта ретрансляции 4646 +"imei": "", ~/~/ IMEI объекта ретрансляции 4647 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4648 +} 4649 + ], 4650 +"id": "", ~/~/ Идентификатор ретранслятора 4651 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4652 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4653 +} 4654 + 4655 + 4656 +== **Получение списка ретранслятора клиента** == 4657 + 4658 +(% class="box infomessage" %) 4659 +((( 4660 +**POST /api/v3/retranslations/find** 4661 +))) 4662 + 4663 +Пример запроса: 4664 + 4665 +{ 4666 +"id": "", ~/~/ Идентификатор ретранслятора 4667 +"search": "string", ~/~/ Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу 4668 +"parentId": "" ~/~/ Идентификатор родительского агента, для которого надо получить данные (обязательный параметр). 4669 +} 4670 + 4135 4135 Ответ: 4136 4136 4137 -[ 4673 +[ 4674 +{ 4675 +"description": "", ~/~/ Поле описания ретранслятора 4676 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4677 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4678 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4679 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4680 +"id": "", ~/~/ Идентификатор ретранслятора 4681 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4682 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4683 +} 4684 +] 4138 4138 4686 + 4687 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Отчеты**(%%) = 4688 + 4689 +== **API для отчета по выгрузке комбайнов** == 4690 + 4691 +(% class="box infomessage" %) 4692 +((( 4693 +**POST /api/v3/Reports/harvesterUnloading** 4694 +))) 4695 + 4696 +Пример запроса: 4697 + 4698 +{ 4699 + "byTime": 0, ~/~/ Объединение событий по времени 4700 + "byDist": 0, ~/~/ Объединение событий по расстоянию 4701 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 4702 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 4703 + "showNearestObjects": true, ~/~/Показывать объекты рядом? 4704 + "vehicleIds": [ ~/~/ Список id объектов для анализа 4705 + 0 4706 + ], 4707 + "from": "", ~/~/ Дата и время начало запроса 4708 + "to": "", ~/~/ Дата и время окончания запроса 4709 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 4710 +} 4711 + 4712 +Пример ответа: 4713 + 4714 +[ 4139 4139 { 4716 + "harvesterName": "", ~/~/Комбайн, номер 4717 + "harvesterId": 0, ~/~/Комбайн, id 4718 +"harvesterModel": "", ~/~/ Модель комбайна 4719 +"hopperCapacity": 0, ~/~/ Объем бункера м3 4720 + "hopperDischargeSpeed": 0, ~/~/ Скорость выгрузки из бункера, л/сек 4721 + "events": [ ~/~/Список событий в разрезе комбайна 4722 + { 4723 + "driverId": "", ~/~/Идентификатор водителя 4724 + "driverName": "", ~/~/Водитель комбайна, ФИО 4725 + "RFID": "", ~/~/ идентификатор карты-метки 4726 + "rfidName": "", ~/~/Водитель комбайна, имя метки 4727 + "vehicleId": 0, ~/~/идентификатор объекта 4728 + "vehicleName": "string", ~/~/ Имя объекта 4729 + "modelName": "string", ~/~/ Имя модели объекта 4730 + "nearestVehicles": [ ~/~/Объекты рядом 4731 + { 4732 + "vehicleId": 0, ~/~/идентификатор объекта 4733 + "vehicleName": "string" ~/~/ Имя объекта 4734 + } 4735 + ], 4736 + "fields": [ ~/~/Поля, где происходила выгрузка 4737 + { 4738 + "id": 0, ~/~/ идентификатор пользователя 4739 + "name": "string" ~/~/ имя пользователя 4740 + } 4741 + ], 4742 + "event": "string", ~/~/Событие 4743 + "start": "2024-07-19T06:41:57.821Z", ~/~/ Начало периода 4744 + "end": "2024-07-19T06:41:57.821Z", ~/~/ Окончание периода 4745 + "durationSeconds": 0, ~/~/Продолжительность события, в секундах 4746 + "cultureName": "string", ~/~/ название культуры 4747 + "bunkerLowLevelStart": 0, ~/~/Бункер, нижний уровень (на начало события) 4748 + "bunkerLowLevelEnd": 0, ~/~/ Бункер, нижний уровень (на конец события) 4749 + "bunkerHighLevelStart": 0, ~/~/Бункер, верхний уровень (на начало события) 4750 + "bunkerHighLevelEnd": 0, ~/~/Бункер, верхний уровень (на конец события) 4751 + "reapingAggregateValueStart": 0, ~/~/Жатка (на начало события) 4752 + "reapingAggregateValueEnd": 0, ~/~/Жатка (на конец события) 4753 + "issued": 0, ~/~/Выдано, бункеров 4754 + "issuedByBunkerSensors": 0, ~/~/Отдано бункеров (расчет по датчикам бункера) 4755 + "latitude": 0, ~/~/Широта 4756 + "longitude": 0, ~/~/ Долгота 4757 + "litresAway": 0, ~/~/Отдано, л 4758 + "m3Away": 0 ~/~/Отдано, м3 4759 + } 4760 + ] 4761 + } 4762 +] 4140 4140 4141 - "recordTime": "", ~/~/Время записи 4142 4142 4143 - "userId": "",~/~/Guid пользователя,добавившегобъекткорзину4765 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) = 4144 4144 4145 - "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 4146 4146 4147 - "objectId": 0, ~/~/IDобъекта,помещённогов корзину4768 +== **Запрос списка полей** == 4148 4148 4149 - "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 4770 +(% class="box successmessage" %) 4771 +((( 4772 +**POST /api/v3/agroLands/find** 4773 +))) 4150 4150 4151 - "objectType": 1, ~/~/Тип объекта, помещённого в корзину4775 +Пример запроса: 4152 4152 4153 - "details": { ~/~/Список деталей объекта, помещённого в корзину 4777 +((( 4778 +((( 4779 +((( 4780 +{ 4781 + "year": 0, ~/~/ Фильтр по году 4782 + "name": "string", ~/~/ Фильтр по названию 4783 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Фильтр по подразделению 4784 +} 4785 +))) 4786 +))) 4154 4154 4155 - "items": [ ~/~/ [ 4788 + 4789 +))) 4156 4156 4157 - nullable:true ~/~/Детали4791 +Пример ответа: 4158 4158 4159 - { 4793 +((( 4794 +[ 4795 + { 4796 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 4797 + "year": 0, ~/~/ Год поля 4798 + "startDate": "2024-12-20T12:27:07.523Z", ~/~/ Начало года урожая 4799 + "endDate": "2024-12-20T12:27:07.523Z", ~/~/ Конец года урожая 4800 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 4801 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 4802 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 4803 + "counts": { ~/~/ Счётчики с/х поля 4804 + "fieldOperations": 0, ~/~/ Количество операций на поле 4805 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 4806 + "facts": 0 ~/~/ Счётчик факта 4807 + }, 4808 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 4809 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 4810 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 4811 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 4812 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 4813 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 4814 + "planComment": "string", ~/~/ Комментарий к полю 4815 + "productivity": 0, ~/~/ Урожайность. 4816 + "id": 0, ~/~/ Идентификатор объекта геозоны 4817 + "name": "string", ~/~/ Название объекта геозоны 4818 + "type": 0, ~/~/ Тип объекта геозоны 4819 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 4820 + "fname": "string", ~/~/ Имя файла 4821 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 4822 + "beginCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата начала расчетов для геозоны 4823 + "endCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата окончания расчетов для геозоны 4824 + "description": "string", ~/~/ Описание объекта геозоны 4825 + "area": 0, ~/~/ Площадь, м2 4826 + "perimetr": 0, ~/~/ Периметр, м 4827 + "createDate": "2024-12-20T12:27:07.523Z" ~/~/ Дата создания в бд 4828 + } 4829 +] 4160 4160 4161 - "name": "string", ~/~/наименование столбца 4162 4162 4163 - "value": "string" ~/~/содержаниестолбца4832 +== **Создание нового поля ** == 4164 4164 4834 +(% class="box successmessage" %) 4835 +((( 4836 +**POST /api/v3/agroLands** 4837 +))) 4838 + 4839 +Пример запроса: 4840 + 4841 +((( 4842 +{ 4843 + "extId": "string", 4844 + "shape": "string", ~/~/ Форма поля 4845 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля 4846 + "display": "string", ~/~/ Настройки отображения 4847 + "year": 0, ~/~/ Год поля 4848 + "name": "string", ~/~/ Наименование 4849 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 4850 + "startDate": "2024-12-20T08:19:59.635Z", ~/~/ Начало года урожая 4851 + "endDate": "2024-12-20T08:19:59.635Z", ~/~/ Конец года урожая 4852 + "planComment": "string", ~/~/ Комментарий к полю 4853 + "cropRotations": [ ~/~/ Данные по севообороту 4854 + { 4855 + "landId": 0, ~/~/ ID поля 4856 + "landName": "string", ~/~/ Название поля 4857 + "year": 0, ~/~/ Год урожая 4858 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 4859 + "cultureName": "string", ~/~/ Название культуры 4860 + "productivity": 0, ~/~/ Урожайность 4861 + "area": 0, ~/~/ Площадь поля, Га 4862 + "total": 0, ~/~/ Валовый сбор 4863 + "productivityFact": 0, ~/~/ Фактическая урожайность 4864 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 4865 + "totalFact": 0, ~/~/ Фактический валовый сбор 4866 + "start": "2024-12-20T08:19:59.635Z", ~/~/ Дата начала работ 4867 + "sowing": "2024-12-20T08:19:59.635Z", ~/~/ Дата сева 4868 + "harvesting": "2024-12-20T08:19:59.635Z", ~/~/ Дата уборки урожая 4869 + "isyearplan": true, ~/~/ Годовой план 4870 + "comment": "string" ~/~/ Комментарий 4871 + } 4872 + ] 4873 +} 4874 +))) 4875 + 4876 +((( 4877 + 4878 +))) 4879 + 4880 +Пример ответа: 4881 + 4882 +((( 4883 +((( 4884 +{ 4885 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 4886 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 4887 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 4888 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 4889 + "cropRotations": [ ~/~/ Данные по севообороту 4890 + { 4891 + "landId": 0, ~/~/ ID поля 4892 + "landName": "string", ~/~/ Название поля 4893 + "year": 0, ~/~/ Год урожая 4894 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 4895 + "cultureName": "string", ~/~/ Название культуры 4896 + "productivity": 0, ~/~/ Урожайность 4897 + "area": 0, ~/~/ Площадь поля, Га. 4898 + "total": 0, ~/~/ Валовый сбор 4899 + "productivityFact": 0, ~/~/ Фактическая урожайность 4900 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 4901 + "totalFact": 0, ~/~/ Фактический валовый сбор 4902 + "start": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала работ 4903 + "sowing": "2024-12-20T08:19:59.743Z", ~/~/ Дата сева 4904 + "harvesting": "2024-12-20T08:19:59.743Z", ~/~/ Дата уборки урожая 4905 + "isyearplan": true, ~/~/ годовой план 4906 + "comment": "string" ~/~/ Комментарий 4907 + } 4908 + ], 4909 + "cropVegetation": [ ~/~/ История вегетации поля 4910 + { 4911 + "values": [ ~/~/ Данные вегетации и состояния посева 4912 + { 4913 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 4914 + "ndvi": 0 ~/~/ Индекс вегетации 4165 4165 } 4916 + ], 4917 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 4918 + { 4919 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 4920 + "type": "string", ~/~/ Тип 4921 + "pictureid": "string" ~/~/ Идентификатор ресурса 4922 + } 4923 + ], 4924 + "states": [ ~/~/ Ключевые даты развития поля 4925 + { 4926 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 4927 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 4928 + } 4929 + ] 4930 + } 4931 + ], 4932 + "endDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата закрытия года урожая 4933 + "counts": { 4934 + "fieldOperations": 0, ~/~/ Количество операций на поле 4935 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 4936 + "facts": 0 ~/~/ Счётчик факта 4937 + }, 4938 + "planComment": "string", ~/~/ Комментарий к полю 4939 +))) 4166 4166 4941 +((( 4942 + "productivity": 0, ~/~/ Урожайность. 4943 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 4944 + "startDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата открытия года урожая 4945 + "year": 0, ~/~/ Год поля 4946 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4947 + "actualPlanState": 0, ~/~/ Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4948 + "factState": 0, ~/~/ Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4949 + "taskState": 0, ~/~/ Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 4950 + "status": 0, ~/~/ Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто 4951 + "id": 0, ~/~/ Идентификатор объекта геозоны 4952 + "name": "string", ~/~/ Название объекта геозоны 4953 + "type": 0, ~/~/ Тип объекта геозоны 4954 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 4955 + "fname": "string", ~/~/ Имя файла 4956 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 4957 + "beginCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала расчетов для геозоны 4958 + "endCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата окончания расчетов для геозоны 4959 + "description": "string", ~/~/ Описание объекта геозоны 4960 + "area": 0, ~/~/ Площадь, м2 4961 + "perimetr": 0, ~/~/ Периметр, м 4962 + "createDate": "2024-12-20T08:19:59.743Z" ~/~/ Дата создания в бд 4963 +} 4964 + 4965 + 4966 +))) 4967 +))) 4968 +))) 4969 + 4970 +== **Получение поля по id** == 4971 + 4972 +(% class="box infomessage" %) 4973 +((( 4974 +**GET /api/v3/agroLands/{id}** 4975 +))) 4976 + 4977 +Пример запроса: 4978 +id ~/~/ Идентификатор поля 4979 + 4980 +Пример ответа: 4981 + 4982 +((( 4983 +{ 4984 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 4985 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 4986 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 4987 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 4988 + "cropRotations": [ ~/~/ Данные по севообороту 4989 + { 4990 + "landId": 0, ~/~/ ID поля 4991 + "landName": "string", ~/~/ Название поля 4992 + "year": 0, ~/~/ Год урожая 4993 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 4994 + "cultureName": "string", ~/~/ Название культуры 4995 + "productivity": 0, ~/~/ Урожайность 4996 + "area": 0, ~/~/ Площадь поля, Га 4997 + "total": 0, ~/~/ Валовый сбор 4998 + "productivityFact": 0, ~/~/ Фактическая урожайность 4999 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5000 + "totalFact": 0, ~/~/ Фактический валовый сбор 5001 + "start": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала работ 5002 + "sowing": "2024-12-20T07:45:52.611Z", ~/~/ Дата сева 5003 + "harvesting": "2024-12-20T07:45:52.611Z", ~/~/ Дата уборки урожая 5004 + "isyearplan": true, ~/~/ План года 5005 + "comment": "string" ~/~/ Комментарий 5006 + } 5007 + ], 5008 + "cropVegetation": [ ~/~/ История вегетации поля 5009 + { 5010 + "values": [ ~/~/ Данные вегетации и состояния посева 5011 + { 5012 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 5013 + "ndvi": 0 ~/~/ Индекс вегетации 5014 + } 5015 + ], 5016 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5017 + { 5018 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 5019 + "type": "string", ~/~/ Тип 5020 + "pictureid": "string" ~/~/ Идентификатор ресурса 5021 + } 5022 + ], 5023 + "states": [ ~/~/ Ключевые даты развития поля 5024 + { 5025 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 5026 + "state": 0 ~/~/ Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая 5027 + } 4167 4167 ] 5029 + } 5030 + ], 5031 + "endDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата закрытия года урожая 5032 + "counts": { 5033 + "fieldOperations": 0, ~/~/ Количество операций на поле 5034 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5035 + "facts": 0 ~/~/ Счётчик факта 5036 + }, 5037 + "planComment": "string", ~/~/ Комментарий к полю 5038 + "productivity": 0, ~/~/ Урожайность. 5039 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5040 +))) 4168 4168 4169 - }, 5042 +((( 5043 +((( 5044 + "startDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата открытия года урожая 5045 + "year": 0, ~/~/ Год поля 5046 + "planState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5047 + "actualPlanState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5048 + "factState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5049 + "taskState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5050 + "status": 0, ~/~/ Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5051 + "id": 0, ~/~/ Идентификатор объекта геозоны 5052 + "name": "string", ~/~/ Название объекта геозоны 5053 + "type": 0, ~/~/ Тип объекта геозоны 5054 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5055 + "fname": "string", ~/~/ Имя файла 5056 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5057 + "beginCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала расчетов для геозоны 5058 + "endCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата окончания расчетов для геозоны 5059 + "description": "string", ~/~/ Описание объекта геозоны 5060 + "area": 0, ~/~/ Площадь, м2 5061 + "perimetr": 0, ~/~/ Периметр, м 5062 + "createDate": "2024-12-20T07:45:52.611Z" ~/~/ Дата создания в бд 5063 +} 5064 +))) 4170 4170 4171 - "errors": [ ~/~/Список ошибок удаления/восстановления объекта 4172 4172 4173 - "string"5067 +== **Удаление существующего поля** == 4174 4174 4175 - ] 5069 +(% class="box errormessage" %) 5070 +((( 5071 +**DELETE /api/v3/agroLands/{id}** 5072 +))) 4176 4176 4177 - } 5074 +Пример запроса: 5075 +id ~/~/ Идентификатор поля 4178 4178 4179 - ]5077 +Пример ответа: 4180 4180 5079 +((( 5080 +200 ~/~/ Успех 5081 +))) 4181 4181 4182 -(% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины** 5083 +((( 5084 + 5085 +))) 4183 4183 5087 +((( 5088 +((( 5089 +((( 5090 + 5091 +))) 5092 + 5093 +((( 5094 +== **Изменение поля** == 5095 + 4184 4184 (% class="box infomessage" %) 4185 4185 ((( 4186 -P OST/api/v3/Vehicles/recyclebin/erase5098 +**PUT /api/v3/agroLands** 4187 4187 ))) 4188 4188 4189 - Взаголовках запроса:X-Auth: Токен авторизации5101 +Пример запроса: 4190 4190 5103 +((( 5104 +((( 5105 +{ 5106 + "id": 0, ~/~/ Идентификатор поля 5107 + "extId": "string", ~/~/ ExtId 5108 + "shape": "string", ~/~/ Форма поля 5109 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля 5110 + "display": "string", ~/~/ Настройки отображения 5111 + "year": 0, ~/~/ Год поля 5112 + "name": "string", ~/~/ Наименование 5113 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5114 + "startDate": "2024-12-20T10:11:59.425Z", ~/~/ Начало года урожая 5115 + "endDate": "2024-12-20T10:11:59.425Z", ~/~/ Конец года урожая 5116 + "planComment": "string", ~/~/Комментарий к полю 5117 + "cropRotations": [ ~/~/ Данные по севообороту 5118 + { 5119 + "landId": 0, ~/~/ ID поля 5120 + "landName": "string", ~/~/ Название поля 5121 + "year": 0, ~/~/ Год урожая 5122 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5123 + "cultureName": "string", ~/~/ Название культуры 5124 + "productivity": 0, ~/~/ Урожайность 5125 + "area": 0, ~/~/ Площадь поля, Га. 5126 + "total": 0, ~/~/ Валовый сбор 5127 + "productivityFact": 0, ~/~/ Фактическая урожайность 5128 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5129 + "totalFact": 0, ~/~/ Фактический валовый сбор 5130 + "start": "2024-12-20T10:11:59.425Z", ~/~/ Дата начала работ 5131 + "sowing": "2024-12-20T10:11:59.425Z", ~/~/ Дата сева 5132 + "harvesting": "2024-12-20T10:11:59.425Z", ~/~/ Дата уборки урожая 5133 + "isyearplan": true, 5134 + "comment": "string" ~/~/ Комментарий 5135 + } 5136 + ], 5137 + "deleteStatistic": true ~/~/ Нужно ли удалять статистику 5138 +} 5139 +))) 5140 +))) 5141 + 5142 +((( 5143 + 5144 +))) 5145 + 5146 +Пример ответа: 5147 + 5148 +((( 5149 +((( 5150 +((( 5151 +{ 5152 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5153 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5154 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5155 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5156 + "cropRotations": [ ~/~/ Данные по севообороту 5157 + { 5158 + "landId": 0, ~/~/ ID поля 5159 + "landName": "string", ~/~/ Название поля 5160 + "year": 0, ~/~/ Год урожая 5161 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5162 + "cultureName": "string", ~/~/ Название культуры 5163 + "productivity": 0, ~/~/ Урожайность 5164 + "area": 0, ~/~/ Площадь поля, Га 5165 + "total": 0, ~/~/ Валовый сбор 5166 + "productivityFact": 0, ~/~/ Фактическая урожайность 5167 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5168 + "totalFact": 0, ~/~/ Фактический валовый сбор 5169 + "start": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала работ 5170 + "sowing": "2024-12-20T10:11:59.533Z", ~/~/ Дата сева 5171 + "harvesting": "2024-12-20T10:11:59.533Z", ~/~/ Дата уборки урожая 5172 + "isyearplan": true, ~/~/ 5173 + "comment": "string" ~/~/ Комментарий 5174 + } 5175 + ], 5176 + "cropVegetation": [ ~/~/ История вегетации поля 5177 + { 5178 + "values": [ ~/~/ Данные вегетации и состояния посева 5179 + { 5180 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5181 + "ndvi": 0 ~/~/ Индекс вегетации 5182 + } 5183 + ], 5184 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5185 + { 5186 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5187 + "type": "string", ~/~/ Тип 5188 + "pictureid": "string" ~/~/ Идентификатор ресурса 5189 + } 5190 + ], 5191 + "states": [ ~/~/ Ключевые даты развития поля 5192 + { 5193 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5194 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 5195 + } 5196 + ] 5197 + } 5198 + ], 5199 + "endDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата закрытия года урожая 5200 + "counts": { 5201 + "fieldOperations": 0, ~/~/ Количество операций на поле 5202 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5203 + "facts": 0 ~/~/ Счётчик факта 5204 + }, 5205 + "planComment": "string", ~/~/ Комментарий к полю 5206 + "productivity": 0, ~/~/ Урожайность. 5207 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5208 + "startDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата открытия года урожая 5209 + "year": 0, ~/~/ Год поля 5210 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5211 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5212 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5213 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5214 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 5215 + "id": 0, ~/~/ Идентификатор объекта геозоны 5216 + "name": "string", ~/~/ Название объекта геозоны 5217 + "type": 0, ~/~/ Тип объекта геозоны 5218 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5219 + "fname": "string", ~/~/ Имя файла 5220 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5221 + "beginCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала расчетов для геозоны 5222 + "endCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата окончания расчетов для геозоны 5223 + "description": "string", ~/~/ Описание объекта геозоны 5224 + "area": 0, ~/~/ Площадь, м2 5225 + "perimetr": 0, ~/~/ Периметр, м 5226 + "createDate": "2024-12-20T10:11:59.533Z" ~/~/ Дата создания в бд 5227 +} 5228 +))) 5229 +))) 5230 +))) 5231 +))) 5232 +))) 5233 + 5234 + 5235 +== **Редактирование года урожая ** == 5236 + 5237 +(% class="box successmessage" %) 5238 +((( 5239 +**POST /api/v3/agroLands/updateOpenCloseYear** 5240 +))) 5241 + 4191 4191 Пример запроса: 4192 4192 5244 +((( 5245 +((( 5246 +{ 5247 + "agroLandIds": [ ~/~/ Идентификаторы полей для которых меняется год урожая 5248 + 0 5249 + ], 5250 + "newStartDate": "2024-12-20T11:43:43.921Z", ~/~/ Новая дата начала урожая 5251 + "newEndDate": "2024-12-20T11:43:43.921Z" ~/~/ Новая дата закрытия урожая 5252 +} 5253 +))) 4193 4193 4194 -[ 5255 + 5256 +))) 4195 4195 4196 - 05258 +Пример ответа: 4197 4197 5260 +((( 5261 +((( 5262 +{ 5263 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5264 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5265 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5266 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5267 + "cropRotations": [ ~/~/ Данные по севообороту 5268 + { 5269 + "landId": 0, ~/~/ ID поля 5270 + "landName": "string", ~/~/ Название поля 5271 + "year": 0, ~/~/ Год урожая 5272 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5273 + "cultureName": "string", ~/~/ Название культуры 5274 + "productivity": 0, ~/~/ Урожайность 5275 + "area": 0, ~/~/ Площадь поля, Га. 5276 + "total": 0, ~/~/ Валовый сбор 5277 + "productivityFact": 0, ~/~/ Фактическая урожайность 5278 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5279 + "totalFact": 0, ~/~/ Фактический валовый сбор 5280 + "start": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала работ 5281 + "sowing": "2024-12-20T11:43:44.091Z", ~/~/ Дата сева 5282 + "harvesting": "2024-12-20T11:43:44.091Z", ~/~/ Дата уборки урожая 5283 + "isyearplan": true, ~/~/ 5284 + "comment": "string" ~/~/ Комментарий 5285 + } 5286 + ], 5287 + "cropVegetation": [ ~/~/ История вегетации поля 5288 + { 5289 + "values": [ ~/~/ Данные вегетации и состояния посева 5290 + { 5291 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 5292 + "ndvi": 0 ~/~/ Индекс вегетации 5293 + } 5294 + ], 5295 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5296 + { 5297 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 5298 + "type": "string", ~/~/ Тип 5299 + "pictureid": "string" ~/~/ Идентификатор ресурса 5300 + } 5301 + ], 5302 + "states": [ ~/~/ Ключевые даты развития поля 5303 + { 5304 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 5305 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 5306 + } 5307 + ] 5308 + } 5309 + ], 5310 + "endDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата закрытия года урожая 5311 + "counts": { 5312 + "fieldOperations": 0, ~/~/ Количество операций на поле 5313 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5314 + "facts": 0 ~/~/ Счётчик факта 5315 + }, 5316 + "planComment": "string", ~/~/ Комментарий к полю 5317 + "productivity": 0, ~/~/ Урожайность. 5318 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5319 + "startDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата открытия года урожая 5320 + "year": 0, ~/~/ Год поля 5321 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5322 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5323 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5324 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5325 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 5326 + "id": 0, ~/~/ Идентификатор объекта геозоны 5327 + "name": "string", ~/~/ Название объекта геозоны 5328 + "type": 0, ~/~/ Тип объекта геозоны 5329 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5330 + "fname": "string", ~/~/ Имя файла 5331 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5332 + "beginCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала расчетов для геозоны 5333 + "endCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата окончания расчетов для геозоны 5334 + "description": "string", ~/~/ Описание объекта геозоны 5335 + "area": 0, ~/~/ Площадь, м2 5336 + "perimetr": 0, ~/~/ ериметр, м 5337 + "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд 5338 +} 5339 +))) 5340 + 5341 + 5342 +== (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) == 5343 +))) 5344 +))) 5345 +))) 5346 + 5347 +== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) == 5348 + 5349 + 5350 +(% class="box infomessage" %) 5351 +((( 5352 +**GET api/v3/Vehicles/recyclebin/all** 5353 +))) 5354 + 5355 +Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту 5356 + 5357 +Параметр запроса: {parentId} - идентификатор агента 5358 + 5359 +В заголовках запроса: X-Auth: Токен авторизации 5360 + 5361 +Ответ: 5362 + 5363 +[ 5364 + { 5365 + "recordTime": "", ~/~/Время записи 5366 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 5367 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 5368 + "objectId": 0, ~/~/ID объекта, помещённого в корзину 5369 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 5370 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 5371 + "details": { ~/~/Список деталей объекта, помещённого в корзину 5372 + "items": [ ~/~/ 5373 +nullable: true ~/~/Детали 5374 + { 5375 + "name": "string", ~/~/наименование столбца 5376 + "value": "string" ~/~/содержание столбца 5377 + } 5378 + ] 5379 + }, 5380 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 5381 + "string" 5382 + ] 5383 + } 4198 4198 ] 4199 4199 4200 4200 4201 - Примерответа:5387 +(% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины** 4202 4202 5389 +(% class="box infomessage" %) 5390 +((( 5391 +**POST api/v3/Vehicles/recyclebin/erase** 5392 +))) 5393 + 5394 +В заголовках запроса: X-Auth: Токен авторизации 5395 + 5396 +Пример запроса: 5397 + 4203 4203 [ 5399 +0 5400 +] 5401 + 4204 4204 4205 - {5403 +Пример ответа: 4206 4206 5405 +[ 5406 +{ 4207 4207 "recordTime": "", ~/~/Время записи 4208 - 4209 4209 "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 4210 - 4211 4211 "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 4212 - 4213 4213 "objectId": 0, ~/~/ID объекта, помещённого в корзин 4214 - 4215 4215 "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 4216 - 4217 4217 "objectType": 1, ~/~/Тип объекта, помещённого в корзину 4218 - 4219 4219 "details": { ~/~/Список деталей объекта, помещённого в корзину 4220 - 4221 4221 "items": [ ~/~/Детали 4222 - 4223 4223 { 4224 - 4225 4225 "name": "", ~/~/Имя свойства 4226 - 4227 4227 "value": "" ~/~/Значение свойства 4228 - 4229 4229 } 4230 - 4231 4231 ] 4232 - 4233 4233 }, 4234 - 4235 4235 "errors": [ ~/~/Список ошибок удаления/восстановления объекта 4236 - 4237 4237 "" 4238 - 4239 4239 ] 4240 - 4241 4241 } 4242 - 4243 4243 ] 4244 4244 4245 4245 Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200». ... ... @@ -4248,7 +4248,7 @@ 4248 4248 4249 4249 (% class="box infomessage" %) 4250 4250 ((( 4251 -POST /api/v3/Vehicles/recyclebin/restore5433 +**POST api/v3/Vehicles/recyclebin/restore** 4252 4252 ))) 4253 4253 4254 4254 В заголовках запроса: X-Auth: Токен авторизации ... ... @@ -4262,55 +4262,41 @@ 4262 4262 4263 4263 Пример запроса: 4264 4264 5447 +((( 4265 4265 [ 5449 +))) 4266 4266 5451 +((( 4267 4267 0 5453 +))) 4268 4268 5455 +((( 4269 4269 ] 5457 +))) 4270 4270 4271 4271 4272 4272 Пример ответа: 4273 4273 4274 4274 [ 4275 - 4276 - { 4277 - 5463 +{ 4278 4278 "recordTime": "2024-07-19T07:58:19.305Z", ~/~/Время записи 4279 - 4280 4280 "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid пользователя, добавившего объект в корзину 4281 - 4282 4282 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid агента объекта, помещённого в корзину 4283 - 4284 4284 "objectId": 0, ~/~/ID объекта, помещённого в корзину 4285 - 4286 4286 "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid объекта, помещённого в корзину 4287 - 4288 4288 "objectType": 1, ~/~/Тип объекта, помещённого в корзину 4289 - 4290 4290 "details": { ~/~/Список деталей объекта, помещённого в корзину 4291 - 4292 4292 "items": [ ~/~/Детали 4293 - 4294 4294 { 4295 - 4296 4296 "name": "string", ~/~/Имя свойства 4297 - 4298 4298 "value": "string" ~/~/Значение свойства 4299 - 4300 4300 } 4301 - 4302 4302 ] 4303 - 4304 4304 }, 4305 - 4306 4306 "errors": [ ~/~/Список ошибок удаления/восстановления объекта 4307 - 4308 4308 "string" 4309 - 4310 4310 ] 4311 - 4312 4312 } 4313 - 4314 4314 ] 4315 4315 4316 4316