<
From version < 187.1 >
edited by Андрей Калиновский
on 2024/11/22 14:32
To version < 242.1 >
edited by Андрей Калиновский
on 2025/06/27 13:52
>
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -1,5 +1,22 @@
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 +(% class="box infomessage" %)
15 +(((
16 +**Чтобы избежать блокировки** из-за превышения количества авторизаций, вам необходимо использовать токен авторизации, полученный с помощью метода /auth/login, во всех последующих запросах к API. Этот токен имеет ограниченный срок действия, который можно изменить, настроив параметр "Длительность сессии" в настройках пользователя.
17 +\\При выполнении запросов с одним и тем же токеном его срок действия автоматически продлевается. Это позволяет пройти авторизацию только один раз и использовать полученный токен во всех последующих запросах без необходимости повторного входа в систему.
18 +)))
19 +
3 3  **Содержание страницы:**
4 4  )))
5 5  
... ... @@ -106,29 +106,41 @@
106 106  Запрос должен содержать данные параметра "**agentId**"
107 107  
108 108  (% style="color:#000000" %)Ответ:
126 +
127 +(((
109 109  {
110 - "agentId": "",  (%%)
111 - "parentId": "",
112 - "parentName": "string",
113 - "name": "string",
114 - "fullName": "string",
115 - "agentInfoType": 0,
116 - "isForeign": true/false,
117 - "district": "string", 
118 - "region": "string",
119 - "city": "string",
120 - "inn": "string",
121 - "kpp": "string",
122 - "address": "string",
123 - "addressFact": "string",
124 - "email": "string",
125 - "director": "string",
126 - "bankName": "string",
127 - "bankBIK": "string",
128 - "bankRS": "string",
129 - "bankKS": "string"
130 - }
129 + "agentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID клиента
130 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID родителя
131 + "parentName": "string", ~/~/ Наименование агента
132 + "name": "string", ~/~/ Имя клиента
133 + "fullName": "string", ~/~/ ФИО клиента
134 + "agentInfoType": 0, ~/~/ Тип клиента ((% style="color:#000000" %)0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор(%%))
135 + "isForeign": true, ~/~/ Флаг "Иностранный контрагент"
136 + "district": "string", ~/~/ Район
137 + "region": "string", ~/~/ Область
138 + "city": "string", ~/~/ Город
139 + "email": "string", ~/~/ Email
140 + "director": "string", ~/~/ Руководитель
141 + "RegionalData": [ ~/~/ Определяет региональные сведения.
142 + {
143 + "Country": 0, ~/~/ Страна
144 + "groups": [ ~/~/ Список групп
145 + {
146 + "groupId": "string", ~/~/ Уникальный идентификатор группы 
147 + "fields": [ ~/~/ Список значений полей
148 + {
149 + "name": "string", ~/~/ Имя поля формы
150 + "value": "string" ~/~/ Значение поля формы
151 + }
152 + ]
153 + }
154 + ]
155 + }
156 + ]
157 +}
158 +)))
131 131  
160 +
132 132  |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
133 133  |(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 
134 134  |(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя
... ... @@ -848,7 +848,7 @@
848 848  {
849 849   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
850 850   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
851 - "deleted": true,
880 + "deleted": false,
852 852   "extId": "string",
853 853   "name": "string",
854 854   "picture": "string",
... ... @@ -867,7 +867,7 @@
867 867  {
868 868   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
869 869   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
870 - "deleted": true,
899 + "deleted": false,
871 871   "extId": "string",
872 872   "name": "string",
873 873   "picture": "string",
... ... @@ -901,7 +901,7 @@
901 901  (% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models**
902 902  )))
903 903  
904 -(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе.
933 +(% style="color:#000000" %)Метод позволяет изменить статус модели, указанного в запросе.
905 905  
906 906  (% style="color:#000000" %)Метод запроса: **PUT**
907 907  
... ... @@ -968,7 +968,7 @@
968 968  (% lang="en-US" %)**DELETE /api/v3/models/{Id}**
969 969  )))
970 970  
971 -(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса.
1000 +(% style="color:#000000" %)Метод позволяет удалить модели. Метод позволяет удалить модель, указанного в строке запроса.
972 972  
973 973  (% style="color:#000000" %)Метод запроса: **DELETE**
974 974  
... ... @@ -1009,6 +1009,17 @@
1009 1009  
1010 1010  (((
1011 1011  {
1041 +
1042 +(((
1043 + "showLineTrackWhenNoCoords": true,  ~/~/ Обозначать трек при отсутствии координат.
1044 + "IsSackEnabled": true, ~/~/ Определяет, должен ли внутренний сервер отвечать устройству сообщением SACK при получении сообщения от устройства
1045 +)))
1046 +
1047 +(((
1048 + ~/~/Используется только на ТС с типом устройства quecklink gv56, quecklink gv58, quecklink
1049 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC
1050 +)))
1051 +
1012 1012   "vehicleId": "", ~/~/ ID объекта
1013 1013   "name": "", ~/~/ Имя объекта
1014 1014   "imei": "", ~/~/ IMEI объекта
... ... @@ -1103,6 +1103,7 @@
1103 1103   ],
1104 1104   "showInTooltip": true, ~/~/ Отображать в подсказке
1105 1105   "showLastValid": true, ~/~/ Отображать последнее валидное значение
1146 + "color": "string", ~/~/ Код цвета датчиков
1106 1106   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1107 1107   "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1108 1108   "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
... ... @@ -1160,11 +1160,21 @@
1160 1160   "date": "2023-05-22T09:57:39.562Z",
1161 1161   "description": "string",
1162 1162   "additionalInfo": "string"
1163 - }
1164 - ]
1204 +
1205 +(((
1165 1165  }
1207 + ],
1208 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1209 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов.
1166 1166  )))
1167 1167  
1212 +(((
1213 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1214 +}
1215 +
1216 +)))
1217 +)))
1218 +
1168 1168  (% style="text-align:left" %)
1169 1169  Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже:
1170 1170  
... ... @@ -1182,13 +1182,15 @@
1182 1182  Команда для отправки на тс.
1183 1183  
1184 1184  {  
1185 -"id": "", ~/~/идентификатор произвольного поля
1186 -"command": "", ~/~/ Текст команды
1187 -"retries": "", ~/~/ Количество попыток
1188 -"idTemplate": "" ~/~/ ID шаблона команды
1236 +"id": "", ~/~/идентификатор объекта (он же идентификатор ТС: vehicleId)
1237 +"command": "", ~/~/ Текст отправляемой команды
1238 +"retries": "", ~/~/ Количество попыток отправки на терминал
1239 +"idTemplate": "" ~/~/ ID шаблона команды (при использовании ранее созданных шаблонов). 
1189 1189  }
1190 1190  
1242 +В ответ получаем cmdid
1191 1191  
1244 +
1192 1192  == **Получить ответ на отправленную на ТС команду** ==
1193 1193  
1194 1194  (% class="box infomessage" %)
... ... @@ -1196,13 +1196,13 @@
1196 1196  (% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer**
1197 1197  )))
1198 1198  
1199 -Идентификатор команды: cmdid
1252 +Идентификатор команды: cmdId
1200 1200  
1201 1201  Запрос от терминала на ответ команды
1202 1202  
1203 1203  Пример ответ от терминала:
1204 1204  
1205 -ID= "" ~/~/ идентификатор произвольного поля
1258 +ID= "" ~/~/ идентификатор объекта
1206 1206  Soft="" ~/~/ версия софта
1207 1207  GPS=4 ~/~/ тип трекера
1208 1208  Time=11:05:43 28.06.24 ~/~/ время запроса
... ... @@ -1255,7 +1255,13 @@
1255 1255  
1256 1256  (% style="color:#000000" %)Параметры в теле запроса (JSON): //Обязательные параметры наименование и модель объекта //В теле запроса - объект JSON
1257 1257  
1258 -(% style="color:#000000" %){(%%)
1311 +(% style="color:#000000" %){
1312 +
1313 +
1314 +(((
1315 + "vehicleId": 0, ~/~/ ID ТС
1316 +)))
1317 +
1259 1259   "parentId": "" , ~/~/ ID клиента
1260 1260   "name": "" , ~/~/ имя ТС
1261 1261   "imei": "" , ~/~/ IMEI
... ... @@ -1348,6 +1348,7 @@
1348 1348   ],
1349 1349   "showInTooltip": true, ~/~/ Отображать в подсказке
1350 1350   "showLastValid": true, ~/~/ Отображать последнее валидное значение
1410 + "color": "string", ~/~/ код цвета датчиков
1351 1351   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1352 1352   "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1353 1353   "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
... ... @@ -1397,10 +1397,19 @@
1397 1397   "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1398 1398   "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1399 1399   "forReport": true ~/~/ Отобразить произвольное поле в отчете
1400 - }
1401 - ]
1460 +
1461 +(((
1462 + }
1463 + ],
1464 + "motohoursCalcMethod": 0 ~/~/  Вид расчета моточасов.
1465 +)))
1466 +
1467 +(((
1468 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1402 1402  }
1470 +)))
1403 1403  
1472 +
1404 1404  (% style="color:#000000" %)Ответ:
1405 1405  
1406 1406  
... ... @@ -1509,6 +1509,7 @@
1509 1509   ],
1510 1510   "showInTooltip": true, ~/~/ Отображение в подсказке
1511 1511   "showLastValid": true, ~/~/ Отображать последнее валидное значение
1581 + "color": "string", ~/~/ код цвета датчиков
1512 1512   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1513 1513   "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
1514 1514   "agrFunction": 0,  ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION
... ... @@ -1545,7 +1545,7 @@
1545 1545   "forReport": true ~/~/ Отобразить произвольное поле в отчете
1546 1546   }
1547 1547   ],
1548 - "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor
1618 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1549 1549  }
1550 1550  )))
1551 1551  )))
... ... @@ -1557,6 +1557,7 @@
1557 1557  - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
1558 1558  - при задании сезонной нормы обязательны соответствующие даты начала/окончания.
1559 1559  
1630 +
1560 1560  == (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) ==
1561 1561  
1562 1562  (% class="box infomessage" %)
... ... @@ -1702,7 +1702,6 @@
1702 1702   "stage": "", ~/~/ Состояние
1703 1703  (% style="color:#000000" %) }
1704 1704  
1705 -== ==
1706 1706  
1707 1707  == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) ==
1708 1708  
... ... @@ -1779,9 +1779,19 @@
1779 1779  
1780 1780  "drivers": [ ~/~/ Водители
1781 1781   {
1782 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1783 - "isDefault": true
1784 - }
1852 +
1853 +(((
1854 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор объекта.
1855 + "inputNumber": 0, ~/~/ № входа.
1856 + "createTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени создания назначения.
1857 + "comment": "string", ~/~/ Комментарий.
1858 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
1859 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
1860 + "beginTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени начала назначения.
1861 + "endTime": "2024-12-23T10:45:04.961Z" ~/~/ Момент времени окончания назначения.
1862 +)))
1863 +
1864 + } 
1785 1785   ],
1786 1786   "commandTemplates": [ ~/~/ Шаблон команды
1787 1787   {
... ... @@ -1817,6 +1817,11 @@
1817 1817   ],
1818 1818   "showInTooltip": true, ~/~/ Отображать в подсказке
1819 1819   "showLastValid": true, ~/~/ Отображать последнее валидное значение
1900 +
1901 +(((
1902 + "color": "string",** ~/~/ **Цвет датчика
1903 +)))
1904 +
1820 1820   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1821 1821   "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1822 1822   "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
... ... @@ -1863,7 +1863,12 @@
1863 1863   "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1864 1864   "forReport": true ~/~/ Отобразить произвольное поле в отчете
1865 1865   }
1866 - ]
1951 +
1952 +(((
1953 + ],
1954 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1955 +)))
1956 +
1867 1867  }
1868 1868  
1869 1869  
... ... @@ -2001,6 +2001,11 @@
2001 2001   ],
2002 2002   "showInTooltip": true, ~/~/ Отображение в подсказке
2003 2003   "showLastValid": true, ~/~/ Отображать последнее валидное значение
2094 +
2095 +(((
2096 + "color": "string", ~/~/ цвет уведомлений
2097 +)))
2098 +
2004 2004   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
2005 2005   "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
2006 2006   "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 
... ... @@ -2317,6 +2317,8 @@
2317 2317   "motohours": 0, ~/~/ Моточасы за период, секунды
2318 2318   "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды
2319 2319   "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды
2415 + "idlingTime": 0 ~/~/  Холостой ход за период, секунд
2416 +
2320 2320   }
2321 2321   ]
2322 2322   }
... ... @@ -2358,8 +2358,12 @@
2358 2358   "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 
2359 2359   "fuelLevelStart": 0, ~/~/ Уровень топлива на начало периода
2360 2360   "fuelLevelEnd": 0, ~/~/ Уровень топлива на конец периода
2458 + "fuelTankLevelStart": 0, ~/~/ Уровень топлива в цистерне на начало периода
2459 + "fuelTankLevelEnd": 0, ~/~/ Уровень топлива в цистерне на конец периода
2361 2361   "fuelConsumption": 0, ~/~/ Расход топлива
2362 2362   "fuelConsumptionMove": 0 ~/~/ Расход топлива в движении
2462 + "fuelConsumptionFactTank": 0 ~/~/ Фактический расход топлива в цистерне
2463 +
2363 2363   }
2364 2364   ]
2365 2365   }
... ... @@ -2405,7 +2405,8 @@
2405 2405   "model": "string", ~/~/ Модель объекта
2406 2406   "fuels": [ ~/~/ Массив данным по заправкам и сливам
2407 2407   {
2408 - "event": 0, ~/~/ Тип события 20 - TankFuelIn - заправка, 21 - TankFuelOut - слив
2509 + "event": 0, ~/~/ Тип события 0 - Other, 1 - Engine, 2 - Stop, 3 - FuelIn, 4 - FuelOut, 5 - Garbage, 6 - Grader, 8 - Otval, 9 - Sand, 10 - MixerLand, 11 - MixerMove, 12 - OpenCircuit, 13 - TechSpeed, 14 - Work, 15 - Braid, 16 - Broom, 17 - ReFuller, 18 - Crane, 19 - Power, 20 - TankFuelIn, 21 - TankFuelOut, 22 - BigStop, 23 - OverSpeed, 24 - Unloading, 25 - Warning, 26 - GarbageWork, 27 - Custom, 28 - CustomWork, 29 - GNSS, 30 - GrainIn, 31 - GrainOut, 32 - WeighingTerminal, 33 - Stopping, 34 - FertilizerWork, 35 - FertilizerRefueling
2510 +
2409 2409   "startDate": "2023-08-09T14:27:44.773Z", ~/~/ Начало
2410 2410   "endDate": "2023-08-09T14:27:44.773Z", ~/~/ Окончание
2411 2411   "valueFuel": 0, ~/~/ Количество
... ... @@ -2634,6 +2634,35 @@
2634 2634   }
2635 2635  ]
2636 2636  
2739 +
2740 +== (% style="color:#000000; font-size:16px" %)**Обновить информацию по геозоне**(%%) ==
2741 +
2742 +(% class="box successmessage" %)
2743 +(((
2744 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**PUT **(%%)**/api/v3/gis**
2745 +)))
2746 +
2747 +(% style="color:#000000" %)Метод запроса: **PUT**
2748 +
2749 +Пример запроса:
2750 +
2751 +(((
2752 +{
2753 + "id": 0,  ~/~/ Идентификатор объекта геозоны
2754 + "name": "string",  ~/~/ Наименование объекта геозоны
2755 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Подразделение
2756 + "description": "string", ~/~/ Описание объекта геозоны
2757 + "beginCalc": "2025-04-24T12:10:28.751Z",  ~/~/ Дата начала расчетов для геозоны
2758 + "endCalc": "2025-04-24T12:10:28.751Z",  ~/~/ Дата окончания расчетов для геозоны
2759 + "settingsData": "string"  ~/~/ Параметры отображения в формате XML.
2760 +}
2761 +)))
2762 +
2763 +
2764 +Пример ответа:
2765 +
2766 +200 ~/~/ Success
2767 +
2637 2637  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) =
2638 2638  
2639 2639  == (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) ==
... ... @@ -2665,7 +2665,7 @@
2665 2665   "id": 0, ~/~/ ID уведомления
2666 2666   "name": "string", ~/~/ Название уведомления
2667 2667   "active": true, ~/~/ Состояние true - активен, false - деактивирован
2668 - "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО
2799 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя) 
2669 2669   "userId": "", ~/~/ Пользователь, создавший уведомление
2670 2670   "parentId": "", ~/~/ Идентификатор клиента
2671 2671   "parentName": "string" ~/~/ Имя клиента
... ... @@ -2672,6 +2672,155 @@
2672 2672   }
2673 2673  ]
2674 2674  
2806 +
2807 +== (% style="color:#000000; font-size:16px" %)**Создание уведомления**(%%) ==
2808 +
2809 +(% class="box infomessage" %)
2810 +(((
2811 +**POST /api/v3/notifications**
2812 +)))
2813 +
2814 +Метод запроса **POST**
2815 +
2816 +(% style="text-align: left;" %)
2817 +(% style="color:#000000" %)Пример запроса
2818 +
2819 +(((
2820 +{
2821 + "id": 0, ~/~/ ID правила
2822 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя
2823 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило
2824 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
2825 + "name": "string", ~/~/ Имя правила
2826 + "active": true, ~/~/ Активность правила
2827 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто
2828 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа.
2829 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 
2830 + ],
2831 + "vehicleIds": [ ~/~/ Список объектов для анализа.
2832 + 0
2833 + ],
2834 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам.
2835 + 0
2836 + ],
2837 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам.
2838 + 0
2839 + ],
2840 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений.
2841 + "additionalProp1": "string",  
2842 + "additionalProp2": "string",
2843 + "additionalProp3": "string"
2844 + },
2845 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы"
2846 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила
2847 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
2848 + ],
2849 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям"
2850 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений
2851 + "string"
2852 + ],
2853 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram
2854 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram.
2855 + {
2856 + "id": 0, ~/~/ Идентификатор участника чата.
2857 + "info": "string" ~/~/ Дополнительные сведения.
2858 + }
2859 + ],
2860 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение
2861 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы
2862 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений.
2863 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 
2864 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени)
2865 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC)
2866 + "timezone": 0, ~/~/ часовой пояс 
2867 + "validity": 0, ~/~/ Срок действия в днях (1-90).
2868 + "autoProlongation": true, ~/~/ Автопродление срока действия.
2869 + "templates": [ ~/~/  Переопределения шаблонов уведомлений.
2870 + {
2871 + "type": 0, ~/~/ 0 - Нет, 1 - Превышение скорости, 2 - Вход в геозону, 3 - выход из геозоны, 4 - Паническая активация, 5 - Дискретный датчик, 6 - Отключение дискретного датчика, 7 - Работа аналогового датчика, 8 - Отсутствуют данные, 9 - Отсутствуют координаты, 10 - Бездействие, 11 - Адрес объекта, 12 - Заканчивается топливо, 13 - Заправка, 14 - Превышение скорости, 15 - Превышение скорости, 16 - Превышение нормы, 17 - Возврат к бездействию, 18 - Адрес объекта, 19 - Отсутствуют данные, 20 - отсутствуют координаты, 21 - Запланировано техническое обслуживание автомобиля, 22 - Требуется техническое обслуживание автомобиля, 23 - Техническое обслуживание автомобиля завершено, 24 - Открыто назначение водителя, 25 - Закрыто назначение водителя, 255 - Срок действия правила истек
2872 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа.
2873 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка.
2874 + "additionalProp1": "string",
2875 + "additionalProp2": "string",
2876 + "additionalProp3": "string"
2877 + }
2878 + }
2879 + ]
2880 +}
2881 +)))
2882 +
2883 +(((
2884 +
2885 +)))
2886 +
2887 +(((
2888 +
2889 +)))
2890 +
2891 +Ответ:
2892 +
2893 +{
2894 + "id": 0, ~/~/ ID правила
2895 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя
2896 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило
2897 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
2898 + "name": "string", ~/~/ Имя правила
2899 + "active": true, ~/~/ Активность правила
2900 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто
2901 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа.
2902 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 
2903 + ],
2904 + "vehicleIds": [ ~/~/ Список объектов для анализа.
2905 + 0
2906 + ],
2907 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам.
2908 + 0
2909 + ],
2910 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам.
2911 + 0
2912 + ],
2913 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений.
2914 + "additionalProp1": "string",  
2915 + "additionalProp2": "string",
2916 + "additionalProp3": "string"
2917 + },
2918 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы"
2919 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила
2920 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
2921 + ],
2922 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям"
2923 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений
2924 + "string"
2925 + ],
2926 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram
2927 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram.
2928 + {
2929 + "id": 0, ~/~/ Идентификатор участника чата.
2930 + "info": "string" ~/~/ Дополнительные сведения.
2931 + }
2932 + ],
2933 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение
2934 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы
2935 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений.
2936 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 
2937 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени)
2938 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC)
2939 + "timezone": 0, ~/~/ часовой пояс 
2940 + "validity": 0, ~/~/ Срок действия в днях (1-90).
2941 + "autoProlongation": true, ~/~/ Автопродление срока действия.
2942 + "templates": [ ~/~/  Переопределения шаблонов уведомлений.
2943 + {
2944 + "type": 0, ~/~/ 0 - Нет, 1 - Превышение скорости, 2 - Вход в геозону, 3 - выход из геозоны, 4 - Паническая активация, 5 - Дискретный датчик, 6 - Отключение дискретного датчика, 7 - Работа аналогового датчика, 8 - Отсутствуют данные, 9 - Отсутствуют координаты, 10 - Бездействие, 11 - Адрес объекта, 12 - Заканчивается топливо, 13 - Заправка, 14 - Превышение скорости, 15 - Превышение скорости, 16 - Превышение нормы, 17 - Возврат к бездействию, 18 - Адрес объекта, 19 - Отсутствуют данные, 20 - отсутствуют координаты, 21 - Запланировано техническое обслуживание автомобиля, 22 - Требуется техническое обслуживание автомобиля, 23 - Техническое обслуживание автомобиля завершено, 24 - Открыто назначение водителя, 25 - Закрыто назначение водителя, 255 - Срок действия правила истек
2945 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа.
2946 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка.
2947 + "additionalProp1": "string",
2948 + "additionalProp2": "string",
2949 + "additionalProp3": "string"
2950 + }
2951 + }
2952 + ]
2953 +}
2954 +
2675 2675  == (% style="color:#000000; font-size:16px" %)**Запрос настроек уведомления**(%%) ==
2676 2676  
2677 2677  (% class="box infomessage" %)
... ... @@ -3889,16 +3889,12 @@
3889 3889  Тело запроса:
3890 3890  
3891 3891  {
3892 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3893 - "Balance": 0
4172 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4173 + "Balance": 0 ~/~/ Значение баланса.
3894 3894  }
3895 3895  
3896 3896  Ответ: Success
3897 3897  
3898 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3899 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
3900 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
3901 -
3902 3902  == (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) ==
3903 3903  
3904 3904  (% class="box warningmessage" %)
... ... @@ -3910,16 +3910,29 @@
3910 3910  
3911 3911  Тело запроса:
3912 3912  
4189 +(((
3913 3913  {
3914 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3915 - "Balance": 0
4191 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4192 + "amount": 0 ~/~/ Сумма пополнения баланса 
3916 3916  }
4194 +)))
3917 3917  
4196 +(((
4197 +
4198 +)))
4199 +
3918 3918  Ответ: Success
3919 3919  
3920 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3921 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
3922 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
4202 +(((
4203 +{
4204 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки.
4205 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4206 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя.
4207 + "Moment": "2025-06-10T12:15:19.076Z", ~/~/ Время корректировки.
4208 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс.
4209 + "Description": "string" ~/~/ Описание корректировки.
4210 +}
4211 +)))
3923 3923  
3924 3924  == (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) ==
3925 3925  
... ... @@ -3932,16 +3932,25 @@
3932 3932  
3933 3933  Тело запроса:
3934 3934  
4224 +(((
3935 3935  {
3936 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3937 - "Balance": 0
4226 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4227 + "amount": 0 ~/~/ Сумма списания с баланса
3938 3938  }
4229 +)))
3939 3939  
3940 3940  Ответ: Success
3941 3941  
3942 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3943 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
3944 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
4233 +(((
4234 +{
4235 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки.
4236 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4237 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя.
4238 + "Moment": "2025-06-10T12:21:05.149Z", ~/~/ Время корректировки.
4239 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс.
4240 + "Description": "string" ~/~/ Описание корректировки
4241 +}
4242 +)))
3945 3945  
3946 3946  == (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) ==
3947 3947  
... ... @@ -3952,28 +3952,35 @@
3952 3952  
3953 3953  Тело запроса:
3954 3954  
4253 +(((
3955 3955  {
3956 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3957 - "CalculationType": 0,
3958 - "PermissibleBalance": 0,
3959 - "DefermentDays": 0,
3960 - "SendUiNotifications": true,
3961 - "SendEmailNotifications": true,
3962 - "IsPrivate": true,
4255 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4256 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни
4257 + "PermissibleBalance": 0, ~/~/ Допустимый баланс
4258 + "DefermentDays": 0, ~/~/ Отсрочка (дни).
4259 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено
4260 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено
3963 3963  }
4262 +)))
3964 3964  
4264 +(((
4265 +
4266 +)))
4267 +
3965 3965  Ответ: Success
3966 3966  
3967 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3968 -|ClientId|Идентификатор клиента
3969 -|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни
3970 -|PermissibleBalance|Допустимый баланс
3971 -|DefermentDays|(((
3972 -Отсрочка, количество дней
4270 +(((
4271 +{
4272 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом
4273 + "BlockingTime": "2025-06-10T12:23:28.754Z", ~/~/ Время, когда заблокируется клиент.
4274 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4275 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни
4276 + "PermissibleBalance": 0, ~/~/ Допустимый баланс.
4277 + "DefermentDays": 0, ~/~/ Отсрочка (дни)
4278 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено
4279 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено
4280 +}
3973 3973  )))
3974 -|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено
3975 -|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено
3976 -|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом
3977 3977  
3978 3978  == (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) ==
3979 3979  
... ... @@ -3985,35 +3985,68 @@
3985 3985  Тело запроса:
3986 3986  
3987 3987  {
3988 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3989 - "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3990 - "Features": [
4293 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор клиента.
4294 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана.
4295 + "Features": [ ~/~/ Набор услуг по тарифу клиента.
3991 3991   {
3992 - "Feature": "string",
3993 - "IsEnabled": true,
3994 - "IsFactual": true,
3995 - "Limit": 0,
3996 - "Price": 0,
3997 - "DebitDate": "2023-10-18T13:26:58.987Z",
3998 - "PeriodValue": 0,
3999 - "PeriodType": 0
4297 + "Feature": "string", ~/~/ Код услуги.
4298 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга.
4299 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту.
4300 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование
4301 + "Price": 0, ~/~/ Цена за единицу.
4302 + "DebitDate": "2023-10-18T13:26:58.987Z", ~/~/ Следующий момент времени списания с баланса за услугу.
4303 + "PeriodValue": 0, ~/~/ Значение периода.
4304 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане ( 0 - Дни, 1 - Месяцы)
4000 4000   }
4001 4001   ]
4002 4002  }
4003 4003  
4309 +
4004 4004  Ответ: Success
4005 4005  
4006 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4007 -|ClientId|Идентификатор клиента
4008 -|PlanId|Идентификатор тарифного плана
4009 -|Feature|Код услуги
4010 -|IsEnabled|Признак, определяющий активирована ли услуга
4011 -|IsFactual|Признак, определяющий расчёт по факту
4012 -|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
4013 -|Price|Цена за единицу.
4014 -|DebitDate|Следующий момент времени списания с баланса за услугу.
4015 -|PeriodValue|Значение периода.
4016 -|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы
4312 +(((
4313 +{
4314 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4315 + "Plan": { ~/~/ Определяет тарифный план (шаблон услуг)
4316 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана.
4317 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента-владельца.
4318 + "Name": "string", ~/~/ Наименование.
4319 + "IsArchived": true, ~/~/ Признак, определяющий архивный тарифный план.
4320 + "Constraint": { ~/~/ Ограничения по тарифу 
4321 + "CalculationType": 0, ~/~/ Определяет тип расчёта (0 - деньги, 1 - дни) 
4322 + "PermissibleBalance": 0, ~/~/ Допустимый баланс.
4323 + "DefermentDays": 0 ~/~/ Отсрочка (дни)
4324 + },
4325 + "Features": [ ~/~/ Набор услуг по тарифному плану.
4326 + {
4327 + "Feature": "string", ~/~/Код услуги.
4328 + "IsFactual": true, ~/~/ Признак, определяющий возможность расчёта по факту.
4329 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
4330 + "Price": 0, ~/~/ Цена за единицу.
4331 + "PeriodValue": 0, ~/~/ Значение периода.
4332 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане. (0 - деньги, 1 - дни) 
4333 + }
4334 + ],
4335 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя, создавшего тарифный план.
4336 + "Created": "2025-06-10T12:29:32.969Z", ~/~/ Дата создания тарифного плана.
4337 + "Deactivated": "2025-06-10T12:29:32.969Z" ~/~/ Дата деактивации тарифного плана.
4338 + },
4339 + "Features": [ ~/~/ Набор услуг по тарифу клиента.
4340 + {
4341 + "Feature": "string", ~/~/ Код услуги.
4342 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга.
4343 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом.
4344 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту.
4345 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
4346 + "Price": 0, ~/~/ Цена за единицу.
4347 + "DebitDate": "2025-06-10T12:29:32.969Z", ~/~/ Следующий момент времени списания с баланса за услугу.
4348 + "PeriodValue": 0, ~/~/ Значение периода.
4349 + "PeriodType": 0, ~/~/ Определяет тип периода действия услуги в тарифном плане.
4350 + "Quantity": 0 ~/~/ Количество использования услуги.
4351 + }
4352 + ]
4353 +}
4354 +)))
4017 4017  
4018 4018  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) =
4019 4019  
... ... @@ -4118,6 +4118,43 @@
4118 4118  |producedCount|Кол-во успешно отправленных в шину данных сообщений
4119 4119  |msgCount|Кол-во обработанных сообщений всего
4120 4120  
4459 +== **Импортировать историю ТС (Асинхронный запрос)** ==
4460 +
4461 +(% class="box successmessage" %)
4462 +(((
4463 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} **
4464 +)))
4465 +
4466 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос.
4467 +
4468 +Метод запроса: **POST**
4469 +
4470 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} **
4471 +
4472 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства
4473 +
4474 +
4475 +Ответ:
4476 +
4477 +{
4478 +
4479 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса
4480 +
4481 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса
4482 +
4483 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest)
4484 +
4485 + "Message": "string", ~/~/ Информация о выполнении запроса
4486 +
4487 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None)
4488 +
4489 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
4490 +
4491 + "Data": "string" ~/~/ Данные
4492 +
4493 +}
4494 +
4495 +
4121 4121  == (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) ==
4122 4122  
4123 4123  (% class="box infomessage" %)
... ... @@ -4135,10 +4135,59 @@
4135 4135   "message": "string"
4136 4136  }
4137 4137  
4138 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4139 -|activity|Активен ли экспорт/импорт истории сейчас, true - да, false - нет
4140 -|progress|Guid ТС
4513 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)(((
4514 +**Параметр**
4515 +)))|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)(((
4516 +**Описание**
4517 +)))
4518 +|(((
4519 +activity
4520 +)))|(((
4521 +Активен ли экспорт/импорт истории сейчас, true - да, false - нет
4522 +)))
4523 +|(((
4524 +progress
4525 +)))|(((
4526 +Guid ТС
4527 +)))
4141 4141  
4529 +== **Возвращает статус асинхронного запроса импорта истории ТС** ==
4530 +
4531 +(% class="box infomessage" %)
4532 +(((
4533 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}**
4534 +)))
4535 +
4536 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос.
4537 +
4538 +Метод запроса: **GET**
4539 +
4540 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}**
4541 +
4542 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса
4543 +
4544 +
4545 +Ответ:
4546 +
4547 +{
4548 +
4549 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса
4550 +
4551 + "Status": 0, ~/~/ Перечисление состояний выполения запроса
4552 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest
4553 +
4554 + "Message": "string", ~/~/ Информация о выполнении запроса
4555 +
4556 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса
4557 +
4558 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None
4559 +
4560 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
4561 +
4562 + "Data": "string" ~/~/ Данные
4563 +
4564 +}
4565 +
4142 4142  == (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) ==
4143 4143  
4144 4144  (% class="box infomessage" %)
... ... @@ -4297,7 +4297,7 @@
4297 4297  
4298 4298  (% class="box infomessage" %)
4299 4299  (((
4300 -POST /api/v3/fuelcards/transactions
4724 +**POST /api/v3/fuelcards/transactions**
4301 4301  )))
4302 4302  
4303 4303  Метод запроса: POST
... ... @@ -4308,34 +4308,59 @@
4308 4308  Параметры в теле запроса (JSON):
4309 4309  
4310 4310  {
4311 - "startDate": "2024-04-11T10:32:02.395Z", ~/~/Начало периода
4312 - "endDate": "2024-04-11T10:32:02.395Z", ~/~/Конец периода
4735 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/ Начало периода
4736 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/ Конец периода
4313 4313   "ids": [ 
4314 - "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/гуиды топливных карт
4738 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификаторы топливных карт
4315 4315   ],
4316 - "timezone": 0 ~/~/Таймзона
4740 + "timezone": 0 ~/~/ Часовой пояс
4317 4317  }
4318 4318  
4319 4319  
4320 4320  Ответ:
4321 4321   {
4322 - "date": "2024-04-11T10:41:02.265Z", ~/~/Дата и время транзакции
4323 - "driver": "string", ~/~/Водители, привязанные к ТК
4324 - "object": "string", ~/~/Наименование ТС
4325 - "amount": 0, ~/~/Количество топлива
4326 - "amountDut": 0, ~/~/Количество по ДУТ
4327 - "amountDiff": 0, ~/~/Разница, л
4328 - "amountDiffPerc": 0, ~/~/Разница, %
4329 - "summa": 0, ~/~/Стоимость, руб
4330 - "serviceName": "string", ~/~/Тип топлива
4331 - "price": 0, ~/~/Цена за литр, руб
4332 - "cardName": "string", ~/~/Наименование ТК
4333 - "cardNum": "string", ~/~/Номер ТК
4334 - "operator": "string", ~/~/Оператор ТК
4335 - "address": "string" ~/~/Адрес АЗС
4746 + "date": "2024-04-11T10:41:02.265Z", ~/~/ Дата и время транзакции
4747 + "driver": "string", ~/~/ Водители, привязанные к ТК
4748 + "object": "string", ~/~/ Наименование ТС
4749 + "amount": 0, ~/~/ Количество топлива
4750 + "amountDut": 0, ~/~/ Количество по ДУТ
4751 + "amountDiff": 0, ~/~/ Разница, л
4752 + "amountDiffPerc": 0, ~/~/ Разница, %
4753 + "summa": 0, ~/~/ Стоимость, руб
4754 + "serviceName": "string", ~/~/ Тип топлива
4755 + "price": 0, ~/~/ Цена за литр, руб
4756 + "cardName": "string", ~/~/ Наименование ТК
4757 + "cardNum": "string", ~/~/ Номер ТК
4758 + "operator": "string", ~/~/ Оператор ТК
4759 + "address": "string" ~/~/ Адрес АЗС
4336 4336   }
4337 4337  
4762 +== (% style="color:#000000; font-size:16px" %)**Получение списка топливных карт**(%%) ==
4338 4338  
4764 +(% class="box infomessage" %)
4765 +(((
4766 +**GET /api/v3/fuelcards**
4767 +)))
4768 +
4769 +Метод запроса: GET
4770 +
4771 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards?ownerId=ID_клиента ~/~/ ID клиента у которого нужно запросить список
4772 +
4773 +Ответ:
4774 +
4775 +[
4776 + {
4777 + "Name": "string", ~/~/ Определяет наименование карты.
4778 + "OperatorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Определяет идентификатор оператора.
4779 + "Number": "string", ~/~/ Определяет № карты.
4780 + "Enabled": true, ~/~/ Определяет признак активности карты.
4781 + "Description": "string", ~/~/ Определяет описание карты.
4782 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID карты
4783 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
4784 + "deleted": true ~/~/ Признак удаления
4785 + }
4786 +]
4787 +
4339 4339  = (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** =
4340 4340  
4341 4341  
... ... @@ -4346,28 +4346,28 @@
4346 4346  **GET ** **/api/v3/retranslations/{id}**
4347 4347  )))
4348 4348  
4349 -Идентификатор запроса: ID
4798 +id - Идентификатор ретранслятора
4350 4350  
4351 4351  
4352 4352  Пример ответа:
4353 4353  
4354 4354  {  
4355 -"description": "", ~/~/ Определяет описание
4356 -"subscriberId": "", ~/~/ Подписчик
4357 -"protocolType": 0, ~/~/ Тип протокола
4358 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен
4359 -"address": "string", ~/~/ Адрес события
4360 -"objects": [ ~/~/Объекты для ретрансляции
4804 +"description": "", ~/~/ Поле описания ретранслятора
4805 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4806 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4807 +"isEnabled": true, ~/~/ Признак включения ретранслятора, Включен, true - включен, false - отключен
4808 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4809 +"objects": [ ~/~/ Объекты для ретрансляции
4361 4361  {      
4362 4362  "id": "",  ~/~/ Идентификатор объекта ретрансляции
4363 4363  "name": "", ~/~/ Наименование объекта ретрансляции
4364 -"imei": "", ~/~/ IMEI объекта  
4365 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен
4813 +"imei": "", ~/~/ IMEI объекта  ретрансляции
4814 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4366 4366  }
4367 4367   ],  
4368 -"id": "", ~/~/ идентификатор пользователя   
4369 -"parentId": "", ~/~/Guid родителя
4370 -"deleted": "" ~/~/ Признак удаления, Включен, true - включен, false - отключен
4817 +"id": "", ~/~/ Идентификатор ретранслятора 
4818 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4819 +"deleted": "" ~/~/ Признак удаления ретранслятора: true - включен, false - отключен
4371 4371  }
4372 4372  
4373 4373  
... ... @@ -4378,7 +4378,7 @@
4378 4378  **DELETE** **/api/v3/retranslations/{id}**
4379 4379  )))
4380 4380  
4381 -Параметр запроса: ID
4830 +id - Идентификатор ретранслятора
4382 4382  
4383 4383  
4384 4384  == **Создание ретранслятора** ==
... ... @@ -4391,16 +4391,16 @@
4391 4391  Запрос:
4392 4392  
4393 4393  {  
4394 -"description": "", ~/~/ Описание
4395 -"subscriberId": "", ~/~/ Подписчик
4396 -"protocolType": 0, ~/~/ Тип протокола
4397 -"address": "", ~/~/ Адрес ретрансляции
4398 -"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен
4843 +"description": "", ~/~/ Поле описания ретранслятора
4844 +"subscriberId": "", ~/~/ Идентификатор подписчика
4845 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4846 +"address": "", ~/~/ Адрес и порт принимающего сервера
4847 +"isEnabled": "", ~/~/ Признак включения ретранслятора, true - включен, false - отключен
4399 4399  "objects": [ ~/~/Объекты для ретрансляции
4400 4400  {      
4401 -"id": "", ~/~/ идентификатор пользователя     
4402 -"imei": "", ~/~/IMEI объекта
4403 -"isEnabled": ""  ~/~/ признак включения, Включен, true - включен, false - отключен  
4850 +"id": "", ~/~/ Идентификатор ретранслятора 
4851 +"imei": "", ~/~/ IMEI объекта ретрансляции
4852 +"isEnabled": ""  ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4404 4404  }
4405 4405   ]
4406 4406  }
... ... @@ -4409,22 +4409,22 @@
4409 4409  Ответ:
4410 4410  
4411 4411  {  
4412 -"description": "string", ~/~/ Определяет описание
4413 -"subscriberId": "", ~/~/ идентификатор запроса
4414 -"protocolType": 0, ~/~/ Тип протокола
4415 -"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен
4416 -"address": "", ~/~/ Адрес события
4417 -"objects": [ ~/~/Объекты для ретрансляции
4861 +"description": "", ~/~/ Поле описания ретранслятора
4862 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4863 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4864 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4865 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4866 +"objects": [ ~/~/ Объекты для ретрансляции
4418 4418  {      
4419 -"id": "", ~/~/ идентификатор пользователя    
4420 -"name": "string", ~/~/ Название уведомления
4421 -"imei": "string", ~/~/IMEI объекта  
4422 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4868 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4869 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4870 +"imei": "", ~/~/ IMEI объекта ретрансляции
4871 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4423 4423  }
4424 - ],  
4425 -"id": "", ~/~/ идентификатор пользователя  
4426 -"parentId": "", ~/~/ Guid идентификатор родителя
4427 -"deleted": true ~/~/ Признак удаления
4873 + ],
4874 +"id": "", ~/~/ Идентификатор ретранслятора   
4875 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4876 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4428 4428  }
4429 4429  
4430 4430  
... ... @@ -4438,18 +4438,18 @@
4438 4438  Пример запроса:
4439 4439  
4440 4440  {  
4441 -"id": "", ~/~/ идентификатор пользователя   
4442 -"description": "string", ~/~/ Определяет описание
4443 -"subscriberId": "", ~/~/ идентификатор запроса
4444 -"protocolType": 0, ~/~/ Тип протокола
4445 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4446 -"address": "string", ~/~/ Адрес события
4447 -"objects": ~/~/Объекты для ретрансляции
4890 +"id": "", ~/~/ Идентификатор ретранслятора   
4891 +"description": "string", ~/~/ Поле описания ретранслятора
4892 +"subscriberId": "", ~/~/ Идентификатор подписчика
4893 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4894 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4895 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4896 +"objects": ~/~/ Объекты для ретрансляции
4448 4448  [    
4449 4449  {      
4450 -"id": "",  ~/~/ идентификатор пользователя         
4451 -"imei": "", ~/~/IMEI объекта
4452 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4899 +"id": "",  ~/~/ Идентификатор объекта ретрансляции 
4900 +"imei": "", ~/~/ IMEI объекта ретрансляции
4901 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4453 4453  }
4454 4454   ]
4455 4455  }
... ... @@ -4458,22 +4458,22 @@
4458 4458  Пример ответа:
4459 4459  
4460 4460  {  
4461 -"description": "", ~/~/ Определяет описание
4462 -"subscriberId": "", ~/~/ идентификатор запроса
4463 -"protocolType": 0, ~/~/ Тип протокола
4464 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4465 -"address": "string", ~/~/ Адрес события
4466 -"objects": [ ~/~/Объекты для ретрансляции
4910 +"description": "", ~/~/ Поле описания ретранслятора
4911 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4912 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4913 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4914 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4915 +"objects": [ ~/~/ Объекты для ретрансляции
4467 4467  {      
4468 -"id": "", ~/~/ идентификатор пользователя     
4469 -"name": "string", ~/~/ Название уведомления    
4470 -"imei": "", ~/~/IMEI объекта
4471 -"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4917 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4918 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4919 +"imei": "", ~/~/ IMEI объекта ретрансляции
4920 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4472 4472  }
4473 4473   ],
4474 -"id": "", ~/~/ идентификатор пользователя   
4475 -"parentId": "", ~/~/ Guid идентификатор родителя
4476 -"deleted": true ~/~/ Признак удаления
4923 +"id": "", ~/~/ Идентификатор ретранслятора   
4924 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4925 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4477 4477  }
4478 4478  
4479 4479  
... ... @@ -4487,9 +4487,9 @@
4487 4487  Пример запроса:
4488 4488  
4489 4489  {  
4490 -"id": "", ~/~/ идентификатор пользователя   
4491 -"search": "string", ~/~/Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
4492 -"parentId": "" ~/~/ Идентификатор агента, для которого надо получить данные.
4939 +"id": "", ~/~/ Идентификатор ретранслятора   
4940 +"search": "string", ~/~/ Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
4941 +"parentId": "" ~/~/ Идентификатор родительского агента, для которого надо получить данные (обязательный параметр).
4493 4493  }
4494 4494  
4495 4495  Ответ:
... ... @@ -4496,14 +4496,14 @@
4496 4496  
4497 4497  [ 
4498 4498  {    
4499 -"description": "", ~/~/ Определяет описание
4500 -"subscriberId": "", ~/~/ идентификатор запроса
4501 -"protocolType": 0, ~/~/ Тип протокола
4502 -"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4503 -"address": "string", ~/~/ Адрес события
4504 -"id": "", ~/~/ идентификатор пользователя   
4505 -"parentId": "", ~/~/ Guid идентификатор родителя
4506 -"deleted": true ~/~/ Признак удаления
4948 +"description": "", ~/~/ Поле описания ретранслятора
4949 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4950 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4951 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4952 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4953 +"id": "", ~/~/ Идентификатор ретранслятора   
4954 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4955 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4507 4507  }
4508 4508  ]
4509 4509  
... ... @@ -4514,7 +4514,7 @@
4514 4514  
4515 4515  (% class="box infomessage" %)
4516 4516  (((
4517 -POST **/api/v3/Reports/harvesterUnloading**
4966 +**POST /api/v3/Reports/harvesterUnloading**
4518 4518  )))
4519 4519  
4520 4520  Пример запроса:
... ... @@ -4586,7 +4586,674 @@
4586 4586  ]
4587 4587  
4588 4588  
5038 +== **Отчет трек-датчики** ==
5039 +
5040 +(% class="box infomessage" %)
5041 +(((
5042 +**POST /api/v3/Reports/sensorsWorks**
5043 +)))
5044 +
5045 +**Пример запроса:**
5046 +
5047 +{
5048 + "vehicleIds": [ ~/~/ Список ID объектов
5049 + 0
5050 + ],
5051 + "from": "2025-02-20T06:39:23.888Z",  ~/~/ Начало периода (локальное время клиента)
5052 + "to": "2025-02-20T06:39:23.888Z", ~/~/  Конец периода (локальное время клиента)
5053 + "timezone": 0 ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK
5054 +}
5055 +
5056 +**Пример ответа:**
5057 +
5058 +(((
5059 +{
5060 + "vehicleSensorWorks": [  ~/~/ Интервалы работы оборудования для конкретного ТС
5061 + {
5062 + "vehicleId": 0, ~/~/ Идентификатор ТС
5063 + "sensorWorks": [ ~/~/ Интервалы работы оборудования. 
5064 + {
5065 + "start": "2025-02-20T06:39:23.979Z", ~/~/ Начало интервала работы оборудования.
5066 + "end": "2025-02-20T06:39:23.979Z", ~/~/ Конец интервала работы оборудования.
5067 + "duration": 0, ~/~/  Продолжительность интервала в секундах.
5068 + "name": "string", ~/~/ Наименование оборудования.
5069 + "mileage": 0, ~/~/ Пробег за время работы оборудования.
5070 + "totalMileage": 0, ~/~/ Общий пробег.
5071 + "avgSpeed": 0 ~/~/ Средняя скорость.
5072 + }
5073 + ]
5074 + }
5075 + ]
5076 +}
5077 +
5078 +
5079 +== **Превышение скорости** ==
5080 +
5081 +(% class="box infomessage" %)
5082 +(((
5083 +**POST /api/v3/Reports/overSpeedDuration**
5084 +)))
5085 +
5086 + Публичный API запрос о превышениях скорости по объекту в секундах с выбором способа определения нарушений (дорожное ограничение или фиксированное ограничение).
5087 +
5088 +Пример запроса:
5089 +
5090 +(((
5091 +{
5092 + "vehicleId": 0, ~/~/ идентификационный номер транспортного средства
5093 + "from": "2025-04-21T10:45:25.258Z", ~/~/ Начало периода (локальное время клиента)
5094 + "to": "2025-04-21T10:45:25.258Z", ~/~/ Конец периода (локальное время клиента)
5095 + "timezone": 0, ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK
5096 + "overSpeedDetectionType": 0 ~/~/ тип нарушения (1-дорожное ограничение, 2-фиксированный ) 
5097 +}
5098 +)))
5099 +
5100 +(((
5101 +
5102 +)))
5103 +
5104 +(((
5105 +Пример ответа:
5106 +)))
5107 +
5108 +(((
5109 +(((
5110 +[
5111 + {
5112 + "eventDate": "2025-04-21T10:45:25.267Z", ~/~/  Дата и время события 
5113 + "duration": 0, ~/~/ Продолжительность события в секундах 
5114 + "maxSpeed": 0, ~/~/ Максимальная скорость 
5115 + "speedLimit": 0 ~/~/ Ограничение скорости 
5116 + }
5117 +]
5118 +)))
5119 +)))
5120 +)))
5121 +
5122 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) =
5123 +
5124 +
5125 +== **Запрос списка полей** ==
5126 +
5127 +(% class="box successmessage" %)
5128 +(((
5129 +**POST /api/v3/agroLands/find**
5130 +)))
5131 +
5132 +Пример запроса:
5133 +
5134 +(((
5135 +(((
5136 +(((
5137 +{
5138 + "year": 0, ~/~/ Фильтр по году
5139 + "name": "string", ~/~/ Фильтр по названию
5140 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Фильтр по подразделению
5141 +}
5142 +)))
5143 +)))
5144 +
5145 +
5146 +)))
5147 +
5148 +Пример ответа:
5149 +
5150 +(((
5151 +[
5152 + {
5153 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5154 + "year": 0, ~/~/ Год поля
5155 + "startDate": "2024-12-20T12:27:07.523Z", ~/~/ Начало года урожая
5156 + "endDate": "2024-12-20T12:27:07.523Z", ~/~/ Конец года урожая
5157 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
5158 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5159 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5160 + "counts": { ~/~/ Счётчики с/х поля 
5161 + "fieldOperations": 0, ~/~/ Количество операций на поле
5162 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5163 + "facts": 0 ~/~/ Счётчик факта
5164 + },
5165 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5166 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5167 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5168 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5169 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5170 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5171 + "planComment": "string", ~/~/ Комментарий к полю
5172 + "productivity": 0, ~/~/ Урожайность.
5173 + "id": 0, ~/~/ Идентификатор объекта геозоны
5174 + "name": "string", ~/~/ Название объекта геозоны
5175 + "type": 0, ~/~/ Тип объекта геозоны
5176 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5177 + "fname": "string", ~/~/ Имя файла
5178 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5179 + "beginCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата начала расчетов для геозоны
5180 + "endCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата окончания расчетов для геозоны
5181 + "description": "string", ~/~/ Описание объекта геозоны
5182 + "area": 0, ~/~/ Площадь, м2
5183 + "perimetr": 0, ~/~/ Периметр, м
5184 + "createDate": "2024-12-20T12:27:07.523Z" ~/~/ Дата создания в бд
5185 + }
5186 +]
5187 +
5188 +
5189 +== **Создание нового поля ** ==
5190 +
5191 +(% class="box successmessage" %)
5192 +(((
5193 +**POST /api/v3/agroLands**
5194 +)))
5195 +
5196 +Если необходимо указывать конкретного клиента, в котором нужно создать поле, то в заголовке надо прописать 
5197 +X-agent  - ID клиента
5198 +
5199 +Пример запроса:
5200 +
5201 +(((
5202 +{
5203 + "extId": "string", 
5204 + "shape": "{\"type\":\"Polygon\",\"coordinates\":~[~[[50.299112,54.769317],[50.299369,54.76691],[50.303702,54.767878],[50.299112,54.769317]]]}", ~/~/ Форма поля
5205 + "shapeFormat": "geojson", ~/~/ Формат, в котором представлена форма поля
5206 + "display": "string", ~/~/ Настройки отображения
5207 + "year": 0, ~/~/ Год поля
5208 + "name": "string", ~/~/ Наименование
5209 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5210 + "startDate": "2024-12-20T08:19:59.635Z", ~/~/ Начало года урожая
5211 + "endDate": "2024-12-20T08:19:59.635Z", ~/~/ Конец года урожая
5212 + "planComment": "string", ~/~/ Комментарий к полю
5213 + "cropRotations": [ ~/~/ Данные по севообороту
5214 + {
5215 + "landId": 0, ~/~/ ID поля
5216 + "landName": "string", ~/~/ Название поля
5217 + "year": 0, ~/~/ Год урожая
5218 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5219 + "cultureName": "string", ~/~/ Название культуры
5220 + "productivity": 0, ~/~/ Урожайность
5221 + "area": 0, ~/~/ Площадь поля, Га
5222 + "total": 0, ~/~/ Валовый сбор
5223 + "productivityFact": 0, ~/~/ Фактическая урожайность
5224 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5225 + "totalFact": 0, ~/~/ Фактический валовый сбор
5226 + "start": "2024-12-20T08:19:59.635Z", ~/~/ Дата начала работ
5227 + "sowing": "2024-12-20T08:19:59.635Z", ~/~/ Дата сева
5228 + "harvesting": "2024-12-20T08:19:59.635Z", ~/~/ Дата уборки урожая
5229 + "isyearplan": true, ~/~/ Годовой план 
5230 + "comment": "string" ~/~/ Комментарий
5231 + }
5232 + ]
5233 +}
5234 +)))
5235 +
5236 +(((
5237 +
5238 +)))
5239 +
5240 +Пример ответа:
5241 +
5242 +(((
5243 +(((
5244 +{
5245 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
5246 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5247 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5248 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5249 + "cropRotations": [ ~/~/ Данные по севообороту
5250 + {
5251 + "landId": 0, ~/~/ ID поля
5252 + "landName": "string", ~/~/ Название поля
5253 + "year": 0, ~/~/ Год урожая 
5254 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5255 + "cultureName": "string", ~/~/ Название культуры
5256 + "productivity": 0, ~/~/ Урожайность
5257 + "area": 0, ~/~/ Площадь поля, Га.
5258 + "total": 0, ~/~/ Валовый сбор
5259 + "productivityFact": 0, ~/~/ Фактическая урожайность
5260 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5261 + "totalFact": 0, ~/~/ Фактический валовый сбор
5262 + "start": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала работ
5263 + "sowing": "2024-12-20T08:19:59.743Z", ~/~/ Дата сева
5264 + "harvesting": "2024-12-20T08:19:59.743Z", ~/~/ Дата уборки урожая
5265 + "isyearplan": true, ~/~/ годовой план 
5266 + "comment": "string" ~/~/ Комментарий
5267 + }
5268 + ],
5269 + "cropVegetation": [ ~/~/ История вегетации поля
5270 + {
5271 + "values": [  ~/~/ Данные вегетации и состояния посева
5272 + {
5273 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
5274 + "ndvi": 0 ~/~/ Индекс вегетации
5275 + }
5276 + ],
5277 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5278 + {
5279 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
5280 + "type": "string", ~/~/ Тип
5281 + "pictureid": "string" ~/~/ Идентификатор ресурса
5282 + }
5283 + ],
5284 + "states": [ ~/~/ Ключевые даты развития поля
5285 + {
5286 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
5287 + "state": 0 ~/~/ Статус  0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5288 + }
5289 + ]
5290 + }
5291 + ],
5292 + "endDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата закрытия года урожая
5293 + "counts": {
5294 + "fieldOperations": 0, ~/~/ Количество операций на поле
5295 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5296 + "facts": 0 ~/~/ Счётчик факта
5297 + },
5298 + "planComment": "string", ~/~/ Комментарий к полю
5299 +)))
5300 +
5301 +(((
5302 + "productivity": 0, ~/~/ Урожайность.
5303 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5304 + "startDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата открытия года урожая
5305 + "year": 0, ~/~/ Год поля
5306 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5307 + "actualPlanState": 0, ~/~/ Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5308 + "factState": 0, ~/~/ Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5309 + "taskState": 0, ~/~/ Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5310 + "status": 0, ~/~/ Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто
5311 + "id": 0, ~/~/ Идентификатор объекта геозоны
5312 + "name": "string", ~/~/ Название объекта геозоны
5313 + "type": 0, ~/~/ Тип объекта геозоны
5314 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5315 + "fname": "string", ~/~/ Имя файла
5316 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5317 + "beginCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала расчетов для геозоны
5318 + "endCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата окончания расчетов для геозоны
5319 + "description": "string", ~/~/ Описание объекта геозоны
5320 + "area": 0, ~/~/ Площадь, м2
5321 + "perimetr": 0, ~/~/ Периметр, м
5322 + "createDate": "2024-12-20T08:19:59.743Z" ~/~/ Дата создания в бд
5323 +}
5324 +
5325 +
5326 +)))
5327 +)))
5328 +)))
5329 +
5330 +== **Получение поля по id** ==
5331 +
5332 +(% class="box infomessage" %)
5333 +(((
5334 +**GET /api/v3/agroLands/{id}**
5335 +)))
5336 +
5337 +Пример запроса:
5338 +id  ~/~/ Идентификатор поля
5339 +
5340 +Пример ответа:
5341 +
5342 +(((
5343 +{
5344 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
5345 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5346 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5347 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5348 + "cropRotations": [ ~/~/ Данные по севообороту
5349 + {
5350 + "landId": 0, ~/~/ ID поля
5351 + "landName": "string", ~/~/ Название поля
5352 + "year": 0, ~/~/ Год урожая
5353 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5354 + "cultureName": "string", ~/~/ Название культуры
5355 + "productivity": 0, ~/~/ Урожайность
5356 + "area": 0, ~/~/ Площадь поля, Га
5357 + "total": 0, ~/~/ Валовый сбор
5358 + "productivityFact": 0, ~/~/ Фактическая урожайность
5359 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5360 + "totalFact": 0, ~/~/ Фактический валовый сбор
5361 + "start": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала работ
5362 + "sowing": "2024-12-20T07:45:52.611Z", ~/~/ Дата сева
5363 + "harvesting": "2024-12-20T07:45:52.611Z", ~/~/ Дата уборки урожая
5364 + "isyearplan": true, ~/~/ План года 
5365 + "comment": "string" ~/~/ Комментарий
5366 + }
5367 + ],
5368 + "cropVegetation": [ ~/~/ История вегетации поля
5369 + {
5370 + "values": [ ~/~/ Данные вегетации и состояния посева
5371 + {
5372 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
5373 + "ndvi": 0 ~/~/ Индекс вегетации
5374 + }
5375 + ],
5376 + "resources": [  ~/~/ Данные о снимках для каждого значения NDVI
5377 + {
5378 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
5379 + "type": "string", ~/~/ Тип 
5380 + "pictureid": "string" ~/~/ Идентификатор ресурса
5381 + }
5382 + ],
5383 + "states": [ ~/~/ Ключевые даты развития поля
5384 + {
5385 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 
5386 + "state": 0 ~/~/ Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая
5387 + }
5388 + ]
5389 + }
5390 + ],
5391 + "endDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата закрытия года урожая
5392 + "counts": {
5393 + "fieldOperations": 0, ~/~/ Количество операций на поле
5394 + "actualFieldOperations": 0,  ~/~/ Кол-во актуальных операций на поле
5395 + "facts": 0 ~/~/ Счётчик факта
5396 + },
5397 + "planComment": "string", ~/~/ Комментарий к полю
5398 + "productivity": 0, ~/~/ Урожайность.
5399 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5400 +)))
5401 +
5402 +(((
5403 +(((
5404 + "startDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата открытия года урожая
5405 + "year": 0, ~/~/ Год поля
5406 + "planState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 
5407 + "actualPlanState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5408 + "factState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5409 + "taskState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5410 + "status": 0,  ~/~/ Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5411 + "id": 0, ~/~/ Идентификатор объекта геозоны
5412 + "name": "string", ~/~/ Название объекта геозоны
5413 + "type": 0, ~/~/ Тип объекта геозоны 
5414 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5415 + "fname": "string", ~/~/ Имя файла
5416 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5417 + "beginCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала расчетов для геозоны
5418 + "endCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата окончания расчетов для геозоны
5419 + "description": "string", ~/~/ Описание объекта геозоны
5420 + "area": 0, ~/~/ Площадь, м2
5421 + "perimetr": 0, ~/~/ Периметр, м
5422 + "createDate": "2024-12-20T07:45:52.611Z" ~/~/ Дата создания в бд
5423 +}
5424 +)))
5425 +
5426 +
5427 +== **Удаление существующего поля** ==
5428 +
5429 +(% class="box errormessage" %)
5430 +(((
5431 +**DELETE /api/v3/agroLands/{id}**
5432 +)))
5433 +
5434 +Пример запроса:
5435 +id  ~/~/ Идентификатор поля
5436 +
5437 +Пример ответа:
5438 +
5439 +(((
5440 +200 ~/~/ Успех
5441 +)))
5442 +
5443 +(((
5444 +
5445 +)))
5446 +
5447 +(((
5448 +(((
5449 +(((
5450 +
5451 +)))
5452 +
5453 +(((
5454 +== **Изменение поля** ==
5455 +
5456 +(% class="box infomessage" %)
5457 +(((
5458 +**PUT /api/v3/agroLands**
5459 +)))
5460 +
5461 +Пример запроса:
5462 +
5463 +(((
5464 +(((
5465 +{
5466 + "id": 0, ~/~/ Идентификатор поля
5467 + "extId": "string", ~/~/ ExtId
5468 + "shape": "string", ~/~/ Форма поля
5469 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля
5470 + "display": "string", ~/~/ Настройки отображения
5471 + "year": 0, ~/~/ Год поля
5472 + "name": "string", ~/~/ Наименование
5473 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5474 + "startDate": "2024-12-20T10:11:59.425Z", ~/~/ Начало года урожая
5475 + "endDate": "2024-12-20T10:11:59.425Z", ~/~/ Конец года урожая
5476 + "planComment": "string", ~/~/Комментарий к полю
5477 + "cropRotations": [  ~/~/ Данные по севообороту
5478 + {
5479 + "landId": 0, ~/~/ ID поля
5480 + "landName": "string", ~/~/ Название поля
5481 + "year": 0, ~/~/ Год урожая
5482 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5483 + "cultureName": "string", ~/~/ Название культуры
5484 + "productivity": 0, ~/~/ Урожайность
5485 + "area": 0, ~/~/ Площадь поля, Га.
5486 + "total": 0, ~/~/ Валовый сбор
5487 + "productivityFact": 0, ~/~/ Фактическая урожайность
5488 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5489 + "totalFact": 0, ~/~/ Фактический валовый сбор
5490 + "start": "2024-12-20T10:11:59.425Z", ~/~/ Дата начала работ
5491 + "sowing": "2024-12-20T10:11:59.425Z", ~/~/ Дата сева
5492 + "harvesting": "2024-12-20T10:11:59.425Z", ~/~/ Дата уборки урожая
5493 + "isyearplan": true, 
5494 + "comment": "string" ~/~/ Комментарий
5495 + }
5496 + ],
5497 + "deleteStatistic": true ~/~/ Нужно ли удалять статистику
5498 +}
5499 +)))
5500 +)))
5501 +
5502 +(((
5503 +
5504 +)))
5505 +
5506 +Пример ответа:
5507 +
5508 +(((
5509 +(((
5510 +(((
5511 +{
5512 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5513 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5514 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5515 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5516 + "cropRotations": [ ~/~/ Данные по севообороту
5517 + {
5518 + "landId": 0, ~/~/ ID поля
5519 + "landName": "string", ~/~/ Название поля
5520 + "year": 0, ~/~/  Год урожая
5521 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5522 + "cultureName": "string", ~/~/ Название культуры
5523 + "productivity": 0, ~/~/ Урожайность
5524 + "area": 0, ~/~/ Площадь поля, Га
5525 + "total": 0, ~/~/ Валовый сбор
5526 + "productivityFact": 0, ~/~/ Фактическая урожайность
5527 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5528 + "totalFact": 0, ~/~/ Фактический валовый сбор
5529 + "start": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала работ
5530 + "sowing": "2024-12-20T10:11:59.533Z", ~/~/ Дата сева
5531 + "harvesting": "2024-12-20T10:11:59.533Z", ~/~/ Дата уборки урожая
5532 + "isyearplan": true, ~/~/ 
5533 + "comment": "string" ~/~/ Комментарий
5534 + }
5535 + ],
5536 + "cropVegetation": [ ~/~/ История вегетации поля
5537 + {
5538 + "values": [ ~/~/ Данные вегетации и состояния посева
5539 + {
5540 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5541 + "ndvi": 0 ~/~/ Индекс вегетации
5542 + }
5543 + ],
5544 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5545 + {
5546 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5547 + "type": "string", ~/~/ Тип
5548 + "pictureid": "string" ~/~/ Идентификатор ресурса
5549 + }
5550 + ],
5551 + "states": [ ~/~/ Ключевые даты развития поля 
5552 + {
5553 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5554 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5555 + }
5556 + ]
5557 + }
5558 + ],
5559 + "endDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата закрытия года урожая
5560 + "counts": { 
5561 + "fieldOperations": 0, ~/~/ Количество операций на поле
5562 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5563 + "facts": 0 ~/~/ Счётчик факта
5564 + },
5565 + "planComment": "string", ~/~/ Комментарий к полю
5566 + "productivity": 0, ~/~/ Урожайность.
5567 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5568 + "startDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата открытия года урожая
5569 + "year": 0, ~/~/ Год поля
5570 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5571 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5572 + "factState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5573 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5574 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 
5575 + "id": 0, ~/~/ Идентификатор объекта геозоны
5576 + "name": "string", ~/~/ Название объекта геозоны
5577 + "type": 0, ~/~/ Тип объекта геозоны
5578 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5579 + "fname": "string", ~/~/ Имя файла
5580 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5581 + "beginCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала расчетов для геозоны
5582 + "endCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата окончания расчетов для геозоны
5583 + "description": "string", ~/~/ Описание объекта геозоны
5584 + "area": 0, ~/~/ Площадь, м2
5585 + "perimetr": 0, ~/~/ Периметр, м
5586 + "createDate": "2024-12-20T10:11:59.533Z" ~/~/ Дата создания в бд
5587 +}
5588 +)))
5589 +)))
5590 +)))
5591 +)))
5592 +)))
5593 +
5594 +
5595 +== **Редактирование года урожая ** ==
5596 +
5597 +(% class="box successmessage" %)
5598 +(((
5599 +**POST /api/v3/agroLands/updateOpenCloseYear**
5600 +)))
5601 +
5602 +Пример запроса:
5603 +
5604 +(((
5605 +(((
5606 +{
5607 + "agroLandIds": [  ~/~/ Идентификаторы полей для которых меняется год урожая
5608 + 0
5609 + ],
5610 + "newStartDate": "2024-12-20T11:43:43.921Z", ~/~/ Новая дата начала урожая
5611 + "newEndDate": "2024-12-20T11:43:43.921Z" ~/~/ Новая дата закрытия урожая
5612 +}
5613 +)))
5614 +
5615 +
5616 +)))
5617 +
5618 +Пример ответа:
5619 +
5620 +(((
5621 +(((
5622 +{
5623 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5624 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5625 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5626 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5627 + "cropRotations": [ ~/~/ Данные по севообороту
5628 + {
5629 + "landId": 0, ~/~/ ID поля
5630 + "landName": "string", ~/~/ Название поля
5631 + "year": 0, ~/~/ Год урожая
5632 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5633 + "cultureName": "string", ~/~/ Название культуры
5634 + "productivity": 0, ~/~/ Урожайность
5635 + "area": 0, ~/~/ Площадь поля, Га.
5636 + "total": 0, ~/~/ Валовый сбор
5637 + "productivityFact": 0, ~/~/ Фактическая урожайность
5638 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5639 + "totalFact": 0, ~/~/ Фактический валовый сбор
5640 + "start": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала работ
5641 + "sowing": "2024-12-20T11:43:44.091Z", ~/~/ Дата сева
5642 + "harvesting": "2024-12-20T11:43:44.091Z", ~/~/ Дата уборки урожая
5643 + "isyearplan": true, ~/~/ 
5644 + "comment": "string" ~/~/ Комментарий
5645 + }
5646 + ],
5647 + "cropVegetation": [ ~/~/ История вегетации поля
5648 + {
5649 + "values": [ ~/~/ Данные вегетации и состояния посева
5650 + {
5651 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5652 + "ndvi": 0 ~/~/ Индекс вегетации
5653 + }
5654 + ],
5655 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5656 + {
5657 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5658 + "type": "string", ~/~/ Тип
5659 + "pictureid": "string" ~/~/ Идентификатор ресурса
5660 + }
5661 + ],
5662 + "states": [ ~/~/ Ключевые даты развития поля
5663 + {
5664 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 
5665 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5666 + }
5667 + ]
5668 + }
5669 + ],
5670 + "endDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата закрытия года урожая
5671 + "counts": { 
5672 + "fieldOperations": 0, ~/~/ Количество операций на поле
5673 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5674 + "facts": 0 ~/~/ Счётчик факта
5675 + },
5676 + "planComment": "string", ~/~/ Комментарий к полю
5677 + "productivity": 0, ~/~/ Урожайность.
5678 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5679 + "startDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата открытия года урожая
5680 + "year": 0, ~/~/ Год поля
5681 + "planState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5682 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5683 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5684 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5685 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
5686 + "id": 0, ~/~/ Идентификатор объекта геозоны
5687 + "name": "string", ~/~/ Название объекта геозоны
5688 + "type": 0, ~/~/ Тип объекта геозоны
5689 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5690 + "fname": "string", ~/~/ Имя файла
5691 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5692 + "beginCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала расчетов для геозоны
5693 + "endCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата окончания расчетов для геозоны
5694 + "description": "string", ~/~/ Описание объекта геозоны
5695 + "area": 0, ~/~/ Площадь, м2
5696 + "perimetr": 0, ~/~/ ериметр, м
5697 + "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд
5698 +}
5699 +)))
5700 +
5701 +
4589 4589  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) =
5703 +)))
5704 +)))
5705 +)))
4590 4590  
4591 4591  == (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) ==
4592 4592  
... ... @@ -4593,7 +4593,7 @@
4593 4593  
4594 4594  (% class="box infomessage" %)
4595 4595  (((
4596 -GET api/v3/Vehicles/recyclebin/all
5712 +**GET api/v3/Vehicles/recyclebin/all**
4597 4597  )))
4598 4598  
4599 4599  Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту
... ... @@ -4628,11 +4628,11 @@
4628 4628  ]
4629 4629  
4630 4630  
4631 -(% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины**
5747 +== (% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины**(%%) ==
4632 4632  
4633 4633  (% class="box infomessage" %)
4634 4634  (((
4635 -POST/api/v3/Vehicles/recyclebin/erase
5751 +**POST api/v3/Vehicles/recyclebin/erase**
4636 4636  )))
4637 4637  
4638 4638  В заголовках запроса: X-Auth: Токен авторизации
... ... @@ -4674,7 +4674,7 @@
4674 4674  
4675 4675  (% class="box infomessage" %)
4676 4676  (((
4677 -POST/api/v3/Vehicles/recyclebin/restore
5793 +**POST api/v3/Vehicles/recyclebin/restore**
4678 4678  )))
4679 4679  
4680 4680  В заголовках запроса: X-Auth: Токен авторизации
... ... @@ -4726,7 +4726,754 @@
4726 4726  ]
4727 4727  
4728 4728  
5845 += **Раздел: Журнал заданий ** =
4729 4729  
5847 +
5848 +== **Создание задания в Журнале заданий** ==
5849 +
5850 +(% class="box infomessage" %)
5851 +(((
5852 +**POST /api/v3/vehicletasks**
5853 +)))
5854 +
5855 +Пример запроса:
5856 +
5857 +(((
5858 +{
5859 + "vehicleId": 0, ~/~/ Идентификатор ТС
5860 + "description": "string", ~/~/ Описание
5861 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5862 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5863 + "startDate": "2025-02-25T12:11:04.874Z", ~/~/ Начало работы
5864 + "endDate": "2025-02-25T12:11:04.874Z", ~/~/ Окончание работы
5865 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5866 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5867 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5868 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5869 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5870 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5871 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5872 + "cost": { 
5873 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5874 + "Name": "string", ~/~/ Наименование
5875 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection )
5876 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5877 + "Norm": 0 ~/~/ Норма внесения
5878 + },
5879 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id 
5880 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5881 + "created": "2025-02-25T12:11:04.874Z", ~/~/ Дата создания
5882 + "updated": "2025-02-25T12:11:04.874Z", ~/~/ Дата обновления
5883 + "deleted": true, ~/~/ Признак удаления
5884 + "extId": "string", 
5885 + "GeoIds": [ ~/~/ Cвязанные поля
5886 + 0
5887 + ]
5888 +}
5889 +)))
5890 +
5891 +
5892 +Пример ответа:
5893 +
5894 +{
5895 + "vehicleId": 0, ~/~/ Идентификатор ТС
5896 + "description": "string", ~/~/ Описание
5897 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5898 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5899 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
5900 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
5901 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5902 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5903 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5904 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5905 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5906 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5907 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5908 + "cost": { 
5909 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5910 + "Name": "string", ~/~/ Наименование
5911 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5912 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5913 + "Norm": 0 ~/~/ Норма внесения
5914 + },
5915 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5916 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5917 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
5918 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
5919 + "deleted": true, ~/~/ Признак удаления
5920 + "extId": "string", ~/~/ ExtId
5921 + "GeoIds": [ ~/~/ Связанные поля
5922 + 0
5923 + ]
5924 +}
5925 +
5926 +
5927 +== **Редактирование задания в Журнале заданий** ==
5928 +
5929 +(% class="box successmessage" %)
5930 +(((
5931 +**PUT /api/v3/vehicletasks**
5932 +)))
5933 +
5934 +Пример запроса:
5935 +
5936 +(((
5937 +{
5938 + "vehicleId": 0, ~/~/ Идентификатор ТС
5939 + "description": "string", ~/~/ Описание
5940 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5941 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5942 + "startDate": "2025-02-25T12:25:51.090Z", ~/~/ Начало работы
5943 + "endDate": "2025-02-25T12:25:51.090Z", ~/~/ Окончание работы
5944 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5945 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5946 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5947 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5948 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5949 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5950 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5951 + "cost": { 
5952 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5953 + "Name": "string", ~/~/ Наименование
5954 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5955 + "MeasureType": 0,  ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5956 + "Norm": 0 ~/~/ Норма внесения
5957 + },
5958 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5959 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5960 + "created": "2025-02-25T12:25:51.090Z", ~/~/ Дата создания
5961 + "updated": "2025-02-25T12:25:51.090Z", ~/~/ Дата обновления
5962 + "deleted": true, ~/~/ Признак удаления
5963 + "extId": "string", ~/~/ ExtId
5964 + "GeoIds": [ ~/~/ Связанные поля
5965 + 0
5966 + ]
5967 +}
5968 +)))
5969 +
5970 +
5971 +Пример ответа:
5972 +
5973 +{
5974 + "vehicleId": 0, ~/~/ Идентификатор ТС
5975 + "description": "string", ~/~/ Описание
5976 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5977 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5978 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
5979 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
5980 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5981 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5982 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5983 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5984 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5985 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5986 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5987 + "cost": { 
5988 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5989 + "Name": "string", ~/~/ Наименование
5990 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5991 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5992 + "Norm": 0 ~/~/ Норма внесения
5993 + },
5994 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5995 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5996 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
5997 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
5998 + "deleted": true, ~/~/ Признак удаления
5999 + "extId": "string", ~/~/ ExtId
6000 + "GeoIds": [ ~/~/ Связанные поля
6001 + 0
6002 + ]
6003 +}
6004 +
6005 +
6006 +== **Удаление задания в Журнале заданий** ==
6007 +
6008 +(% class="box warningmessage" %)
6009 +(((
6010 +**DELETE /api/v3/vehicletasks**
6011 +)))
6012 +
6013 +Пример запроса:
6014 +
6015 +(((
6016 +[
6017 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор 
6018 +]
6019 +)))
6020 +
6021 +(((
6022 +
6023 +)))
6024 +
6025 +Пример ответа:
6026 +
6027 +{
6028 + "vehicleId": 0, ~/~/ Идентификатор ТС
6029 + "description": "string", ~/~/ Описание
6030 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
6031 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
6032 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
6033 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
6034 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
6035 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
6036 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
6037 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
6038 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
6039 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
6040 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
6041 + "cost": { 
6042 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
6043 + "Name": "string", ~/~/ Наименование
6044 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
6045 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
6046 + "Norm": 0 ~/~/ Норма внесения
6047 + },
6048 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6049 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
6050 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
6051 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
6052 + "deleted": true, ~/~/ Признак удаления
6053 + "extId": "string", ~/~/ ExtId
6054 + "GeoIds": [ ~/~/ Связанные поля
6055 + 0
6056 + ]
6057 +}
6058 +
6059 +
6060 +== **Получение списка Журнала заданий** ==
6061 +
6062 +(% class="box infomessage" %)
6063 +(((
6064 +**POST /api/v3/vehicletasks/getbyperiod**
6065 +)))
6066 +
6067 +Пример запроса:
6068 +
6069 +(((
6070 +{
6071 + "Start": "2025-02-25T12:35:31.107Z", ~/~/ Начало периода.
6072 + "End": "2025-02-25T12:35:31.107Z", ~/~/ Окончание периода.
6073 + "TimeZone": 0, ~/~/ Часовой пояс.
6074 + "OperationsIds": [  ~/~/ Идентификаторы видов работ для фильтрации журнала
6075 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
6076 + ],
6077 + "GeoIds": [ ~/~/ Идентификаторы полей для фильтрации журнала
6078 + 0
6079 + ],
6080 + "VehiclesIds": [ ~/~/ Идентификаторы ТС для фильтрации журнала
6081 + 0
6082 + ],
6083 + "Offset": 0, ~/~/ Смещение от начала результата. Количество записей журнала для пропуска.
6084 + "Limit": 0 ~/~/ Размер страницы (количество записей на странице) 
6085 +}
6086 +)))
6087 +
6088 +
6089 +Пример ответа:
6090 +
6091 +(((
6092 +{
6093 + "total": 0,  ~/~/ Общее количество записей
6094 + "pages": 0,  ~/~/ Общее количество страниц
6095 + "currentPage": 0, ~/~/ Текущая страница
6096 + "items": [  ~/~/ Записи 
6097 + {
6098 + "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания
6099 + "isGroup": true,  ~/~/ Вид задания (true - групповое, иначе - одиночное).
6100 + "name": "string", ~/~/ Название задания.
6101 + "startDate": "2025-02-25T12:35:31.110Z", ~/~/ Начало, utc
6102 + "endDate": "2025-02-25T12:35:31.110Z", ~/~/ Окончание, utc
6103 + "workKind": "string", ~/~/ Вид работ
6104 + "techOp": "string", ~/~/ Тех. операция
6105 + "trailerModel": "string", ~/~/ Модель агрегата
6106 + "width": "string", ~/~/ Ширина, м
6107 + "speed": "string", ~/~/ Тех. скорость
6108 + "fields": "string", ~/~/ Поля
6109 + "fieldsInfo": "string", ~/~/ Количество полей (суммарная площадь га)
6110 + "vehicles": "string", ~/~/ Объект-модель
6111 + "vehiclesCount": 0, ~/~/ Объектов (суммарное количество объектов)
6112 + "drivers": "string", ~/~/ Водители
6113 + "tmc": "string", ~/~/ ТМЦ
6114 + "client": "string", ~/~/  Клиент
6115 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания
6116 + "dep": "string", ~/~/ Подразделение
6117 + "geoIds": [ ~/~/  Связанные поля
6118 + 0
6119 + ]
6120 + }
6121 + ]
6122 +}
6123 +)))
6124 +
6125 +
6126 += **Раздел: Роли** =
6127 +
6128 +== **Получение списка клиентских и системных ролей пользователя ** ==
6129 +
6130 +(% class="box successmessage" %)
6131 +(((
6132 +**POST /api/v3/groups/find**
6133 +)))
6134 +
6135 +Пример запроса:
6136 +
6137 +(((
6138 +{
6139 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента содержащий пользовательские роли
6140 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор родительского элемента пользователей 
6141 +}
6142 +)))
6143 +
6144 +(((
6145 +
6146 +)))
6147 +
6148 +(((
6149 +Пример ответа:
6150 +)))
6151 +
6152 +(((
6153 +(((
6154 +{
6155 + "groups": [  ~/~/ Системные роли пользователя
6156 + {
6157 + "code": "string", ~/~/ Код роли.
6158 + "name": "string", ~/~/ Имя  
6159 + "shortName": "string" ~/~/ Короткое имя 
6160 + }
6161 + ],
6162 + "customGroups": [ ~/~/ Системные роли пользователя
6163 + {
6164 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор роли.
6165 + "name": "string", ~/~/ Наименование 
6166 + "shortName": "string", ~/~/ Короткое наименование 
6167 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор владельца
6168 + }
6169 + ]
6170 +}
6171 +)))
6172 +)))
6173 +
6174 +(((
6175 +
6176 +)))
6177 +
6178 +(((
6179 +
6180 +)))
6181 +
6182 += **Раздел: Локатор ** =
6183 +
6184 +
6185 +== **Получение списка локаторов, доступных пользователю ** ==
6186 +
6187 +(% class="box infomessage" %)
6188 +(((
6189 +**GET /api/v3/locators **
6190 +)))
6191 +
6192 +В заголовках запроса: X-Auth: Токен авторизации
6193 +
6194 +
6195 +Пример ответа:
6196 +
6197 +(((
6198 +(((
6199 +{
6200 + "vehiclesIds": [ ~/~/ Объекты
6201 + 0
6202 + ],
6203 + "geoIds": [ ~/~/ Геозоны
6204 + 0
6205 + ],
6206 + "fieldsIds": [ ~/~/ Поля
6207 + 0
6208 + ],
6209 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора.
6210 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
6211 + "agentName": "string", ~/~/ Наименование агента.
6212 + "isEnabled": true, ~/~/ Активность 
6213 + "created": "2025-05-26T11:31:05.399Z", ~/~/ Дата создания
6214 + "updated": "2025-05-26T11:31:05.399Z", ~/~/ Дата обновления
6215 + "name": "string", ~/~/ Наименование.
6216 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 
6217 + "activationMode": 0, ~/~/ Определяет вид активации локаторов ( 0 - сейчас, 1 - запланировать на время)
6218 + "activationTime": "2025-05-26T11:31:05.399Z", ~/~/ Время активации
6219 + "validity": 0, ~/~/ Значение срока действия
6220 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 
6221 + "autoProlongation": true, ~/~/ Автопродление срока действия.
6222 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор.
6223 + "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор.
6224 + "url": "string", ~/~/ Ссылка
6225 + "language": 0, ~/~/ Язык
6226 + "showVehicleName": true, ~/~/ Наименование объекта
6227 + "showVehicleDirection": true, ~/~/ Направление движения на треке
6228 + "allowTrackReport": true, ~/~/ Трек
6229 + "showTrackTracing": true, ~/~/ Трассировка трека
6230 + "showSensors": true, ~/~/ Датчик
6231 + "availableMapLayers": [ ~/~/  Слои на карте
6232 + 0
6233 + ]
6234 +}
6235 +)))
6236 +)))
6237 +
6238 +
6239 +== **Получение перечня моделей ** ==
6240 +
6241 +(% class="box successmessage" %)
6242 +(((
6243 +**POST /api/v3/models/find**
6244 +)))
6245 +
6246 +Пример запроса:
6247 +
6248 +(((
6249 +(((
6250 +{
6251 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора
6252 + "name": "string", ~/~/ Наименование локатора
6253 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор родительского элемента пользователей
6254 +)))
6255 +
6256 +
6257 +
6258 + Пример ответа: 
6259 +
6260 +
6261 +(((
6262 +[
6263 + {
6264 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора 
6265 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя, для которого надо получить данные
6266 + "parentName": "string", ~/~/ Наименование пользователя, для которого надо получить данные
6267 + "name": "string", ~/~/ Наименование локатора
6268 + "modelType": 0 ~/~/ Типы моделей транспортных средств (0 - None, 1 - Агро, 2 - Перевозчик, 3 - Машины) 
6269 + }
6270 +]
6271 +)))
6272 +)))
6273 +
6274 +
6275 +== **Создание локатора** ==
6276 +
6277 +(% class="box successmessage" %)
6278 +(((
6279 +**POST /api/v3/locators**
6280 +)))
6281 +
6282 +Пример запроса:
6283 +
6284 +(((
6285 +{
6286 + "isEnabled": true, ~/~/ Активность
6287 + "name": "string", ~/~/ Наименование локатора
6288 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени)
6289 + "activationTime": "2025-03-12T07:00:08.272Z", ~/~/  Время активации
6290 + "validity": 0, ~/~/ Срок действия в днях (1-90)
6291 + "autoProlongation": true, ~/~/ Автопродление срока действия.
6292 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский)
6293 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
6294 + "vehiclesIds": [ ~/~/ Oбъекты
6295 + 0
6296 + ],
6297 + "geoIds": [ ~/~/ Геозоны
6298 + 0
6299 + ],
6300 + "fieldsIds": [ ~/~/ Поля
6301 + 0
6302 + ],
6303 + "showVehicleName": true, ~/~/ Наименование объекта
6304 + "showVehicleDirection": true, ~/~/ Направление движения на треке
6305 + "allowTrackReport": true, ~/~/ Трек
6306 + "showTrackTracing": true, ~/~/ Трассировка трека
6307 + "showSensors": true, ~/~/ Датчик
6308 + "availableMapLayers": 1 [ ~/~/ Слои на карте ,по умолчанию OpenStreetMap (1-OpenStreetMap, 2-Yandex (Карта), 3-Yandex (Спутник), 4-Yandex (Гибрид), 5-Yandex (Пробки), 6-Google (Карта), 7-Google (Гибрид), 8-Google (Рельеф), 9-Google (Спутник), 10-Bing (Карта), 11-Bing (Гибрид), 12-Bing(Темная карта), 13-2ГИС) 
6309 + ]
6310 +}
6311 +)))
6312 +
6313 +
6314 +Пример ответа:
6315 +
6316 +(((
6317 +3fa85f64-5717-4562-b3fc-2c963f66afa6 ~/~/ Идентификатор локатора
6318 +)))
6319 +
6320 +
6321 +
6322 +== **Изменение локатора** ==
6323 +
6324 +(% class="box infomessage" %)
6325 +(((
6326 +**PUT /api/v3/locators**
6327 +)))
6328 +
6329 +Пример запроса:
6330 +
6331 +(((
6332 +{
6333 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора
6334 + "isEnabled": true, ~/~/ Активность 
6335 + "name": "string", ~/~/ Наименование
6336 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 
6337 + "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации
6338 + "validity": 0, ~/~/ Срок действия в днях (1-90)
6339 + "autoProlongation": true, ~/~/ Автопродление срока действия
6340 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский)
6341 + "vehiclesIds": [ ~/~/ Oбъекты
6342 + 0
6343 + ],
6344 + "geoIds": [ ~/~/ Геозоны
6345 + 0
6346 + ],
6347 + "fieldsIds": [ ~/~/ Поля
6348 + 0
6349 + ],
6350 + "showVehicleName": true, ~/~/ Наименование объекта
6351 + "showVehicleDirection": true, ~/~/ Направление движения на треке
6352 + "allowTrackReport": true, ~/~/ Трек
6353 + "showTrackTracing": true, ~/~/ Трассировка трека
6354 + "showSensors": true, ~/~/ Датчик
6355 + "availableMapLayers": 1 [ ~/~/ Слои на карте ,по умолчанию OpenStreetMap (1-OpenStreetMap, 2-Yandex (Карта), 3-Yandex (Спутник), 4-Yandex (Гибрид), 5-Yandex (Пробки), 6-Google (Карта), 7-Google (Гибрид), 8-Google (Рельеф), 9-Google (Спутник), 10-Bing (Карта), 11-Bing (Гибрид), 12-Bing(Темная карта), 13-2ГИС) 
6356 + ]
6357 +}
6358 +
6359 +
6360 +)))
6361 +
6362 +Пример ответа:
6363 +
6364 +200 ~/~/ Success
6365 +
6366 +
6367 +== **Удалить локатор** ==
6368 +
6369 +(% class="box warningmessage" %)
6370 +(((
6371 +**DELETE /api/v3/locators**
6372 +)))
6373 +
6374 +Пример запроса:
6375 +
6376 +(((
6377 +[
6378 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор локатора
6379 +]
6380 +)))
6381 +
6382 +
6383 +
6384 += **Раздел: Яндекс Маршруты** =
6385 +
6386 +
6387 +== **Возвращение списка маршрутов** ==
6388 +
6389 +(% class="box infomessage" %)
6390 +(((
6391 +**GET /api/v3/TransportRoutes**
6392 +)))
6393 +
6394 +Пример запроса:
6395 +Id  ~/~/ Идентификатор поля
6396 +
6397 +
6398 +Пример ответа:
6399 +
6400 +(((
6401 +[
6402 + {
6403 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ id 
6404 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6405 + "name": "string", ~/~/ Наименование маршрута.
6406 + "kind": 0,  ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water)
6407 + "vehicles": [  ~/~/ Определяет список ТС для маршрута
6408 + 0
6409 + ]
6410 + }
6411 +]
6412 +)))
6413 +
6414 +
6415 +
6416 +== **Добавить маршрут** ==
6417 +
6418 +(% class="box infomessage" %)
6419 +(((
6420 +**POST /api/v3/TransportRoutes**
6421 +)))
6422 +
6423 +Пример запроса: 
6424 +{
6425 + "name": "string",  ~/~/  Опредлеляет наименование маршрута.
6426 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6427 + "kind": 0, ~/~/ Определяет вид маршрута. (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water )
6428 + "vehicles": [  ~/~/ Определяет список ТС для маршрута
6429 + 0
6430 + ]
6431 +}
6432 +
6433 +
6434 +Пример ответа:
6435 +
6436 +(((
6437 +{
6438 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6439 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6440 + "name": "string", ~/~/ Определяет наименование маршрута 
6441 + "kind": 0,  ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 
6442 + "vehicles": [ ~/~/ Определяет список ТС для маршрута
6443 + 0
6444 + ]
6445 +}
6446 +)))
6447 +
6448 +
6449 +== **Обновление маршрута** ==
6450 +
6451 +(% class="box successmessage" %)
6452 +(((
6453 +**PUT /api/v3/TransportRoutes**
6454 +)))
6455 +
6456 +Пример запроса:
6457 +
6458 +(((
6459 +{
6460 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6461 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6462 + "name": "string", ~/~/ Опредлеляет наименование маршрута.
6463 + "kind": 0, ~/~/ Определяет вид маршрута (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water)
6464 + "vehicles": [ ~/~/ Определяет список ТС для маршрута
6465 + 0
6466 + ]
6467 +}
6468 +)))
6469 +
6470 +
6471 +Пример ответа:
6472 +
6473 +(((
6474 +{
6475 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6476 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6477 + "name": "string", ~/~/ Определяет наименование маршрута 
6478 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water )
6479 + "vehicles": [ ~/~/ Определяет список ТС для маршрута
6480 + 0
6481 + ]
6482 +}
6483 +)))
6484 +
6485 +
6486 +== **Получить связки маршрутов ТС** ==
6487 +
6488 +(% class="box infomessage" %)
6489 +(((
6490 +**POST /api/v3/TransportRoutes/getroutesvehicles**
6491 +)))
6492 +
6493 +Пример запроса:
6494 +
6495 +(((
6496 +[
6497 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"  ~/~/ идентификатор маршрута
6498 +]
6499 +)))
6500 +
6501 +
6502 +Пример ответа:
6503 +
6504 +(((
6505 +[
6506 + {
6507 + "vehicleId": 0, ~/~/ Опредлеляет идентификатор ТС
6508 + "routeGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Определяет идентификатор маршрута
6509 + }
6510 +]
6511 +)))
6512 +
6513 +
6514 +== **Удалить маршрут** ==
6515 +
6516 +(% class="box warningmessage" %)
6517 +(((
6518 +**DELETE /api/v3/TransportRoutes/{id}**
6519 +)))
6520 +
6521 +Пример запроса:
6522 +Id  ~/~/ Идентификатор поля
6523 +
6524 +
6525 +
6526 += **Раздел: Управление доступа к машинам** =
6527 +
6528 +
6529 +== Получение списка транспортных средств видимых пользователю ==
6530 +
6531 +(% class="box infomessage" %)
6532 +(((
6533 +**GET /api/v3/UserVisibleVehicles/{userId}**
6534 +)))
6535 +
6536 +Пример ответа:
6537 +
6538 +(((
6539 +{
6540 + "vehicleIds": [  ~/~/ Идентификаторы ТС
6541 + 0
6542 + ]
6543 +}
6544 +)))
6545 +
6546 +
6547 +
6548 +== Задает видимость транспортных средств пользователю ==
6549 +
6550 +(% class="box infomessage" %)
6551 +(((
6552 +**POST /api/v3/UserVisibleVehicles**
6553 +)))
6554 +
6555 +Пример запроса:
6556 +
6557 +(((
6558 +(((
6559 +{
6560 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор пользователя
6561 + "vehicleIds": [ ~/~/ Идентификаторы ТС
6562 + 0
6563 + ]
6564 +}
6565 +)))
6566 +
6567 +(((
6568 +
6569 +)))
6570 +
6571 +(((
6572 +
6573 +)))
6574 +
6575 +(((
6576 +Пример ответа :
6577 +)))
6578 +
6579 +(((
6580 +
6581 +)))
6582 +
6583 +(((
6584 +200 ~/~/ Success
6585 +)))
6586 +)))
6587 +
6588 +
6589 +
6590 +
6591 +
6592 +
4730 4730  (% class="box" lang="en-US" style="text-align: center;" %)
4731 4731  (((
4732 4732  (% lang="ru-RU" style="color:#000000; font-family:Liberation Serif,serif; font-size:14pt; font-style:normal; font-variant:normal" %)**По вопросам работы PUBLIC API 3.0 можно обращаться**(% lang="ru-RU" style="color:#000000; font-size:14pt" %)** на [[support@glonasssoft.ru>>mailto:support@glonasssoft.ru]] **

Меню

ГЛОНАССSoft wiki - 2024 г.