Changes for page Методы API для работы с ГЛОНАССSoft
Last modified by Андрей Калиновский on 2025/08/08 13:28
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. krainovim1 +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 - 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 - 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" %) ... ... @@ -3406,19 +3406,83 @@ 3406 3406 **PUT /api/v3/Billing/client/balance** 3407 3407 ))) 3408 3408 4193 +Устанавливает указанное значение баланса не создавая операции пополнение/снятие. 4194 + 3409 3409 Тело запроса: 3410 3410 3411 3411 { 3412 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3413 - "Balance": 0 4198 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4199 + "Balance": 0 ~/~/ Значение баланса. 3414 3414 } 3415 3415 3416 3416 Ответ: Success 3417 3417 3418 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3419 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3420 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4204 +== (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) == 3421 3421 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 + 3422 3422 == (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) == 3423 3423 3424 3424 (% class="box warningmessage" %) ... ... @@ -3428,28 +3428,35 @@ 3428 3428 3429 3429 Тело запроса: 3430 3430 4279 +((( 3431 3431 { 3432 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3433 - "CalculationType": 0, 3434 - "PermissibleBalance": 0, 3435 - "DefermentDays": 0, 3436 - "SendUiNotifications": true, 3437 - "SendEmailNotifications": true, 3438 - "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 - выключено 3439 3439 } 4288 +))) 3440 3440 4290 +((( 4291 + 4292 +))) 4293 + 3441 3441 Ответ: Success 3442 3442 3443 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3444 -|ClientId|Идентификатор клиента 3445 -|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3446 -|PermissibleBalance|Допустимый баланс 3447 -|DefermentDays|((( 3448 -Отсрочка, количество дней 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 +} 3449 3449 ))) 3450 -|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 3451 -|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 3452 -|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 3453 3453 3454 3454 == (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) == 3455 3455 ... ... @@ -3461,35 +3461,68 @@ 3461 3461 Тело запроса: 3462 3462 3463 3463 { 3464 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3465 - "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3466 - "Features": [ 4319 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4320 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана. 4321 + "Features": [ ~/~/ Набор услуг по тарифу клиента. 3467 3467 { 3468 - "Feature": "string", 3469 - "IsEnabled": true, 3470 - "IsFactual": true, 3471 - "Limit": 0, 3472 - "Price": 0, 3473 - "DebitDate": "2023-10-18T13:26:58.987Z", 3474 - "PeriodValue": 0, 3475 - "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 - Месяцы) 3476 3476 } 3477 3477 ] 3478 3478 } 3479 3479 4335 + 3480 3480 Ответ: Success 3481 3481 3482 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3483 -|ClientId|Идентификатор клиента 3484 -|PlanId|Идентификатор тарифного плана 3485 -|Feature|Код услуги 3486 -|IsEnabled|Признак, определяющий активирована ли услуга 3487 -|IsFactual|Признак, определяющий расчёт по факту 3488 -|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3489 -|Price|Цена за единицу. 3490 -|DebitDate|Следующий момент времени списания с баланса за услугу. 3491 -|PeriodValue|Значение периода. 3492 -|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 +))) 3493 3493 3494 3494 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) = 3495 3495 ... ... @@ -3505,22 +3505,132 @@ 3505 3505 **POST /api/v3/vehicles/import/{agentId}** 3506 3506 ))) 3507 3507 3508 -Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml** или **wlp ** . В формате**xml**экспортируютсяобъектыизнашейсистемы.4396 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).** 3509 3509 3510 -**agentId** - , указывается в пути запроса.(обязательный)4398 +В пути указывается **agentId** - id клиента. 3511 3511 4400 +**Заголовок** 3512 3512 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 + 3513 3513 == (% style="color:#000000; font-size:16px" %)**Импорт сообщений**(%%) == 3514 3514 3515 3515 (% class="box infomessage" %) 3516 3516 ((( 3517 -**POST /api/v3/vehicles/import/history/{vehicleId}** 4435 +**POST** **/api/v3/vehicles/import/history/{vehicleId}** 3518 3518 ))) 3519 3519 3520 3520 (% class="wikigeneratedid" %) 3521 -** vehicleId**-idобъекта.4439 +Позволяет импортировать сообщения в выбранный объект. Сообщения должны иметь формат **wln** или **json**. Также они могут быть упакованы и переданы в виде в **zip-архива**. 3522 3522 4441 +(% class="wikigeneratedid" %) 4442 +В пути указывается **vehicleId **- id объекта. 3523 3523 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 + 3524 3524 == (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) == 3525 3525 3526 3526 (% class="box infomessage" %) ... ... @@ -3528,7 +3528,69 @@ 3528 3528 **GET /api/v3/vehicles/import/history/status** 3529 3529 ))) 3530 3530 4529 +Запрос статуса импорта истории. Может потребоваться в случае импорта истории за большой период. 3531 3531 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 + 3532 3532 == (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) == 3533 3533 3534 3534 (% class="box infomessage" %) ... ... @@ -3598,7 +3598,7 @@ 3598 3598 3599 3599 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Экодрайвинг**(%%) = 3600 3600 3601 -== (% style="color:#000000; font-size:16px" %)**Запрос рейтин ша качества вождения**(%%) ==4661 +== (% style="color:#000000; font-size:16px" %)**Запрос рейтинга качества вождения**(%%) == 3602 3602 3603 3603 (% class="box infomessage" %) 3604 3604 ((( ... ... @@ -3610,64 +3610,67 @@ 3610 3610 Тело запроса: 3611 3611 3612 3612 { 3613 - "vehicleIds": [vehicleId], 3614 - "from": "2023-11-22T09:29:48.051Z", 3615 - "to": "2023-11-22T09:29:48.051Z" 4673 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов 4674 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса 4675 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса 3616 3616 } 3617 3617 3618 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3619 -|vehicleIds|Массив ID объектов 3620 -|from|Дата начала запроса 3621 -|to|Дата окончания запроса 3622 - 3623 3623 Ответ: 3624 3624 3625 3625 { 3626 - "items": [ 4681 + "items": [ ~/~/ Список в разрезе ТС 3627 3627 { 3628 - "from": "2023-11-22T09:29:48.052Z", 3629 - "to": "2023-11-22T09:29:48.052Z", 3630 - "vehicleId": 0, 3631 - "vehicleName": "string", 3632 - "vehicleModel": "string", 3633 - "penalty": 0, 3634 - "score": 0, 3635 - "totalViolations": 0, 3636 - "violationsByType": { 3637 - "overspeedingViolations": 0, 3638 - "accelerationViolations": 0, 3639 - "brakingViolations": 0, 3640 - "turningViolations": 0, 3641 - "dangerousDrivingViolations": 0, 3642 - "sensorViolations": 0 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 ~/~/ Нарушений по датчику 3643 3643 }, 3644 - "moveTime": 0, 3645 - "mileage": 0, 3646 - "tripsCount": 0, 3647 - "trips": [ 4699 + 4700 +((( 4701 + 4702 +))) 4703 + 4704 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4705 + "mileage": 0, ~/~/ Пробег, м 4706 + "tripsCount": 0, ~/~/ Кол-во рейсов 4707 + "trips": [ ~/~/ Информация по рейсу 3648 3648 { 3649 - "penalty": 0, 3650 - "score": 0, 3651 - "violationsCount": 0, 3652 - "violationsByType": { 3653 - "overspeedingViolations": 0, 3654 - "accelerationViolations": 0, 3655 - "brakingViolations": 0, 3656 - "turningViolations": 0, 3657 - "dangerousDrivingViolations": 0, 3658 - "sensorViolations": 0 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 ~/~/ Нарушений по датчику 3659 3659 }, 3660 - "moveTime": 0, 3661 - "mileage": 0, 3662 - "motohours": 0, 3663 - "maxSpeed": 0, 3664 - "startAddress": "string", 3665 - "endAddress": "string", 3666 - "drivers": [ 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": [ ~/~/ Список водителей 3667 3667 { 3668 - "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3669 - "driverName": "string", 3670 - "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" 4731 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя 4732 + "driverName": "string", ~/~/ФИО водителя 4733 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки 3671 3671 } 3672 3672 ] 3673 3673 } ... ... @@ -3676,34 +3676,1943 @@ 3676 3676 ] 3677 3677 } 3678 3678 3679 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3680 -|from|Дата начала запроса 3681 -|to|Дата окончания 3682 -|vehicleId|ID объекта 3683 -|vehicleName|Имя объекта 3684 -|vehicleModel|Модель объекта 3685 -|penalty|Сумма штрафных баллов 3686 -|score|Оценка 3687 -|totalViolations|Суммарное количество нарушений 3688 -|violationsByType|Список типов нарушений и количество нарушений для каждого типа 3689 -|overspeedingViolations|Превышение скорости 3690 -|accelerationViolations|Ускорение 3691 -|brakingViolations|Торможение 3692 -|turningViolations|Резкий поворот 3693 -|dangerousDrivingViolations|Резкое вождение 3694 -|sensorViolations|Нарушение по датчику 3695 -|moveTime|Время в движении 3696 -|mileage|Пробег 3697 -|tripsCount|Количество рейсов 3698 -|motohours|Моточасы 3699 -|maxSpeed|Максимальная скорость 3700 -|startAddress|Адрес начала рейса 3701 -|endAddress|Адрес окончания рейса 3702 -|drivers|Список водителей, которые были на объекте в течениии рейса 3703 -|driverGuid|Guid водителя 3704 -|driverName|Имя водителя 3705 -|driverRfid|Номер Карты-метки 4742 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) = 3706 3706 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 + 4801 +[ 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 + } 4812 +] 4813 + 4814 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** = 4815 + 4816 + 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 ** 6216 +))) 6217 + 6218 +В заголовках запроса: X-Auth: Токен авторизации 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 + "showVehicleName": true, ~/~/ Наименование объекта 6253 + "showVehicleDirection": true, ~/~/ Направление движения на треке 6254 + "allowTrackReport": true, ~/~/ Трек 6255 + "showTrackTracing": true, ~/~/ Трассировка трека 6256 + "showSensors": true, ~/~/ Датчик 6257 + "availableMapLayers": [ ~/~/ Слои на карте 6258 + 0 6259 + ] 6260 +} 6261 +))) 6262 +))) 6263 + 6264 + 6265 +((( 6266 +((( 6267 + 6268 +))) 6269 +))) 6270 + 6271 + 6272 +== **Создание локатора** == 6273 + 6274 +(% class="box successmessage" %) 6275 +((( 6276 +**POST /api/v3/locators** 6277 +))) 6278 + 6279 +Пример запроса: 6280 + 6281 +((( 6282 +{ 6283 + "isEnabled": true, ~/~/ Активность 6284 + "name": "string", ~/~/ Наименование локатора 6285 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени) 6286 + "activationTime": "2025-03-12T07:00:08.272Z", ~/~/ Время активации 6287 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6288 + "autoProlongation": true, ~/~/ Автопродление срока действия. 6289 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6290 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 6291 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6292 + 0 6293 + ], 6294 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6295 + 0 6296 + ], 6297 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6298 + 0 6299 + ], 6300 + "showVehicleName": true, ~/~/ Наименование объекта 6301 + "showVehicleDirection": true, ~/~/ Направление движения на треке 6302 + "allowTrackReport": true, ~/~/ Трек 6303 + "showTrackTracing": true, ~/~/ Трассировка трека 6304 + "showSensors": true, ~/~/ Датчик 6305 + "availableMapLayers": 1 [ ~/~/ Слои на карте ,по умолчанию OpenStreetMap (1-OpenStreetMap, 2-Yandex (Карта), 3-Yandex (Спутник), 4-Yandex (Гибрид), 5-Yandex (Пробки), 6-Google (Карта), 7-Google (Гибрид), 8-Google (Рельеф), 9-Google (Спутник), 10-Bing (Карта), 11-Bing (Гибрид), 12-Bing(Темная карта), 13-2ГИС) 6306 + ] 6307 +} 6308 +))) 6309 + 6310 + 6311 +Пример ответа: 6312 + 6313 +((( 6314 +3fa85f64-5717-4562-b3fc-2c963f66afa6 ~/~/ Идентификатор локатора 6315 +))) 6316 + 6317 + 6318 +== **Выводит список локаторов ** == 6319 + 6320 +(% class="box successmessage" %) 6321 +((( 6322 +**POST /api/v3/locators/find** 6323 +))) 6324 + 6325 +Пример запроса: 6326 + 6327 +((( 6328 +{ 6329 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор клиента 6330 +} 6331 +))) 6332 + 6333 +((( 6334 + 6335 +))) 6336 + 6337 +((( 6338 +{ 6339 + "isEnabled": true, ~/~/ Активность 6340 + "name": "string", ~/~/ Наименование локатора 6341 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени) 6342 + "activationTime": "2025-03-12T07:00:08.272Z", ~/~/ Время активации 6343 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6344 + "autoProlongation": true, ~/~/ Автопродление срока действия. 6345 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6346 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 6347 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6348 + 0 6349 + ], 6350 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6351 + 0 6352 + ], 6353 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6354 + 0 6355 + ], 6356 + "showVehicleName": true, ~/~/ Наименование объекта 6357 + "showVehicleDirection": true, ~/~/ Направление движения на треке 6358 + "allowTrackReport": true, ~/~/ Трек 6359 + "showTrackTracing": true, ~/~/ Трассировка трека 6360 + "showSensors": true, ~/~/ Датчик 6361 + "availableMapLayers": 1 [ ~/~/ Слои на карте ,по умолчанию OpenStreetMap (1-OpenStreetMap, 2-Yandex (Карта), 3-Yandex (Спутник), 4-Yandex (Гибрид), 5-Yandex (Пробки), 6-Google (Карта), 7-Google (Гибрид), 8-Google (Рельеф), 9-Google (Спутник), 10-Bing (Карта), 11-Bing (Гибрид), 12-Bing(Темная карта), 13-2ГИС) 6362 + ] 6363 +} 6364 +))) 6365 + 6366 + 6367 +Пример ответа: 6368 + 6369 +((( 6370 +[ 6371 + { 6372 + "vehiclesCount": 0, ~/~/ Количество объектов. 6373 + "geozonesCount": 0, ~/~/ Количество геозон. 6374 + "fieldsCount": 0, ~/~/ Количество полей. 6375 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 6376 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента. 6377 + "agentName": "string", ~/~/ Наименование агента. 6378 + "isEnabled": true, ~/~/ Активность локатора 6379 + "created": "2025-07-03T12:57:58.738Z", ~/~/ Дата создания 6380 + "updated": "2025-07-03T12:57:58.738Z", ~/~/ Дата обновления 6381 + "name": "string", ~/~/ Наименование локатора 6382 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 6383 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 6384 + "activationTime": "2025-07-03T12:57:58.738Z", ~/~/ Дата и время активации правила (UTC) 6385 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6386 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 6387 + "autoProlongation": true, ~/~/ Автоматическая пролонгация 6388 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 6389 + "creatorUserName": "string", ~/~/ Наименование пользователя создавшего локатора 6390 + "url": "string", ~/~/ ссылка на локатор 6391 + "language": 1, ~/~/ Язык локатора(1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6392 + "showVehicleName": true, ~/~/ Наименование объекта 6393 + "showVehicleDirection": true, ~/~/ Направление движения на треке 6394 + "allowTrackReport": true, ~/~/ Трек 6395 + "showTrackTracing": true, ~/~/ Трассировка трека 6396 + "showSensors": true, ~/~/ Датчик 6397 + "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ГИС) 6398 + 6399 + 0 6400 + ] 6401 + } 6402 +] 6403 +))) 6404 + 6405 + 6406 + 6407 +== **Изменение локатора** == 6408 + 6409 +(% class="box infomessage" %) 6410 +((( 6411 +**PUT /api/v3/locators** 6412 +))) 6413 + 6414 +Пример запроса: 6415 + 6416 +((( 6417 +{ 6418 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора 6419 + "isEnabled": true, ~/~/ Активность 6420 + "name": "string", ~/~/ Наименование 6421 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 6422 + "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации 6423 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6424 + "autoProlongation": true, ~/~/ Автопродление срока действия 6425 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6426 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6427 + 0 6428 + ], 6429 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6430 + 0 6431 + ], 6432 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6433 + 0 6434 + ], 6435 + "showVehicleName": true, ~/~/ Наименование объекта 6436 + "showVehicleDirection": true, ~/~/ Направление движения на треке 6437 + "allowTrackReport": true, ~/~/ Трек 6438 + "showTrackTracing": true, ~/~/ Трассировка трека 6439 + "showSensors": true, ~/~/ Датчик 6440 + "availableMapLayers": 1 [ ~/~/ Слои на карте ,по умолчанию OpenStreetMap (1-OpenStreetMap, 2-Yandex (Карта), 3-Yandex (Спутник), 4-Yandex (Гибрид), 5-Yandex (Пробки), 6-Google (Карта), 7-Google (Гибрид), 8-Google (Рельеф), 9-Google (Спутник), 10-Bing (Карта), 11-Bing (Гибрид), 12-Bing(Темная карта), 13-2ГИС) 6441 + ] 6442 +} 6443 + 6444 + 6445 +))) 6446 + 6447 +Пример ответа: 6448 + 6449 +200 ~/~/ Success 6450 + 6451 + 6452 +== **Удалить локатор** == 6453 + 6454 +(% class="box warningmessage" %) 6455 +((( 6456 +**DELETE /api/v3/locators** 6457 +))) 6458 + 6459 +Пример запроса: 6460 + 6461 +((( 6462 +[ 6463 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор локатора 6464 +] 6465 +))) 6466 + 6467 + 6468 + 6469 += **Раздел: Яндекс Маршруты** = 6470 + 6471 + 6472 +== **Возвращение списка маршрутов** == 6473 + 6474 +(% class="box infomessage" %) 6475 +((( 6476 +**GET /api/v3/TransportRoutes** 6477 +))) 6478 + 6479 +Пример запроса: 6480 +Id ~/~/ Идентификатор поля 6481 + 6482 + 6483 +Пример ответа: 6484 + 6485 +((( 6486 +[ 6487 + { 6488 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ id 6489 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6490 + "name": "string", ~/~/ Наименование маршрута. 6491 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water) 6492 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6493 + 0 6494 + ] 6495 + } 6496 +] 6497 +))) 6498 + 6499 + 6500 + 6501 +== **Добавить маршрут** == 6502 + 6503 +(% class="box infomessage" %) 6504 +((( 6505 +**POST /api/v3/TransportRoutes** 6506 +))) 6507 + 6508 +Пример запроса: 6509 +{ 6510 + "name": "string", ~/~/ Опредлеляет наименование маршрута. 6511 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6512 + "kind": 0, ~/~/ Определяет вид маршрута. (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6513 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6514 + 0 6515 + ] 6516 +} 6517 + 6518 + 6519 +Пример ответа: 6520 + 6521 +((( 6522 +{ 6523 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6524 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6525 + "name": "string", ~/~/ Определяет наименование маршрута 6526 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6527 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6528 + 0 6529 + ] 6530 +} 6531 +))) 6532 + 6533 + 6534 +== **Обновление маршрута** == 6535 + 6536 +(% class="box successmessage" %) 6537 +((( 6538 +**PUT /api/v3/TransportRoutes** 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 +((( 6559 +{ 6560 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6561 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6562 + "name": "string", ~/~/ Определяет наименование маршрута 6563 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6564 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6565 + 0 6566 + ] 6567 +} 6568 +))) 6569 + 6570 + 6571 +== **Получить связки маршрутов ТС** == 6572 + 6573 +(% class="box infomessage" %) 6574 +((( 6575 +**POST /api/v3/TransportRoutes/getroutesvehicles** 6576 +))) 6577 + 6578 +Пример запроса: 6579 + 6580 +((( 6581 +[ 6582 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ идентификатор маршрута 6583 +] 6584 +))) 6585 + 6586 + 6587 +Пример ответа: 6588 + 6589 +((( 6590 +[ 6591 + { 6592 + "vehicleId": 0, ~/~/ Опредлеляет идентификатор ТС 6593 + "routeGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Определяет идентификатор маршрута 6594 + } 6595 +] 6596 +))) 6597 + 6598 + 6599 +== **Удалить маршрут** == 6600 + 6601 +(% class="box warningmessage" %) 6602 +((( 6603 +**DELETE /api/v3/TransportRoutes/{id}** 6604 +))) 6605 + 6606 +Пример запроса: 6607 +Id ~/~/ Идентификатор поля 6608 + 6609 + 6610 + 6611 += **Раздел: Управление доступа к машинам** = 6612 + 6613 + 6614 +== Получение списка транспортных средств видимых пользователю == 6615 + 6616 +(% class="box infomessage" %) 6617 +((( 6618 +**GET /api/v3/UserVisibleVehicles/{userId}** 6619 +))) 6620 + 6621 +Пример ответа: 6622 + 6623 +((( 6624 +{ 6625 + "vehicleIds": [ ~/~/ Идентификаторы ТС 6626 + 0 6627 + ] 6628 +} 6629 +))) 6630 + 6631 + 6632 + 6633 +== Задает видимость транспортных средств пользователю == 6634 + 6635 +(% class="box infomessage" %) 6636 +((( 6637 +**POST /api/v3/UserVisibleVehicles** 6638 +))) 6639 + 6640 +Пример запроса: 6641 + 6642 +((( 6643 +((( 6644 +{ 6645 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя 6646 + "vehicleIds": [ ~/~/ Идентификаторы ТС 6647 + 0 6648 + ] 6649 +} 6650 +))) 6651 + 6652 +((( 6653 + 6654 +))) 6655 + 6656 +((( 6657 + 6658 +))) 6659 + 6660 +((( 6661 +Пример ответа : 6662 +))) 6663 + 6664 +((( 6665 + 6666 +))) 6667 + 6668 +((( 6669 +200 ~/~/ Success 6670 +))) 6671 +))) 6672 + 6673 + 6674 +== == 6675 + 6676 + 6677 + 6678 + 3707 3707 (% class="box" lang="en-US" style="text-align: center;" %) 3708 3708 ((( 3709 3709 (% 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]] **