<
From version < 147.1 >
edited by Андрей Калиновский
on 2024/03/18 11:01
To version < 181.1 >
edited by Андрей Калиновский
on 2024/11/18 16:39
>
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Content
... ... @@ -14,11 +14,20 @@
14 14  
15 15  Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de.
16 16  
17 -(% style="color:#000000" %)− (%%)При **редактировании** необходимо передавать все параметры пользователя в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
17 +(% style="color:#000000" %)− (%%)При **редактировании** любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
18 18  
19 +
20 +(% style="color:#000000; font-size:16px" %)**Рекомендации**
21 +
22 +- Для запросов по API рекомендуется наделить пользователя ролью **Администратора партнера**, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период).
23 +
19 19  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Авторизация**(%%) =
20 20  
21 -== (% style="color:#000000; font-size:16px" %)**Авторизация**(%%) ==
26 +(% class="box warningmessage" id="H41043244243E44043843743044643844F" %)
27 +(((
28 +(% style="color:#000000; font-size:16px" %)**Авторизация**(%%)
29 +(% style="color:#000000; font-size:16px" %)Адрес сервера всегда следует указывать именно тот, по которому происходит вход в СМТ (https:~/~/hosting.glonasssoft.ru/ , [[https:~~/~~/regions.glonasssoft.ru/>>https://regions.glonasssoft.ru/]] или другие)
30 +)))
22 22  
23 23  (% class="box successmessage" %)
24 24  (((
... ... @@ -44,12 +44,8 @@
44 44  
45 45  (% lang="en-US" %)
46 46  (% style="color:#000000" %){
47 -
48 -(% lang="en-US" %)
49 -(% style="color:#000000" %) "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации
50 - "User": "testuser" , ~/~/ имя пользователя
51 -
52 -(% lang="en-US" %)
56 + "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации
57 + "User": "testuser" , ~/~/ имя пользователя(%%)
53 53  }
54 54  
55 55  **Примечание: **Время жизни токена авторизации задается в настройках пользователя, там есть параметр длительность сессии. При каждом запросе токен пролонгируется.
... ... @@ -60,6 +60,9 @@
60 60  |(% style="width:215px" %)(% style="color:#000000" %)AuthId|(% style="width:861px" %)Токен авторизации
61 61  |(% style="width:215px" %)(% style="color:#000000" %)User|(% style="width:861px" %)Логин пользователя
62 62  
68 +(% class="wikigeneratedid" %)
69 +Также имеется возможность сквозной (/бесшовной) авторизации. Для этого к ссылке ( [[https:~~/~~/hosting.glonasssoft.ru>>url:https://hosting.glonasssoft.ru/login?authId={AuthId}]] / [[https:~~/~~/regions.glonasssoft.ru>>url:https://hosting.glonasssoft.ru/login?authId={AuthId}]]) добавьте токен авторизации - {AuthId}, чтобы попасть сразу в клиента ([[https:~~/~~/hosting.glonasssoft.ru/login?authId={AUTH_ID}>>https://hosting.glonasssoft.ru/login?authId={AUTH_ID}]])
70 +
63 63  == (% style="color:#000000; font-size:16px" %)**Проверка авторизации**(%%) ==
64 64  
65 65  (% class="box infomessage" %)
... ... @@ -226,7 +226,6 @@
226 226   "bankKS": "string" ~/~/ корр. счёт
227 227  }
228 228  
229 -
230 230  Ответ:
231 231  
232 232  {
... ... @@ -420,7 +420,6 @@
420 420   ],
421 421   "language": 0 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский
422 422  }
423 -
424 424  {
425 425   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
426 426   "lastName": "string",
... ... @@ -434,12 +434,8 @@
434 434  
435 435  (% style="text-align:left" %)
436 436  (% style="color:#000000; font-weight:normal" %)Ответ:
437 -
438 -(% style="text-align:left" %)
439 -(% style="color:#000000; font-weight:normal" %){    
440 -
441 -(% style="text-align:left" %)
442 -(% style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя
443 +{     
444 + "id": "" , ~/~/ ID пользователя
443 443   "lastName": "" , ~/~/ Фамилия ,
444 444   "firstName": "" , ~/~/ Имя
445 445   "position": "" , ~/~/ Должность
... ... @@ -456,11 +456,9 @@
456 456   "kind": "" , ~/~/ тип аутентификации
457 457   "target": "" , ~/~/ в случае аутентификации по email - email-адрес
458 458   "groups": (% style="color:#000000" %)["", ""] (% style="color:#000000; font-weight:normal" %), ~/~/ роли пользователя, перечислены названия групп пользователя
461 +}
459 459  
460 -(% style="text-align:left" %)
461 -(% style="color:#000000; font-weight:normal" %)}
462 462  
463 -
464 464  == (% style="color:#000000; font-size:16px" %)**Получение списка пользователей**(%%) ==
465 465  
466 466  (% class="box infomessage" %)
... ... @@ -480,19 +480,16 @@
480 480  
481 481  (% style="color:#000000" %)Параметры в теле запроса (JSON):
482 482  
483 -(% style="color:#000000" %){
484 -
483 +(% style="color:#000000" %){(%%)
485 485   "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", ~/~/ GUID агента, для которого надо получить данные, null - для текущего агента
486 486   "userId": "11111111-c384-43f8-8562-1c3d79a32303", ~/~/ ID пользователя, по которому фильтруется, null - неважно
487 487   "login": "qqqqqq", ~/~/ Логин пользователя, по которому фильтруется, null - неважно
488 488   "email": "eee", ~/~/ Email пользователя, по которому фильтруется, null - неважно
489 -
490 490  (% style="color:#000000" %)}
491 491  
492 492  (% style="color:#000000" %)Ответ:
493 493  
494 494  (% style="color:#000000" %){         (%%)
495 -
496 496   "id": "" , ~/~/ идентификатор пользователя
497 497   "lastName": "" , ~/~/ фамилия
498 498   "firstName": "" , ~/~/ имя
... ... @@ -506,7 +506,6 @@
506 506   "sessionDuration":"", ~/~/ длительность сессии в минутах
507 507   "status": "1",  ~/~/ статус пользователя
508 508   "lastLogged": "", ~/~/ дата/время последней авторизации
509 -
510 510  (% style="color:#000000" %)}
511 511  
512 512  == (% style="color:#000000; font-size:16px" %)**Получение информации о пользователе**(%%) ==
... ... @@ -580,10 +580,8 @@
580 580  (% lang="ru-RU" style="color:#000000; font-weight:normal" %)Параметры в теле запроса (JSON):
581 581  
582 582  (% lang="en-US" style="text-align:left" %)
583 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){  
584 -
585 -(% lang="en-US" style="text-align:left" %)
586 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 
579 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){   
580 + "id": "" , ~/~/ ID пользователя 
587 587   "lastName": "" , ~/~/ фамилия
588 588   "firstName": "" , ~/~/ имя
589 589   "position": "" , ~/~/ должность
... ... @@ -605,9 +605,7 @@
605 605   "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации
606 606   },
607 607   "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен
608 - "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя
609 -
610 -(% lang="en-US" style="text-align:left" %)
602 + "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя(%%)
611 611  (% lang="ru-RU" style="color:#000000; font-weight:normal" %)__}__
612 612  
613 613  (% lang="en-US" style="text-align:left" %)
... ... @@ -614,10 +614,8 @@
614 614  (% lang="ru-RU" style="color:#000000; font-weight:normal" %)//Ответ~://
615 615  
616 616  (% lang="en-US" style="text-align:left" %)
617 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){    
618 -
619 -(% lang="en-US" style="text-align:left" %)
620 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ идентификатор пользователя
609 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){     
610 + "id": "" , ~/~/ идентификатор пользователя
621 621   "lastName": "" , ~/~/ фамилия
622 622   "firstName": "" , ~/~/ имя
623 623   "position": "" , ~/~/ должность
... ... @@ -638,10 +638,8 @@
638 638   "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен
639 639   "target": "" , ~/~/ в случае аутентификации по email - email-адрес
640 640   "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя
631 +}
641 641  
642 -(% lang="en-US" style="text-align:left" %)
643 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)}
644 -
645 645  == (% style="color:#000000; font-size:16px" %)**Изменение статуса пользователя**(%%) ==
646 646  
647 647  (% class="box warningmessage" %)
... ... @@ -661,12 +661,10 @@
661 661  
662 662  (% style="color:#000000" %)Параметры в теле запроса (JSON):
663 663  
664 -(% style="color:#000000" %){
665 -
652 +(% style="color:#000000" %){(%%)
666 666   "status": "" , ~/~/ статус пользователя (0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован)
667 667   "description": "" , ~/~/ описание
668 668   "data": "" , ~/~/ данные, связанные со сменой статуса
669 -
670 670  (% style="color:#000000" %)}
671 671  
672 672  (% style="text-align:left" %)
... ... @@ -688,7 +688,7 @@
688 688  (% style="color:#000000" %)В теле запроса перечисляете массив id пользователей (JSON):
689 689  
690 690   [ 
691 - "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
677 + "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
692 692   "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
693 693   ]
694 694  
... ... @@ -994,7 +994,7 @@
994 994  
995 995  Ответ: В случае успеха **Success 200**
996 996  
997 -= (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства**(%%) =
983 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства (объекты)**(%%) =
998 998  
999 999  == (% style="color:#000000; font-size:16px" %)**Получение информации об объекте**(%%) ==
1000 1000  
... ... @@ -1030,19 +1030,15 @@
1030 1030   "deviceTypeName": "", ~/~/ Название типа устройства
1031 1031   "sim1": "", ~/~/ Номер SIM1
1032 1032   "sim2": "", ~/~/ Номер SIM2
1033 -
1034 1034   "parentId": "", ~/~/ ID клиента-родителя
1035 1035   "parentName": "", ~/~/ Наименование клиента-родителя
1036 1036   "modelId": "", ~/~/ ID модели объекта
1037 1037   "modelName": "", ~/~/ Имя модели объекта
1038 -
1039 1039   "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1040 1040   "unitName": "string", ~/~/ Наименование подразделения
1041 1041   "status": 0, ~/~/ Статус объекта
1042 -
1043 1043   "createdAt": "", ~/~/ Дата создания объекта
1044 1044   },
1045 -
1046 1046  "customFields": [ ~/~/ Произвольные поля
1047 1047   {
1048 1048   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID поля
... ... @@ -1065,8 +1065,7 @@
1065 1065   "consumptionPerHourSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1066 1066   "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на  моточас
1067 1067   "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1068 - "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 
1069 -
1050 + "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х  
1070 1070   "mileageCalcMethod": 0, ~/~/ Метод расчета пробега, 0 - gps, 1 - датчик зажигания
1071 1071   "mileageCoeff": 0, ~/~/ коэффициент пробега
1072 1072   "locationByCellId": true, ~/~/ определение местоположения по данным LBS, true - активна, false - не активна
... ... @@ -1096,7 +1096,6 @@
1096 1096   "retries": 0 ~/~/ Количество попыток
1097 1097   }
1098 1098   ],
1099 -
1100 1100   "sensors": [ ~/~/ Датчики
1101 1101   {
1102 1102   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
... ... @@ -1137,31 +1137,19 @@
1137 1137   },
1138 1138  
1139 1139  ~/~/ Характерные для произвольного:
1140 -
1141 1141  ~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1142 -
1143 1143  ~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1144 -
1145 1145  ~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1146 -
1147 1147  ~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1148 -
1149 1149  ~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1150 -
1151 1151  ~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1152 -
1153 1153  ~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1154 -
1155 1155  ~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1156 -
1157 1157  ~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1158 -
1159 1159  ~/~/ "ValueOn": "Вкл.",
1160 -
1161 1161  ~/~/ "ValueOff": "Выкл."
1162 1162   "summaryMaxValue": 0 ~/~/ Макс. значение
1163 1163   }
1164 -
1165 1165   "drivers": [ ~/~/ Водители
1166 1166   {
1167 1167   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
... ... @@ -1170,7 +1170,6 @@
1170 1170   "isDefault": true ~/~/ По умолчанию
1171 1171   }
1172 1172   ],
1173 -
1174 1174   "inspectionTasks": [ ~/~/ Задания на тех. обслуживание
1175 1175   {
1176 1176   "id": "", ~/~/ ID  задания
... ... @@ -1187,8 +1187,7 @@
1187 1187   "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1188 1188   }
1189 1189   ],
1190 -
1191 - "statusHistory": [ ~/~/ История статусов
1157 +"statusHistory": [ ~/~/ История статусов
1192 1192   {
1193 1193   "status": 0,
1194 1194   "date": "2023-05-22T09:57:39.562Z",
... ... @@ -1196,7 +1196,6 @@
1196 1196   "additionalInfo": "string"
1197 1197   }
1198 1198   ]
1199 -
1200 1200  }
1201 1201  )))
1202 1202  
... ... @@ -1206,6 +1206,73 @@
1206 1206  (% style="text-align:left" %)
1207 1207  0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется».
1208 1208  
1174 +
1175 +== **Отправить команду на терминал** ==
1176 +
1177 +(% class="box successmessage" %)
1178 +(((
1179 +(% lang="en-US" %)**POST **(%%)**/api/v3/Vehicles/cmd/create**
1180 +)))
1181 +
1182 +Команда для отправки на тс.
1183 +
1184 +{  
1185 +"id": "", ~/~/идентификатор произвольного поля
1186 +"command": "", ~/~/ Текст команды
1187 +"retries": "", ~/~/ Количество попыток
1188 +"idTemplate": "" ~/~/ ID шаблона команды
1189 +}
1190 +
1191 +
1192 +== **Получить ответ на отправленную на ТС команду** ==
1193 +
1194 +(% class="box infomessage" %)
1195 +(((
1196 +(% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer**
1197 +)))
1198 +
1199 +Идентификатор команды: cmdid
1200 +
1201 +Запрос от терминала на ответ команды
1202 +
1203 +Пример ответ от терминала:
1204 +
1205 +ID= "" ~/~/ идентификатор произвольного поля
1206 +Soft="" ~/~/ версия софта
1207 +GPS=4 ~/~/ тип трекера
1208 +Time=11:05:43 28.06.24 ~/~/ время запроса
1209 +Lat=45.056221 ~/~/ широта
1210 +Lon=39.035938 ~/~/ долгота
1211 +Speed=0.0 ~/~/ скорость
1212 +Course=181.4 ~/~/направление
1213 +
1214 +(((
1215 +== **Список отправленных объекту команд с ответами** ==
1216 +
1217 +(% class="box infomessage" %)
1218 +(((
1219 +(% lang="en-US" %)**GET**(%%)**/api/v3/Vehicles/cmd/{vehicleId}/history**
1220 +)))
1221 +
1222 +Идентификатор ТС: vehicleId
1223 +
1224 +В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала.
1225 +
1226 +Пример ответа терминала
1227 +
1228 +[ 
1229 +{    
1230 +"id": "", ~/~/ идентификатор пользователя
1231 +"commandText": "", ~/~/Текст команды.
1232 +"templateId": "", ~/~/Идентификатор шаблона
1233 +"updated": "", ~/~/ Время отправки  
1234 +"tryCount": 0, ~/~/ Количество попыток отправки команды
1235 +"answer": "", ~/~/ Ответ терминала.
1236 +"status": "" ~/~/ Статус отправки
1237 +}
1238 +]
1239 +)))
1240 +
1209 1209  == (% style="color:#000000; font-size:16px" %)**Добавление объекта**(%%) ==
1210 1210  
1211 1211  (% class="box successmessage" %)
... ... @@ -1223,8 +1223,7 @@
1223 1223  
1224 1224  (% style="color:#000000" %)Параметры в теле запроса (JSON): //Обязательные параметры наименование и модель объекта //В теле запроса - объект JSON
1225 1225  
1226 -(% style="color:#000000" %){
1227 -
1258 +(% style="color:#000000" %){(%%)
1228 1228   "parentId": "" , ~/~/ ID клиента
1229 1229   "name": "" , ~/~/ имя ТС
1230 1230   "imei": "" , ~/~/ IMEI
... ... @@ -1245,7 +1245,6 @@
1245 1245   "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1246 1246   "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1247 1247   "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1248 -
1249 1249   "mileageCalcMethod": 0,
1250 1250   "mileageCoeff": 0,
1251 1251   "locationByCellId": true,
... ... @@ -1278,7 +1278,6 @@
1278 1278   "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано)
1279 1279   "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1280 1280   }
1281 -
1282 1282  "drivers": [ ~/~/ Водители
1283 1283   {
1284 1284   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
... ... @@ -1293,8 +1293,7 @@
1293 1293   "retries": 0
1294 1294   }
1295 1295   ],
1296 -
1297 - "sensors": [ ~/~/ Датчики
1325 +"sensors": [ ~/~/ Датчики
1298 1298   {
1299 1299   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1300 1300   "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный
... ... @@ -1332,41 +1332,43 @@
1332 1332   "additionalProp2": "string",
1333 1333   "additionalProp3": "string"
1334 1334   },
1335 -
1336 1336  ~/~/ Характерные для произвольного:
1337 -
1338 1338  ~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1339 -
1340 1340  ~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1341 -
1342 1342  ~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1343 -
1344 1344  ~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1345 -
1346 1346  ~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1347 -
1348 1348  ~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1349 -
1350 1350  ~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1351 -
1352 1352  ~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1353 -
1354 1354  ~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1355 -
1356 1356  ~/~/ "ValueOn": "Вкл.",
1357 -
1358 1358  ~/~/ "ValueOff": "Выкл."
1359 - "summaryMaxValue": 0 ~/~/ Макс. значение
1375 + "summaryMaxValue": 0 ~/~/ Определяет максимальное значение датчика в режиме накопления.
1376 +
1377 +(((
1378 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
1379 + {
1380 + "from": 0, ~/~/ С какого значения
1381 + "color": "string", ~/~/ Каким цветом
1382 + "text": "string" ~/~/ Текст подписи к этому интервалу
1383 + }
1384 + ]
1360 1360   }
1361 1361   ],
1387 +)))
1388 +
1389 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1390 +
1391 +
1362 1362   "customFields": [ ~/~/ Произвольные поля
1363 1363   {
1364 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1365 - "name": "string",
1366 - "value": "string",
1367 - "forClient": true,
1368 - "forTooltip": true,
1369 - "forReport": true
1394 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ System.Guid идентификатор элемента сущности
1395 + "name": "string", ~/~/ Наименование произвольного поля
1396 + "value": "string", ~/~/ Значение произвольного поля
1397 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1398 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1399 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1370 1370   }
1371 1371   ]
1372 1372  }
... ... @@ -1373,55 +1373,161 @@
1373 1373  
1374 1374  (% style="color:#000000" %)Ответ:
1375 1375  
1376 -(% style="color:#000000" %){
1377 1377  
1378 - "vehicleId": "", ~/~/ID ТС 
1379 - "parentId": "", ~/~/Guid владельца ТС
1380 - "name": "", ~/~/Имя объекта
1381 - "imei": "", ~/~/IMEI
1382 - "deviceTypeId": "", ~/~/ID типа устройства
1383 - "modelId": "", ~/~/ID модели
1384 - "unitId": "", ~/~/ID подразделения
1385 - "sim1": "", ~/~/SIM1
1386 - "sim2": "", ~/~/SIM2
1387 - "consumptionPer100Km": "", ~/~/Расход топлива на 100 км
1388 - "consumptionIdle": "", ~/~/Расход топлива на холостом ходу
1389 - "counters": { ~/~/Счётчики
1390 - "mileageEnabled": true,
1391 - "motohoursEnabled": true,
1392 - "mileage": "",
1393 - "motohours": 345.0
1394 - },
1395 - "cmsv6Parameters": { ~/~/Параметры CmsV6
1396 - "id": null,
1397 - "enabled": true, ~/~/флаг включения
1398 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
1399 - "login": "", ~/~/ имя учетной записи
1400 - "password": "" ~/~/ пароль учетной записи
1401 - },
1402 - "inspectionTasks": { ~/~/ задания на ТО
1403 - "id": "", ~/~/ ID задачи
1404 - "enabled": false, ~/~/ Признак включения
1405 - "name": "", ~/~/ Имя задания
1406 - "description": "", ~/~/ Описание задания
1407 - "mileageCondition": "", ~/~/ Условие по пробегу
1408 - "lastMileage": "", ~/~/ Пробег (в метрах)
1409 - "motohoursCondition": "", ~/~/ Условие по моточасам
1410 - "lastMotohours": "", ~/~/ Моточасы
1411 - "periodicCondition": "", ~/~/ Условие периодичности по времени
1412 - "kind": "", ~/~/ Вид периодичности по времени 
1413 - "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1407 +(((
1408 +(((
1409 +(((
1410 +{
1411 + "vehicleId": 0,  ~/~/ ID ТС
1412 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС
1413 + "name": "string", ~/~/ Имя объекта
1414 + "imei": "string", ~/~/ IMEI
1415 + "deviceTypeId": 0, ~/~/ ID типа устройства
1416 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ ID модели
1417 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1418 + "sim1": "string", ~/~/ SIM1
1419 + "sim2": "string", ~/~/ SIM2
1420 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км
1421 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас
1422 + "consumptionIdle": 0,  ~/~/ Расход топлива на холостом ходу
1423 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км
1424 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас
1425 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу
1426 + "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км
1427 + "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км
1428 + "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1429 + "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1430 + "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1431 + "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1432 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor)
1433 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
1434 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
1435 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат.
1436 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат.
1437 + "counters": {  ~/~/ Dto для состояний счётчиков
1438 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег"
1439 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы"
1440 + "mileage": 0, ~/~/ Пробег
1441 + "motohours": 0 ~/~/ Моточасы
1442 + },
1443 + "cmsv6Parameters": { ~/~/ Dto для CMSv6
1444 + "id": "string", ~/~/ CMSV6 Идентификатор
1445 + "enabled": true, ~/~/ Признак включения
1446 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
1447 + "login": "string", ~/~/ CMSV6 имя учетной записи
1448 + "password": "string" ~/~/ CMSV6 — пароль учетной записи
1449 + },
1450 + "inspectionTasks": [ ~/~/ Dto для описания задачи на ТО
1451 + {
1452 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи
1453 + "enabled": true, ~/~/ Признак включения
1454 + "name": "string", ~/~/ Имя задания
1455 + "description": "string", ~/~/ Описание задания
1456 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах)
1457 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО
1458 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах)
1459 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО
1460 + "periodicCondition": 0, ~/~/ Условие периодичности по времени
1461 + "kind": 0, ~/~/ Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы)
1462 + "lastInspectionDate": "2024-10-30T08:11:35.622Z",  ~/~/  Дата последнего ТО
1463 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации
1414 1414   }
1465 + ],
1466 + "drivers": [ ~/~/ Список водителей. Определяет класс назначения водителя на объект.
1467 + {
1468 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта.
1469 + "inputNumber": 0, ~/~/ № входа.
1470 + "createTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени создания назначения.
1471 + "comment": "string", ~/~/ Комментарий
1472 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
1473 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
1474 + "beginTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени начала назначения.
1475 + "endTime": "2024-10-30T08:11:35.622Z" ~/~/ Момент времени окончания назначения.
1476 + }
1477 + ],
1478 + "commandTemplates": [  ~/~/ Список шаблонов команд
1479 + {
1480 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона
1481 + "name": "string", ~/~/ Название шаблона команд
1482 + "command": "string", ~/~/ Команда на выполнение
1483 + "retries": 0 ~/~/ Лимит попыток отправки
1484 + }
1485 + ],
1486 + "sensors": [ ~/~/ Список датчиков
1487 + {
1488 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1489 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite
1490 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed
1491 + "name": "string",  ~/~/ Имя датчика
1492 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
1493 + "inputNumber": 0, ~/~/ Номер входа
1494 + "pseudonym": "string", ~/~/ Псевдоним
1495 + "medianDegree": 0, ~/~/ Степень медианной фильтрации
1496 + "isInverted": true, ~/~/  Признак инверсии
1497 + "disabled": true, ~/~/ Датчик не участвует в обработке
1498 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
1499 + "gradesTables": [ ~/~/ Тарировка
1500 + {
1501 + "grades": [ ~/~/ Таблицы тарировки
1502 + {
1503 + "input": 0, ~/~/ Вход
1504 + "output": 0 ~/~/ Выход
1505 + }
1506 + ],
1507 + "relevanceTime": "2024-10-30T08:11:35.622Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки
1508 + }
1509 + ],
1510 + "showInTooltip": true, ~/~/ Отображение в подсказке
1511 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1512 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1513 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
1514 + "agrFunction": 0,  ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION
1515 + "expr": "string", ~/~/ Выражение
1516 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков
1517 + "string"
1518 + ],
1519 + "customParams": {
1520 + "additionalProp1": "string",
1521 + "additionalProp2": "string",
1522 + "additionalProp3": "string"
1523 + },
1524 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления.
1525 + "valueIntervals": [  ~/~/ Интервалы значений для подсветки в мониторинге
1526 + {
1527 + "from": 0, ~/~/ С какого значения
1528 + "color": "string", ~/~/ Каким цветом
1529 +)))
1415 1415  
1416 -(% style="text-align:left" %)
1417 -(% style="color:#000000" %)}
1531 +(((
1532 + "text": "string" ~/~/ Текст подписи к этому интервалу
1533 + }
1534 + ]
1535 + }
1536 + ],
1537 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1538 + "customFields": [ ~/~/ Список произвольных полей
1539 + {
1540 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
1541 + "name": "string", ~/~/ Наименование произвольного поля
1542 + "value": "string", ~/~/ Значение произвольного поля
1543 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1544 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1545 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1546 + }
1547 + ],
1548 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor
1549 +}
1550 +)))
1551 +)))
1552 +)))
1418 1418  
1554 +
1419 1419  **Валидация:**
1420 1420  - сезонный параметр может быть задан только если задана соответствующая обычная норма;
1421 1421  - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
1422 1422  - при задании сезонной нормы обязательны соответствующие даты начала/окончания.
1423 1423  
1424 -== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) ==
1560 +== (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) ==
1425 1425  
1426 1426  (% class="box infomessage" %)
1427 1427  (((
... ... @@ -1428,7 +1428,7 @@
1428 1428  (% lang="en-US" %)**POST /api/v3/vehicles/find**
1429 1429  )))
1430 1430  
1431 -(% style="color:#000000" %)Метод позволяет получить основные параметры объектов: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).
1567 +(% style="color:#000000" %)Метод позволяет получить список доступных объектов мониторинга (транспортных средств) с их основными параметрами: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).
1432 1432  
1433 1433  (% style="color:#000000" %)Метод возвращает информацию об объектах с учетом настроек авторизованного пользователя, указанного в запросе:
1434 1434  
... ... @@ -1472,8 +1472,7 @@
1472 1472  (% style="color:#000000" %)Ответ:
1473 1473  
1474 1474  (% style="color:#000000" %){
1475 -
1476 -(% style="color:#000000" %) "vehicleId": "" ~/~/ идентификатор объекта
1611 + "vehicleId": "" ~/~/ идентификатор объекта
1477 1477   "name": "" ~/~/ наименование объекта
1478 1478   "imei": "" ~/~/ IMEI объекта
1479 1479   "deviceTypeId": "" ~/~/ идентификатор типа устройства
... ... @@ -1532,13 +1532,11 @@
1532 1532   "data": "", ~/~/ Данные
1533 1533   "overwrite": false, ~/~/ Флаг перезаписи
1534 1534   "stage": "", ~/~/ Состояние, может быть null
1535 -
1536 1536  (% style="color:#000000" %)}
1537 1537  
1538 1538  (% style="color:#000000" %)Ответ:
1539 1539  
1540 -(% style="color:#000000" %){
1541 -
1674 +(% style="color:#000000" %){(%%)
1542 1542   "status": "", ~/~/ значение статуса
1543 1543   "date": "", ~/~/ Дата смены статуса 
1544 1544   "description": "", ~/~/ Описание
... ... @@ -1545,10 +1545,10 @@
1545 1545   "data": "", ~/~/ Данные
1546 1546   "overwrite": false, ~/~/ Флаг перезаписи
1547 1547   "stage": "", ~/~/ Состояние
1548 -
1549 -(% style="text-align:left" %)
1550 1550  (% style="color:#000000" %) }
1551 1551  
1683 +== ==
1684 +
1552 1552  == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) ==
1553 1553  
1554 1554  (% class="box warningmessage" %)
... ... @@ -1636,8 +1636,7 @@
1636 1636   "retries": 0
1637 1637   }
1638 1638   ],
1639 -
1640 - "sensors": [ ~/~/ Датчики
1772 +"sensors": [ ~/~/ Датчики
1641 1641   {
1642 1642   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1643 1643   "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный
... ... @@ -1675,95 +1675,215 @@
1675 1675   "additionalProp2": "string",
1676 1676   "additionalProp3": "string"
1677 1677   },
1678 -
1679 1679  ~/~/ Характерные для произвольного:
1680 -
1681 1681  ~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1682 -
1683 1683  ~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1684 -
1685 1685  ~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1686 -
1687 1687  ~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1688 -
1689 1689  ~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1690 -
1691 1691  ~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1692 -
1693 1693  ~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1694 -
1695 1695  ~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1696 -
1697 1697  ~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1698 -
1699 1699  ~/~/ "ValueOn": "Вкл.",
1700 -
1701 1701  ~/~/ "ValueOff": "Выкл."
1702 1702   "summaryMaxValue": 0 ~/~/ Макс. значение
1823 +
1824 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
1825 + {
1826 + "from": 0, ~/~/ С какого значения
1827 + "color": "string", ~/~/ Каким цветом
1828 + "text": "string" ~/~/ Текст подписи к этому интервалу
1829 + }
1830 + ]
1703 1703   }
1704 1704   ],
1833 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1834 +
1705 1705   "customFields": [ ~/~/ Произвольные поля
1706 - {
1707 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1708 - "name": "string",
1709 - "value": "string",
1710 - "forClient": true,
1711 - "forTooltip": true,
1712 - "forReport": true
1836 + {     
1837 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ System.Guid идентификатор элемента сущности
1838 + "name": "string", ~/~/ Наименование произвольного поля
1839 + "value": "string", ~/~/ Значение произвольного поля
1840 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1841 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1842 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1713 1713   }
1714 1714   ]
1715 1715  }
1716 1716  
1847 +
1717 1717  (% style="color:#000000" %)Ответ:
1718 1718  
1719 -(% lang="en-US" style="text-align:left" %)
1720 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){    
1850 +(((
1851 +{
1852 + "vehicleId": 0, ~/~/ ID ТС
1853 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 
1854 + "name": "string", ~/~/ Имя объекта
1855 + "imei": "string", ~/~/ IMEI
1856 + "deviceTypeId": 0, ~/~/ ID типа устройства
1857 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели
1858 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1859 + "sim1": "string", ~/~/ SIM1
1860 + "sim2": "string", ~/~/ SIM2
1861 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км
1862 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас
1863 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу
1864 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км
1865 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас
1866 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу
1867 + "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км
1868 + "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км
1869 + "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1870 + "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1871 + "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1872 + "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1873 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor
1874 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
1875 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
1876 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат.
1877 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат.
1878 + "counters": { ~/~/ состояний счётчиков
1879 + "mileageEnabled": true,  ~/~/ Флаг включения счётчика "Пробег"
1880 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы"
1881 + "mileage": 0, ~/~/ Пробег
1882 + "motohours": 0 ~/~/ Моточасы 
1883 + },
1884 + "cmsv6Parameters": { ~/~/ Dto для CMSv6
1885 + "id": "string", ~/~/ CMSV6 Идентификатор
1886 + "enabled": true, ~/~/ Признак включения
1887 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. 
1888 +)))
1721 1721  
1722 -(% lang="en-US" style="text-align:left" %)
1723 - "vehicleId": "", ~/~/ ID ТС
1724 - "parentId": "", ~/~/ ID клиента
1725 - "name": "", ~/~/ имя ТС
1726 - "imei": "", ~/~/ IMEI
1727 - "deviceTypeId": "", ~/~/ типа устройства
1728 - "modelId": "", ~/~/ ID модели
1729 - "unitId": "", ~/~/ ID подразделения
1730 - "sim1": "", ~/~/ SIM 1
1731 - "sim2": "", ~/~/ SIM2
1732 - "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км
1733 - "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу
1734 - "counters": 
1735 - {
1736 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег»
1737 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы»
1738 - "mileage": "", ~/~/ пробег
1739 - "motohours": "", ~/~/ моточасы
1740 - }
1741 - "cmsv6Parameters": ~/~/ параметры CMSv6
1890 +
1891 +(((
1892 +~/~/ Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
1893 + "login": "string", ~/~/ CMSV6 имя учетной записи
1894 + "password": "string" ~/~/ CMSV6 — пароль учетной записи
1895 + },
1896 + "inspectionTasks": [ ~/~/ Задания на ТО
1897 + {
1898 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи
1899 + "enabled": true, ~/~/ Признак включения
1900 + "name": "string", ~/~/ Имя задания
1901 + "description": "string", ~/~/ Описание задания
1902 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах)
1903 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО
1904 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах)
1905 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО
1906 + "periodicCondition": 0, ~/~/ Условие периодичности по времени
1907 + "kind": 0, ~/~/ Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы
1908 + "lastInspectionDate": "2024-10-30T10:31:17.196Z", ~/~/ Дата последнего ТО
1909 + "maxQuantity": 0  ~/~/ Условие по количеству записей для деактивации
1910 + }
1911 + ],
1912 + "drivers": [  ~/~/ Список водителей
1913 + {
1914 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта.
1915 + "inputNumber": 0, ~/~/ № входа.
1916 + "createTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени создания назначения.
1917 + "comment": "string", ~/~/ Комментарий.
1918 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
1919 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
1920 + "beginTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени начала назначения.
1921 + "endTime": "2024-10-30T10:31:17.196Z" ~/~/ Момент времени окончания назначения.
1922 + }
1923 + ],
1924 + "commandTemplates": [ ~/~/ Список шаблонов команд
1925 + {
1926 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона
1927 + "name": "string", ~/~/ Название шаблона команд
1928 + "command": "string", ~/~/ Команда на выполнение
1929 + "retries": 0 ~/~/ Лимит попыток отправки
1930 + }
1931 + ],
1932 + "sensors": [  ~/~/ Список датчиков 
1933 + {
1934 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1935 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite
1936 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition,
1937 +)))
1938 +
1939 +(((
1940 +~/~/ 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature,
1941 +)))
1942 +
1943 +(((
1944 +~/~/ 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp,
1945 +)))
1946 +
1947 +(((
1948 +~/~/ 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal,
1949 +)))
1950 +
1951 +(((
1952 +~/~/ 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel,
1953 +)))
1954 +
1955 +(((
1956 +~/~/ 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed
1957 + "name": "string", ~/~/ Имя датчика
1958 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse,
1959 +)))
1960 +
1961 +(((
1962 +~/~/ 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
1963 + "inputNumber": 0, ~/~/ Номер входа
1964 + "pseudonym": "string", ~/~/ Псевдоним
1965 + "medianDegree": 0, ~/~/ Степень медианной фильтрации
1966 + "isInverted": true, ~/~/ Признак инверсии
1967 + "disabled": true, ~/~/ Датчик не участвует в обработке
1968 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
1969 + "gradesTables": [ ~/~/ Тарировка
1742 1742   {
1743 - "id": ~/~/ идентификатор
1744 - "enabled": true, ~/~/ флаг включения
1745 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
1746 - "login": "", ~/~/ имя учетной записи
1747 - "password": "", ~/~/ пароль учетной записи
1748 - }
1749 - "inspectionTasks": ~/~/ задания на ТО
1971 + "grades": [ ~/~/ Таблицы тарировки
1972 + {
1973 + "input": 0, ~/~/ Вход
1974 + "output": 0 ~/~/ Выход
1975 + }
1976 + ],
1977 + "relevanceTime": "2024-10-30T10:31:17.196Z"  ~/~/ Время, с которого наступает актуальность таблицы тарировки
1978 + }
1979 + ],
1980 + "showInTooltip": true, ~/~/ Отображение в подсказке
1981 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1982 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1983 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
1984 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 
1985 + "expr": "string", ~/~/ Выражение
1986 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков
1987 + "string" 
1988 + ],
1989 + "customParams": { ~/~/ Дополнительные настройки
1990 + "additionalProp1": "string",
1991 + "additionalProp2": "string",
1992 + "additionalProp3": "string"
1993 + },
1994 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления.
1995 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
1750 1750   {
1751 - "id": "", ~/~/ ID задания
1752 - "enabled": false, ~/~/ Признак включения
1753 - "name": "", ~/~/ Имя задания
1754 - "description": "", ~/~/ Описание задания
1755 - "mileageCondition": "", ~/~/ Условие по пробегу
1756 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО
1757 - "motohoursCondition": "", ~/~/ Условие по моточасам
1758 - "lastMotohours": "", ~/~/ Моточасы
1759 - "periodicCondition": "", ~/~/ Условие периодичности по времени
1760 - "kind": "", ~/~/ Вид периодичности по времени
1761 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание
1997 + "from": 0, ~/~/ С какого значения
1998 + "color": "string", ~/~/ Каким цветом
1999 + "text": "string" ~/~/ Текст подписи к этому интервалу
1762 1762   }
2001 + ]
2002 + }
2003 + ],
2004 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
2005 + "customFields": [ ~/~/ Список произвольных полей
2006 + {
2007 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
2008 + "name": "string", ~/~/ Наименование произвольного поля
2009 + "value": "string", ~/~/ Значение произвольного поля
2010 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
2011 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
2012 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
2013 + }
2014 + ],
2015 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor
2016 +}
2017 +)))
1763 1763  
1764 -(% lang="en-US" style="text-align:left" %)
1765 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)}
1766 -
1767 1767  **Валидация:**
1768 1768  - сезонный параметр может быть задан только если задана соответствующая обычная норма;
1769 1769  - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
... ... @@ -1808,12 +1808,9 @@
1808 1808  
1809 1809  (% style="color:#000000" %)Ответ:
1810 1810  
1811 -(% style="color:#000000" %){
1812 -
2063 +(% style="color:#000000" %){(%%)
1813 1813   "deviceTypeId" : "", ~/~/ ID типа устройства
1814 1814   "deviceTypeName" : "" ~/~/ Название типа устройства
1815 -
1816 -(% style="text-align:left" %)
1817 1817  (% style="color:#000000" %)}
1818 1818  
1819 1819  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Датчики**(%%) =
... ... @@ -1835,13 +1835,10 @@
1835 1835  
1836 1836  (% style="color:#000000" %)Ответ:
1837 1837  
1838 -(% style="color:#000000" %){
1839 -
2087 +(% style="color:#000000" %){(%%)
1840 1840   "id": "", ~/~/ ID типа датчика 
1841 1841   "name": "", ~/~/ Название
1842 1842   "description": "", ~/~/ Описание
1843 -
1844 -(% style="text-align:left" %)
1845 1845  (% style="color:#000000" %)}
1846 1846  
1847 1847  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Сообщения**(%%) =
... ... @@ -2043,10 +2043,12 @@
2043 2043   {
2044 2044   "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 
2045 2045   "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 
2046 - "mileageBegin": 0, ~/~/ Пробег на начало периода
2047 - "mileageEnd": 0, ~/~/ Пробег на окончание периода
2048 - "motohoursBegin": 0, ~/~/ Моточасы на начало периода
2049 - "motohoursEnd": 0 ~/~/ Моточасы на окончание периода
2292 + "mileage": 0, ~/~/ Пробег за период, километры
2293 + "mileageBegin": 0, ~/~/ Пробег на начало периода, километры 
2294 + "mileageEnd": 0, ~/~/ Пробег на окончание периода, километры
2295 + "motohours": 0, ~/~/ Моточасы за период, секунды
2296 + "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды
2297 + "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды
2050 2050   }
2051 2051   ]
2052 2052   }
... ... @@ -2095,6 +2095,12 @@
2095 2095   }
2096 2096  ]
2097 2097  
2346 +(% class="box warningmessage" %)
2347 +(((
2348 +Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"".
2349 +\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling".
2350 +)))
2351 +
2098 2098  == (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) ==
2099 2099  
2100 2100  (% class="box infomessage" %)
... ... @@ -2158,74 +2158,42 @@
2158 2158  Тело запроса:
2159 2159  
2160 2160  {
2161 -
2162 2162   "vehicleIds": [ ], ~/~/ Список ID объектов
2163 -
2164 2164   "from": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время начало запроса
2165 -
2166 2166   "to": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время окончания запроса
2167 -
2168 2168   "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
2169 -
2170 2170  }
2171 2171  
2172 2172  Ответ:
2173 2173  
2174 -[
2175 -
2423 +[ 
2176 2176   {
2177 -
2178 2178   "vehicleId": 0, ~/~/ ID объекта
2179 -
2180 2180   "vehicleName": "string", ~/~/ Имя объекта
2181 -
2182 2182   "moves": [ ~/~/ Событие движения
2183 -
2184 2184   {
2185 -
2186 2186   "mileage": 0, ~/~/ Пробег, км
2187 -
2188 2188   "eventId": 0, ~/~/ Идентификатор события
2189 -
2190 2190   "eventName": "string", ~/~/ Название события
2191 -
2192 2192   "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события
2193 -
2194 2194   "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события
2195 -
2196 2196   "duration": 0 ~/~/ Продолжительность события, секунд
2197 -
2198 2198   }
2199 -
2200 2200   ],
2201 -
2202 2202   "stops": [ ~/~/ События стоянок
2203 -
2204 2204   {
2205 -
2206 - "address": "string", ~/~/ Адрес события
2207 -
2439 + "address": "[Street] [House] [City] [State] [Country] [Coordinates]", ~/~/ Адрес события Улица, Дом, Город, Регион, Страна, Координаты
2208 2208   "eventId": 0, ~/~/ Идентификатор события
2209 -
2210 2210   "eventName": "string", ~/~/ Название события
2211 -
2212 2212   "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события
2213 -
2214 2214   "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события
2215 -
2216 2216   "duration": 0 ~/~/ Продолжительность события, секунд
2217 -
2218 -
2219 2219   }
2220 -
2221 2221   ]
2222 -
2223 2223   }
2224 -
2225 2225  ]
2226 2226  
2227 2227  
2228 -
2229 2229  == (% style="color:#000000; font-size:16px" %)**Получение последних данных объекта**(%%) ==
2230 2230  
2231 2231  (% class="box infomessage" %)
... ... @@ -2262,7 +2262,6 @@
2262 2262   }
2263 2263  
2264 2264  
2265 -
2266 2266  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) =
2267 2267  
2268 2268  == (% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) ==
... ... @@ -2570,6 +2570,32 @@
2570 2570  
2571 2571  Success
2572 2572  
2794 +
2795 +== (% style="color:#000000; font-size:16px" %)**Автоматическое продление уведомлений **(%%) ==
2796 +
2797 +(% class="box warningmessage" %)
2798 +(((
2799 +**PUT** /api/v3/notifications/prolongation
2800 +)))
2801 +
2802 +Метод позволяет продлить уведомления.
2803 +
2804 +Метод запроса **PUT**
2805 +
2806 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/prolongation
2807 +
2808 +В заголовках запроса: X-Auth: Токен авторизации.
2809 +
2810 +Тело запроса:
2811 +
2812 +[
2813 +
2814 +0
2815 +
2816 +]
2817 +
2818 +где 0 идентификатор ids.
2819 +
2573 2573  == (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) ==
2574 2574  
2575 2575  (% class="box errormessage" %)
... ... @@ -3760,7 +3760,7 @@
3760 3760  **POST /api/v3/vehicles/import/{agentId}**
3761 3761  )))
3762 3762  
3763 -Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml** или **wlp. **Также они могут находится в** zip-архиве.**
4010 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).**
3764 3764  
3765 3765  В пути указывается **agentId** - id клиента.
3766 3766  
... ... @@ -3772,7 +3772,7 @@
3772 3772  
3773 3773  |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3774 3774  |withNoData|Параметр **Объекты без данных**. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать.
3775 -|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: 1 - Замена, 2 - Слияние, 3 - Добавление
4022 +|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление
3776 3776  
3777 3777  В теле использовать тип **form-data,** тип значения** file**
3778 3778  
... ... @@ -3951,64 +3951,67 @@
3951 3951  Тело запроса:
3952 3952  
3953 3953  {
3954 - "vehicleIds": [vehicleId],
3955 - "from": "2023-11-22T09:29:48.051Z",
3956 - "to": "2023-11-22T09:29:48.051Z"
4201 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов
4202 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса
4203 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса
3957 3957  }
3958 3958  
3959 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3960 -|vehicleIds|Массив ID объектов
3961 -|from|Дата начала запроса
3962 -|to|Дата окончания запроса
3963 -
3964 3964  Ответ:
3965 3965  
3966 3966  {
3967 - "items": [
4209 + "items": [  ~/~/ Список в разрезе ТС
3968 3968   {
3969 - "from": "2023-11-22T09:29:48.052Z",
3970 - "to": "2023-11-22T09:29:48.052Z",
3971 - "vehicleId": 0,
3972 - "vehicleName": "string",
3973 - "vehicleModel": "string",
3974 - "penalty": 0,
3975 - "score": 0,
3976 - "totalViolations": 0,
3977 - "violationsByType": {
3978 - "overspeedingViolations": 0,
3979 - "accelerationViolations": 0,
3980 - "brakingViolations": 0,
3981 - "turningViolations": 0,
3982 - "dangerousDrivingViolations": 0,
3983 - "sensorViolations": 0
4211 + "from": "2023-11-22T09:29:48.052Z", ~/~/ Дата начала периода
4212 + "to": "2023-11-22T09:29:48.052Z", ~/~/ Дата окончания периода
4213 + "vehicleId": 0, ~/~/ ID ТС
4214 + "vehicleName": "string", ~/~/ Название ТС
4215 + "vehicleModel": "string", ~/~/ Модель ТС
4216 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов в разрезе ТС
4217 + "score": 0, ~/~/ Рассчитанная оценка вождения в разрезе ТС
4218 + "totalViolations": 0, ~/~/ Нарушений всего
4219 + "violationsByType": { ~/~/ Информация о нарушениях по типу
4220 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости
4221 + "accelerationViolations": 0, ~/~/ Нарушений ускорения
4222 + "brakingViolations": 0, ~/~/ Нарушений торможения
4223 + "turningViolations": 0, ~/~/ Нарушений опасного поворота
4224 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения
4225 + "sensorViolations": 0 ~/~/ Нарушений по датчику
3984 3984   },
3985 - "moveTime": 0,
3986 - "mileage": 0,
3987 - "tripsCount": 0,
3988 - "trips": [
4227 +
4228 +(((
4229 +
4230 +)))
4231 +
4232 + "moveTime": 0, ~/~/ Продолжительность движения, сек
4233 + "mileage": 0, ~/~/ Пробег, м
4234 + "tripsCount": 0, ~/~/ Кол-во рейсов
4235 + "trips": [  ~/~/ Информация по рейсу
3989 3989   {
3990 - "penalty": 0,
3991 - "score": 0,
3992 - "violationsCount": 0,
3993 - "violationsByType": {
3994 - "overspeedingViolations": 0,
3995 - "accelerationViolations": 0,
3996 - "brakingViolations": 0,
3997 - "turningViolations": 0,
3998 - "dangerousDrivingViolations": 0,
3999 - "sensorViolations": 0
4237 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов за рейс
4238 + "score": 0, ~/~/ Рассчитанная оценка вождения за рейс
4239 + "violationsCount": 0, ~/~/ Всего нарушений
4240 + "violationsByType": { ~/~/ Информация о нарушениях по типу
4241 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости
4242 + "accelerationViolations": 0, ~/~/ Нарушений ускорения
4243 + "brakingViolations": 0, ~/~/ Нарушений торможения
4244 + "turningViolations": 0, ~/~/ Нарушений опасного поворота
4245 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения
4246 + "sensorViolations": 0 ~/~/ Нарушений по датчику
4000 4000   },
4001 - "moveTime": 0,
4002 - "mileage": 0,
4003 - "motohours": 0,
4004 - "maxSpeed": 0,
4005 - "startAddress": "string",
4006 - "endAddress": "string",
4007 - "drivers": [
4248 +
4249 + "startDate": "2024-11-18T13:23:38.516Z",  ~/~/ Дата начала поездки
4250 + "endDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата окончания поездки
4251 + "moveTime": 0, ~/~/ Продолжительность движения, сек
4252 + "mileage": 0, ~/~/ Пробег, м
4253 + "motohours": 0, ~/~/ Моточасы, секунды
4254 + "maxSpeed": 0, ~/~/ Максимальная скорость за рейс
4255 + "startAddress": "string", ~/~/ Адрес начала рейса
4256 + "endAddress": "string", ~/~/ Адрес конца рейса
4257 + "drivers": [  ~/~/ Список водителей
4008 4008   {
4009 - "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4010 - "driverName": "string",
4011 - "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
4259 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя
4260 + "driverName": "string", ~/~/ФИО водителя
4261 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки
4012 4012   }
4013 4013   ]
4014 4014   }
... ... @@ -4017,100 +4017,444 @@
4017 4017   ]
4018 4018  }
4019 4019  
4020 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4021 -|from|Дата начала запроса
4022 -|to|Дата  окончания
4023 -|vehicleId|ID объекта
4024 -|vehicleName|Имя объекта
4025 -|vehicleModel|Модель объекта
4026 -|penalty|Сумма штрафных баллов
4027 -|score|Оценка
4028 -|totalViolations|Суммарное количество нарушений
4029 -|violationsByType|Список типов нарушений и количество нарушений для каждого типа
4030 -|overspeedingViolations|Превышение скорости
4031 -|accelerationViolations|Ускорение
4032 -|brakingViolations|Торможение
4033 -|turningViolations|Резкий поворот
4034 -|dangerousDrivingViolations|Резкое вождение
4035 -|sensorViolations|Нарушение по датчику
4036 -|moveTime|Время в движении
4037 -|mileage|Пробег
4038 -|tripsCount|Количество рейсов
4039 -|motohours|Моточасы
4040 -|maxSpeed|Максимальная скорость
4041 -|startAddress|Адрес начала рейса
4042 -|endAddress|Адрес окончания рейса
4043 -|drivers|Список водителей, которые были на объекте в течениии рейса
4044 -|driverGuid|Guid водителя
4045 -|driverName|Имя водителя
4046 -|driverRfid|Номер Карты-метки
4047 -
4048 4048  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) =
4049 4049  
4050 4050  == (% style="color:#000000; font-size:16px" %)**Запрос транзакций по топливным картам**(%%) ==
4051 4051  
4052 -Транзакции по топливным картам можно получить при наличии права «Транзакции ТК»
4274 +Транзакции по топливным картам можно получить при наличии права «Транзакции ТК». Метод позволяет получить транзакции по нескольким топливным картам.
4053 4053  
4054 4054  (% class="box infomessage" %)
4055 4055  (((
4056 -**POST**/api/v3/fuelcards/transactions
4278 +POST /api/v3/fuelcards/transactions
4057 4057  )))
4058 4058  
4059 -Запрос должен содержать параметры:
4281 +Метод запроса: POST
4060 4060  
4283 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards/transactions
4284 +\\В заголовках запроса: X-Auth: Токен авторизации
4285 +
4286 +Параметры в теле запроса (JSON):
4287 +
4061 4061  {
4289 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/Начало периода
4290 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/Конец периода
4291 + "ids": [ 
4292 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/гуиды топливных карт
4293 + ],
4294 + "timezone": 0 ~/~/Таймзона
4295 +}
4062 4062  
4063 - "startDate": "2024-03-14T13:10:21.797Z", ~/~/ Дата начала периода построения
4064 4064  
4065 - "endDate": "2024-03-14T13:10:21.797Z", ~/~/ Дата окончания периода построения
4298 +Ответ:
4299 + {
4300 + "date": "2024-04-11T10:41:02.265Z", ~/~/Дата и время транзакции
4301 + "driver": "string", ~/~/Водители, привязанные к ТК
4302 + "object": "string", ~/~/Наименование ТС
4303 + "amount": 0, ~/~/Количество топлива
4304 + "amountDut": 0, ~/~/Количество по ДУТ
4305 + "amountDiff": 0, ~/~/Разница, л
4306 + "amountDiffPerc": 0, ~/~/Разница, %
4307 + "summa": 0, ~/~/Стоимость, руб
4308 + "serviceName": "string", ~/~/Тип топлива
4309 + "price": 0, ~/~/Цена за литр, руб
4310 + "cardName": "string", ~/~/Наименование ТК
4311 + "cardNum": "string", ~/~/Номер ТК
4312 + "operator": "string", ~/~/Оператор ТК
4313 + "address": "string" ~/~/Адрес АЗС
4314 + }
4066 4066  
4067 - "ids": [
4068 4068  
4069 - "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Guid-ы топливных карт
4317 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** =
4070 4070  
4319 +
4320 +== **Получение полных данных о ретрансляторе** ==
4321 +
4322 +(% class="box infomessage" %)
4323 +(((
4324 +**GET ** **/api/v3/retranslations/{id}**
4325 +)))
4326 +
4327 +Идентификатор запроса: ID
4328 +
4329 +
4330 +Пример ответа:
4331 +
4332 +{  
4333 +"description": "", ~/~/ Определяет описание
4334 +"subscriberId": "", ~/~/ Подписчик
4335 +"protocolType": 0, ~/~/ Тип протокола
4336 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен
4337 +"address": "string", ~/~/ Адрес события
4338 +"objects": [ ~/~/Объекты для ретрансляции
4339 +{      
4340 +"id": "",  ~/~/ Идентификатор объекта ретрансляции
4341 +"name": "", ~/~/ Наименование объекта ретрансляции
4342 +"imei": "", ~/~/ IMEI объекта  
4343 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен
4344 +}
4345 + ],  
4346 +"id": "", ~/~/ идентификатор пользователя   
4347 +"parentId": "", ~/~/Guid родителя
4348 +"deleted": "" ~/~/ Признак удаления, Включен, true - включен, false - отключен
4349 +}
4350 +
4351 +
4352 +== **Удаление данных ретранслятора** ==
4353 +
4354 +(% class="box infomessage" %)
4355 +(((
4356 +**DELETE** **/api/v3/retranslations/{id}**
4357 +)))
4358 +
4359 +Параметр запроса: ID
4360 +
4361 +
4362 +== **Создание ретранслятора** ==
4363 +
4364 +(% class="box infomessage" %)
4365 +(((
4366 +**POST ** **/api/v3/retranslations/{id}**
4367 +)))
4368 +
4369 +Запрос:
4370 +
4371 +{  
4372 +"description": "", ~/~/ Описание
4373 +"subscriberId": "", ~/~/ Подписчик
4374 +"protocolType": 0, ~/~/ Тип протокола
4375 +"address": "", ~/~/ Адрес ретрансляции
4376 +"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен
4377 +"objects": [ ~/~/Объекты для ретрансляции
4378 +{      
4379 +"id": "", ~/~/ идентификатор пользователя     
4380 +"imei": "", ~/~/IMEI объекта
4381 +"isEnabled": ""  ~/~/ признак включения, Включен, true - включен, false - отключен  
4382 +}
4383 + ]
4384 +}
4385 +
4386 +
4387 +Ответ:
4388 +
4389 +{  
4390 +"description": "string", ~/~/ Определяет описание
4391 +"subscriberId": "", ~/~/ идентификатор запроса
4392 +"protocolType": 0, ~/~/ Тип протокола
4393 +"isEnabled": "", ~/~/ признак включения, Включен, true - включен, false - отключен
4394 +"address": "", ~/~/ Адрес события
4395 +"objects": [ ~/~/Объекты для ретрансляции
4396 +{      
4397 +"id": "", ~/~/ идентификатор пользователя    
4398 +"name": "string", ~/~/ Название уведомления
4399 +"imei": "string", ~/~/IMEI объекта  
4400 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4401 +}
4402 + ],  
4403 +"id": "", ~/~/ идентификатор пользователя  
4404 +"parentId": "", ~/~/ Guid идентификатор родителя
4405 +"deleted": true ~/~/ Признак удаления
4406 +}
4407 +
4408 +
4409 +== **Редактирование ретранслятора** ==
4410 +
4411 +(% class="box infomessage" %)
4412 +(((
4413 +**PUT** **/api/v3/retranslations**
4414 +)))
4415 +
4416 +Пример запроса:
4417 +
4418 +{  
4419 +"id": "", ~/~/ идентификатор пользователя   
4420 +"description": "string", ~/~/ Определяет описание
4421 +"subscriberId": "", ~/~/ идентификатор запроса
4422 +"protocolType": 0, ~/~/ Тип протокола
4423 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4424 +"address": "string", ~/~/ Адрес события
4425 +"objects": ~/~/Объекты для ретрансляции
4426 +[    
4427 +{      
4428 +"id": "",  ~/~/ идентификатор пользователя         
4429 +"imei": "", ~/~/IMEI объекта
4430 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4431 +}
4432 + ]
4433 +}
4434 +
4435 +
4436 +Пример ответа:
4437 +
4438 +{  
4439 +"description": "", ~/~/ Определяет описание
4440 +"subscriberId": "", ~/~/ идентификатор запроса
4441 +"protocolType": 0, ~/~/ Тип протокола
4442 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4443 +"address": "string", ~/~/ Адрес события
4444 +"objects": [ ~/~/Объекты для ретрансляции
4445 +{      
4446 +"id": "", ~/~/ идентификатор пользователя     
4447 +"name": "string", ~/~/ Название уведомления    
4448 +"imei": "", ~/~/IMEI объекта
4449 +"isEnabled": true ~/~/ признак включения, Включен, true - включен, false - отключен  
4450 +}
4071 4071   ],
4452 +"id": "", ~/~/ идентификатор пользователя   
4453 +"parentId": "", ~/~/ Guid идентификатор родителя
4454 +"deleted": true ~/~/ Признак удаления
4455 +}
4072 4072  
4073 - "timezone": 0, ~/~/ Часовой пояс
4074 4074  
4075 - "agent": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Guid клиента владельца
4458 +== **Получение списка ретранслятора клиента** ==
4076 4076  
4460 +(% class="box infomessage" %)
4461 +(((
4462 +**POST /api/v3/retranslations/find**
4463 +)))
4464 +
4465 +Пример запроса:
4466 +
4467 +{  
4468 +"id": "", ~/~/ идентификатор пользователя   
4469 +"search": "string", ~/~/Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
4470 +"parentId": "" ~/~/ Идентификатор агента, для которого надо получить данные.
4077 4077  }
4078 4078  
4079 4079  Ответ:
4080 4080  
4081 - {
4475 +[ 
4476 +{    
4477 +"description": "", ~/~/ Определяет описание
4478 +"subscriberId": "", ~/~/ идентификатор запроса
4479 +"protocolType": 0, ~/~/ Тип протокола
4480 +"isEnabled": true, ~/~/ признак включения, Включен, true - включен, false - отключен  
4481 +"address": "string", ~/~/ Адрес события
4482 +"id": "", ~/~/ идентификатор пользователя   
4483 +"parentId": "", ~/~/ Guid идентификатор родителя
4484 +"deleted": true ~/~/ Признак удаления
4485 +}
4486 +]
4082 4082  
4083 - "date": "2024-03-14T13:14:26.212Z", ~/~/ Дата транзакции
4084 4084  
4085 - " driver ": "string", ~/~/ Имя водителя
4489 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Отчеты**(%%) =
4086 4086  
4087 - "amount": 0, ~/~/ Количество топлива
4491 +== **API для отчета по выгрузке комбайнов** ==
4088 4088  
4089 - "amountDut": 0, ~/~/ Количество топлива по ДУТ
4493 +(% class="box infomessage" %)
4494 +(((
4495 +POST **/api/v3/Reports/harvesterUnloading**
4496 +)))
4090 4090  
4091 - "amountDiff": 0, ~/~/ Разница в литрах
4498 +Пример запроса:
4092 4092  
4093 - "amountDiffPerc": 0, ~/~/ Разница в %
4500 +{
4501 + "byTime": 0, ~/~/ Объединение событий по времени
4502 + "byDist": 0, ~/~/ Объединение событий по расстоянию
4503 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения
4504 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра
4505 + "showNearestObjects": true, ~/~/Показывать объекты рядом?
4506 + "vehicleIds": [ ~/~/ Список id объектов для анализа
4507 + 0
4508 + ],
4509 + "from": "", ~/~/ Дата и время начало запроса
4510 + "to": "", ~/~/ Дата и время окончания запроса
4511 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
4512 +}
4094 4094  
4095 - "summa": 0, ~/~/  Стоимость в руб.
4514 +Пример ответа:
4096 4096  
4097 - "serviceName": "string", ~/~/ Тип топлива
4516 +[ 
4517 + {
4518 + "harvesterName": "", ~/~/Комбайн, номер
4519 + "harvesterId": 0, ~/~/Комбайн, id
4520 +"harvesterModel": "", ~/~/ Модель комбайна
4521 +"hopperCapacity": 0, ~/~/ Объем бункера м3
4522 + "hopperDischargeSpeed": 0, ~/~/ Скорость выгрузки из бункера, л/сек
4523 + "events": [ ~/~/Список событий в разрезе комбайна
4524 + {
4525 + "driverId": "", ~/~/Идентификатор водителя
4526 + "driverName": "", ~/~/Водитель комбайна, ФИО
4527 + "RFID": "", ~/~/ идентификатор карты-метки
4528 + "rfidName": "", ~/~/Водитель комбайна, имя метки
4529 + "vehicleId": 0, ~/~/идентификатор объекта
4530 + "vehicleName": "string", ~/~/ Имя объекта
4531 + "modelName": "string", ~/~/ Имя модели объекта
4532 + "nearestVehicles": [ ~/~/Объекты рядом
4533 + {
4534 + "vehicleId": 0, ~/~/идентификатор объекта
4535 + "vehicleName": "string" ~/~/ Имя объекта
4536 + }
4537 + ],
4538 + "fields": [ ~/~/Поля, где происходила выгрузка
4539 + {
4540 + "id": 0, ~/~/ идентификатор пользователя 
4541 + "name": "string" ~/~/ имя пользователя 
4542 + }
4543 + ],
4544 + "event": "string", ~/~/Событие
4545 + "start": "2024-07-19T06:41:57.821Z", ~/~/ Начало периода
4546 + "end": "2024-07-19T06:41:57.821Z", ~/~/ Окончание периода
4547 + "durationSeconds": 0, ~/~/Продолжительность события, в секундах
4548 + "cultureName": "string", ~/~/ название культуры
4549 + "bunkerLowLevelStart": 0, ~/~/Бункер, нижний уровень (на начало события)
4550 + "bunkerLowLevelEnd": 0, ~/~/ Бункер, нижний уровень (на конец события)
4551 + "bunkerHighLevelStart": 0, ~/~/Бункер, верхний уровень (на начало события)
4552 + "bunkerHighLevelEnd": 0, ~/~/Бункер, верхний уровень (на конец события)
4553 + "reapingAggregateValueStart": 0, ~/~/Жатка (на начало события)
4554 + "reapingAggregateValueEnd": 0, ~/~/Жатка (на конец события)
4555 + "issued": 0, ~/~/Выдано, бункеров
4556 + "issuedByBunkerSensors": 0, ~/~/Отдано бункеров (расчет по датчикам бункера)
4557 + "latitude": 0, ~/~/Широта
4558 + "longitude": 0, ~/~/ Долгота
4559 + "litresAway": 0, ~/~/Отдано, л
4560 + "m3Away": 0 ~/~/Отдано, м3
4561 + }
4562 + ]
4563 + }
4564 +]
4098 4098  
4099 - "price": 0, ~/~/ Цена за литр в руб.
4100 4100  
4101 - "cardName": "string", ~/~/ Наименование ТК
4567 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) =
4102 4102  
4103 - "cardNum": "string", ~/~/ Номер ТК
4569 +== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) ==
4104 4104  
4105 - "operator": "string", ~/~/ Оператор ТК
4106 4106  
4107 - "address": "string", ~/~/ Адрес АЗС
4572 +(% class="box infomessage" %)
4573 +(((
4574 +GET api/v3/Vehicles/recyclebin/all
4575 +)))
4108 4108  
4109 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/  Guid топливной карты
4577 +Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту
4110 4110  
4579 +Параметр запроса: {parentId} - идентификатор агента
4580 +
4581 +В заголовках запроса: X-Auth: Токен авторизации
4582 +
4583 +Ответ:
4584 +
4585 +[ 
4586 + {
4587 + "recordTime": "", ~/~/Время записи
4588 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину
4589 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину
4590 + "objectId": 0, ~/~/ID объекта, помещённого в корзину
4591 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину
4592 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
4593 + "details": { ~/~/Список деталей объекта, помещённого в корзину
4594 + "items": [ ~/~/ 
4595 +nullable: true ~/~/Детали
4596 + {
4597 + "name": "string", ~/~/наименование столбца
4598 + "value": "string" ~/~/содержание столбца
4599 + }
4600 + ]
4601 + },
4602 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
4603 + "string"
4604 + ]
4111 4111   }
4606 +]
4607 +
4608 +
4609 +(% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины**
4610 +
4611 +(% class="box infomessage" %)
4612 +(((
4613 +POST/api/v3/Vehicles/recyclebin/erase
4614 +)))
4615 +
4616 +В заголовках запроса: X-Auth: Токен авторизации
4617 +
4618 +Пример запроса:
4619 +
4620 +[
4621 +0
4622 +]
4112 4112  
4113 4113  
4625 +Пример ответа:
4626 +
4627 +[ 
4628 +{
4629 + "recordTime": "", ~/~/Время записи
4630 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину
4631 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину
4632 + "objectId": 0, ~/~/ID объекта, помещённого в корзин
4633 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину
4634 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
4635 + "details": { ~/~/Список деталей объекта, помещённого в корзину
4636 + "items": [ ~/~/Детали
4637 + {
4638 + "name": "", ~/~/Имя свойства
4639 + "value": "" ~/~/Значение свойства
4640 + }
4641 + ]
4642 + },
4643 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
4644 + ""
4645 + ]
4646 + }
4647 +]
4648 +
4649 +Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
4650 +
4651 +== (% style="color:#000000; font-size:16px" %)**Запрос на восстановление объектов из корзины**(%%) ==
4652 +
4653 +(% class="box infomessage" %)
4654 +(((
4655 +POST/api/v3/Vehicles/recyclebin/restore
4656 +)))
4657 +
4658 +В заголовках запроса: X-Auth: Токен авторизации
4659 +
4660 +Параметры в теле запроса (JSON):
4661 +
4662 +Восстанавливает объекты из корзины. Возвращает те объекты которые не получилось восстановить.
4663 +
4664 +В заголовках запроса: X-Auth: Токен авторизации
4665 +
4666 +
4667 +Пример запроса:
4668 +
4669 +(((
4670 +[
4671 +)))
4672 +
4673 +(((
4674 + 0
4675 +)))
4676 +
4677 +(((
4678 +]
4679 +)))
4680 +
4681 +
4682 +Пример ответа:
4683 +
4684 +[
4685 +{
4686 + "recordTime": "2024-07-19T07:58:19.305Z", ~/~/Время записи
4687 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid пользователя, добавившего объект в корзину
4688 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid агента объекта, помещённого в корзину
4689 + "objectId": 0, ~/~/ID объекта, помещённого в корзину
4690 + "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid объекта, помещённого в корзину
4691 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
4692 + "details": { ~/~/Список деталей объекта, помещённого в корзину
4693 + "items": [ ~/~/Детали
4694 + {
4695 + "name": "string", ~/~/Имя свойства
4696 + "value": "string" ~/~/Значение свойства
4697 + }
4698 + ]
4699 + },
4700 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
4701 + "string"
4702 + ]
4703 + }
4704 +]
4705 +
4706 +
4707 +
4114 4114  (% class="box" lang="en-US" style="text-align: center;" %)
4115 4115  (((
4116 4116  (% 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 г.