<
From version < 116.1 >
edited by Илья Крайнов
on 2023/11/20 18:01
To version < 249.1 >
edited by Андрей Калиновский
on 2025/07/03 16:28
>
Change comment: There is no comment for this version

Summary

Details

Icon Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.krainovim
1 +XWiki.Gadmin
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  
... ... @@ -14,11 +14,20 @@
14 14  
15 15  Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de.
16 16  
17 -(% style="color:#000000" %)− (%%)При **редактировании** необходимо передавать все параметры пользователя в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
34 +(% style="color:#000000" %)− (%%)При **редактировании** любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
18 18  
36 +
37 +(% style="color:#000000; font-size:16px" %)**Рекомендации**
38 +
39 +- Для запросов по API рекомендуется наделить пользователя ролью **Администратора партнера**, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период).
40 +
19 19  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Авторизация**(%%) =
20 20  
21 -== (% style="color:#000000; font-size:16px" %)**Авторизация**(%%) ==
43 +(% class="box warningmessage" id="H41043244243E44043843743044643844F" %)
44 +(((
45 +(% style="color:#000000; font-size:16px" %)**Авторизация**(%%)
46 +(% style="color:#000000; font-size:16px" %)Адрес сервера всегда следует указывать именно тот, по которому происходит вход в СМТ (https:~/~/hosting.glonasssoft.ru/ , [[https:~~/~~/regions.glonasssoft.ru/>>https://regions.glonasssoft.ru/]] или другие)
47 +)))
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" %)
73 + "AuthId": "(%%)93c6jg79-b88b-4a35-a2d0-70dg9jc2898b(% style="color:#000000" %)" , ~/~/ токен авторизации
74 + "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  
85 +(% class="wikigeneratedid" %)
86 +Также имеется возможность сквозной (/бесшовной) авторизации. Для этого к ссылке ( [[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}]])
87 +
63 63  == (% style="color:#000000; font-size:16px" %)**Проверка авторизации**(%%) ==
64 64  
65 65  (% class="box infomessage" %)
... ... @@ -98,29 +98,41 @@
98 98  Запрос должен содержать данные параметра "**agentId**"
99 99  
100 100  (% style="color:#000000" %)Ответ:
126 +
127 +(((
101 101  {
102 - "agentId": "",  (%%)
103 - "parentId": "",
104 - "parentName": "string",
105 - "name": "string",
106 - "fullName": "string",
107 - "agentInfoType": 0,
108 - "isForeign": true/false,
109 - "district": "string", 
110 - "region": "string",
111 - "city": "string",
112 - "inn": "string",
113 - "kpp": "string",
114 - "address": "string",
115 - "addressFact": "string",
116 - "email": "string",
117 - "director": "string",
118 - "bankName": "string",
119 - "bankBIK": "string",
120 - "bankRS": "string",
121 - "bankKS": "string"
122 - }
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 +)))
123 123  
160 +
124 124  |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
125 125  |(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 
126 126  |(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя
... ... @@ -173,7 +173,6 @@
173 173  {
174 174   "agentId": "",(% style="color:#000000" %)   (%%)
175 175   "parentId": "",
176 - "parentName": "string",
177 177   "name": "string",
178 178   "fullName": "string",
179 179   "agentInfoType": 0,
... ... @@ -184,7 +184,6 @@
184 184  |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
185 185  |(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 
186 186  |(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя
187 -|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя
188 188  |(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента
189 189  |(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента
190 190  |(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
... ... @@ -228,7 +228,6 @@
228 228   "bankKS": "string" ~/~/ корр. счёт
229 229  }
230 230  
231 -
232 232  Ответ:
233 233  
234 234  {
... ... @@ -356,6 +356,21 @@
356 356  
357 357  Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
358 358  
393 +== (% style="color:#000000; font-size:16px" %)**Смена статуса клиента (активация/блокировка)**(%%) ==
394 +
395 +(% class="box warningmessage" %)
396 +(((
397 +**PUT /api/v3/agents/{id}/changeStatus/{status}**
398 +)))
399 +
400 +Метод позволяет изменить статус клиента, указанного в запросе.
401 +
402 +В пути указывается GUID клиента и статус клиента.
403 +
404 +**status **- значение 0 - заблокирован, 1 - активен.
405 +
406 +Ответ: Code 204
407 +
359 359  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Пользователи**(%%) =
360 360  
361 361  == (% style="color:#000000; font-size:16px" %)**Добавление пользователя**(%%) ==
... ... @@ -405,9 +405,8 @@
405 405   [
406 406   "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ группы пользователя, перечисление названия клиентских ролей
407 407   ],
408 - "language": 0 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский
457 + "language": 1 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский
409 409  }
410 -
411 411  {
412 412   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
413 413   "lastName": "string",
... ... @@ -421,12 +421,8 @@
421 421  
422 422  (% style="text-align:left" %)
423 423  (% style="color:#000000; font-weight:normal" %)Ответ:
424 -
425 -(% style="text-align:left" %)
426 -(% style="color:#000000; font-weight:normal" %){    
427 -
428 -(% style="text-align:left" %)
429 -(% style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя
472 +{     
473 + "id": "" , ~/~/ ID пользователя
430 430   "lastName": "" , ~/~/ Фамилия ,
431 431   "firstName": "" , ~/~/ Имя
432 432   "position": "" , ~/~/ Должность
... ... @@ -443,11 +443,9 @@
443 443   "kind": "" , ~/~/ тип аутентификации
444 444   "target": "" , ~/~/ в случае аутентификации по email - email-адрес
445 445   "groups": (% style="color:#000000" %)["", ""] (% style="color:#000000; font-weight:normal" %), ~/~/ роли пользователя, перечислены названия групп пользователя
490 +}
446 446  
447 -(% style="text-align:left" %)
448 -(% style="color:#000000; font-weight:normal" %)}
449 449  
450 -
451 451  == (% style="color:#000000; font-size:16px" %)**Получение списка пользователей**(%%) ==
452 452  
453 453  (% class="box infomessage" %)
... ... @@ -467,19 +467,16 @@
467 467  
468 468  (% style="color:#000000" %)Параметры в теле запроса (JSON):
469 469  
470 -(% style="color:#000000" %){
471 -
512 +(% style="color:#000000" %){(%%)
472 472   "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", ~/~/ GUID агента, для которого надо получить данные, null - для текущего агента
473 473   "userId": "11111111-c384-43f8-8562-1c3d79a32303", ~/~/ ID пользователя, по которому фильтруется, null - неважно
474 474   "login": "qqqqqq", ~/~/ Логин пользователя, по которому фильтруется, null - неважно
475 475   "email": "eee", ~/~/ Email пользователя, по которому фильтруется, null - неважно
476 -
477 477  (% style="color:#000000" %)}
478 478  
479 479  (% style="color:#000000" %)Ответ:
480 480  
481 481  (% style="color:#000000" %){         (%%)
482 -
483 483   "id": "" , ~/~/ идентификатор пользователя
484 484   "lastName": "" , ~/~/ фамилия
485 485   "firstName": "" , ~/~/ имя
... ... @@ -493,7 +493,6 @@
493 493   "sessionDuration":"", ~/~/ длительность сессии в минутах
494 494   "status": "1",  ~/~/ статус пользователя
495 495   "lastLogged": "", ~/~/ дата/время последней авторизации
496 -
497 497  (% style="color:#000000" %)}
498 498  
499 499  == (% style="color:#000000; font-size:16px" %)**Получение информации о пользователе**(%%) ==
... ... @@ -567,10 +567,8 @@
567 567  (% lang="ru-RU" style="color:#000000; font-weight:normal" %)Параметры в теле запроса (JSON):
568 568  
569 569  (% lang="en-US" style="text-align:left" %)
570 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){  
571 -
572 -(% lang="en-US" style="text-align:left" %)
573 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 
608 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){   
609 + "id": "" , ~/~/ ID пользователя 
574 574   "lastName": "" , ~/~/ фамилия
575 575   "firstName": "" , ~/~/ имя
576 576   "position": "" , ~/~/ должность
... ... @@ -592,9 +592,7 @@
592 592   "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации
593 593   },
594 594   "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен
595 - "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя
596 -
597 -(% lang="en-US" style="text-align:left" %)
631 + "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя(%%)
598 598  (% lang="ru-RU" style="color:#000000; font-weight:normal" %)__}__
599 599  
600 600  (% lang="en-US" style="text-align:left" %)
... ... @@ -601,10 +601,8 @@
601 601  (% lang="ru-RU" style="color:#000000; font-weight:normal" %)//Ответ~://
602 602  
603 603  (% lang="en-US" style="text-align:left" %)
604 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){    
605 -
606 -(% lang="en-US" style="text-align:left" %)
607 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ идентификатор пользователя
638 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){     
639 + "id": "" , ~/~/ идентификатор пользователя
608 608   "lastName": "" , ~/~/ фамилия
609 609   "firstName": "" , ~/~/ имя
610 610   "position": "" , ~/~/ должность
... ... @@ -625,10 +625,8 @@
625 625   "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен
626 626   "target": "" , ~/~/ в случае аутентификации по email - email-адрес
627 627   "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя
660 +}
628 628  
629 -(% lang="en-US" style="text-align:left" %)
630 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)}
631 -
632 632  == (% style="color:#000000; font-size:16px" %)**Изменение статуса пользователя**(%%) ==
633 633  
634 634  (% class="box warningmessage" %)
... ... @@ -648,12 +648,10 @@
648 648  
649 649  (% style="color:#000000" %)Параметры в теле запроса (JSON):
650 650  
651 -(% style="color:#000000" %){
652 -
681 +(% style="color:#000000" %){(%%)
653 653   "status": "" , ~/~/ статус пользователя (0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован)
654 654   "description": "" , ~/~/ описание
655 655   "data": "" , ~/~/ данные, связанные со сменой статуса
656 -
657 657  (% style="color:#000000" %)}
658 658  
659 659  (% style="text-align:left" %)
... ... @@ -675,7 +675,7 @@
675 675  (% style="color:#000000" %)В теле запроса перечисляете массив id пользователей (JSON):
676 676  
677 677   [ 
678 - "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
706 + "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
679 679   "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
680 680   ]
681 681  
... ... @@ -738,6 +738,8 @@
738 738  (% style="text-align:left" %)
739 739  (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».**
740 740  
769 += =
770 +
741 741  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Модель объекта**(%%) =
742 742  
743 743  == (% style="color:#000000; font-size:16px" %)**Получение информации о модели объекта**(%%) ==
... ... @@ -849,7 +849,7 @@
849 849  {
850 850   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
851 851   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
852 - "deleted": true,
882 + "deleted": false,
853 853   "extId": "string",
854 854   "name": "string",
855 855   "picture": "string",
... ... @@ -868,7 +868,7 @@
868 868  {
869 869   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
870 870   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
871 - "deleted": true,
901 + "deleted": false,
872 872   "extId": "string",
873 873   "name": "string",
874 874   "picture": "string",
... ... @@ -902,7 +902,7 @@
902 902  (% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models**
903 903  )))
904 904  
905 -(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе.
935 +(% style="color:#000000" %)Метод позволяет изменить статус модели, указанного в запросе.
906 906  
907 907  (% style="color:#000000" %)Метод запроса: **PUT**
908 908  
... ... @@ -969,7 +969,7 @@
969 969  (% lang="en-US" %)**DELETE /api/v3/models/{Id}**
970 970  )))
971 971  
972 -(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса.
1002 +(% style="color:#000000" %)Метод позволяет удалить модели. Метод позволяет удалить модель, указанного в строке запроса.
973 973  
974 974  (% style="color:#000000" %)Метод запроса: **DELETE**
975 975  
... ... @@ -981,7 +981,7 @@
981 981  
982 982  Ответ: В случае успеха **Success 200**
983 983  
984 -= (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства**(%%) =
1014 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства (объекты)**(%%) =
985 985  
986 986  == (% style="color:#000000; font-size:16px" %)**Получение информации об объекте**(%%) ==
987 987  
... ... @@ -1010,6 +1010,17 @@
1010 1010  
1011 1011  (((
1012 1012  {
1043 +
1044 +(((
1045 + "showLineTrackWhenNoCoords": true,  ~/~/ Обозначать трек при отсутствии координат.
1046 + "IsSackEnabled": true, ~/~/ Определяет, должен ли внутренний сервер отвечать устройству сообщением SACK при получении сообщения от устройства
1047 +)))
1048 +
1049 +(((
1050 + ~/~/Используется только на ТС с типом устройства quecklink gv56, quecklink gv58, quecklink
1051 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC
1052 +)))
1053 +
1013 1013   "vehicleId": "", ~/~/ ID объекта
1014 1014   "name": "", ~/~/ Имя объекта
1015 1015   "imei": "", ~/~/ IMEI объекта
... ... @@ -1017,19 +1017,15 @@
1017 1017   "deviceTypeName": "", ~/~/ Название типа устройства
1018 1018   "sim1": "", ~/~/ Номер SIM1
1019 1019   "sim2": "", ~/~/ Номер SIM2
1020 -
1021 1021   "parentId": "", ~/~/ ID клиента-родителя
1022 1022   "parentName": "", ~/~/ Наименование клиента-родителя
1023 1023   "modelId": "", ~/~/ ID модели объекта
1024 1024   "modelName": "", ~/~/ Имя модели объекта
1025 -
1026 1026   "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1027 1027   "unitName": "string", ~/~/ Наименование подразделения
1028 1028   "status": 0, ~/~/ Статус объекта
1029 -
1030 1030   "createdAt": "", ~/~/ Дата создания объекта
1031 1031   },
1032 -
1033 1033  "customFields": [ ~/~/ Произвольные поля
1034 1034   {
1035 1035   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID поля
... ... @@ -1052,8 +1052,7 @@
1052 1052   "consumptionPerHourSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1053 1053   "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на  моточас
1054 1054   "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1055 - "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 
1056 -
1092 + "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х  
1057 1057   "mileageCalcMethod": 0, ~/~/ Метод расчета пробега, 0 - gps, 1 - датчик зажигания
1058 1058   "mileageCoeff": 0, ~/~/ коэффициент пробега
1059 1059   "locationByCellId": true, ~/~/ определение местоположения по данным LBS, true - активна, false - не активна
... ... @@ -1083,7 +1083,6 @@
1083 1083   "retries": 0 ~/~/ Количество попыток
1084 1084   }
1085 1085   ],
1086 -
1087 1087   "sensors": [ ~/~/ Датчики
1088 1088   {
1089 1089   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
... ... @@ -1110,6 +1110,7 @@
1110 1110   ],
1111 1111   "showInTooltip": true, ~/~/ Отображать в подсказке
1112 1112   "showLastValid": true, ~/~/ Отображать последнее валидное значение
1148 + "color": "string", ~/~/ Код цвета датчиков
1113 1113   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1114 1114   "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1115 1115   "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
... ... @@ -1124,31 +1124,19 @@
1124 1124   },
1125 1125  
1126 1126  ~/~/ Характерные для произвольного:
1127 -
1128 1128  ~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1129 -
1130 1130  ~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1131 -
1132 1132  ~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1133 -
1134 1134  ~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1135 -
1136 1136  ~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1137 -
1138 1138  ~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1139 -
1140 1140  ~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1141 -
1142 1142  ~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1143 -
1144 1144  ~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1145 -
1146 1146  ~/~/ "ValueOn": "Вкл.",
1147 -
1148 1148  ~/~/ "ValueOff": "Выкл."
1149 1149   "summaryMaxValue": 0 ~/~/ Макс. значение
1150 1150   }
1151 -
1152 1152   "drivers": [ ~/~/ Водители
1153 1153   {
1154 1154   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
... ... @@ -1157,7 +1157,6 @@
1157 1157   "isDefault": true ~/~/ По умолчанию
1158 1158   }
1159 1159   ],
1160 -
1161 1161   "inspectionTasks": [ ~/~/ Задания на тех. обслуживание
1162 1162   {
1163 1163   "id": "", ~/~/ ID  задания
... ... @@ -1174,19 +1174,27 @@
1174 1174   "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1175 1175   }
1176 1176   ],
1177 -
1178 - "statusHistory": [ ~/~/ История статусов
1200 +"statusHistory": [ ~/~/ История статусов
1179 1179   {
1180 1180   "status": 0,
1181 1181   "date": "2023-05-22T09:57:39.562Z",
1182 1182   "description": "string",
1183 1183   "additionalInfo": "string"
1184 - }
1185 - ]
1186 1186  
1207 +(((
1187 1187  }
1209 + ],
1210 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1211 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов.
1188 1188  )))
1189 1189  
1214 +(((
1215 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1216 +}
1217 +
1218 +)))
1219 +)))
1220 +
1190 1190  (% style="text-align:left" %)
1191 1191  Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже:
1192 1192  
... ... @@ -1193,6 +1193,75 @@
1193 1193  (% style="text-align:left" %)
1194 1194  0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется».
1195 1195  
1227 +
1228 +== **Отправить команду на терминал** ==
1229 +
1230 +(% class="box successmessage" %)
1231 +(((
1232 +(% lang="en-US" %)**POST **(%%)**/api/v3/Vehicles/cmd/create**
1233 +)))
1234 +
1235 +Команда для отправки на тс.
1236 +
1237 +{  
1238 +"id": "", ~/~/идентификатор объекта (он же идентификатор ТС: vehicleId)
1239 +"command": "", ~/~/ Текст отправляемой команды
1240 +"retries": "", ~/~/ Количество попыток отправки на терминал
1241 +"idTemplate": "" ~/~/ ID шаблона команды (при использовании ранее созданных шаблонов). 
1242 +}
1243 +
1244 +В ответ получаем cmdid
1245 +
1246 +
1247 +== **Получить ответ на отправленную на ТС команду** ==
1248 +
1249 +(% class="box infomessage" %)
1250 +(((
1251 +(% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer**
1252 +)))
1253 +
1254 +Идентификатор команды: cmdId
1255 +
1256 +Запрос от терминала на ответ команды
1257 +
1258 +Пример ответ от терминала:
1259 +
1260 +ID= "" ~/~/ идентификатор объекта
1261 +Soft="" ~/~/ версия софта
1262 +GPS=4 ~/~/ тип трекера
1263 +Time=11:05:43 28.06.24 ~/~/ время запроса
1264 +Lat=45.056221 ~/~/ широта
1265 +Lon=39.035938 ~/~/ долгота
1266 +Speed=0.0 ~/~/ скорость
1267 +Course=181.4 ~/~/направление
1268 +
1269 +(((
1270 +== **Список отправленных объекту команд с ответами** ==
1271 +
1272 +(% class="box infomessage" %)
1273 +(((
1274 +(% lang="en-US" %)**GET**(%%)**/api/v3/Vehicles/cmd/{vehicleId}/history**
1275 +)))
1276 +
1277 +Идентификатор ТС: vehicleId
1278 +
1279 +В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала.
1280 +
1281 +Пример ответа терминала
1282 +
1283 +[ 
1284 +{    
1285 +"id": "", ~/~/ идентификатор пользователя
1286 +"commandText": "", ~/~/Текст команды.
1287 +"templateId": "", ~/~/Идентификатор шаблона
1288 +"updated": "", ~/~/ Время отправки  
1289 +"tryCount": 0, ~/~/ Количество попыток отправки команды
1290 +"answer": "", ~/~/ Ответ терминала.
1291 +"status": "" ~/~/ Статус отправки
1292 +}
1293 +]
1294 +)))
1295 +
1196 1196  == (% style="color:#000000; font-size:16px" %)**Добавление объекта**(%%) ==
1197 1197  
1198 1198  (% class="box successmessage" %)
... ... @@ -1212,6 +1212,11 @@
1212 1212  
1213 1213  (% style="color:#000000" %){
1214 1214  
1315 +
1316 +(((
1317 + "vehicleId": 0, ~/~/ ID ТС
1318 +)))
1319 +
1215 1215   "parentId": "" , ~/~/ ID клиента
1216 1216   "name": "" , ~/~/ имя ТС
1217 1217   "imei": "" , ~/~/ IMEI
... ... @@ -1232,7 +1232,6 @@
1232 1232   "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1233 1233   "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1234 1234   "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1235 -
1236 1236   "mileageCalcMethod": 0,
1237 1237   "mileageCoeff": 0,
1238 1238   "locationByCellId": true,
... ... @@ -1265,7 +1265,6 @@
1265 1265   "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано)
1266 1266   "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1267 1267   }
1268 -
1269 1269  "drivers": [ ~/~/ Водители
1270 1270   {
1271 1271   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
... ... @@ -1280,8 +1280,7 @@
1280 1280   "retries": 0
1281 1281   }
1282 1282   ],
1283 -
1284 - "sensors": [ ~/~/ Датчики
1386 +"sensors": [ ~/~/ Датчики
1285 1285   {
1286 1286   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1287 1287   "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный
... ... @@ -1307,6 +1307,7 @@
1307 1307   ],
1308 1308   "showInTooltip": true, ~/~/ Отображать в подсказке
1309 1309   "showLastValid": true, ~/~/ Отображать последнее валидное значение
1412 + "color": "string", ~/~/ код цвета датчиков
1310 1310   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1311 1311   "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1312 1312   "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
... ... @@ -1319,103 +1319,222 @@
1319 1319   "additionalProp2": "string",
1320 1320   "additionalProp3": "string"
1321 1321   },
1322 -
1323 1323  ~/~/ Характерные для произвольного:
1324 -
1325 1325  ~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1326 -
1327 1327  ~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1328 -
1329 1329  ~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1330 -
1331 1331  ~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1332 -
1333 1333  ~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1334 -
1335 1335  ~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1336 -
1337 1337  ~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1338 -
1339 1339  ~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1340 -
1341 1341  ~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1342 -
1343 1343  ~/~/ "ValueOn": "Вкл.",
1344 -
1345 1345  ~/~/ "ValueOff": "Выкл."
1346 - "summaryMaxValue": 0 ~/~/ Макс. значение
1437 + "summaryMaxValue": 0 ~/~/ Определяет максимальное значение датчика в режиме накопления.
1438 +
1439 +(((
1440 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
1441 + {
1442 + "from": 0, ~/~/ С какого значения
1443 + "color": "string", ~/~/ Каким цветом
1444 + "text": "string" ~/~/ Текст подписи к этому интервалу
1445 + }
1446 + ]
1347 1347   }
1348 1348   ],
1449 +)))
1450 +
1451 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1452 +
1453 +
1349 1349   "customFields": [ ~/~/ Произвольные поля
1350 1350   {
1351 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1352 - "name": "string",
1353 - "value": "string",
1354 - "forClient": true,
1355 - "forTooltip": true,
1356 - "forReport": true
1357 - }
1358 - ]
1456 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ System.Guid идентификатор элемента сущности
1457 + "name": "string", ~/~/ Наименование произвольного поля
1458 + "value": "string", ~/~/ Значение произвольного поля
1459 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1460 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1461 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1462 +
1463 +(((
1464 + }
1465 + ],
1466 + "motohoursCalcMethod": 0 ~/~/  Вид расчета моточасов.
1467 +)))
1468 +
1469 +(((
1470 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1359 1359  }
1472 +)))
1360 1360  
1474 +
1361 1361  (% style="color:#000000" %)Ответ:
1362 1362  
1363 -(% style="color:#000000" %){
1364 1364  
1365 - "vehicleId": "", ~/~/ID ТС 
1366 - "parentId": "", ~/~/Guid владельца ТС
1367 - "name": "", ~/~/Имя объекта
1368 - "imei": "", ~/~/IMEI
1369 - "deviceTypeId": "", ~/~/ID типа устройства
1370 - "modelId": "", ~/~/ID модели
1371 - "unitId": "", ~/~/ID подразделения
1372 - "sim1": "", ~/~/SIM1
1373 - "sim2": "", ~/~/SIM2
1374 - "consumptionPer100Km": "", ~/~/Расход топлива на 100 км
1375 - "consumptionIdle": "", ~/~/Расход топлива на холостом ходу
1376 - "counters": { ~/~/Счётчики
1377 - "mileageEnabled": true,
1378 - "motohoursEnabled": true,
1379 - "mileage": "",
1380 - "motohours": 345.0
1381 - },
1382 - "cmsv6Parameters": { ~/~/Параметры CmsV6
1383 - "id": null,
1384 - "enabled": true, ~/~/флаг включения
1385 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
1386 - "login": "", ~/~/ имя учетной записи
1387 - "password": "" ~/~/ пароль учетной записи
1388 - },
1389 - "inspectionTasks": { ~/~/ задания на ТО
1390 - "id": "", ~/~/ ID задачи
1391 - "enabled": false, ~/~/ Признак включения
1392 - "name": "", ~/~/ Имя задания
1393 - "description": "", ~/~/ Описание задания
1394 - "mileageCondition": "", ~/~/ Условие по пробегу
1395 - "lastMileage": "", ~/~/ Пробег (в метрах)
1396 - "motohoursCondition": "", ~/~/ Условие по моточасам
1397 - "lastMotohours": "", ~/~/ Моточасы
1398 - "periodicCondition": "", ~/~/ Условие периодичности по времени
1399 - "kind": "", ~/~/ Вид периодичности по времени 
1400 - "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно)
1478 +(((
1479 +(((
1480 +(((
1481 +{
1482 + "vehicleId": 0,  ~/~/ ID ТС
1483 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС
1484 + "name": "string", ~/~/ Имя объекта
1485 + "imei": "string", ~/~/ IMEI
1486 + "deviceTypeId": 0, ~/~/ ID типа устройства
1487 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ ID модели
1488 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1489 + "sim1": "string", ~/~/ SIM1
1490 + "sim2": "string", ~/~/ SIM2
1491 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км
1492 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас
1493 + "consumptionIdle": 0,  ~/~/ Расход топлива на холостом ходу
1494 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км
1495 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас
1496 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу
1497 + "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км
1498 + "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км
1499 + "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1500 + "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1501 + "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1502 + "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1503 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor)
1504 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
1505 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
1506 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат.
1507 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат.
1508 + "counters": {  ~/~/ Dto для состояний счётчиков
1509 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег"
1510 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы"
1511 + "mileage": 0, ~/~/ Пробег
1512 + "motohours": 0 ~/~/ Моточасы
1513 + },
1514 + "cmsv6Parameters": { ~/~/ Dto для CMSv6
1515 + "id": "string", ~/~/ CMSV6 Идентификатор
1516 + "enabled": true, ~/~/ Признак включения
1517 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
1518 + "login": "string", ~/~/ CMSV6 имя учетной записи
1519 + "password": "string" ~/~/ CMSV6 — пароль учетной записи
1520 + },
1521 + "inspectionTasks": [ ~/~/ Dto для описания задачи на ТО
1522 + {
1523 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи
1524 + "enabled": true, ~/~/ Признак включения
1525 + "name": "string", ~/~/ Имя задания
1526 + "description": "string", ~/~/ Описание задания
1527 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах)
1528 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО
1529 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах)
1530 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО
1531 + "periodicCondition": 0, ~/~/ Условие периодичности по времени
1532 + "kind": 0, ~/~/ Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы)
1533 + "lastInspectionDate": "2024-10-30T08:11:35.622Z",  ~/~/  Дата последнего ТО
1534 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации
1401 1401   }
1536 + ],
1537 + "drivers": [ ~/~/ Список водителей. Определяет класс назначения водителя на объект.
1538 + {
1539 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта.
1540 + "inputNumber": 0, ~/~/ № входа.
1541 + "createTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени создания назначения.
1542 + "comment": "string", ~/~/ Комментарий
1543 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
1544 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
1545 + "beginTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени начала назначения.
1546 + "endTime": "2024-10-30T08:11:35.622Z" ~/~/ Момент времени окончания назначения.
1547 + }
1548 + ],
1549 + "commandTemplates": [  ~/~/ Список шаблонов команд
1550 + {
1551 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона
1552 + "name": "string", ~/~/ Название шаблона команд
1553 + "command": "string", ~/~/ Команда на выполнение
1554 + "retries": 0 ~/~/ Лимит попыток отправки
1555 + }
1556 + ],
1557 + "sensors": [ ~/~/ Список датчиков
1558 + {
1559 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1560 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite
1561 + "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
1562 + "name": "string",  ~/~/ Имя датчика
1563 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
1564 + "inputNumber": 0, ~/~/ Номер входа
1565 + "pseudonym": "string", ~/~/ Псевдоним
1566 + "medianDegree": 0, ~/~/ Степень медианной фильтрации
1567 + "isInverted": true, ~/~/  Признак инверсии
1568 + "disabled": true, ~/~/ Датчик не участвует в обработке
1569 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
1570 + "gradesTables": [ ~/~/ Тарировка
1571 + {
1572 + "grades": [ ~/~/ Таблицы тарировки
1573 + {
1574 + "input": 0, ~/~/ Вход
1575 + "output": 0 ~/~/ Выход
1576 + }
1577 + ],
1578 + "relevanceTime": "2024-10-30T08:11:35.622Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки
1579 + }
1580 + ],
1581 + "showInTooltip": true, ~/~/ Отображение в подсказке
1582 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1583 + "color": "string", ~/~/ код цвета датчиков
1584 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1585 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
1586 + "agrFunction": 0,  ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION
1587 + "expr": "string", ~/~/ Выражение
1588 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков
1589 + "string"
1590 + ],
1591 + "customParams": {
1592 + "additionalProp1": "string",
1593 + "additionalProp2": "string",
1594 + "additionalProp3": "string"
1595 + },
1596 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления.
1597 + "valueIntervals": [  ~/~/ Интервалы значений для подсветки в мониторинге
1598 + {
1599 + "from": 0, ~/~/ С какого значения
1600 + "color": "string", ~/~/ Каким цветом
1601 +)))
1402 1402  
1403 -(% style="text-align:left" %)
1404 -(% style="color:#000000" %)}
1603 +(((
1604 + "text": "string" ~/~/ Текст подписи к этому интервалу
1605 + }
1606 + ]
1607 + }
1608 + ],
1609 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1610 + "customFields": [ ~/~/ Список произвольных полей
1611 + {
1612 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
1613 + "name": "string", ~/~/ Наименование произвольного поля
1614 + "value": "string", ~/~/ Значение произвольного поля
1615 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1616 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1617 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1618 + }
1619 + ],
1620 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1621 +}
1622 +)))
1623 +)))
1624 +)))
1405 1405  
1626 +
1406 1406  **Валидация:**
1407 1407  - сезонный параметр может быть задан только если задана соответствующая обычная норма;
1408 1408  - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
1409 1409  - при задании сезонной нормы обязательны соответствующие даты начала/окончания.
1410 1410  
1411 -== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) ==
1412 1412  
1633 +== (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) ==
1634 +
1413 1413  (% class="box infomessage" %)
1414 1414  (((
1415 1415  (% lang="en-US" %)**POST /api/v3/vehicles/find**
1416 1416  )))
1417 1417  
1418 -(% style="color:#000000" %)Метод позволяет получить основные параметры объектов: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).
1640 +(% style="color:#000000" %)Метод позволяет получить список доступных объектов мониторинга (транспортных средств) с их основными параметрами: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).
1419 1419  
1420 1420  (% style="color:#000000" %)Метод возвращает информацию об объектах с учетом настроек авторизованного пользователя, указанного в запросе:
1421 1421  
... ... @@ -1449,9 +1449,12 @@
1449 1449   "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально)
1450 1450   "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально)
1451 1451   "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально)
1452 - "parentId": null, ~/~/ ID клиента (Guid, опционально)
1453 - "unitId": null, ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально)
1454 - "customFields": null ~/~/ значение любого из произвольных полей ТС
1674 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ ID подразделения (опционально)
1675 + "unitName": "string",  ~/~/ Название подразделения (опционально)
1676 + "customFields": "string", ~/~/ Поиск по содержимому произвольных полей ТС (опционально)
1677 + "vehicleGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID группы ТС (опционально)
1678 + "vehicleGroupName": "string", ~/~/ Название группы ТС (опционально)
1679 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор агента, для которого надо получить данные
1455 1455  }
1456 1456  
1457 1457  (% style="color:#000000" %)Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**.
... ... @@ -1458,8 +1458,14 @@
1458 1458  
1459 1459  (% style="color:#000000" %)Ответ:
1460 1460  
1461 -(% style="color:#000000" %){
1686 +(% style="color:#000000" %)[
1687 +{
1462 1462  
1689 +(((
1690 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC
1691 +)))
1692 +
1693 +(((
1463 1463  (% style="color:#000000" %) "vehicleId": "" ~/~/ идентификатор объекта
1464 1464   "name": "" ~/~/ наименование объекта
1465 1465   "imei": "" ~/~/ IMEI объекта
... ... @@ -1485,9 +1485,21 @@
1485 1485   "forClient": true, ~/~/ право на отображение у клиента
1486 1486   "forTooltip": false, ~/~/ право на отображение в подсказке
1487 1487   "forReport": false ~/~/ право на отображение в отчетах
1488 - }(%%)
1489 -(% style="color:#000000" %)}
1719 +)))
1490 1490  
1721 +(((
1722 + }
1723 + ],
1724 + "vehicleGroups": [  ~/~/ Группы ТС
1725 + {
1726 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
1727 + "name": "string" ~/~/ Наименование группы ТС
1728 + }
1729 + ]
1730 + }
1731 +]
1732 +)))
1733 +
1491 1491  (% style="color:#000000" %) Параметры «__**sim1**__» и «__**sim2**__» содержатся в ответе при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. Параметр «__**status**__» содержится в ответе при наличии у авторизованного пользователя права **«__Просмотр статуса объекта__»**.
1492 1492  
1493 1493  == (% style="color:#000000; font-size:16px" %)**Изменение статуса объекта**(%%) ==
... ... @@ -1519,13 +1519,11 @@
1519 1519   "data": "", ~/~/ Данные
1520 1520   "overwrite": false, ~/~/ Флаг перезаписи
1521 1521   "stage": "", ~/~/ Состояние, может быть null
1522 -
1523 1523  (% style="color:#000000" %)}
1524 1524  
1525 1525  (% style="color:#000000" %)Ответ:
1526 1526  
1527 -(% style="color:#000000" %){
1528 -
1769 +(% style="color:#000000" %){(%%)
1529 1529   "status": "", ~/~/ значение статуса
1530 1530   "date": "", ~/~/ Дата смены статуса 
1531 1531   "description": "", ~/~/ Описание
... ... @@ -1532,10 +1532,9 @@
1532 1532   "data": "", ~/~/ Данные
1533 1533   "overwrite": false, ~/~/ Флаг перезаписи
1534 1534   "stage": "", ~/~/ Состояние
1535 -
1536 -(% style="text-align:left" %)
1537 1537  (% style="color:#000000" %) }
1538 1538  
1778 +
1539 1539  == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) ==
1540 1540  
1541 1541  (% class="box warningmessage" %)
... ... @@ -1611,9 +1611,19 @@
1611 1611  
1612 1612  "drivers": [ ~/~/ Водители
1613 1613   {
1614 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1615 - "isDefault": true
1616 - }
1854 +
1855 +(((
1856 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор объекта.
1857 + "inputNumber": 0, ~/~/ № входа.
1858 + "createTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени создания назначения.
1859 + "comment": "string", ~/~/ Комментарий.
1860 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
1861 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
1862 + "beginTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени начала назначения.
1863 + "endTime": "2024-12-23T10:45:04.961Z" ~/~/ Момент времени окончания назначения.
1864 +)))
1865 +
1866 + } 
1617 1617   ],
1618 1618   "commandTemplates": [ ~/~/ Шаблон команды
1619 1619   {
... ... @@ -1623,8 +1623,7 @@
1623 1623   "retries": 0
1624 1624   }
1625 1625   ],
1626 -
1627 - "sensors": [ ~/~/ Датчики
1876 +"sensors": [ ~/~/ Датчики
1628 1628   {
1629 1629   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
1630 1630   "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный
... ... @@ -1650,6 +1650,11 @@
1650 1650   ],
1651 1651   "showInTooltip": true, ~/~/ Отображать в подсказке
1652 1652   "showLastValid": true, ~/~/ Отображать последнее валидное значение
1902 +
1903 +(((
1904 + "color": "string",** ~/~/ **Цвет датчика
1905 +)))
1906 +
1653 1653   "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
1654 1654   "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания
1655 1655   "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION
... ... @@ -1662,95 +1662,225 @@
1662 1662   "additionalProp2": "string",
1663 1663   "additionalProp3": "string"
1664 1664   },
1665 -
1666 1666  ~/~/ Характерные для произвольного:
1667 -
1668 1668  ~/~/  "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off
1669 -
1670 1670  ~/~/  "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы
1671 -
1672 1672  ~/~/  "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off
1673 -
1674 1674  ~/~/  "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний
1675 -
1676 1676  ~/~/  "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off
1677 -
1678 1678  ~/~/  "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off
1679 -
1680 1680  ~/~/  "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off
1681 -
1682 1682  ~/~/  "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область)
1683 -
1684 1684  ~/~/ Характерные для таблицы тарировки Вкл./Выкл.:
1685 -
1686 1686  ~/~/ "ValueOn": "Вкл.",
1687 -
1688 1688  ~/~/ "ValueOff": "Выкл."
1689 1689   "summaryMaxValue": 0 ~/~/ Макс. значение
1932 +
1933 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
1934 + {
1935 + "from": 0, ~/~/ С какого значения
1936 + "color": "string", ~/~/ Каким цветом
1937 + "text": "string" ~/~/ Текст подписи к этому интервалу
1938 + }
1939 + ]
1690 1690   }
1691 1691   ],
1942 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
1943 +
1692 1692   "customFields": [ ~/~/ Произвольные поля
1693 - {
1694 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1695 - "name": "string",
1696 - "value": "string",
1697 - "forClient": true,
1698 - "forTooltip": true,
1699 - "forReport": true
1945 + {     
1946 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ System.Guid идентификатор элемента сущности
1947 + "name": "string", ~/~/ Наименование произвольного поля
1948 + "value": "string", ~/~/ Значение произвольного поля
1949 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
1950 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
1951 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
1700 1700   }
1701 - ]
1953 +
1954 +(((
1955 + ],
1956 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
1957 +)))
1958 +
1702 1702  }
1703 1703  
1961 +
1704 1704  (% style="color:#000000" %)Ответ:
1705 1705  
1706 -(% lang="en-US" style="text-align:left" %)
1707 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){    
1964 +(((
1965 +{
1966 + "vehicleId": 0, ~/~/ ID ТС
1967 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 
1968 + "name": "string", ~/~/ Имя объекта
1969 + "imei": "string", ~/~/ IMEI
1970 + "deviceTypeId": 0, ~/~/ ID типа устройства
1971 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели
1972 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения
1973 + "sim1": "string", ~/~/ SIM1
1974 + "sim2": "string", ~/~/ SIM2
1975 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км
1976 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас
1977 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу
1978 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км
1979 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас
1980 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу
1981 + "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км
1982 + "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км
1983 + "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас
1984 + "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас
1985 + "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х
1986 + "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х
1987 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor
1988 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
1989 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
1990 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат.
1991 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат.
1992 + "counters": { ~/~/ состояний счётчиков
1993 + "mileageEnabled": true,  ~/~/ Флаг включения счётчика "Пробег"
1994 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы"
1995 + "mileage": 0, ~/~/ Пробег
1996 + "motohours": 0 ~/~/ Моточасы 
1997 + },
1998 + "cmsv6Parameters": { ~/~/ Dto для CMSv6
1999 + "id": "string", ~/~/ CMSV6 Идентификатор
2000 + "enabled": true, ~/~/ Признак включения
2001 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. 
2002 +)))
1708 1708  
1709 -(% lang="en-US" style="text-align:left" %)
1710 - "vehicleId": "", ~/~/ ID ТС
1711 - "parentId": "", ~/~/ ID клиента
1712 - "name": "", ~/~/ имя ТС
1713 - "imei": "", ~/~/ IMEI
1714 - "deviceTypeId": "", ~/~/ типа устройства
1715 - "modelId": "", ~/~/ ID модели
1716 - "unitId": "", ~/~/ ID подразделения
1717 - "sim1": "", ~/~/ SIM 1
1718 - "sim2": "", ~/~/ SIM2
1719 - "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км
1720 - "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу
1721 - "counters": 
1722 - {
1723 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег»
1724 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы»
1725 - "mileage": "", ~/~/ пробег
1726 - "motohours": "", ~/~/ моточасы
1727 - }
1728 - "cmsv6Parameters": ~/~/ параметры CMSv6
2004 +
2005 +(((
2006 +~/~/ Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
2007 + "login": "string", ~/~/ CMSV6 имя учетной записи
2008 + "password": "string" ~/~/ CMSV6 — пароль учетной записи
2009 + },
2010 + "inspectionTasks": [ ~/~/ Задания на ТО
2011 + {
2012 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи
2013 + "enabled": true, ~/~/ Признак включения
2014 + "name": "string", ~/~/ Имя задания
2015 + "description": "string", ~/~/ Описание задания
2016 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах)
2017 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО
2018 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах)
2019 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО
2020 + "periodicCondition": 0, ~/~/ Условие периодичности по времени
2021 + "kind": 0, ~/~/ Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы
2022 + "lastInspectionDate": "2024-10-30T10:31:17.196Z", ~/~/ Дата последнего ТО
2023 + "maxQuantity": 0  ~/~/ Условие по количеству записей для деактивации
2024 + }
2025 + ],
2026 + "drivers": [  ~/~/ Список водителей
2027 + {
2028 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта.
2029 + "inputNumber": 0, ~/~/ № входа.
2030 + "createTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени создания назначения.
2031 + "comment": "string", ~/~/ Комментарий.
2032 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения.
2033 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя.
2034 + "beginTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени начала назначения.
2035 + "endTime": "2024-10-30T10:31:17.196Z" ~/~/ Момент времени окончания назначения.
2036 + }
2037 + ],
2038 + "commandTemplates": [ ~/~/ Список шаблонов команд
2039 + {
2040 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона
2041 + "name": "string", ~/~/ Название шаблона команд
2042 + "command": "string", ~/~/ Команда на выполнение
2043 + "retries": 0 ~/~/ Лимит попыток отправки
2044 + }
2045 + ],
2046 + "sensors": [  ~/~/ Список датчиков 
2047 + {
2048 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика
2049 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite
2050 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition,
2051 +)))
2052 +
2053 +(((
2054 +~/~/ 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature,
2055 +)))
2056 +
2057 +(((
2058 +~/~/ 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp,
2059 +)))
2060 +
2061 +(((
2062 +~/~/ 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal,
2063 +)))
2064 +
2065 +(((
2066 +~/~/ 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel,
2067 +)))
2068 +
2069 +(((
2070 +~/~/ 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed
2071 + "name": "string", ~/~/ Имя датчика
2072 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse,
2073 +)))
2074 +
2075 +(((
2076 +~/~/ 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
2077 + "inputNumber": 0, ~/~/ Номер входа
2078 + "pseudonym": "string", ~/~/ Псевдоним
2079 + "medianDegree": 0, ~/~/ Степень медианной фильтрации
2080 + "isInverted": true, ~/~/ Признак инверсии
2081 + "disabled": true, ~/~/ Датчик не участвует в обработке
2082 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
2083 + "gradesTables": [ ~/~/ Тарировка
1729 1729   {
1730 - "id": ~/~/ идентификатор
1731 - "enabled": true, ~/~/ флаг включения
1732 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6
1733 - "login": "", ~/~/ имя учетной записи
1734 - "password": "", ~/~/ пароль учетной записи
1735 - }
1736 - "inspectionTasks": ~/~/ задания на ТО
1737 - {
1738 - "id": "", ~/~/ ID задания
1739 - "enabled": false, ~/~/ Признак включения
1740 - "name": "", ~/~/ Имя задания
1741 - "description": "", ~/~/ Описание задания
1742 - "mileageCondition": "", ~/~/ Условие по пробегу
1743 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО
1744 - "motohoursCondition": "", ~/~/ Условие по моточасам
1745 - "lastMotohours": "", ~/~/ Моточасы
1746 - "periodicCondition": "", ~/~/ Условие периодичности по времени
1747 - "kind": "", ~/~/ Вид периодичности по времени
1748 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание
2085 + "grades": [ ~/~/ Таблицы тарировки
2086 + {
2087 + "input": 0, ~/~/ Вход
2088 + "output": 0 ~/~/ Выход
2089 + }
2090 + ],
2091 + "relevanceTime": "2024-10-30T10:31:17.196Z"  ~/~/ Время, с которого наступает актуальность таблицы тарировки
1749 1749   }
2093 + ],
2094 + "showInTooltip": true, ~/~/ Отображение в подсказке
2095 + "showLastValid": true, ~/~/ Отображать последнее валидное значение
1750 1750  
1751 -(% lang="en-US" style="text-align:left" %)
1752 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)}
2097 +(((
2098 + "color": "string", ~/~/ цвет уведомлений
2099 +)))
1753 1753  
2101 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива
2102 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания
2103 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 
2104 + "expr": "string", ~/~/ Выражение
2105 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков
2106 + "string" 
2107 + ],
2108 + "customParams": { ~/~/ Дополнительные настройки
2109 + "additionalProp1": "string",
2110 + "additionalProp2": "string",
2111 + "additionalProp3": "string"
2112 + },
2113 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления.
2114 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге
2115 + {
2116 + "from": 0, ~/~/ С какого значения
2117 + "color": "string", ~/~/ Каким цветом
2118 + "text": "string" ~/~/ Текст подписи к этому интервалу
2119 + }
2120 + ]
2121 + }
2122 + ],
2123 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах
2124 + "customFields": [ ~/~/ Список произвольных полей
2125 + {
2126 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности
2127 + "name": "string", ~/~/ Наименование произвольного поля
2128 + "value": "string", ~/~/ Значение произвольного поля
2129 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента
2130 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
2131 + "forReport": true ~/~/ Отобразить произвольное поле в отчете
2132 + }
2133 + ],
2134 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor
2135 +}
2136 +)))
2137 +
1754 1754  **Валидация:**
1755 1755  - сезонный параметр может быть задан только если задана соответствующая обычная норма;
1756 1756  - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
... ... @@ -1789,18 +1789,15 @@
1789 1789  
1790 1790  (% style="color:#000000" %)Метод запроса: **GET**
1791 1791  
1792 -(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/users/api/v3/devices/types>>url:https://hosting.glonasssoft.ru/api/v3/users/api/v3/devices/types]]
2176 +(% style="color:#000000" %)URL запроса: (%%)[[https:~~/~~/hosting.glonasssoft.ru/api/v3/devices/types>>https://hosting.glonasssoft.ru/api/v3/devices/types]]
1793 1793  
1794 1794  (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
1795 1795  
1796 1796  (% style="color:#000000" %)Ответ:
1797 1797  
1798 -(% style="color:#000000" %){
1799 -
2182 +(% style="color:#000000" %){(%%)
1800 1800   "deviceTypeId" : "", ~/~/ ID типа устройства
1801 1801   "deviceTypeName" : "" ~/~/ Название типа устройства
1802 -
1803 -(% style="text-align:left" %)
1804 1804  (% style="color:#000000" %)}
1805 1805  
1806 1806  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Датчики**(%%) =
... ... @@ -1822,13 +1822,10 @@
1822 1822  
1823 1823  (% style="color:#000000" %)Ответ:
1824 1824  
1825 -(% style="color:#000000" %){
1826 -
2206 +(% style="color:#000000" %){(%%)
1827 1827   "id": "", ~/~/ ID типа датчика 
1828 1828   "name": "", ~/~/ Название
1829 1829   "description": "", ~/~/ Описание
1830 -
1831 -(% style="text-align:left" %)
1832 1832  (% style="color:#000000" %)}
1833 1833  
1834 1834  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Сообщения**(%%) =
... ... @@ -1872,6 +1872,56 @@
1872 1872   }
1873 1873  ]
1874 1874  
2253 +== (% style="color:#000000; font-size:16px" %)**Получить тип и номер входа сырого параметра **(%%) ==
2254 +
2255 +(% class="box infomessage" style="text-align: left;" %)
2256 +(((
2257 +**POST /api/v3/terminalMessages/mapping**
2258 +)))
2259 +
2260 +Запрос позволяет узнать тип и номер входа для сырого параметра, приходящего по указанному протоколу.
2261 +
2262 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/terminalMessages/mapping
2263 +
2264 +(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации
2265 +
2266 +{
2267 + "protocolType": 0,
2268 + "params": ["string"]
2269 +}
2270 +
2271 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2272 +|protocolType|ID типа протокола
2273 +|params|(((
2274 +Массив наименований параметров в сообщении
2275 +)))
2276 +
2277 +Ответ:
2278 +
2279 +{
2280 + "protocolType": 0,
2281 + "mapping": {
2282 + "additionalProp1": {
2283 + "inputType": 0,
2284 + "inputNumber": 0
2285 + },
2286 + "additionalProp2": {
2287 + "inputType": 0,
2288 + "inputNumber": 0
2289 + }
2290 + }
2291 +}
2292 +
2293 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2294 +|protocolType|Тип протокола
2295 +|inputType|Тип входа, 0 - Цифровой, 1 - Аналоговый, 2 - Импульсный, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Диагностический, 7 - 1-Wire, 8 - Частотный, 9 - BLE, 255 - Виртуальный
2296 +|inputNumber|(((
2297 +Номер входа
2298 +)))
2299 +
2300 +(% class="wikigeneratedid" %)
2301 +Перечень ID протоколов в статье - [[ID протоколов для получения типов и номеров входа сырого параметра.>>https://wiki.glonasssoft.ru/bin/view/API/ID%20%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D1%82%D0%B8%D0%BF%D0%B0%20%D0%B8%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%B0%20%D0%B2%D1%85%D0%BE%D0%B4%D0%B0%20%D1%81%D1%8B%D1%80%D0%BE%D0%B3%D0%BE%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0/]]
2302 +
1875 1875  == (% style="color:#000000; font-size:16px" %)**Запрос списка сообщений**(%%) ==
1876 1876  
1877 1877  (% class="box infomessage" %)
... ... @@ -1896,6 +1896,11 @@
1896 1896   "to": "2023-03-29T09:14:46.107Z" ~/~/ конец периода запроса
1897 1897  }
1898 1898  
2327 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2328 +|vehicleId|ID объекта
2329 +|from|Дата и время начала периода запроса
2330 +|to|Дата и время окончания периода запроса
2331 +
1899 1899  Ответ:
1900 1900  
1901 1901  [
... ... @@ -1902,25 +1902,43 @@
1902 1902   {
1903 1903   "messages": [
1904 1904   {
1905 - "deviceTime": "2023-03-29T09:14:46.125Z", ~/~/ Время устройства
1906 - "serverTime": "2023-03-29T09:14:46.125Z", ~/~/ Время сервера
1907 - "speed": 0, ~/~/ Скорость, км/ч
1908 - "altitude": 0, ~/~/ Высота, м
1909 - "latitude": 0, ~/~/ Широта [-90°;90°]
1910 - "longitude": 0, ~/~/ Долгота [-180°;180°]
1911 - "satellites": 0, ~/~/ Кол-во спутников
1912 - "voltage": 0, ~/~/ Напряжение
1913 - "parameters": { ~/~/ список параметров датчиков передаваемых терминалом
2338 + "deviceTime": "2023-11-29T07:40:44.052Z",
2339 + "serverTime": "2023-11-29T07:40:44.052Z",
2340 + "speed": 0,
2341 + "altitude": 0,
2342 + "latitude": 0,
2343 + "longitude": 0,
2344 + "satellites": 0,
2345 + "course": 0,
2346 + "voltage": 0,
2347 + "parameters": {
1914 1914   "additionalProp1": "string",
1915 1915   "additionalProp2": "string",
1916 1916   "additionalProp3": "string"
1917 1917   },
1918 - "photoCount": 0 ~/~/ Кол-во фото
2352 + "photoCount": 0,
2353 + "lbsCorrectedCoords": true,
2354 + "protocolType": 0
1919 1919   }
1920 1920   ]
1921 1921   }
1922 1922  ]
1923 1923  
2360 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
2361 +|deviceTime|Время сообщения терминала
2362 +|serverTime|Время когда сообщение поступило на сервер
2363 +|speed|Скорость
2364 +|altitude|Высота над уровнем моря
2365 +|latitude|Широта
2366 +|longitude|Долгота
2367 +|satellites|Кол-во спутников
2368 +|course|Курс
2369 +|voltage|Бортовое напряжение
2370 +|parameters|Список параметров и их значений
2371 +|photoCount|Количество фото
2372 +|lbsCorrectedCoords|Признак того, что координаты были скорректированы по LBS, true - скорректированы, false - не скорректированы
2373 +|protocolType|ID типа протокола
2374 +
1924 1924  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос данных об объекте за период**(%%) =
1925 1925  
1926 1926  == (% style="color:#000000; font-size:16px" %)**Получение данных о пробеге и моточасах транспортного средства**(%%) ==
... ... @@ -1957,10 +1957,14 @@
1957 1957   {
1958 1958   "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 
1959 1959   "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 
1960 - "mileageBegin": 0, ~/~/ Пробег на начало периода
1961 - "mileageEnd": 0, ~/~/ Пробег на окончание периода
1962 - "motohoursBegin": 0, ~/~/ Моточасы на начало периода
1963 - "motohoursEnd": 0 ~/~/ Моточасы на окончание периода
2411 + "mileage": 0, ~/~/ Пробег за период, километры
2412 + "mileageBegin": 0, ~/~/ Пробег на начало периода, километры 
2413 + "mileageEnd": 0, ~/~/ Пробег на окончание периода, километры
2414 + "motohours": 0, ~/~/ Моточасы за период, секунды
2415 + "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды
2416 + "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды
2417 + "idlingTime": 0 ~/~/  Холостой ход за период, секунд
2418 +
1964 1964   }
1965 1965   ]
1966 1966   }
... ... @@ -2002,13 +2002,23 @@
2002 2002   "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 
2003 2003   "fuelLevelStart": 0, ~/~/ Уровень топлива на начало периода
2004 2004   "fuelLevelEnd": 0, ~/~/ Уровень топлива на конец периода
2460 + "fuelTankLevelStart": 0, ~/~/ Уровень топлива в цистерне на начало периода
2461 + "fuelTankLevelEnd": 0, ~/~/ Уровень топлива в цистерне на конец периода
2005 2005   "fuelConsumption": 0, ~/~/ Расход топлива
2006 2006   "fuelConsumptionMove": 0 ~/~/ Расход топлива в движении
2464 + "fuelConsumptionFactTank": 0 ~/~/ Фактический расход топлива в цистерне
2465 +
2007 2007   }
2008 2008   ]
2009 2009   }
2010 2010  ]
2011 2011  
2471 +(% class="box warningmessage" %)
2472 +(((
2473 +Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"".
2474 +\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling".
2475 +)))
2476 +
2012 2012  == (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) ==
2013 2013  
2014 2014  (% class="box infomessage" %)
... ... @@ -2043,7 +2043,8 @@
2043 2043   "model": "string", ~/~/ Модель объекта
2044 2044   "fuels": [ ~/~/ Массив данным по заправкам и сливам
2045 2045   {
2046 - "event": 0, ~/~/ Тип события 20 - TankFuelIn - заправка, 21 - TankFuelOut - слив
2511 + "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
2512 +
2047 2047   "startDate": "2023-08-09T14:27:44.773Z", ~/~/ Начало
2048 2048   "endDate": "2023-08-09T14:27:44.773Z", ~/~/ Окончание
2049 2049   "valueFuel": 0, ~/~/ Количество
... ... @@ -2054,6 +2054,120 @@
2054 2054   }
2055 2055  ]
2056 2056  
2523 +
2524 +== (% style="color:#000000; font-size:16px" %)**Получение данных по событиям движения и стоянок у объектов**(%%) ==
2525 +
2526 +(% class="box infomessage" %)
2527 +(((
2528 +**POST /api/v3/vehicles/moveStop**
2529 +)))
2530 +
2531 +Метод запроса: **POST**
2532 +
2533 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/moveStop
2534 +
2535 +В заголовках запроса: X-Auth: Токен авторизации
2536 +
2537 +
2538 +Тело запроса:
2539 +
2540 +{
2541 + "vehicleIds": [ ], ~/~/ Список ID объектов
2542 + "from": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время начало запроса
2543 + "to": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время окончания запроса
2544 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
2545 +}
2546 +
2547 +Ответ:
2548 +
2549 +[ 
2550 + {
2551 + "vehicleId": 0, ~/~/ ID объекта
2552 + "vehicleName": "string", ~/~/ Имя объекта
2553 + "moves": [ ~/~/ Событие движения
2554 + {
2555 + "mileage": 0, ~/~/ Пробег, км
2556 + "eventId": 0, ~/~/ Идентификатор события
2557 + "eventName": "string", ~/~/ Название события
2558 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события
2559 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события
2560 + "duration": 0 ~/~/ Продолжительность события, секунд
2561 + }
2562 + ],
2563 + "stops": [ ~/~/ События стоянок
2564 + {
2565 + "address": "[Street] [House] [City] [State] [Country] [Coordinates]", ~/~/ Адрес события Улица, Дом, Город, Регион, Страна, Координаты
2566 + "eventId": 0, ~/~/ Идентификатор события
2567 + "eventName": "string", ~/~/ Название события
2568 + "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события
2569 + "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события
2570 + "duration": 0 ~/~/ Продолжительность события, секунд
2571 + }
2572 + ]
2573 + }
2574 +]
2575 +
2576 +
2577 +== (% style="color:#000000; font-size:16px" %)**Получение последних данных объекта**(%%) ==
2578 +
2579 +(% class="box infomessage" %)
2580 +(((
2581 +**POST /api/v3/vehicles/getlastdata**
2582 +)))
2583 +
2584 +Метод запроса: **POST**
2585 +
2586 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/vehicles/getlastdata
2587 +
2588 +В заголовках запроса: X-Auth: Токен авторизации
2589 +
2590 +
2591 +В массиве указываем id объектов через запятую
2592 +
2593 +Ответ:
2594 +
2595 +[
2596 + {
2597 + "vehicleId": 55728, ~/~/ Идентификатор объекта 
2598 + "vehicleGuid": "fa9c0357-9b9f-44b9-a89c-20a2cb80a9ad", ~/~/ Guid объекта 
2599 + "vehicleNumber": "0105 КМ", ~/~/ Номер объекта 
2600 + "receiveTime": "2025-06-27T12:37:46.7782735Z", ~/~/ Время и дата поступления данных 
2601 + "recordTime": "2025-06-27T12:37:19Z", ~/~/ Время и дата формирование данных 
2602 + "state": 4, ~/~/ Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4.
2603 + "speed": 31, ~/~/ Скорость объекта 
2604 + "course": 116, ~/~/ Курс движения [0;360]
2605 + "latitude": 45.722128, ~/~/ Широта [-90°;90°].
2606 + "longitude": 39.800432, ~/~/ Долгота [-180°;180°].
2607 + "address": "\" Краснодарский край Россия 45,722128°, 39,800432°\"", ~/~/ Адрес 
2608 + "geozones": [ ~/~/ Сведения по геозонам. 
2609 + {
2610 + "id": 10225647, ~/~/ ID Геозоны 
2611 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 
2612 + },
2613 + {
2614 + "id": 10282875, ~/~/ ID Геозоны 
2615 + "name": "Ё2" ~/~/ Наименование геозоны 
2616 + },
2617 + {
2618 + "id": 10226240, ~/~/ ID Геозоны 
2619 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 
2620 + },
2621 + {
2622 + "id": 9747869, ~/~/ ID Геозоны 
2623 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 
2624 + },
2625 + {
2626 + "id": 10221123, ~/~/ ID Геозоны 
2627 + "name": "53r" ~/~/ Наименование геозоны 
2628 + },
2629 + {
2630 + "id": 10197638, ~/~/ ID Геозоны 
2631 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 
2632 + }
2633 + ]
2634 + }
2635 +
2636 +
2057 2057  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) =
2058 2058  
2059 2059  == (% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) ==
... ... @@ -2182,6 +2182,35 @@
2182 2182   }
2183 2183  ]
2184 2184  
2765 +
2766 +== (% style="color:#000000; font-size:16px" %)**Обновить информацию по геозоне**(%%) ==
2767 +
2768 +(% class="box successmessage" %)
2769 +(((
2770 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**PUT **(%%)**/api/v3/gis**
2771 +)))
2772 +
2773 +(% style="color:#000000" %)Метод запроса: **PUT**
2774 +
2775 +Пример запроса:
2776 +
2777 +(((
2778 +{
2779 + "id": 0,  ~/~/ Идентификатор объекта геозоны
2780 + "name": "string",  ~/~/ Наименование объекта геозоны
2781 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Подразделение
2782 + "description": "string", ~/~/ Описание объекта геозоны
2783 + "beginCalc": "2025-04-24T12:10:28.751Z",  ~/~/ Дата начала расчетов для геозоны
2784 + "endCalc": "2025-04-24T12:10:28.751Z",  ~/~/ Дата окончания расчетов для геозоны
2785 + "settingsData": "string"  ~/~/ Параметры отображения в формате XML.
2786 +}
2787 +)))
2788 +
2789 +
2790 +Пример ответа:
2791 +
2792 +200 ~/~/ Success
2793 +
2185 2185  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) =
2186 2186  
2187 2187  == (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) ==
... ... @@ -2213,7 +2213,7 @@
2213 2213   "id": 0, ~/~/ ID уведомления
2214 2214   "name": "string", ~/~/ Название уведомления
2215 2215   "active": true, ~/~/ Состояние true - активен, false - деактивирован
2216 - "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО
2825 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя) 
2217 2217   "userId": "", ~/~/ Пользователь, создавший уведомление
2218 2218   "parentId": "", ~/~/ Идентификатор клиента
2219 2219   "parentName": "string" ~/~/ Имя клиента
... ... @@ -2220,6 +2220,155 @@
2220 2220   }
2221 2221  ]
2222 2222  
2832 +
2833 +== (% style="color:#000000; font-size:16px" %)**Создание уведомления**(%%) ==
2834 +
2835 +(% class="box infomessage" %)
2836 +(((
2837 +**POST /api/v3/notifications**
2838 +)))
2839 +
2840 +Метод запроса **POST**
2841 +
2842 +(% style="text-align: left;" %)
2843 +(% style="color:#000000" %)Пример запроса
2844 +
2845 +(((
2846 +{
2847 + "id": 0, ~/~/ ID правила
2848 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя
2849 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило
2850 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
2851 + "name": "string", ~/~/ Имя правила
2852 + "active": true, ~/~/ Активность правила
2853 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто
2854 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа.
2855 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 
2856 + ],
2857 + "vehicleIds": [ ~/~/ Список объектов для анализа.
2858 + 0
2859 + ],
2860 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам.
2861 + 0
2862 + ],
2863 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам.
2864 + 0
2865 + ],
2866 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений.
2867 + "additionalProp1": "string",  
2868 + "additionalProp2": "string",
2869 + "additionalProp3": "string"
2870 + },
2871 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы"
2872 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила
2873 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
2874 + ],
2875 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям"
2876 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений
2877 + "string"
2878 + ],
2879 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram
2880 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram.
2881 + {
2882 + "id": 0, ~/~/ Идентификатор участника чата.
2883 + "info": "string" ~/~/ Дополнительные сведения.
2884 + }
2885 + ],
2886 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение
2887 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы
2888 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений.
2889 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 
2890 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени)
2891 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC)
2892 + "timezone": 0, ~/~/ часовой пояс 
2893 + "validity": 0, ~/~/ Срок действия в днях (1-90).
2894 + "autoProlongation": true, ~/~/ Автопродление срока действия.
2895 + "templates": [ ~/~/  Переопределения шаблонов уведомлений.
2896 + {
2897 + "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 - Срок действия правила истек
2898 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа.
2899 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка.
2900 + "additionalProp1": "string",
2901 + "additionalProp2": "string",
2902 + "additionalProp3": "string"
2903 + }
2904 + }
2905 + ]
2906 +}
2907 +)))
2908 +
2909 +(((
2910 +
2911 +)))
2912 +
2913 +(((
2914 +
2915 +)))
2916 +
2917 +Ответ:
2918 +
2919 +{
2920 + "id": 0, ~/~/ ID правила
2921 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя
2922 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило
2923 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
2924 + "name": "string", ~/~/ Имя правила
2925 + "active": true, ~/~/ Активность правила
2926 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто
2927 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа.
2928 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 
2929 + ],
2930 + "vehicleIds": [ ~/~/ Список объектов для анализа.
2931 + 0
2932 + ],
2933 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам.
2934 + 0
2935 + ],
2936 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам.
2937 + 0
2938 + ],
2939 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений.
2940 + "additionalProp1": "string",  
2941 + "additionalProp2": "string",
2942 + "additionalProp3": "string"
2943 + },
2944 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы"
2945 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила
2946 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
2947 + ],
2948 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям"
2949 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений
2950 + "string"
2951 + ],
2952 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram
2953 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram.
2954 + {
2955 + "id": 0, ~/~/ Идентификатор участника чата.
2956 + "info": "string" ~/~/ Дополнительные сведения.
2957 + }
2958 + ],
2959 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение
2960 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы
2961 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений.
2962 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 
2963 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени)
2964 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC)
2965 + "timezone": 0, ~/~/ часовой пояс 
2966 + "validity": 0, ~/~/ Срок действия в днях (1-90).
2967 + "autoProlongation": true, ~/~/ Автопродление срока действия.
2968 + "templates": [ ~/~/  Переопределения шаблонов уведомлений.
2969 + {
2970 + "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 - Срок действия правила истек
2971 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа.
2972 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка.
2973 + "additionalProp1": "string",
2974 + "additionalProp2": "string",
2975 + "additionalProp3": "string"
2976 + }
2977 + }
2978 + ]
2979 +}
2980 +
2223 2223  == (% style="color:#000000; font-size:16px" %)**Запрос настроек уведомления**(%%) ==
2224 2224  
2225 2225  (% class="box infomessage" %)
... ... @@ -2361,6 +2361,32 @@
2361 2361  
2362 2362  Success
2363 2363  
3122 +
3123 +== (% style="color:#000000; font-size:16px" %)**Автоматическое продление уведомлений **(%%) ==
3124 +
3125 +(% class="box warningmessage" %)
3126 +(((
3127 +**PUT** /api/v3/notifications/prolongation
3128 +)))
3129 +
3130 +Метод позволяет продлить уведомления.
3131 +
3132 +Метод запроса **PUT**
3133 +
3134 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/prolongation
3135 +
3136 +В заголовках запроса: X-Auth: Токен авторизации.
3137 +
3138 +Тело запроса:
3139 +
3140 +[
3141 +
3142 +0
3143 +
3144 +]
3145 +
3146 +где 0 идентификатор ids.
3147 +
2364 2364  == (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) ==
2365 2365  
2366 2366  (% class="box errormessage" %)
... ... @@ -3050,13 +3050,19 @@
3050 3050   {
3051 3051   "name": "string",
3052 3052   "number": 0,
3053 - "period": 0, ~/~/ Частота трансляции радиометки
3837 + "period": 0,
3054 3054   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3055 3055   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3056 - "deleted": true
3057 3057   }
3058 3058  ]
3059 3059  
3843 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3844 +|parentId|ID клиента
3845 +|name|Название карты-метки
3846 +|number|Номер
3847 +|period|Период запросов в секундах (работает только для агрегатов)
3848 +|id|ID карты-метки
3849 +
3060 3060  == (% style="color:#000000; font-size:16px" %)**Получить данные карты-метки**(%%) ==
3061 3061  
3062 3062  (% class="box infomessage" %)
... ... @@ -3072,13 +3072,19 @@
3072 3072   {
3073 3073   "name": "string",
3074 3074   "number": 0,
3075 - "period": 0, ~/~/ Частота трансляции радиометки
3865 + "period": 0,
3076 3076   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3077 3077   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3078 - "deleted": true
3079 3079   }
3080 3080  ]
3081 3081  
3871 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3872 +|name|Название карты-метки
3873 +|number|Номер
3874 +|period|Период запросов в секундах (работает только для агрегатов)
3875 +|id|ID карты-метки
3876 +|parentId|ID клиента
3877 +
3082 3082  == (% style="color:#000000; font-size:16px" %)**Добавить карту-метку**(%%) ==
3083 3083  
3084 3084  (% class="box successmessage" %)
... ... @@ -3093,7 +3093,6 @@
3093 3093   "number": 0,
3094 3094   "period": 0,
3095 3095   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3096 - "deleted": true
3097 3097  }
3098 3098  
3099 3099  Ответ:
... ... @@ -3104,9 +3104,15 @@
3104 3104   "period": 0,
3105 3105   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3106 3106   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3107 - "deleted": true
3108 3108  }
3109 3109  
3904 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3905 +|name|Название карты-метки
3906 +|number|Номер
3907 +|period|Период запросов в секундах (работает только для агрегатов)
3908 +|id|ID карты-метки
3909 +|parentId|ID клиента
3910 +
3110 3110  == (% style="color:#000000; font-size:16px" %)**Редактировать карту-метку**(%%) ==
3111 3111  
3112 3112  (% class="box warningmessage" %)
... ... @@ -3122,7 +3122,6 @@
3122 3122   "period": 0,
3123 3123   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3124 3124   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3125 - "deleted": true
3126 3126  }
3127 3127  
3128 3128  Ответ:
... ... @@ -3133,9 +3133,15 @@
3133 3133   "period": 0,
3134 3134   "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3135 3135   "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3136 - "deleted": true
3137 3137  }
3138 3138  
3938 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3939 +|name|Название карты-метки
3940 +|number|Номер
3941 +|period|Период запросов в секундах (работает только для агрегатов)
3942 +|id|ID карты-метки
3943 +|parentId|ID клиента
3944 +
3139 3139  == (% style="color:#000000; font-size:16px" %)**Удалить карту-метку**(%%) ==
3140 3140  
3141 3141  (% class="box errormessage" %)
... ... @@ -3384,19 +3384,83 @@
3384 3384  **PUT /api/v3/Billing/client/balance**
3385 3385  )))
3386 3386  
4193 +Устанавливает указанное значение баланса не создавая операции пополнение/снятие.
4194 +
3387 3387  Тело запроса:
3388 3388  
3389 3389  {
3390 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3391 - "Balance": 0
4198 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4199 + "Balance": 0 ~/~/ Значение баланса.
3392 3392  }
3393 3393  
3394 3394  Ответ: Success
3395 3395  
3396 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3397 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента
3398 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса
4204 +== (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) ==
3399 3399  
4206 +(% class="box warningmessage" %)
4207 +(((
4208 +**PUT /api/v3/billing/client/balance/deposit**
4209 +)))
4210 +
4211 +Создает операцию **Пополнение **с указанной суммой
4212 +
4213 +Тело запроса:
4214 +
4215 +(((
4216 +{
4217 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4218 + "amount": 0 ~/~/ Сумма пополнения баланса 
4219 +}
4220 +)))
4221 +
4222 +(((
4223 +
4224 +)))
4225 +
4226 +Ответ: Success
4227 +
4228 +(((
4229 +{
4230 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки.
4231 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4232 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя.
4233 + "Moment": "2025-06-10T12:15:19.076Z", ~/~/ Время корректировки.
4234 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс.
4235 + "Description": "string" ~/~/ Описание корректировки.
4236 +}
4237 +)))
4238 +
4239 +== (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) ==
4240 +
4241 +Создает операцию **Списание **с указанной суммой
4242 +
4243 +(% class="box warningmessage" %)
4244 +(((
4245 +**PUT /api/v3/billing/client/balance/withdraw**
4246 +)))
4247 +
4248 +Тело запроса:
4249 +
4250 +(((
4251 +{
4252 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4253 + "amount": 0 ~/~/ Сумма списания с баланса
4254 +}
4255 +)))
4256 +
4257 +Ответ: Success
4258 +
4259 +(((
4260 +{
4261 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки.
4262 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4263 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя.
4264 + "Moment": "2025-06-10T12:21:05.149Z", ~/~/ Время корректировки.
4265 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс.
4266 + "Description": "string" ~/~/ Описание корректировки
4267 +}
4268 +)))
4269 +
3400 3400  == (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) ==
3401 3401  
3402 3402  (% class="box warningmessage" %)
... ... @@ -3406,28 +3406,35 @@
3406 3406  
3407 3407  Тело запроса:
3408 3408  
4279 +(((
3409 3409  {
3410 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3411 - "CalculationType": 0,
3412 - "PermissibleBalance": 0,
3413 - "DefermentDays": 0,
3414 - "SendUiNotifications": true,
3415 - "SendEmailNotifications": true,
3416 - "IsPrivate": true,
4281 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4282 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни
4283 + "PermissibleBalance": 0, ~/~/ Допустимый баланс
4284 + "DefermentDays": 0, ~/~/ Отсрочка (дни).
4285 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено
4286 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено
3417 3417  }
4288 +)))
3418 3418  
4290 +(((
4291 +
4292 +)))
4293 +
3419 3419  Ответ: Success
3420 3420  
3421 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3422 -|ClientId|Идентификатор клиента
3423 -|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни
3424 -|PermissibleBalance|Допустимый баланс
3425 -|DefermentDays|(((
3426 -Отсрочка, количество дней
4296 +(((
4297 +{
4298 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом
4299 + "BlockingTime": "2025-06-10T12:23:28.754Z", ~/~/ Время, когда заблокируется клиент.
4300 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4301 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни
4302 + "PermissibleBalance": 0, ~/~/ Допустимый баланс.
4303 + "DefermentDays": 0, ~/~/ Отсрочка (дни)
4304 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено
4305 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено
4306 +}
3427 3427  )))
3428 -|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено
3429 -|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено
3430 -|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом
3431 3431  
3432 3432  == (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) ==
3433 3433  
... ... @@ -3439,38 +3439,296 @@
3439 3439  Тело запроса:
3440 3440  
3441 3441  {
3442 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3443 - "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3444 - "Features": [
4319 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор клиента.
4320 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана.
4321 + "Features": [ ~/~/ Набор услуг по тарифу клиента.
3445 3445   {
3446 - "Feature": "string",
3447 - "IsEnabled": true,
3448 - "IsFactual": true,
3449 - "Limit": 0,
3450 - "Price": 0,
3451 - "DebitDate": "2023-10-18T13:26:58.987Z",
3452 - "PeriodValue": 0,
3453 - "PeriodType": 0
4323 + "Feature": "string", ~/~/ Код услуги.
4324 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга.
4325 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту.
4326 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование
4327 + "Price": 0, ~/~/ Цена за единицу.
4328 + "DebitDate": "2023-10-18T13:26:58.987Z", ~/~/ Следующий момент времени списания с баланса за услугу.
4329 + "PeriodValue": 0, ~/~/ Значение периода.
4330 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане ( 0 - Дни, 1 - Месяцы)
3454 3454   }
3455 3455   ]
3456 3456  }
3457 3457  
4335 +
3458 3458  Ответ: Success
3459 3459  
3460 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
3461 -|ClientId|Идентификатор клиента
3462 -|PlanId|Идентификатор тарифного плана
3463 -|Feature|Код услуги
3464 -|IsEnabled|Признак, определяющий активирована ли услуга
3465 -|IsFactual|Признак, определяющий расчёт по факту
3466 -|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
3467 -|Price|Цена за единицу.
3468 -|DebitDate|Следующий момент времени списания с баланса за услугу.
3469 -|PeriodValue|Значение периода.
3470 -|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы
4338 +(((
4339 +{
4340 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента.
4341 + "Plan": { ~/~/ Определяет тарифный план (шаблон услуг)
4342 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана.
4343 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента-владельца.
4344 + "Name": "string", ~/~/ Наименование.
4345 + "IsArchived": true, ~/~/ Признак, определяющий архивный тарифный план.
4346 + "Constraint": { ~/~/ Ограничения по тарифу 
4347 + "CalculationType": 0, ~/~/ Определяет тип расчёта (0 - деньги, 1 - дни) 
4348 + "PermissibleBalance": 0, ~/~/ Допустимый баланс.
4349 + "DefermentDays": 0 ~/~/ Отсрочка (дни)
4350 + },
4351 + "Features": [ ~/~/ Набор услуг по тарифному плану.
4352 + {
4353 + "Feature": "string", ~/~/Код услуги.
4354 + "IsFactual": true, ~/~/ Признак, определяющий возможность расчёта по факту.
4355 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
4356 + "Price": 0, ~/~/ Цена за единицу.
4357 + "PeriodValue": 0, ~/~/ Значение периода.
4358 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане. (0 - деньги, 1 - дни) 
4359 + }
4360 + ],
4361 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя, создавшего тарифный план.
4362 + "Created": "2025-06-10T12:29:32.969Z", ~/~/ Дата создания тарифного плана.
4363 + "Deactivated": "2025-06-10T12:29:32.969Z" ~/~/ Дата деактивации тарифного плана.
4364 + },
4365 + "Features": [ ~/~/ Набор услуг по тарифу клиента.
4366 + {
4367 + "Feature": "string", ~/~/ Код услуги.
4368 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга.
4369 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом.
4370 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту.
4371 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование.
4372 + "Price": 0, ~/~/ Цена за единицу.
4373 + "DebitDate": "2025-06-10T12:29:32.969Z", ~/~/ Следующий момент времени списания с баланса за услугу.
4374 + "PeriodValue": 0, ~/~/ Значение периода.
4375 + "PeriodType": 0, ~/~/ Определяет тип периода действия услуги в тарифном плане.
4376 + "Quantity": 0 ~/~/ Количество использования услуги.
4377 + }
4378 + ]
4379 +}
4380 +)))
3471 3471  
3472 3472  = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) =
3473 3473  
4384 +(% class="box warningmessage" %)
4385 +(((
4386 +Для тестирования запросов **Импорта **в Postman необходимо скачать его на ПК. Версия в браузере не позволяет загружать файлы в тело запроса.
4387 +)))
4388 +
4389 +== (% style="color:#000000; font-size:16px" %)**Импорт объектов**(%%) ==
4390 +
4391 +(% class="box infomessage" %)
4392 +(((
4393 +**POST /api/v3/vehicles/import/{agentId}**
4394 +)))
4395 +
4396 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).**
4397 +
4398 +В пути указывается **agentId** - id клиента.
4399 +
4400 +**Заголовок**
4401 +
4402 +**X-Auth: [токен авторизации]**
4403 +
4404 +**Параметры**
4405 +
4406 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4407 +|withNoData|Параметр **Объекты без данных**. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать.
4408 +|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление
4409 +
4410 +В теле использовать тип **form-data,** тип значения** file**
4411 +
4412 +**Ключи**
4413 +
4414 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4415 +|data|В значении передаем файл объекта, формат **xml** или **wlp **
4416 +|csv|В значении передаем файл датчиков, формат **csv**
4417 +
4418 +Ответ:
4419 +
4420 +{
4421 + "vehicleId": 0,
4422 + "name": "string",
4423 + "errors": ["string"]
4424 +}
4425 +
4426 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4427 +|vehicleId|ID созданного объекта
4428 +|name|Имя созданного объекта
4429 +|errors|Ошибки и их описание
4430 +
4431 +== (% style="color:#000000; font-size:16px" %)**Импорт сообщений**(%%) ==
4432 +
4433 +(% class="box infomessage" %)
4434 +(((
4435 +**POST** **/api/v3/vehicles/import/history/{vehicleId}**
4436 +)))
4437 +
4438 +(% class="wikigeneratedid" %)
4439 +Позволяет импортировать сообщения в выбранный объект. Сообщения должны иметь формат **wln** или **json**. Также они могут быть упакованы и переданы в виде в **zip-архива**.
4440 +
4441 +(% class="wikigeneratedid" %)
4442 +В пути указывается **vehicleId **- id объекта.
4443 +
4444 +**Заголовок**
4445 +
4446 +**X-Auth: [токен авторизации]**
4447 +
4448 +В теле использовать тип **form-data.**
4449 +
4450 +Ключи:
4451 +
4452 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4453 +|**history**|В значении передавать файл с историей
4454 +
4455 +В случае, если загружается история из файла **wln **можно выполнять подмену названий параметров. В ключе вы указываете название параметра из файла, в значении указываете значение на которое нужно заменить.
4456 +
4457 +Ответ:
4458 +
4459 +{
4460 + "results": [
4461 + {
4462 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
4463 + "vehicleId": 0,
4464 + "errors": [
4465 + "string"
4466 + ],
4467 + "firstMessageDate": "2023-11-28T09:27:58.949Z",
4468 + "lastMessageDate": "2023-11-28T09:27:58.949Z",
4469 + "producedCount": 0,
4470 + "msgCount": 0
4471 + }
4472 + ]
4473 +}
4474 +
4475 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание**
4476 +|results|Результаты импорта в разрезе ТС
4477 +|vehicleGuid|Guid ТС
4478 +|vehicleId|ID ТС
4479 +|errors|Список ошибок импорта истории (если пустой - нет ошибок)
4480 +|firstMessageDate|Дата первого импортированного сообщения (UTC)
4481 +|lastMessageDate|Дата последнего импортированного сообщения (UTC)
4482 +|producedCount|Кол-во успешно отправленных в шину данных сообщений
4483 +|msgCount|Кол-во обработанных сообщений всего
4484 +
4485 +== **Импортировать историю ТС (Асинхронный запрос)** ==
4486 +
4487 +(% class="box successmessage" %)
4488 +(((
4489 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} **
4490 +)))
4491 +
4492 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос.
4493 +
4494 +Метод запроса: **POST**
4495 +
4496 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} **
4497 +
4498 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства
4499 +
4500 +
4501 +Ответ:
4502 +
4503 +{
4504 +
4505 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса
4506 +
4507 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса
4508 +
4509 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest)
4510 +
4511 + "Message": "string", ~/~/ Информация о выполнении запроса
4512 +
4513 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None)
4514 +
4515 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
4516 +
4517 + "Data": "string" ~/~/ Данные
4518 +
4519 +}
4520 +
4521 +
4522 +== (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) ==
4523 +
4524 +(% class="box infomessage" %)
4525 +(((
4526 +**GET /api/v3/vehicles/import/history/status**
4527 +)))
4528 +
4529 +Запрос статуса импорта истории. Может потребоваться в случае импорта истории за большой период.
4530 +
4531 +Ответ:
4532 +
4533 +{
4534 + "activity": true,
4535 + "progress": 0,
4536 + "message": "string"
4537 +}
4538 +
4539 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)(((
4540 +**Параметр**
4541 +)))|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)(((
4542 +**Описание**
4543 +)))
4544 +|(((
4545 +activity
4546 +)))|(((
4547 +Активен ли экспорт/импорт истории сейчас, true - да, false - нет
4548 +)))
4549 +|(((
4550 +progress
4551 +)))|(((
4552 +Guid ТС
4553 +)))
4554 +
4555 +== **Возвращает статус асинхронного запроса импорта истории ТС** ==
4556 +
4557 +(% class="box infomessage" %)
4558 +(((
4559 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}**
4560 +)))
4561 +
4562 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос.
4563 +
4564 +Метод запроса: **GET**
4565 +
4566 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}**
4567 +
4568 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса
4569 +
4570 +
4571 +Ответ:
4572 +
4573 +{
4574 +
4575 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса
4576 +
4577 + "Status": 0, ~/~/ Перечисление состояний выполения запроса
4578 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest
4579 +
4580 + "Message": "string", ~/~/ Информация о выполнении запроса
4581 +
4582 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса
4583 +
4584 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None
4585 +
4586 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
4587 +
4588 + "Data": "string" ~/~/ Данные
4589 +
4590 +}
4591 +
4592 +== (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) ==
4593 +
4594 +(% class="box infomessage" %)
4595 +(((
4596 +**POST /api/v3/vehicles/export**
4597 +)))
4598 +
4599 +Запрос позволяет экспортировать файлы с настройками объектов. В запросе передается массив id объектов.
4600 +
4601 +Тело запроса:
4602 +
4603 +[
4604 + id
4605 +]
4606 +
4607 +Ответ: Success 200, получаете файлы с настройками.
4608 +
3474 3474  == (% style="color:#000000; font-size:16px" %)**Экспорт сообщений**(%%) ==
3475 3475  
3476 3476  (% class="box infomessage" %)
... ... @@ -3521,24 +3521,2011 @@
3521 3521  |progress|Прогресс экспорта, от 0 до 100%
3522 3522  |message|Текст описывающий статус
3523 3523  
3524 -== (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) ==
4659 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Экодрайвинг**(%%) =
3525 3525  
4661 +== (% style="color:#000000; font-size:16px" %)**Запрос рейтинга качества вождения**(%%) ==
4662 +
3526 3526  (% class="box infomessage" %)
3527 3527  (((
3528 -**POST /api/v3/vehicles/export**
4665 +**POST /api/v3/EcoDriving/rating**
3529 3529  )))
3530 3530  
3531 -Запрос позволяет экспортировать файлы с настройками объектов. В запросе передается массив id объектов.
4668 +Позволяет получить данные рейтинга нарушений выбранных объектов за указанный период времени. Данные, выдаваемые этим запросом аналогичны тем, что вы можете увидеть в окне **Качество вождения** в мониторинге. В массиве **items **передается список объектов из рейтинга качества вождения, в **trips **передается информация по отдельным рейсам объекта.
3532 3532  
3533 3533  Тело запроса:
3534 3534  
4672 +{
4673 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов
4674 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса
4675 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса
4676 +}
4677 +
4678 +Ответ:
4679 +
4680 +{
4681 + "items": [  ~/~/ Список в разрезе ТС
4682 + {
4683 + "from": "2023-11-22T09:29:48.052Z", ~/~/ Дата начала периода
4684 + "to": "2023-11-22T09:29:48.052Z", ~/~/ Дата окончания периода
4685 + "vehicleId": 0, ~/~/ ID ТС
4686 + "vehicleName": "string", ~/~/ Название ТС
4687 + "vehicleModel": "string", ~/~/ Модель ТС
4688 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов в разрезе ТС
4689 + "score": 0, ~/~/ Рассчитанная оценка вождения в разрезе ТС
4690 + "totalViolations": 0, ~/~/ Нарушений всего
4691 + "violationsByType": { ~/~/ Информация о нарушениях по типу
4692 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости
4693 + "accelerationViolations": 0, ~/~/ Нарушений ускорения
4694 + "brakingViolations": 0, ~/~/ Нарушений торможения
4695 + "turningViolations": 0, ~/~/ Нарушений опасного поворота
4696 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения
4697 + "sensorViolations": 0 ~/~/ Нарушений по датчику
4698 + },
4699 +
4700 +(((
4701 +
4702 +)))
4703 +
4704 + "moveTime": 0, ~/~/ Продолжительность движения, сек
4705 + "mileage": 0, ~/~/ Пробег, м
4706 + "tripsCount": 0, ~/~/ Кол-во рейсов
4707 + "trips": [  ~/~/ Информация по рейсу
4708 + {
4709 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов за рейс
4710 + "score": 0, ~/~/ Рассчитанная оценка вождения за рейс
4711 + "violationsCount": 0, ~/~/ Всего нарушений
4712 + "violationsByType": { ~/~/ Информация о нарушениях по типу
4713 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости
4714 + "accelerationViolations": 0, ~/~/ Нарушений ускорения
4715 + "brakingViolations": 0, ~/~/ Нарушений торможения
4716 + "turningViolations": 0, ~/~/ Нарушений опасного поворота
4717 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения
4718 + "sensorViolations": 0 ~/~/ Нарушений по датчику
4719 + },
4720 +
4721 + "startDate": "2024-11-18T13:23:38.516Z",  ~/~/ Дата начала поездки
4722 + "endDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата окончания поездки
4723 + "moveTime": 0, ~/~/ Продолжительность движения, сек
4724 + "mileage": 0, ~/~/ Пробег, м
4725 + "motohours": 0, ~/~/ Моточасы, секунды
4726 + "maxSpeed": 0, ~/~/ Максимальная скорость за рейс
4727 + "startAddress": "string", ~/~/ Адрес начала рейса
4728 + "endAddress": "string", ~/~/ Адрес конца рейса
4729 + "drivers": [  ~/~/ Список водителей
4730 + {
4731 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя
4732 + "driverName": "string", ~/~/ФИО водителя
4733 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки
4734 + }
4735 + ]
4736 + }
4737 + ]
4738 + }
4739 + ]
4740 +}
4741 +
4742 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) =
4743 +
4744 +== (% style="color:#000000; font-size:16px" %)**Запрос транзакций по топливным картам**(%%) ==
4745 +
4746 +Транзакции по топливным картам можно получить при наличии права «Транзакции ТК». Метод позволяет получить транзакции по нескольким топливным картам.
4747 +
4748 +(% class="box infomessage" %)
4749 +(((
4750 +**POST /api/v3/fuelcards/transactions**
4751 +)))
4752 +
4753 +Метод запроса: POST
4754 +
4755 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards/transactions
4756 +\\В заголовках запроса: X-Auth: Токен авторизации
4757 +
4758 +Параметры в теле запроса (JSON):
4759 +
4760 +{
4761 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/ Начало периода
4762 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/ Конец периода
4763 + "ids": [ 
4764 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификаторы топливных карт
4765 + ],
4766 + "timezone": 0 ~/~/ Часовой пояс
4767 +}
4768 +
4769 +
4770 +Ответ:
4771 + {
4772 + "date": "2024-04-11T10:41:02.265Z", ~/~/ Дата и время транзакции
4773 + "driver": "string", ~/~/ Водители, привязанные к ТК
4774 + "object": "string", ~/~/ Наименование ТС
4775 + "amount": 0, ~/~/ Количество топлива
4776 + "amountDut": 0, ~/~/ Количество по ДУТ
4777 + "amountDiff": 0, ~/~/ Разница, л
4778 + "amountDiffPerc": 0, ~/~/ Разница, %
4779 + "summa": 0, ~/~/ Стоимость, руб
4780 + "serviceName": "string", ~/~/ Тип топлива
4781 + "price": 0, ~/~/ Цена за литр, руб
4782 + "cardName": "string", ~/~/ Наименование ТК
4783 + "cardNum": "string", ~/~/ Номер ТК
4784 + "operator": "string", ~/~/ Оператор ТК
4785 + "address": "string" ~/~/ Адрес АЗС
4786 + }
4787 +
4788 +== (% style="color:#000000; font-size:16px" %)**Получение списка топливных карт**(%%) ==
4789 +
4790 +(% class="box infomessage" %)
4791 +(((
4792 +**GET /api/v3/fuelcards**
4793 +)))
4794 +
4795 +Метод запроса: GET
4796 +
4797 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards?ownerId=ID_клиента ~/~/ ID клиента у которого нужно запросить список
4798 +
4799 +Ответ:
4800 +
3535 3535  [
3536 - id
4802 + {
4803 + "Name": "string", ~/~/ Определяет наименование карты.
4804 + "OperatorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Определяет идентификатор оператора.
4805 + "Number": "string", ~/~/ Определяет № карты.
4806 + "Enabled": true, ~/~/ Определяет признак активности карты.
4807 + "Description": "string", ~/~/ Определяет описание карты.
4808 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID карты
4809 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
4810 + "deleted": true ~/~/ Признак удаления
4811 + }
3537 3537  ]
3538 3538  
3539 -Ответ: Success 200, получаете файлы с настройками.
4814 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** =
3540 3540  
3541 3541  
4817 +== **Получение полных данных о ретрансляторе** ==
4818 +
4819 +(% class="box infomessage" %)
4820 +(((
4821 +**GET ** **/api/v3/retranslations/{id}**
4822 +)))
4823 +
4824 +id - Идентификатор ретранслятора
4825 +
4826 +
4827 +Пример ответа:
4828 +
4829 +{  
4830 +"description": "", ~/~/ Поле описания ретранслятора
4831 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4832 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4833 +"isEnabled": true, ~/~/ Признак включения ретранслятора, Включен, true - включен, false - отключен
4834 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4835 +"objects": [ ~/~/ Объекты для ретрансляции
4836 +{      
4837 +"id": "",  ~/~/ Идентификатор объекта ретрансляции
4838 +"name": "", ~/~/ Наименование объекта ретрансляции
4839 +"imei": "", ~/~/ IMEI объекта  ретрансляции
4840 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4841 +}
4842 + ],  
4843 +"id": "", ~/~/ Идентификатор ретранслятора 
4844 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4845 +"deleted": "" ~/~/ Признак удаления ретранслятора: true - включен, false - отключен
4846 +}
4847 +
4848 +
4849 +== **Удаление данных ретранслятора** ==
4850 +
4851 +(% class="box infomessage" %)
4852 +(((
4853 +**DELETE** **/api/v3/retranslations/{id}**
4854 +)))
4855 +
4856 +id - Идентификатор ретранслятора
4857 +
4858 +
4859 +== **Создание ретранслятора** ==
4860 +
4861 +(% class="box infomessage" %)
4862 +(((
4863 +**POST ** **/api/v3/retranslations/{id}**
4864 +)))
4865 +
4866 +Запрос:
4867 +
4868 +{  
4869 +"description": "", ~/~/ Поле описания ретранслятора
4870 +"subscriberId": "", ~/~/ Идентификатор подписчика
4871 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4872 +"address": "", ~/~/ Адрес и порт принимающего сервера
4873 +"isEnabled": "", ~/~/ Признак включения ретранслятора, true - включен, false - отключен
4874 +"objects": [ ~/~/Объекты для ретрансляции
4875 +{      
4876 +"id": "", ~/~/ Идентификатор ретранслятора 
4877 +"imei": "", ~/~/ IMEI объекта ретрансляции
4878 +"isEnabled": ""  ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4879 +}
4880 + ]
4881 +}
4882 +
4883 +
4884 +Ответ:
4885 +
4886 +{  
4887 +"description": "", ~/~/ Поле описания ретранслятора
4888 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4889 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4890 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4891 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4892 +"objects": [ ~/~/ Объекты для ретрансляции
4893 +{      
4894 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4895 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4896 +"imei": "", ~/~/ IMEI объекта ретрансляции
4897 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4898 +}
4899 + ],
4900 +"id": "", ~/~/ Идентификатор ретранслятора   
4901 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4902 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4903 +}
4904 +
4905 +
4906 +== **Редактирование ретранслятора** ==
4907 +
4908 +(% class="box infomessage" %)
4909 +(((
4910 +**PUT** **/api/v3/retranslations**
4911 +)))
4912 +
4913 +Пример запроса:
4914 +
4915 +{  
4916 +"id": "", ~/~/ Идентификатор ретранслятора   
4917 +"description": "string", ~/~/ Поле описания ретранслятора
4918 +"subscriberId": "", ~/~/ Идентификатор подписчика
4919 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4920 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4921 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4922 +"objects": ~/~/ Объекты для ретрансляции
4923 +[    
4924 +{      
4925 +"id": "",  ~/~/ Идентификатор объекта ретрансляции 
4926 +"imei": "", ~/~/ IMEI объекта ретрансляции
4927 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен
4928 +}
4929 + ]
4930 +}
4931 +
4932 +
4933 +Пример ответа:
4934 +
4935 +{  
4936 +"description": "", ~/~/ Поле описания ретранслятора
4937 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4938 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4939 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4940 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4941 +"objects": [ ~/~/ Объекты для ретрансляции
4942 +{      
4943 +"id": "", ~/~/ Идентификатор объекта ретрансляции     
4944 +"name": "string", ~/~/ Наименование объекта ретрансляции    
4945 +"imei": "", ~/~/ IMEI объекта ретрансляции
4946 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен  
4947 +}
4948 + ],
4949 +"id": "", ~/~/ Идентификатор ретранслятора   
4950 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4951 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4952 +}
4953 +
4954 +
4955 +== **Получение списка ретранслятора клиента** ==
4956 +
4957 +(% class="box infomessage" %)
4958 +(((
4959 +**POST /api/v3/retranslations/find**
4960 +)))
4961 +
4962 +Пример запроса:
4963 +
4964 +{  
4965 +"id": "", ~/~/ Идентификатор ретранслятора   
4966 +"search": "string", ~/~/ Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
4967 +"parentId": "" ~/~/ Идентификатор родительского агента, для которого надо получить данные (обязательный параметр).
4968 +}
4969 +
4970 +Ответ:
4971 +
4972 +[ 
4973 +{    
4974 +"description": "", ~/~/ Поле описания ретранслятора
4975 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
4976 +"protocolType": 0, ~/~/ Тип протокола ретрансляции
4977 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен
4978 +"address": "string", ~/~/ Адрес и порт принимающего сервера
4979 +"id": "", ~/~/ Идентификатор ретранслятора   
4980 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента)
4981 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален
4982 +}
4983 +]
4984 +
4985 +
4986 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Отчеты**(%%) =
4987 +
4988 +== **API для отчета по выгрузке комбайнов** ==
4989 +
4990 +(% class="box infomessage" %)
4991 +(((
4992 +**POST /api/v3/Reports/harvesterUnloading**
4993 +)))
4994 +
4995 +Пример запроса:
4996 +
4997 +{
4998 + "byTime": 0, ~/~/ Объединение событий по времени
4999 + "byDist": 0, ~/~/ Объединение событий по расстоянию
5000 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения
5001 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра
5002 + "showNearestObjects": true, ~/~/Показывать объекты рядом?
5003 + "vehicleIds": [ ~/~/ Список id объектов для анализа
5004 + 0
5005 + ],
5006 + "from": "", ~/~/ Дата и время начало запроса
5007 + "to": "", ~/~/ Дата и время окончания запроса
5008 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3
5009 +}
5010 +
5011 +Пример ответа:
5012 +
5013 +[ 
5014 + {
5015 + "harvesterName": "", ~/~/Комбайн, номер
5016 + "harvesterId": 0, ~/~/Комбайн, id
5017 +"harvesterModel": "", ~/~/ Модель комбайна
5018 +"hopperCapacity": 0, ~/~/ Объем бункера м3
5019 + "hopperDischargeSpeed": 0, ~/~/ Скорость выгрузки из бункера, л/сек
5020 + "events": [ ~/~/Список событий в разрезе комбайна
5021 + {
5022 + "driverId": "", ~/~/Идентификатор водителя
5023 + "driverName": "", ~/~/Водитель комбайна, ФИО
5024 + "RFID": "", ~/~/ идентификатор карты-метки
5025 + "rfidName": "", ~/~/Водитель комбайна, имя метки
5026 + "vehicleId": 0, ~/~/идентификатор объекта
5027 + "vehicleName": "string", ~/~/ Имя объекта
5028 + "modelName": "string", ~/~/ Имя модели объекта
5029 + "nearestVehicles": [ ~/~/Объекты рядом
5030 + {
5031 + "vehicleId": 0, ~/~/идентификатор объекта
5032 + "vehicleName": "string" ~/~/ Имя объекта
5033 + }
5034 + ],
5035 + "fields": [ ~/~/Поля, где происходила выгрузка
5036 + {
5037 + "id": 0, ~/~/ идентификатор пользователя 
5038 + "name": "string" ~/~/ имя пользователя 
5039 + }
5040 + ],
5041 + "event": "string", ~/~/Событие
5042 + "start": "2024-07-19T06:41:57.821Z", ~/~/ Начало периода
5043 + "end": "2024-07-19T06:41:57.821Z", ~/~/ Окончание периода
5044 + "durationSeconds": 0, ~/~/Продолжительность события, в секундах
5045 + "cultureName": "string", ~/~/ название культуры
5046 + "bunkerLowLevelStart": 0, ~/~/Бункер, нижний уровень (на начало события)
5047 + "bunkerLowLevelEnd": 0, ~/~/ Бункер, нижний уровень (на конец события)
5048 + "bunkerHighLevelStart": 0, ~/~/Бункер, верхний уровень (на начало события)
5049 + "bunkerHighLevelEnd": 0, ~/~/Бункер, верхний уровень (на конец события)
5050 + "reapingAggregateValueStart": 0, ~/~/Жатка (на начало события)
5051 + "reapingAggregateValueEnd": 0, ~/~/Жатка (на конец события)
5052 + "issued": 0, ~/~/Выдано, бункеров
5053 + "issuedByBunkerSensors": 0, ~/~/Отдано бункеров (расчет по датчикам бункера)
5054 + "latitude": 0, ~/~/Широта
5055 + "longitude": 0, ~/~/ Долгота
5056 + "litresAway": 0, ~/~/Отдано, л
5057 + "m3Away": 0 ~/~/Отдано, м3
5058 + }
5059 + ]
5060 + }
5061 +]
5062 +
5063 +
5064 +== **Отчет трек-датчики** ==
5065 +
5066 +(% class="box infomessage" %)
5067 +(((
5068 +**POST /api/v3/Reports/sensorsWorks**
5069 +)))
5070 +
5071 +**Пример запроса:**
5072 +
5073 +{
5074 + "vehicleIds": [ ~/~/ Список ID объектов
5075 + 0
5076 + ],
5077 + "from": "2025-02-20T06:39:23.888Z",  ~/~/ Начало периода (локальное время клиента)
5078 + "to": "2025-02-20T06:39:23.888Z", ~/~/  Конец периода (локальное время клиента)
5079 + "timezone": 0 ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK
5080 +}
5081 +
5082 +**Пример ответа:**
5083 +
5084 +(((
5085 +{
5086 + "vehicleSensorWorks": [  ~/~/ Интервалы работы оборудования для конкретного ТС
5087 + {
5088 + "vehicleId": 0, ~/~/ Идентификатор ТС
5089 + "sensorWorks": [ ~/~/ Интервалы работы оборудования. 
5090 + {
5091 + "start": "2025-02-20T06:39:23.979Z", ~/~/ Начало интервала работы оборудования.
5092 + "end": "2025-02-20T06:39:23.979Z", ~/~/ Конец интервала работы оборудования.
5093 + "duration": 0, ~/~/  Продолжительность интервала в секундах.
5094 + "name": "string", ~/~/ Наименование оборудования.
5095 + "mileage": 0, ~/~/ Пробег за время работы оборудования.
5096 + "totalMileage": 0, ~/~/ Общий пробег.
5097 + "avgSpeed": 0 ~/~/ Средняя скорость.
5098 + }
5099 + ]
5100 + }
5101 + ]
5102 +}
5103 +
5104 +
5105 +== **Превышение скорости** ==
5106 +
5107 +(% class="box infomessage" %)
5108 +(((
5109 +**POST /api/v3/Reports/overSpeedDuration**
5110 +)))
5111 +
5112 + Публичный API запрос о превышениях скорости по объекту в секундах с выбором способа определения нарушений (дорожное ограничение или фиксированное ограничение).
5113 +
5114 +Пример запроса:
5115 +
5116 +(((
5117 +{
5118 + "vehicleId": 0, ~/~/ идентификационный номер транспортного средства
5119 + "from": "2025-04-21T10:45:25.258Z", ~/~/ Начало периода (локальное время клиента)
5120 + "to": "2025-04-21T10:45:25.258Z", ~/~/ Конец периода (локальное время клиента)
5121 + "timezone": 0, ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK
5122 + "overSpeedDetectionType": 0 ~/~/ тип нарушения (1-дорожное ограничение, 2-фиксированный ) 
5123 +}
5124 +)))
5125 +
5126 +(((
5127 +
5128 +)))
5129 +
5130 +(((
5131 +Пример ответа:
5132 +)))
5133 +
5134 +(((
5135 +(((
5136 +[
5137 + {
5138 + "eventDate": "2025-04-21T10:45:25.267Z", ~/~/  Дата и время события 
5139 + "duration": 0, ~/~/ Продолжительность события в секундах 
5140 + "maxSpeed": 0, ~/~/ Максимальная скорость 
5141 + "speedLimit": 0 ~/~/ Ограничение скорости 
5142 + }
5143 +]
5144 +)))
5145 +)))
5146 +)))
5147 +
5148 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) =
5149 +
5150 +
5151 +== **Запрос списка полей** ==
5152 +
5153 +(% class="box successmessage" %)
5154 +(((
5155 +**POST /api/v3/agroLands/find**
5156 +)))
5157 +
5158 +Пример запроса:
5159 +
5160 +(((
5161 +(((
5162 +(((
5163 +{
5164 + "year": 0, ~/~/ Фильтр по году
5165 + "name": "string", ~/~/ Фильтр по названию
5166 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Фильтр по подразделению
5167 +}
5168 +)))
5169 +)))
5170 +
5171 +
5172 +)))
5173 +
5174 +Пример ответа:
5175 +
5176 +(((
5177 +[
5178 + {
5179 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5180 + "year": 0, ~/~/ Год поля
5181 + "startDate": "2024-12-20T12:27:07.523Z", ~/~/ Начало года урожая
5182 + "endDate": "2024-12-20T12:27:07.523Z", ~/~/ Конец года урожая
5183 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
5184 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5185 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5186 + "counts": { ~/~/ Счётчики с/х поля 
5187 + "fieldOperations": 0, ~/~/ Количество операций на поле
5188 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5189 + "facts": 0 ~/~/ Счётчик факта
5190 + },
5191 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5192 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5193 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5194 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5195 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5196 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5197 + "planComment": "string", ~/~/ Комментарий к полю
5198 + "productivity": 0, ~/~/ Урожайность.
5199 + "id": 0, ~/~/ Идентификатор объекта геозоны
5200 + "name": "string", ~/~/ Название объекта геозоны
5201 + "type": 0, ~/~/ Тип объекта геозоны
5202 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5203 + "fname": "string", ~/~/ Имя файла
5204 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5205 + "beginCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата начала расчетов для геозоны
5206 + "endCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата окончания расчетов для геозоны
5207 + "description": "string", ~/~/ Описание объекта геозоны
5208 + "area": 0, ~/~/ Площадь, м2
5209 + "perimetr": 0, ~/~/ Периметр, м
5210 + "createDate": "2024-12-20T12:27:07.523Z" ~/~/ Дата создания в бд
5211 + }
5212 +]
5213 +
5214 +
5215 +== **Создание нового поля ** ==
5216 +
5217 +(% class="box successmessage" %)
5218 +(((
5219 +**POST /api/v3/agroLands**
5220 +)))
5221 +
5222 +Если необходимо указывать конкретного клиента, в котором нужно создать поле, то в заголовке надо прописать 
5223 +X-agent  - ID клиента
5224 +
5225 +Пример запроса:
5226 +
5227 +(((
5228 +{
5229 + "extId": "string", 
5230 + "shape": "{\"type\":\"Polygon\",\"coordinates\":~[~[[50.299112,54.769317],[50.299369,54.76691],[50.303702,54.767878],[50.299112,54.769317]]]}", ~/~/ Форма поля
5231 + "shapeFormat": "geojson", ~/~/ Формат, в котором представлена форма поля
5232 + "display": "string", ~/~/ Настройки отображения
5233 + "year": 0, ~/~/ Год поля
5234 + "name": "string", ~/~/ Наименование
5235 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5236 + "startDate": "2024-12-20T08:19:59.635Z", ~/~/ Начало года урожая
5237 + "endDate": "2024-12-20T08:19:59.635Z", ~/~/ Конец года урожая
5238 + "planComment": "string", ~/~/ Комментарий к полю
5239 + "cropRotations": [ ~/~/ Данные по севообороту
5240 + {
5241 + "landId": 0, ~/~/ ID поля
5242 + "landName": "string", ~/~/ Название поля
5243 + "year": 0, ~/~/ Год урожая
5244 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5245 + "cultureName": "string", ~/~/ Название культуры
5246 + "productivity": 0, ~/~/ Урожайность
5247 + "area": 0, ~/~/ Площадь поля, Га
5248 + "total": 0, ~/~/ Валовый сбор
5249 + "productivityFact": 0, ~/~/ Фактическая урожайность
5250 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5251 + "totalFact": 0, ~/~/ Фактический валовый сбор
5252 + "start": "2024-12-20T08:19:59.635Z", ~/~/ Дата начала работ
5253 + "sowing": "2024-12-20T08:19:59.635Z", ~/~/ Дата сева
5254 + "harvesting": "2024-12-20T08:19:59.635Z", ~/~/ Дата уборки урожая
5255 + "isyearplan": true, ~/~/ Годовой план 
5256 + "comment": "string" ~/~/ Комментарий
5257 + }
5258 + ]
5259 +}
5260 +)))
5261 +
5262 +(((
5263 +
5264 +)))
5265 +
5266 +Пример ответа:
5267 +
5268 +(((
5269 +(((
5270 +{
5271 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
5272 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5273 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5274 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5275 + "cropRotations": [ ~/~/ Данные по севообороту
5276 + {
5277 + "landId": 0, ~/~/ ID поля
5278 + "landName": "string", ~/~/ Название поля
5279 + "year": 0, ~/~/ Год урожая 
5280 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5281 + "cultureName": "string", ~/~/ Название культуры
5282 + "productivity": 0, ~/~/ Урожайность
5283 + "area": 0, ~/~/ Площадь поля, Га.
5284 + "total": 0, ~/~/ Валовый сбор
5285 + "productivityFact": 0, ~/~/ Фактическая урожайность
5286 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5287 + "totalFact": 0, ~/~/ Фактический валовый сбор
5288 + "start": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала работ
5289 + "sowing": "2024-12-20T08:19:59.743Z", ~/~/ Дата сева
5290 + "harvesting": "2024-12-20T08:19:59.743Z", ~/~/ Дата уборки урожая
5291 + "isyearplan": true, ~/~/ годовой план 
5292 + "comment": "string" ~/~/ Комментарий
5293 + }
5294 + ],
5295 + "cropVegetation": [ ~/~/ История вегетации поля
5296 + {
5297 + "values": [  ~/~/ Данные вегетации и состояния посева
5298 + {
5299 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
5300 + "ndvi": 0 ~/~/ Индекс вегетации
5301 + }
5302 + ],
5303 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5304 + {
5305 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
5306 + "type": "string", ~/~/ Тип
5307 + "pictureid": "string" ~/~/ Идентификатор ресурса
5308 + }
5309 + ],
5310 + "states": [ ~/~/ Ключевые даты развития поля
5311 + {
5312 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата
5313 + "state": 0 ~/~/ Статус  0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5314 + }
5315 + ]
5316 + }
5317 + ],
5318 + "endDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата закрытия года урожая
5319 + "counts": {
5320 + "fieldOperations": 0, ~/~/ Количество операций на поле
5321 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5322 + "facts": 0 ~/~/ Счётчик факта
5323 + },
5324 + "planComment": "string", ~/~/ Комментарий к полю
5325 +)))
5326 +
5327 +(((
5328 + "productivity": 0, ~/~/ Урожайность.
5329 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5330 + "startDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата открытия года урожая
5331 + "year": 0, ~/~/ Год поля
5332 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5333 + "actualPlanState": 0, ~/~/ Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5334 + "factState": 0, ~/~/ Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5335 + "taskState": 0, ~/~/ Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5336 + "status": 0, ~/~/ Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто
5337 + "id": 0, ~/~/ Идентификатор объекта геозоны
5338 + "name": "string", ~/~/ Название объекта геозоны
5339 + "type": 0, ~/~/ Тип объекта геозоны
5340 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5341 + "fname": "string", ~/~/ Имя файла
5342 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5343 + "beginCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала расчетов для геозоны
5344 + "endCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата окончания расчетов для геозоны
5345 + "description": "string", ~/~/ Описание объекта геозоны
5346 + "area": 0, ~/~/ Площадь, м2
5347 + "perimetr": 0, ~/~/ Периметр, м
5348 + "createDate": "2024-12-20T08:19:59.743Z" ~/~/ Дата создания в бд
5349 +}
5350 +
5351 +
5352 +)))
5353 +)))
5354 +)))
5355 +
5356 +== **Получение поля по id** ==
5357 +
5358 +(% class="box infomessage" %)
5359 +(((
5360 +**GET /api/v3/agroLands/{id}**
5361 +)))
5362 +
5363 +Пример запроса:
5364 +id  ~/~/ Идентификатор поля
5365 +
5366 +Пример ответа:
5367 +
5368 +(((
5369 +{
5370 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор культуры
5371 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5372 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5373 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5374 + "cropRotations": [ ~/~/ Данные по севообороту
5375 + {
5376 + "landId": 0, ~/~/ ID поля
5377 + "landName": "string", ~/~/ Название поля
5378 + "year": 0, ~/~/ Год урожая
5379 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5380 + "cultureName": "string", ~/~/ Название культуры
5381 + "productivity": 0, ~/~/ Урожайность
5382 + "area": 0, ~/~/ Площадь поля, Га
5383 + "total": 0, ~/~/ Валовый сбор
5384 + "productivityFact": 0, ~/~/ Фактическая урожайность
5385 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5386 + "totalFact": 0, ~/~/ Фактический валовый сбор
5387 + "start": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала работ
5388 + "sowing": "2024-12-20T07:45:52.611Z", ~/~/ Дата сева
5389 + "harvesting": "2024-12-20T07:45:52.611Z", ~/~/ Дата уборки урожая
5390 + "isyearplan": true, ~/~/ План года 
5391 + "comment": "string" ~/~/ Комментарий
5392 + }
5393 + ],
5394 + "cropVegetation": [ ~/~/ История вегетации поля
5395 + {
5396 + "values": [ ~/~/ Данные вегетации и состояния посева
5397 + {
5398 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
5399 + "ndvi": 0 ~/~/ Индекс вегетации
5400 + }
5401 + ],
5402 + "resources": [  ~/~/ Данные о снимках для каждого значения NDVI
5403 + {
5404 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата
5405 + "type": "string", ~/~/ Тип 
5406 + "pictureid": "string" ~/~/ Идентификатор ресурса
5407 + }
5408 + ],
5409 + "states": [ ~/~/ Ключевые даты развития поля
5410 + {
5411 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 
5412 + "state": 0 ~/~/ Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая
5413 + }
5414 + ]
5415 + }
5416 + ],
5417 + "endDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата закрытия года урожая
5418 + "counts": {
5419 + "fieldOperations": 0, ~/~/ Количество операций на поле
5420 + "actualFieldOperations": 0,  ~/~/ Кол-во актуальных операций на поле
5421 + "facts": 0 ~/~/ Счётчик факта
5422 + },
5423 + "planComment": "string", ~/~/ Комментарий к полю
5424 + "productivity": 0, ~/~/ Урожайность.
5425 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5426 +)))
5427 +
5428 +(((
5429 +(((
5430 + "startDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата открытия года урожая
5431 + "year": 0, ~/~/ Год поля
5432 + "planState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 
5433 + "actualPlanState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5434 + "factState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5435 + "taskState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5436 + "status": 0,  ~/~/ Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
5437 + "id": 0, ~/~/ Идентификатор объекта геозоны
5438 + "name": "string", ~/~/ Название объекта геозоны
5439 + "type": 0, ~/~/ Тип объекта геозоны 
5440 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5441 + "fname": "string", ~/~/ Имя файла
5442 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5443 + "beginCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала расчетов для геозоны
5444 + "endCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата окончания расчетов для геозоны
5445 + "description": "string", ~/~/ Описание объекта геозоны
5446 + "area": 0, ~/~/ Площадь, м2
5447 + "perimetr": 0, ~/~/ Периметр, м
5448 + "createDate": "2024-12-20T07:45:52.611Z" ~/~/ Дата создания в бд
5449 +}
5450 +)))
5451 +
5452 +
5453 +== **Удаление существующего поля** ==
5454 +
5455 +(% class="box errormessage" %)
5456 +(((
5457 +**DELETE /api/v3/agroLands/{id}**
5458 +)))
5459 +
5460 +Пример запроса:
5461 +id  ~/~/ Идентификатор поля
5462 +
5463 +Пример ответа:
5464 +
5465 +(((
5466 +200 ~/~/ Успех
5467 +)))
5468 +
5469 +(((
5470 +
5471 +)))
5472 +
5473 +(((
5474 +(((
5475 +(((
5476 +
5477 +)))
5478 +
5479 +(((
5480 +== **Изменение поля** ==
5481 +
5482 +(% class="box infomessage" %)
5483 +(((
5484 +**PUT /api/v3/agroLands**
5485 +)))
5486 +
5487 +Пример запроса:
5488 +
5489 +(((
5490 +(((
5491 +{
5492 + "id": 0, ~/~/ Идентификатор поля
5493 + "extId": "string", ~/~/ ExtId
5494 + "shape": "string", ~/~/ Форма поля
5495 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля
5496 + "display": "string", ~/~/ Настройки отображения
5497 + "year": 0, ~/~/ Год поля
5498 + "name": "string", ~/~/ Наименование
5499 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5500 + "startDate": "2024-12-20T10:11:59.425Z", ~/~/ Начало года урожая
5501 + "endDate": "2024-12-20T10:11:59.425Z", ~/~/ Конец года урожая
5502 + "planComment": "string", ~/~/Комментарий к полю
5503 + "cropRotations": [  ~/~/ Данные по севообороту
5504 + {
5505 + "landId": 0, ~/~/ ID поля
5506 + "landName": "string", ~/~/ Название поля
5507 + "year": 0, ~/~/ Год урожая
5508 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5509 + "cultureName": "string", ~/~/ Название культуры
5510 + "productivity": 0, ~/~/ Урожайность
5511 + "area": 0, ~/~/ Площадь поля, Га.
5512 + "total": 0, ~/~/ Валовый сбор
5513 + "productivityFact": 0, ~/~/ Фактическая урожайность
5514 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5515 + "totalFact": 0, ~/~/ Фактический валовый сбор
5516 + "start": "2024-12-20T10:11:59.425Z", ~/~/ Дата начала работ
5517 + "sowing": "2024-12-20T10:11:59.425Z", ~/~/ Дата сева
5518 + "harvesting": "2024-12-20T10:11:59.425Z", ~/~/ Дата уборки урожая
5519 + "isyearplan": true, 
5520 + "comment": "string" ~/~/ Комментарий
5521 + }
5522 + ],
5523 + "deleteStatistic": true ~/~/ Нужно ли удалять статистику
5524 +}
5525 +)))
5526 +)))
5527 +
5528 +(((
5529 +
5530 +)))
5531 +
5532 +Пример ответа:
5533 +
5534 +(((
5535 +(((
5536 +(((
5537 +{
5538 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5539 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5540 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5541 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5542 + "cropRotations": [ ~/~/ Данные по севообороту
5543 + {
5544 + "landId": 0, ~/~/ ID поля
5545 + "landName": "string", ~/~/ Название поля
5546 + "year": 0, ~/~/  Год урожая
5547 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5548 + "cultureName": "string", ~/~/ Название культуры
5549 + "productivity": 0, ~/~/ Урожайность
5550 + "area": 0, ~/~/ Площадь поля, Га
5551 + "total": 0, ~/~/ Валовый сбор
5552 + "productivityFact": 0, ~/~/ Фактическая урожайность
5553 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5554 + "totalFact": 0, ~/~/ Фактический валовый сбор
5555 + "start": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала работ
5556 + "sowing": "2024-12-20T10:11:59.533Z", ~/~/ Дата сева
5557 + "harvesting": "2024-12-20T10:11:59.533Z", ~/~/ Дата уборки урожая
5558 + "isyearplan": true, ~/~/ 
5559 + "comment": "string" ~/~/ Комментарий
5560 + }
5561 + ],
5562 + "cropVegetation": [ ~/~/ История вегетации поля
5563 + {
5564 + "values": [ ~/~/ Данные вегетации и состояния посева
5565 + {
5566 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5567 + "ndvi": 0 ~/~/ Индекс вегетации
5568 + }
5569 + ],
5570 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5571 + {
5572 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5573 + "type": "string", ~/~/ Тип
5574 + "pictureid": "string" ~/~/ Идентификатор ресурса
5575 + }
5576 + ],
5577 + "states": [ ~/~/ Ключевые даты развития поля 
5578 + {
5579 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата
5580 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5581 + }
5582 + ]
5583 + }
5584 + ],
5585 + "endDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата закрытия года урожая
5586 + "counts": { 
5587 + "fieldOperations": 0, ~/~/ Количество операций на поле
5588 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5589 + "facts": 0 ~/~/ Счётчик факта
5590 + },
5591 + "planComment": "string", ~/~/ Комментарий к полю
5592 + "productivity": 0, ~/~/ Урожайность.
5593 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5594 + "startDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата открытия года урожая
5595 + "year": 0, ~/~/ Год поля
5596 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5597 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5598 + "factState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5599 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
5600 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 
5601 + "id": 0, ~/~/ Идентификатор объекта геозоны
5602 + "name": "string", ~/~/ Название объекта геозоны
5603 + "type": 0, ~/~/ Тип объекта геозоны
5604 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5605 + "fname": "string", ~/~/ Имя файла
5606 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5607 + "beginCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала расчетов для геозоны
5608 + "endCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата окончания расчетов для геозоны
5609 + "description": "string", ~/~/ Описание объекта геозоны
5610 + "area": 0, ~/~/ Площадь, м2
5611 + "perimetr": 0, ~/~/ Периметр, м
5612 + "createDate": "2024-12-20T10:11:59.533Z" ~/~/ Дата создания в бд
5613 +}
5614 +)))
5615 +)))
5616 +)))
5617 +)))
5618 +)))
5619 +
5620 +
5621 +== **Редактирование года урожая ** ==
5622 +
5623 +(% class="box successmessage" %)
5624 +(((
5625 +**POST /api/v3/agroLands/updateOpenCloseYear**
5626 +)))
5627 +
5628 +Пример запроса:
5629 +
5630 +(((
5631 +(((
5632 +{
5633 + "agroLandIds": [  ~/~/ Идентификаторы полей для которых меняется год урожая
5634 + 0
5635 + ],
5636 + "newStartDate": "2024-12-20T11:43:43.921Z", ~/~/ Новая дата начала урожая
5637 + "newEndDate": "2024-12-20T11:43:43.921Z" ~/~/ Новая дата закрытия урожая
5638 +}
5639 +)))
5640 +
5641 +
5642 +)))
5643 +
5644 +Пример ответа:
5645 +
5646 +(((
5647 +(((
5648 +{
5649 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры
5650 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии
5651 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле
5652 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года
5653 + "cropRotations": [ ~/~/ Данные по севообороту
5654 + {
5655 + "landId": 0, ~/~/ ID поля
5656 + "landName": "string", ~/~/ Название поля
5657 + "year": 0, ~/~/ Год урожая
5658 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры
5659 + "cultureName": "string", ~/~/ Название культуры
5660 + "productivity": 0, ~/~/ Урожайность
5661 + "area": 0, ~/~/ Площадь поля, Га.
5662 + "total": 0, ~/~/ Валовый сбор
5663 + "productivityFact": 0, ~/~/ Фактическая урожайность
5664 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га.
5665 + "totalFact": 0, ~/~/ Фактический валовый сбор
5666 + "start": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала работ
5667 + "sowing": "2024-12-20T11:43:44.091Z", ~/~/ Дата сева
5668 + "harvesting": "2024-12-20T11:43:44.091Z", ~/~/ Дата уборки урожая
5669 + "isyearplan": true, ~/~/ 
5670 + "comment": "string" ~/~/ Комментарий
5671 + }
5672 + ],
5673 + "cropVegetation": [ ~/~/ История вегетации поля
5674 + {
5675 + "values": [ ~/~/ Данные вегетации и состояния посева
5676 + {
5677 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5678 + "ndvi": 0 ~/~/ Индекс вегетации
5679 + }
5680 + ],
5681 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI
5682 + {
5683 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата
5684 + "type": "string", ~/~/ Тип
5685 + "pictureid": "string" ~/~/ Идентификатор ресурса
5686 + }
5687 + ],
5688 + "states": [ ~/~/ Ключевые даты развития поля
5689 + {
5690 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 
5691 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
5692 + }
5693 + ]
5694 + }
5695 + ],
5696 + "endDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата закрытия года урожая
5697 + "counts": { 
5698 + "fieldOperations": 0, ~/~/ Количество операций на поле
5699 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле
5700 + "facts": 0 ~/~/ Счётчик факта
5701 + },
5702 + "planComment": "string", ~/~/ Комментарий к полю
5703 + "productivity": 0, ~/~/ Урожайность.
5704 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га.
5705 + "startDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата открытия года урожая
5706 + "year": 0, ~/~/ Год поля
5707 + "planState": 0,  ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5708 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5709 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5710 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
5711 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
5712 + "id": 0, ~/~/ Идентификатор объекта геозоны
5713 + "name": "string", ~/~/ Название объекта геозоны
5714 + "type": 0, ~/~/ Тип объекта геозоны
5715 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение
5716 + "fname": "string", ~/~/ Имя файла
5717 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
5718 + "beginCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала расчетов для геозоны
5719 + "endCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата окончания расчетов для геозоны
5720 + "description": "string", ~/~/ Описание объекта геозоны
5721 + "area": 0, ~/~/ Площадь, м2
5722 + "perimetr": 0, ~/~/ ериметр, м
5723 + "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд
5724 +}
5725 +)))
5726 +
5727 +
5728 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) =
5729 +)))
5730 +)))
5731 +)))
5732 +
5733 +== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) ==
5734 +
5735 +
5736 +(% class="box infomessage" %)
5737 +(((
5738 +**GET api/v3/Vehicles/recyclebin/all**
5739 +)))
5740 +
5741 +Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту
5742 +
5743 +Параметр запроса: {parentId} - идентификатор агента
5744 +
5745 +В заголовках запроса: X-Auth: Токен авторизации
5746 +
5747 +Ответ:
5748 +
5749 +[ 
5750 + {
5751 + "recordTime": "", ~/~/Время записи
5752 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину
5753 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину
5754 + "objectId": 0, ~/~/ID объекта, помещённого в корзину
5755 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину
5756 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
5757 + "details": { ~/~/Список деталей объекта, помещённого в корзину
5758 + "items": [ ~/~/ 
5759 +nullable: true ~/~/Детали
5760 + {
5761 + "name": "string", ~/~/наименование столбца
5762 + "value": "string" ~/~/содержание столбца
5763 + }
5764 + ]
5765 + },
5766 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
5767 + "string"
5768 + ]
5769 + }
5770 +]
5771 +
5772 +
5773 +== (% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины**(%%) ==
5774 +
5775 +(% class="box infomessage" %)
5776 +(((
5777 +**POST api/v3/Vehicles/recyclebin/erase**
5778 +)))
5779 +
5780 +В заголовках запроса: X-Auth: Токен авторизации
5781 +
5782 +Пример запроса:
5783 +
5784 +[
5785 +0
5786 +]
5787 +
5788 +
5789 +Пример ответа:
5790 +
5791 +[ 
5792 +{
5793 + "recordTime": "", ~/~/Время записи
5794 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину
5795 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину
5796 + "objectId": 0, ~/~/ID объекта, помещённого в корзин
5797 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину
5798 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
5799 + "details": { ~/~/Список деталей объекта, помещённого в корзину
5800 + "items": [ ~/~/Детали
5801 + {
5802 + "name": "", ~/~/Имя свойства
5803 + "value": "" ~/~/Значение свойства
5804 + }
5805 + ]
5806 + },
5807 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
5808 + ""
5809 + ]
5810 + }
5811 +]
5812 +
5813 +Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
5814 +
5815 +== (% style="color:#000000; font-size:16px" %)**Запрос на восстановление объектов из корзины**(%%) ==
5816 +
5817 +(% class="box infomessage" %)
5818 +(((
5819 +**POST api/v3/Vehicles/recyclebin/restore**
5820 +)))
5821 +
5822 +В заголовках запроса: X-Auth: Токен авторизации
5823 +
5824 +Параметры в теле запроса (JSON):
5825 +
5826 +Восстанавливает объекты из корзины. Возвращает те объекты которые не получилось восстановить.
5827 +
5828 +В заголовках запроса: X-Auth: Токен авторизации
5829 +
5830 +
5831 +Пример запроса:
5832 +
5833 +(((
5834 +[
5835 +)))
5836 +
5837 +(((
5838 + 0
5839 +)))
5840 +
5841 +(((
5842 +]
5843 +)))
5844 +
5845 +
5846 +Пример ответа:
5847 +
5848 +[
5849 +{
5850 + "recordTime": "2024-07-19T07:58:19.305Z", ~/~/Время записи
5851 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid пользователя, добавившего объект в корзину
5852 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid агента объекта, помещённого в корзину
5853 + "objectId": 0, ~/~/ID объекта, помещённого в корзину
5854 + "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid объекта, помещённого в корзину
5855 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину
5856 + "details": { ~/~/Список деталей объекта, помещённого в корзину
5857 + "items": [ ~/~/Детали
5858 + {
5859 + "name": "string", ~/~/Имя свойства
5860 + "value": "string" ~/~/Значение свойства
5861 + }
5862 + ]
5863 + },
5864 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта
5865 + "string"
5866 + ]
5867 + }
5868 +]
5869 +
5870 +
5871 += **Раздел: Журнал заданий ** =
5872 +
5873 +
5874 +== **Создание задания в Журнале заданий** ==
5875 +
5876 +(% class="box infomessage" %)
5877 +(((
5878 +**POST /api/v3/vehicletasks**
5879 +)))
5880 +
5881 +Пример запроса:
5882 +
5883 +(((
5884 +{
5885 + "vehicleId": 0, ~/~/ Идентификатор ТС
5886 + "description": "string", ~/~/ Описание
5887 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5888 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5889 + "startDate": "2025-02-25T12:11:04.874Z", ~/~/ Начало работы
5890 + "endDate": "2025-02-25T12:11:04.874Z", ~/~/ Окончание работы
5891 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5892 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5893 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5894 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5895 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5896 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5897 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5898 + "cost": { 
5899 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5900 + "Name": "string", ~/~/ Наименование
5901 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection )
5902 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5903 + "Norm": 0 ~/~/ Норма внесения
5904 + },
5905 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id 
5906 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5907 + "created": "2025-02-25T12:11:04.874Z", ~/~/ Дата создания
5908 + "updated": "2025-02-25T12:11:04.874Z", ~/~/ Дата обновления
5909 + "deleted": true, ~/~/ Признак удаления
5910 + "extId": "string", 
5911 + "GeoIds": [ ~/~/ Cвязанные поля
5912 + 0
5913 + ]
5914 +}
5915 +)))
5916 +
5917 +
5918 +Пример ответа:
5919 +
5920 +{
5921 + "vehicleId": 0, ~/~/ Идентификатор ТС
5922 + "description": "string", ~/~/ Описание
5923 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5924 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5925 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
5926 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
5927 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5928 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5929 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5930 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5931 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5932 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5933 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5934 + "cost": { 
5935 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5936 + "Name": "string", ~/~/ Наименование
5937 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5938 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5939 + "Norm": 0 ~/~/ Норма внесения
5940 + },
5941 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5942 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5943 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
5944 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
5945 + "deleted": true, ~/~/ Признак удаления
5946 + "extId": "string", ~/~/ ExtId
5947 + "GeoIds": [ ~/~/ Связанные поля
5948 + 0
5949 + ]
5950 +}
5951 +
5952 +
5953 +== **Редактирование задания в Журнале заданий** ==
5954 +
5955 +(% class="box successmessage" %)
5956 +(((
5957 +**PUT /api/v3/vehicletasks**
5958 +)))
5959 +
5960 +Пример запроса:
5961 +
5962 +(((
5963 +{
5964 + "vehicleId": 0, ~/~/ Идентификатор ТС
5965 + "description": "string", ~/~/ Описание
5966 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
5967 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
5968 + "startDate": "2025-02-25T12:25:51.090Z", ~/~/ Начало работы
5969 + "endDate": "2025-02-25T12:25:51.090Z", ~/~/ Окончание работы
5970 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
5971 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
5972 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
5973 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
5974 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
5975 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
5976 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
5977 + "cost": { 
5978 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
5979 + "Name": "string", ~/~/ Наименование
5980 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
5981 + "MeasureType": 0,  ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
5982 + "Norm": 0 ~/~/ Норма внесения
5983 + },
5984 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
5985 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
5986 + "created": "2025-02-25T12:25:51.090Z", ~/~/ Дата создания
5987 + "updated": "2025-02-25T12:25:51.090Z", ~/~/ Дата обновления
5988 + "deleted": true, ~/~/ Признак удаления
5989 + "extId": "string", ~/~/ ExtId
5990 + "GeoIds": [ ~/~/ Связанные поля
5991 + 0
5992 + ]
5993 +}
5994 +)))
5995 +
5996 +
5997 +Пример ответа:
5998 +
5999 +{
6000 + "vehicleId": 0, ~/~/ Идентификатор ТС
6001 + "description": "string", ~/~/ Описание
6002 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
6003 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
6004 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
6005 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
6006 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
6007 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
6008 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
6009 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
6010 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
6011 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
6012 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
6013 + "cost": { 
6014 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
6015 + "Name": "string", ~/~/ Наименование
6016 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
6017 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
6018 + "Norm": 0 ~/~/ Норма внесения
6019 + },
6020 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6021 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
6022 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
6023 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
6024 + "deleted": true, ~/~/ Признак удаления
6025 + "extId": "string", ~/~/ ExtId
6026 + "GeoIds": [ ~/~/ Связанные поля
6027 + 0
6028 + ]
6029 +}
6030 +
6031 +
6032 +== **Удаление задания в Журнале заданий** ==
6033 +
6034 +(% class="box warningmessage" %)
6035 +(((
6036 +**DELETE /api/v3/vehicletasks**
6037 +)))
6038 +
6039 +Пример запроса:
6040 +
6041 +(((
6042 +[
6043 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор 
6044 +]
6045 +)))
6046 +
6047 +(((
6048 +
6049 +)))
6050 +
6051 +Пример ответа:
6052 +
6053 +{
6054 + "vehicleId": 0, ~/~/ Идентификатор ТС
6055 + "description": "string", ~/~/ Описание
6056 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата
6057 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя
6058 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы
6059 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы
6060 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ
6061 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция
6062 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата
6063 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м
6064 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м
6065 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч
6066 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч
6067 + "cost": { 
6068 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор
6069 + "Name": "string", ~/~/ Наименование
6070 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
6071 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
6072 + "Norm": 0 ~/~/ Норма внесения
6073 + },
6074 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6075 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя
6076 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания
6077 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления
6078 + "deleted": true, ~/~/ Признак удаления
6079 + "extId": "string", ~/~/ ExtId
6080 + "GeoIds": [ ~/~/ Связанные поля
6081 + 0
6082 + ]
6083 +}
6084 +
6085 +
6086 +== **Получение списка Журнала заданий** ==
6087 +
6088 +(% class="box infomessage" %)
6089 +(((
6090 +**POST /api/v3/vehicletasks/getbyperiod**
6091 +)))
6092 +
6093 +Пример запроса:
6094 +
6095 +(((
6096 +{
6097 + "Start": "2025-02-25T12:35:31.107Z", ~/~/ Начало периода.
6098 + "End": "2025-02-25T12:35:31.107Z", ~/~/ Окончание периода.
6099 + "TimeZone": 0, ~/~/ Часовой пояс.
6100 + "OperationsIds": [  ~/~/ Идентификаторы видов работ для фильтрации журнала
6101 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
6102 + ],
6103 + "GeoIds": [ ~/~/ Идентификаторы полей для фильтрации журнала
6104 + 0
6105 + ],
6106 + "VehiclesIds": [ ~/~/ Идентификаторы ТС для фильтрации журнала
6107 + 0
6108 + ],
6109 + "Offset": 0, ~/~/ Смещение от начала результата. Количество записей журнала для пропуска.
6110 + "Limit": 0 ~/~/ Размер страницы (количество записей на странице) 
6111 +}
6112 +)))
6113 +
6114 +
6115 +Пример ответа:
6116 +
6117 +(((
6118 +{
6119 + "total": 0,  ~/~/ Общее количество записей
6120 + "pages": 0,  ~/~/ Общее количество страниц
6121 + "currentPage": 0, ~/~/ Текущая страница
6122 + "items": [  ~/~/ Записи 
6123 + {
6124 + "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания
6125 + "isGroup": true,  ~/~/ Вид задания (true - групповое, иначе - одиночное).
6126 + "name": "string", ~/~/ Название задания.
6127 + "startDate": "2025-02-25T12:35:31.110Z", ~/~/ Начало, utc
6128 + "endDate": "2025-02-25T12:35:31.110Z", ~/~/ Окончание, utc
6129 + "workKind": "string", ~/~/ Вид работ
6130 + "techOp": "string", ~/~/ Тех. операция
6131 + "trailerModel": "string", ~/~/ Модель агрегата
6132 + "width": "string", ~/~/ Ширина, м
6133 + "speed": "string", ~/~/ Тех. скорость
6134 + "fields": "string", ~/~/ Поля
6135 + "fieldsInfo": "string", ~/~/ Количество полей (суммарная площадь га)
6136 + "vehicles": "string", ~/~/ Объект-модель
6137 + "vehiclesCount": 0, ~/~/ Объектов (суммарное количество объектов)
6138 + "drivers": "string", ~/~/ Водители
6139 + "tmc": "string", ~/~/ ТМЦ
6140 + "client": "string", ~/~/  Клиент
6141 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания
6142 + "dep": "string", ~/~/ Подразделение
6143 + "geoIds": [ ~/~/  Связанные поля
6144 + 0
6145 + ]
6146 + }
6147 + ]
6148 +}
6149 +)))
6150 +
6151 +
6152 += **Раздел: Роли** =
6153 +
6154 +== **Получение списка клиентских и системных ролей пользователя ** ==
6155 +
6156 +(% class="box successmessage" %)
6157 +(((
6158 +**POST /api/v3/groups/find**
6159 +)))
6160 +
6161 +Пример запроса:
6162 +
6163 +(((
6164 +{
6165 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента содержащий пользовательские роли
6166 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор родительского элемента пользователей 
6167 +}
6168 +)))
6169 +
6170 +(((
6171 +
6172 +)))
6173 +
6174 +(((
6175 +Пример ответа:
6176 +)))
6177 +
6178 +(((
6179 +(((
6180 +{
6181 + "groups": [  ~/~/ Системные роли пользователя
6182 + {
6183 + "code": "string", ~/~/ Код роли.
6184 + "name": "string", ~/~/ Имя  
6185 + "shortName": "string" ~/~/ Короткое имя 
6186 + }
6187 + ],
6188 + "customGroups": [ ~/~/ Системные роли пользователя
6189 + {
6190 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор роли.
6191 + "name": "string", ~/~/ Наименование 
6192 + "shortName": "string", ~/~/ Короткое наименование 
6193 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор владельца
6194 + }
6195 + ]
6196 +}
6197 +)))
6198 +)))
6199 +
6200 +(((
6201 +
6202 +)))
6203 +
6204 +(((
6205 +
6206 +)))
6207 +
6208 += **Раздел: Локатор ** =
6209 +
6210 +
6211 +== **Получение данных по локатору** ==
6212 +
6213 +(% class="box infomessage" %)
6214 +(((
6215 +**GET /api/v3/locators/{locatorId}**
6216 +)))
6217 +
6218 +В запросе указывается locatorid - идентификатор локатора
6219 +
6220 +
6221 +Пример ответа:
6222 +
6223 +(((
6224 +(((
6225 +{
6226 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 
6227 + 0
6228 + ],
6229 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 
6230 + 0
6231 + ],
6232 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 
6233 + 0
6234 + ],
6235 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора.
6236 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента
6237 + "agentName": "string", ~/~/ Наименование агента.
6238 + "isEnabled": true, ~/~/ Активность 
6239 + "created": "2025-05-26T11:31:05.399Z", ~/~/ Дата создания
6240 + "updated": "2025-05-26T11:31:05.399Z", ~/~/ Дата обновления
6241 + "name": "string", ~/~/ Наименование.
6242 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 
6243 + "activationMode": 0, ~/~/ Определяет вид активации локаторов ( 0 - сейчас, 1 - запланировать на время)
6244 + "activationTime": "2025-05-26T11:31:05.399Z", ~/~/ Время активации
6245 + "validity": 0, ~/~/ Значение срока действия
6246 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 
6247 + "autoProlongation": true, ~/~/ Автопродление срока действия.
6248 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор.
6249 + "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор.
6250 + "url": "string", ~/~/ Ссылка
6251 + "language": 0, ~/~/ ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский)
6252 +
6253 + "showVehicleName": true, ~/~/ Наименование объекта
6254 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте
6255 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки**
6256 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке.
6257 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах
6258 + "availableMapLayers": [ ~/~/Слои на карте ,по умолчанию 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ГИС)
6259 +
6260 + 1
6261 +
6262 + ]
6263 +}
6264 +)))
6265 +)))
6266 +
6267 +
6268 +(((
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": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 
6295 + 0
6296 + ],
6297 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 
6298 + 0
6299 + ],
6300 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 
6301 + 0
6302 + ],
6303 +
6304 + "showVehicleName": true, ~/~/ Наименование объекта
6305 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте
6306 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки**
6307 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке.
6308 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах
6309 + "availableMapLayers": [ ~/~/Слои на карте ,по умолчанию 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ГИС)
6310 +
6311 + 1
6312 +
6313 + ]
6314 +}
6315 +)))
6316 +
6317 +
6318 +Пример ответа:
6319 +
6320 +(((
6321 +3fa85f64-5717-4562-b3fc-2c963f66afa6 ~/~/ Идентификатор локатора
6322 +)))
6323 +
6324 +
6325 +== **Выводит список локаторов ** ==
6326 +
6327 +(% class="box successmessage" %)
6328 +(((
6329 +**POST /api/v3/locators/find**
6330 +)))
6331 +
6332 +Пример запроса:
6333 +
6334 +(((
6335 +{
6336 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор клиента
6337 +}
6338 +)))
6339 +
6340 +(((
6341 +
6342 +)))
6343 +
6344 +(((
6345 +
6346 +)))
6347 +
6348 +
6349 +Пример ответа:
6350 +
6351 +(((
6352 +[
6353 + {
6354 + "vehiclesCount": 0, ~/~/ Количество объектов.
6355 + "geozonesCount": 0, ~/~/ Количество геозон.
6356 + "fieldsCount": 0, ~/~/ Количество полей.
6357 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора.
6358 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента.
6359 + "agentName": "string", ~/~/ Наименование агента.
6360 + "isEnabled": true, ~/~/ Активность локатора
6361 + "created": "2025-07-03T12:57:58.738Z", ~/~/ Дата создания
6362 + "updated": "2025-07-03T12:57:58.738Z", ~/~/ Дата обновления 
6363 + "name": "string", ~/~/ Наименование локатора 
6364 + "status": 0,  ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 
6365 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 
6366 + "activationTime": "2025-07-03T12:57:58.738Z", ~/~/ Дата и время активации правила (UTC)
6367 + "validity": 0, ~/~/ Срок действия в днях (1-90)
6368 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 
6369 + "autoProlongation": true, ~/~/ Автоматическая пролонгация 
6370 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор.
6371 + "creatorUserName": "string", ~/~/ Наименование пользователя создавшего локатора 
6372 + "url": "string", ~/~/ ссылка на локатор 
6373 + "language": 1, ~/~/ Язык локатора(1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский)
6374 + "showVehicleName": true, ~/~/ Наименование объекта
6375 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте
6376 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки**
6377 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке.
6378 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах
6379 + "availableMapLayers": [ ~/~/Слои на карте ,по умолчанию 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ГИС)
6380 +
6381 + 0
6382 + ]
6383 + }
6384 +]
6385 +)))
6386 +
6387 +
6388 +
6389 +== **Изменение локатора** ==
6390 +
6391 +(% class="box infomessage" %)
6392 +(((
6393 +**PUT /api/v3/locators**
6394 +)))
6395 +
6396 +Пример запроса:
6397 +
6398 +(((
6399 +{
6400 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора
6401 + "isEnabled": true, ~/~/ Активность 
6402 + "name": "string", ~/~/ Наименование
6403 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 
6404 + "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации
6405 + "validity": 0, ~/~/ Срок действия в днях (1-90)
6406 + "autoProlongation": true, ~/~/ Автопродление срока действия
6407 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский)
6408 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 
6409 + 0
6410 + ],
6411 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 
6412 + 0
6413 + ],
6414 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 
6415 + 0
6416 + ],
6417 + "showVehicleName": true, ~/~/ Наименование объекта
6418 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте
6419 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки**
6420 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке.
6421 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах
6422 + "availableMapLayers": [ ~/~/Слои на карте ,по умолчанию 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ГИС)
6423 +
6424 + 0
6425 +
6426 + ]
6427 +}
6428 +
6429 +
6430 +)))
6431 +
6432 +Пример ответа:
6433 +
6434 +200 ~/~/ Success
6435 +
6436 +
6437 +== **Удалить локатор** ==
6438 +
6439 +(% class="box warningmessage" %)
6440 +(((
6441 +**DELETE /api/v3/locators**
6442 +)))
6443 +
6444 +Пример запроса:
6445 +
6446 +(((
6447 +[
6448 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор локатора
6449 +]
6450 +)))
6451 +
6452 +
6453 +
6454 += **Раздел: Яндекс Маршруты** =
6455 +
6456 +
6457 +== **Возвращение списка маршрутов** ==
6458 +
6459 +(% class="box infomessage" %)
6460 +(((
6461 +**GET /api/v3/TransportRoutes**
6462 +)))
6463 +
6464 +Пример запроса:
6465 +Id  ~/~/ Идентификатор поля
6466 +
6467 +
6468 +Пример ответа:
6469 +
6470 +(((
6471 +[
6472 + {
6473 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ id 
6474 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6475 + "name": "string", ~/~/ Наименование маршрута.
6476 + "kind": 0,  ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water)
6477 + "vehicles": [  ~/~/ Определяет список ТС для маршрута
6478 + 0
6479 + ]
6480 + }
6481 +]
6482 +)))
6483 +
6484 +
6485 +
6486 +== **Добавить маршрут** ==
6487 +
6488 +(% class="box infomessage" %)
6489 +(((
6490 +**POST /api/v3/TransportRoutes**
6491 +)))
6492 +
6493 +Пример запроса: 
6494 +{
6495 + "name": "string",  ~/~/  Опредлеляет наименование маршрута.
6496 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6497 + "kind": 0, ~/~/ Определяет вид маршрута. (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water )
6498 + "vehicles": [  ~/~/ Определяет список ТС для маршрута
6499 + 0
6500 + ]
6501 +}
6502 +
6503 +
6504 +Пример ответа:
6505 +
6506 +(((
6507 +{
6508 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6509 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6510 + "name": "string", ~/~/ Определяет наименование маршрута 
6511 + "kind": 0,  ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 
6512 + "vehicles": [ ~/~/ Определяет список ТС для маршрута
6513 + 0
6514 + ]
6515 +}
6516 +)))
6517 +
6518 +
6519 +== **Обновление маршрута** ==
6520 +
6521 +(% class="box successmessage" %)
6522 +(((
6523 +**PUT /api/v3/TransportRoutes**
6524 +)))
6525 +
6526 +Пример запроса:
6527 +
6528 +(((
6529 +{
6530 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6531 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6532 + "name": "string", ~/~/ Опредлеляет наименование маршрута.
6533 + "kind": 0, ~/~/ Определяет вид маршрута (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water)
6534 + "vehicles": [ ~/~/ Определяет список ТС для маршрута
6535 + 0
6536 + ]
6537 +}
6538 +)))
6539 +
6540 +
6541 +Пример ответа:
6542 +
6543 +(((
6544 +{
6545 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID
6546 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут
6547 + "name": "string", ~/~/ Определяет наименование маршрута 
6548 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water )
6549 + "vehicles": [ ~/~/ Определяет список ТС для маршрута
6550 + 0
6551 + ]
6552 +}
6553 +)))
6554 +
6555 +
6556 +== **Получить связки маршрутов ТС** ==
6557 +
6558 +(% class="box infomessage" %)
6559 +(((
6560 +**POST /api/v3/TransportRoutes/getroutesvehicles**
6561 +)))
6562 +
6563 +Пример запроса:
6564 +
6565 +(((
6566 +[
6567 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"  ~/~/ идентификатор маршрута
6568 +]
6569 +)))
6570 +
6571 +
6572 +Пример ответа:
6573 +
6574 +(((
6575 +[
6576 + {
6577 + "vehicleId": 0, ~/~/ Опредлеляет идентификатор ТС
6578 + "routeGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Определяет идентификатор маршрута
6579 + }
6580 +]
6581 +)))
6582 +
6583 +
6584 +== **Удалить маршрут** ==
6585 +
6586 +(% class="box warningmessage" %)
6587 +(((
6588 +**DELETE /api/v3/TransportRoutes/{id}**
6589 +)))
6590 +
6591 +Пример запроса:
6592 +Id  ~/~/ Идентификатор поля
6593 +
6594 +
6595 +
6596 += **Раздел: Управление доступа к машинам** =
6597 +
6598 +
6599 +== Получение списка транспортных средств видимых пользователю ==
6600 +
6601 +(% class="box infomessage" %)
6602 +(((
6603 +**GET /api/v3/UserVisibleVehicles/{userId}**
6604 +)))
6605 +
6606 +Пример ответа:
6607 +
6608 +(((
6609 +{
6610 + "vehicleIds": [  ~/~/ Идентификаторы ТС
6611 + 0
6612 + ]
6613 +}
6614 +)))
6615 +
6616 +
6617 +
6618 +== Задает видимость транспортных средств пользователю ==
6619 +
6620 +(% class="box infomessage" %)
6621 +(((
6622 +**POST /api/v3/UserVisibleVehicles**
6623 +)))
6624 +
6625 +Пример запроса:
6626 +
6627 +(((
6628 +(((
6629 +{
6630 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  ~/~/ Идентификатор пользователя
6631 + "vehicleIds": [ ~/~/ Идентификаторы ТС
6632 + 0
6633 + ]
6634 +}
6635 +)))
6636 +
6637 +(((
6638 +
6639 +)))
6640 +
6641 +(((
6642 +
6643 +)))
6644 +
6645 +(((
6646 +Пример ответа :
6647 +)))
6648 +
6649 +(((
6650 +
6651 +)))
6652 +
6653 +(((
6654 +200 ~/~/ Success
6655 +)))
6656 +)))
6657 +
6658 +
6659 +== ==
6660 +
6661 +
6662 +
6663 +
3542 3542  (% class="box" lang="en-US" style="text-align: center;" %)
3543 3543  (((
3544 3544  (% 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 г.