Changes for page Методы API для работы с ГЛОНАССSoft
Last modified by Андрей Калиновский on 2025/08/08 13:28
<
>
edited by Андрей Калиновский
on 2024/02/28 09:52
on 2024/02/28 09:52
edited by Андрей Калиновский
on 2025/07/29 15:41
on 2025/07/29 15:41
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -1,5 +1,22 @@ 1 1 (% class="western" id="H41E43F43844143043D43843541341B41E41D410421421SoftPublicAPI" %) 2 2 ((( 3 +(% class="box warningmessage" %) 4 +((( 5 +(% class="mark" %)##Для обеспечения бесперебойной работы команд и серверного оборудования ГЛОНАССSoft убедительно 6 +просим вас соблюдать несколько простых правил при использовании API-команд:## 7 +))) 8 + 9 +* Формировать не более 3 отчётов одновременно. 10 +* Ограничить количество активных сессий одного пользователя с одного IP-адреса до 50. 11 + 12 +В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить выполнение запросов с определенных IP адресов. 13 + 14 +(% class="box infomessage" %) 15 +((( 16 +**Чтобы избежать блокировки** из-за превышения количества авторизаций, вам необходимо использовать токен авторизации, полученный с помощью метода /auth/login, во всех последующих запросах к API. Этот токен имеет ограниченный срок действия, который можно изменить, настроив параметр "Длительность сессии" в настройках пользователя. 17 +\\При выполнении запросов с одним и тем же токеном его срок действия автоматически продлевается. Это позволяет пройти авторизацию только один раз и использовать полученный токен во всех последующих запросах без необходимости повторного входа в систему. 18 +))) 19 + 3 3 **Содержание страницы:** 4 4 ))) 5 5 ... ... @@ -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" %)Идентификатор клиента-родителя ... ... @@ -226,7 +226,6 @@ 226 226 "bankKS": "string" ~/~/ корр. счёт 227 227 } 228 228 229 - 230 230 Ответ: 231 231 232 232 { ... ... @@ -251,28 +251,6 @@ 251 251 "bankKS": "string" ~/~/ корр. счёт 252 252 } 253 253 254 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 255 -|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 256 -|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 257 -|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя 258 -|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 259 -|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 260 -|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 261 -|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент 262 -|(% style="width:215px" %)district|(% style="width:861px" %)Округ 263 -|(% style="width:215px" %)region|(% style="width:861px" %)Регион 264 -|(% style="width:215px" %)city|(% style="width:861px" %)Город 265 -|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента 266 -|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента 267 -|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес 268 -|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес 269 -|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта 270 -|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя 271 -|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк 272 -|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК 273 -|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета 274 -|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет 275 - 276 276 == (% style="color:#000000; font-size:16px" %)**Редактирование клиента**(%%) == 277 277 278 278 (% class="box warningmessage" %) ... ... @@ -418,9 +418,8 @@ 418 418 [ 419 419 "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ группы пользователя, перечисление названия клиентских ролей 420 420 ], 421 - "language": 0~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский435 + "language": 1 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 422 422 } 423 - 424 424 { 425 425 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 426 426 "lastName": "string", ... ... @@ -434,12 +434,8 @@ 434 434 435 435 (% style="text-align:left" %) 436 436 (% style="color:#000000; font-weight:normal" %)Ответ: 437 - 438 -(% style="text-align:left" %) 439 -(% style="color:#000000; font-weight:normal" %){ 440 - 441 -(% style="text-align:left" %) 442 -(% style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 450 +{ 451 + "id": "" , ~/~/ ID пользователя 443 443 "lastName": "" , ~/~/ Фамилия , 444 444 "firstName": "" , ~/~/ Имя 445 445 "position": "" , ~/~/ Должность ... ... @@ -456,11 +456,9 @@ 456 456 "kind": "" , ~/~/ тип аутентификации 457 457 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 458 458 "groups": (% style="color:#000000" %)["", ""] (% style="color:#000000; font-weight:normal" %), ~/~/ роли пользователя, перечислены названия групп пользователя 468 +} 459 459 460 -(% style="text-align:left" %) 461 -(% style="color:#000000; font-weight:normal" %)} 462 462 463 - 464 464 == (% style="color:#000000; font-size:16px" %)**Получение списка пользователей**(%%) == 465 465 466 466 (% class="box infomessage" %) ... ... @@ -480,19 +480,16 @@ 480 480 481 481 (% style="color:#000000" %)Параметры в теле запроса (JSON): 482 482 483 -(% style="color:#000000" %){ 484 - 490 +(% style="color:#000000" %){(%%) 485 485 "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303", ~/~/ GUID агента, для которого надо получить данные, null - для текущего агента 486 486 "userId": "11111111-c384-43f8-8562-1c3d79a32303", ~/~/ ID пользователя, по которому фильтруется, null - неважно 487 487 "login": "qqqqqq", ~/~/ Логин пользователя, по которому фильтруется, null - неважно 488 488 "email": "eee", ~/~/ Email пользователя, по которому фильтруется, null - неважно 489 - 490 490 (% style="color:#000000" %)} 491 491 492 492 (% style="color:#000000" %)Ответ: 493 493 494 494 (% style="color:#000000" %){ (%%) 495 - 496 496 "id": "" , ~/~/ идентификатор пользователя 497 497 "lastName": "" , ~/~/ фамилия 498 498 "firstName": "" , ~/~/ имя ... ... @@ -506,7 +506,6 @@ 506 506 "sessionDuration":"", ~/~/ длительность сессии в минутах 507 507 "status": "1", ~/~/ статус пользователя 508 508 "lastLogged": "", ~/~/ дата/время последней авторизации 509 - 510 510 (% style="color:#000000" %)} 511 511 512 512 == (% style="color:#000000; font-size:16px" %)**Получение информации о пользователе**(%%) == ... ... @@ -580,10 +580,8 @@ 580 580 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)Параметры в теле запроса (JSON): 581 581 582 582 (% lang="en-US" style="text-align:left" %) 583 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 584 - 585 -(% lang="en-US" style="text-align:left" %) 586 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ ID пользователя 586 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 587 + "id": "" , ~/~/ ID пользователя 587 587 "lastName": "" , ~/~/ фамилия 588 588 "firstName": "" , ~/~/ имя 589 589 "position": "" , ~/~/ должность ... ... @@ -605,9 +605,7 @@ 605 605 "target": "string" ~/~/ Адрес электронной почты двухэтапной аутентификации 606 606 }, 607 607 "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 608 - "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 609 - 610 -(% lang="en-US" style="text-align:left" %) 609 + "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя(%%) 611 611 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)__}__ 612 612 613 613 (% lang="en-US" style="text-align:left" %) ... ... @@ -614,10 +614,8 @@ 614 614 (% lang="ru-RU" style="color:#000000; font-weight:normal" %)//Ответ~:// 615 615 616 616 (% lang="en-US" style="text-align:left" %) 617 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 618 - 619 -(% lang="en-US" style="text-align:left" %) 620 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %) "id": "" , ~/~/ идентификатор пользователя 616 +(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 617 + "id": "" , ~/~/ идентификатор пользователя 621 621 "lastName": "" , ~/~/ фамилия 622 622 "firstName": "" , ~/~/ имя 623 623 "position": "" , ~/~/ должность ... ... @@ -638,10 +638,8 @@ 638 638 "isDisabledMobile": false, ~/~/ Запретить использовать мобильное приложение, true - включен, false - отключен 639 639 "target": "" , ~/~/ в случае аутентификации по email - email-адрес 640 640 "groups": "" , ~/~/ группы пользователя, «user» названия группы пользователя 638 +} 641 641 642 -(% lang="en-US" style="text-align:left" %) 643 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 644 - 645 645 == (% style="color:#000000; font-size:16px" %)**Изменение статуса пользователя**(%%) == 646 646 647 647 (% class="box warningmessage" %) ... ... @@ -661,12 +661,10 @@ 661 661 662 662 (% style="color:#000000" %)Параметры в теле запроса (JSON): 663 663 664 -(% style="color:#000000" %){ 665 - 659 +(% style="color:#000000" %){(%%) 666 666 "status": "" , ~/~/ статус пользователя (0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован) 667 667 "description": "" , ~/~/ описание 668 668 "data": "" , ~/~/ данные, связанные со сменой статуса 669 - 670 670 (% style="color:#000000" %)} 671 671 672 672 (% style="text-align:left" %) ... ... @@ -688,7 +688,7 @@ 688 688 (% style="color:#000000" %)В теле запроса перечисляете массив id пользователей (JSON): 689 689 690 690 [ 691 - 684 + "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc", 692 692 "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1" 693 693 ] 694 694 ... ... @@ -751,6 +751,8 @@ 751 751 (% style="text-align:left" %) 752 752 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».** 753 753 747 += = 748 + 754 754 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Модель объекта**(%%) = 755 755 756 756 == (% style="color:#000000; font-size:16px" %)**Получение информации о модели объекта**(%%) == ... ... @@ -862,7 +862,7 @@ 862 862 { 863 863 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 864 864 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 865 - "deleted": true,860 + "deleted": false, 866 866 "extId": "string", 867 867 "name": "string", 868 868 "picture": "string", ... ... @@ -881,7 +881,7 @@ 881 881 { 882 882 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 883 883 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 884 - "deleted": true,879 + "deleted": false, 885 885 "extId": "string", 886 886 "name": "string", 887 887 "picture": "string", ... ... @@ -915,7 +915,7 @@ 915 915 (% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models** 916 916 ))) 917 917 918 -(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе.913 +(% style="color:#000000" %)Метод позволяет изменить статус модели, указанного в запросе. 919 919 920 920 (% style="color:#000000" %)Метод запроса: **PUT** 921 921 ... ... @@ -982,7 +982,7 @@ 982 982 (% lang="en-US" %)**DELETE /api/v3/models/{Id}** 983 983 ))) 984 984 985 -(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалитьпользователя, указанного в строке запроса.980 +(% style="color:#000000" %)Метод позволяет удалить модели. Метод позволяет удалить модель, указанного в строке запроса. 986 986 987 987 (% style="color:#000000" %)Метод запроса: **DELETE** 988 988 ... ... @@ -994,7 +994,7 @@ 994 994 995 995 Ответ: В случае успеха **Success 200** 996 996 997 -= (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства**(%%) = 992 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Транспортные средства (объекты)**(%%) = 998 998 999 999 == (% style="color:#000000; font-size:16px" %)**Получение информации об объекте**(%%) == 1000 1000 ... ... @@ -1023,6 +1023,17 @@ 1023 1023 1024 1024 ((( 1025 1025 { 1021 + 1022 +((( 1023 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1024 + "IsSackEnabled": true, ~/~/ Определяет, должен ли внутренний сервер отвечать устройству сообщением SACK при получении сообщения от устройства 1025 +))) 1026 + 1027 +((( 1028 + ~/~/Используется только на ТС с типом устройства quecklink gv56, quecklink gv58, quecklink 1029 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC 1030 +))) 1031 + 1026 1026 "vehicleId": "", ~/~/ ID объекта 1027 1027 "name": "", ~/~/ Имя объекта 1028 1028 "imei": "", ~/~/ IMEI объекта ... ... @@ -1030,19 +1030,15 @@ 1030 1030 "deviceTypeName": "", ~/~/ Название типа устройства 1031 1031 "sim1": "", ~/~/ Номер SIM1 1032 1032 "sim2": "", ~/~/ Номер SIM2 1033 - 1034 1034 "parentId": "", ~/~/ ID клиента-родителя 1035 1035 "parentName": "", ~/~/ Наименование клиента-родителя 1036 1036 "modelId": "", ~/~/ ID модели объекта 1037 1037 "modelName": "", ~/~/ Имя модели объекта 1038 - 1039 1039 "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1040 1040 "unitName": "string", ~/~/ Наименование подразделения 1041 1041 "status": 0, ~/~/ Статус объекта 1042 - 1043 1043 "createdAt": "", ~/~/ Дата создания объекта 1044 1044 }, 1045 - 1046 1046 "customFields": [ ~/~/ Произвольные поля 1047 1047 { 1048 1048 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID поля ... ... @@ -1065,8 +1065,7 @@ 1065 1065 "consumptionPerHourSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1066 1066 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1067 1067 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1068 - "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1069 - 1070 + "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1070 1070 "mileageCalcMethod": 0, ~/~/ Метод расчета пробега, 0 - gps, 1 - датчик зажигания 1071 1071 "mileageCoeff": 0, ~/~/ коэффициент пробега 1072 1072 "locationByCellId": true, ~/~/ определение местоположения по данным LBS, true - активна, false - не активна ... ... @@ -1096,7 +1096,6 @@ 1096 1096 "retries": 0 ~/~/ Количество попыток 1097 1097 } 1098 1098 ], 1099 - 1100 1100 "sensors": [ ~/~/ Датчики 1101 1101 { 1102 1102 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика ... ... @@ -1123,6 +1123,7 @@ 1123 1123 ], 1124 1124 "showInTooltip": true, ~/~/ Отображать в подсказке 1125 1125 "showLastValid": true, ~/~/ Отображать последнее валидное значение 1126 + "color": "string", ~/~/ Код цвета датчиков 1126 1126 "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1127 1127 "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1128 1128 "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION ... ... @@ -1137,31 +1137,19 @@ 1137 1137 }, 1138 1138 1139 1139 ~/~/ Характерные для произвольного: 1140 - 1141 1141 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1142 - 1143 1143 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1144 - 1145 1145 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1146 - 1147 1147 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1148 - 1149 1149 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1150 - 1151 1151 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1152 - 1153 1153 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1154 - 1155 1155 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1156 - 1157 1157 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1158 - 1159 1159 ~/~/ "ValueOn": "Вкл.", 1160 - 1161 1161 ~/~/ "ValueOff": "Выкл." 1162 1162 "summaryMaxValue": 0 ~/~/ Макс. значение 1163 1163 } 1164 - 1165 1165 "drivers": [ ~/~/ Водители 1166 1166 { 1167 1167 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -1170,7 +1170,6 @@ 1170 1170 "isDefault": true ~/~/ По умолчанию 1171 1171 } 1172 1172 ], 1173 - 1174 1174 "inspectionTasks": [ ~/~/ Задания на тех. обслуживание 1175 1175 { 1176 1176 "id": "", ~/~/ ID задания ... ... @@ -1187,19 +1187,27 @@ 1187 1187 "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1188 1188 } 1189 1189 ], 1190 - 1191 - "statusHistory": [ ~/~/ История статусов 1178 +"statusHistory": [ ~/~/ История статусов 1192 1192 { 1193 1193 "status": 0, 1194 1194 "date": "2023-05-22T09:57:39.562Z", 1195 1195 "description": "string", 1196 1196 "additionalInfo": "string" 1197 - } 1198 - ] 1199 1199 1185 +((( 1200 1200 } 1187 + ], 1188 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1189 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 1201 1201 ))) 1202 1202 1192 +((( 1193 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 1194 +} 1195 + 1196 +))) 1197 +))) 1198 + 1203 1203 (% style="text-align:left" %) 1204 1204 Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже: 1205 1205 ... ... @@ -1206,6 +1206,75 @@ 1206 1206 (% style="text-align:left" %) 1207 1207 0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется». 1208 1208 1205 + 1206 +== **Отправить команду на терминал** == 1207 + 1208 +(% class="box successmessage" %) 1209 +((( 1210 +(% lang="en-US" %)**POST **(%%)**/api/v3/Vehicles/cmd/create** 1211 +))) 1212 + 1213 +Команда для отправки на тс. 1214 + 1215 +{ 1216 +"id": "", ~/~/идентификатор объекта (он же идентификатор ТС: vehicleId) 1217 +"command": "", ~/~/ Текст отправляемой команды 1218 +"retries": "", ~/~/ Количество попыток отправки на терминал 1219 +"idTemplate": "" ~/~/ ID шаблона команды (при использовании ранее созданных шаблонов). 1220 +} 1221 + 1222 +В ответ получаем cmdid 1223 + 1224 + 1225 +== **Получить ответ на отправленную на ТС команду** == 1226 + 1227 +(% class="box infomessage" %) 1228 +((( 1229 +(% lang="en-US" %)**GET **(%%)**/api/v3/Vehicles/cmd/{cmdId}/answer** 1230 +))) 1231 + 1232 +Идентификатор команды: cmdId 1233 + 1234 +Запрос от терминала на ответ команды 1235 + 1236 +Пример ответ от терминала: 1237 + 1238 +ID= "" ~/~/ идентификатор объекта 1239 +Soft="" ~/~/ версия софта 1240 +GPS=4 ~/~/ тип трекера 1241 +Time=11:05:43 28.06.24 ~/~/ время запроса 1242 +Lat=45.056221 ~/~/ широта 1243 +Lon=39.035938 ~/~/ долгота 1244 +Speed=0.0 ~/~/ скорость 1245 +Course=181.4 ~/~/направление 1246 + 1247 +((( 1248 +== **Список отправленных объекту команд с ответами** == 1249 + 1250 +(% class="box infomessage" %) 1251 +((( 1252 +(% lang="en-US" %)**GET**(%%)**/api/v3/Vehicles/cmd/{vehicleId}/history** 1253 +))) 1254 + 1255 +Идентификатор ТС: vehicleId 1256 + 1257 +В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала. 1258 + 1259 +Пример ответа терминала 1260 + 1261 +[ 1262 +{ 1263 +"id": "", ~/~/ идентификатор пользователя 1264 +"commandText": "", ~/~/Текст команды. 1265 +"templateId": "", ~/~/Идентификатор шаблона 1266 +"updated": "", ~/~/ Время отправки 1267 +"tryCount": 0, ~/~/ Количество попыток отправки команды 1268 +"answer": "", ~/~/ Ответ терминала. 1269 +"status": "" ~/~/ Статус отправки 1270 +} 1271 +] 1272 +))) 1273 + 1209 1209 == (% style="color:#000000; font-size:16px" %)**Добавление объекта**(%%) == 1210 1210 1211 1211 (% class="box successmessage" %) ... ... @@ -1225,6 +1225,11 @@ 1225 1225 1226 1226 (% style="color:#000000" %){ 1227 1227 1293 + 1294 +((( 1295 + "vehicleId": 0, ~/~/ ID ТС 1296 +))) 1297 + 1228 1228 "parentId": "" , ~/~/ ID клиента 1229 1229 "name": "" , ~/~/ имя ТС 1230 1230 "imei": "" , ~/~/ IMEI ... ... @@ -1245,7 +1245,6 @@ 1245 1245 "consumptionPerHourSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1246 1246 "consumptionIdleSeasonalBegin": "" , ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1247 1247 "consumptionIdleSeasonalEnd": "" , ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1248 - 1249 1249 "mileageCalcMethod": 0, 1250 1250 "mileageCoeff": 0, 1251 1251 "locationByCellId": true, ... ... @@ -1278,7 +1278,6 @@ 1278 1278 "lastInspectionDate": "" , ~/~/ Дата последнего ТО (null - не указано) 1279 1279 "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1280 1280 } 1281 - 1282 1282 "drivers": [ ~/~/ Водители 1283 1283 { 1284 1284 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -1293,8 +1293,7 @@ 1293 1293 "retries": 0 1294 1294 } 1295 1295 ], 1296 - 1297 - "sensors": [ ~/~/ Датчики 1364 +"sensors": [ ~/~/ Датчики 1298 1298 { 1299 1299 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1300 1300 "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный ... ... @@ -1320,6 +1320,7 @@ 1320 1320 ], 1321 1321 "showInTooltip": true, ~/~/ Отображать в подсказке 1322 1322 "showLastValid": true, ~/~/ Отображать последнее валидное значение 1390 + "color": "string", ~/~/ код цвета датчиков 1323 1323 "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1324 1324 "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1325 1325 "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION ... ... @@ -1332,103 +1332,222 @@ 1332 1332 "additionalProp2": "string", 1333 1333 "additionalProp3": "string" 1334 1334 }, 1335 - 1336 1336 ~/~/ Характерные для произвольного: 1337 - 1338 1338 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1339 - 1340 1340 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1341 - 1342 1342 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1343 - 1344 1344 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1345 - 1346 1346 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1347 - 1348 1348 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1349 - 1350 1350 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1351 - 1352 1352 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1353 - 1354 1354 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1355 - 1356 1356 ~/~/ "ValueOn": "Вкл.", 1357 - 1358 1358 ~/~/ "ValueOff": "Выкл." 1359 - "summaryMaxValue": 0 ~/~/ Макс. значение 1415 + "summaryMaxValue": 0 ~/~/ Определяет максимальное значение датчика в режиме накопления. 1416 + 1417 +((( 1418 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1419 + { 1420 + "from": 0, ~/~/ С какого значения 1421 + "color": "string", ~/~/ Каким цветом 1422 + "text": "string" ~/~/ Текст подписи к этому интервалу 1423 + } 1424 + ] 1360 1360 } 1361 1361 ], 1427 +))) 1428 + 1429 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1430 + 1431 + 1362 1362 "customFields": [ ~/~/ Произвольные поля 1363 1363 { 1364 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1365 - "name": "string", 1366 - "value": "string", 1367 - "forClient": true, 1368 - "forTooltip": true, 1369 - "forReport": true 1370 - } 1371 - ] 1434 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1435 + "name": "string", ~/~/ Наименование произвольного поля 1436 + "value": "string", ~/~/ Значение произвольного поля 1437 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1438 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1439 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1440 + 1441 +((( 1442 + } 1443 + ], 1444 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 1445 +))) 1446 + 1447 +((( 1448 + ~/~/ 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 1372 1372 } 1450 +))) 1373 1373 1452 + 1374 1374 (% style="color:#000000" %)Ответ: 1375 1375 1376 -(% style="color:#000000" %){ 1377 1377 1378 - "vehicleId": "", ~/~/ID ТС 1379 - "parentId": "", ~/~/Guid владельца ТС 1380 - "name": "", ~/~/Имя объекта 1381 - "imei": "", ~/~/IMEI 1382 - "deviceTypeId": "", ~/~/ID типа устройства 1383 - "modelId": "", ~/~/ID модели 1384 - "unitId": "", ~/~/ID подразделения 1385 - "sim1": "", ~/~/SIM1 1386 - "sim2": "", ~/~/SIM2 1387 - "consumptionPer100Km": "", ~/~/Расход топлива на 100 км 1388 - "consumptionIdle": "", ~/~/Расход топлива на холостом ходу 1389 - "counters": { ~/~/Счётчики 1390 - "mileageEnabled": true, 1391 - "motohoursEnabled": true, 1392 - "mileage": "", 1393 - "motohours": 345.0 1394 - }, 1395 - "cmsv6Parameters": { ~/~/Параметры CmsV6 1396 - "id": null, 1397 - "enabled": true, ~/~/флаг включения 1398 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1399 - "login": "", ~/~/ имя учетной записи 1400 - "password": "" ~/~/ пароль учетной записи 1401 - }, 1402 - "inspectionTasks": { ~/~/ задания на ТО 1403 - "id": "", ~/~/ ID задачи 1404 - "enabled": false, ~/~/ Признак включения 1405 - "name": "", ~/~/ Имя задания 1406 - "description": "", ~/~/ Описание задания 1407 - "mileageCondition": "", ~/~/ Условие по пробегу 1408 - "lastMileage": "", ~/~/ Пробег (в метрах) 1409 - "motohoursCondition": "", ~/~/ Условие по моточасам 1410 - "lastMotohours": "", ~/~/ Моточасы 1411 - "periodicCondition": "", ~/~/ Условие периодичности по времени 1412 - "kind": "", ~/~/ Вид периодичности по времени 1413 - "maxQuantity": "" ~/~/ Сколько раз выполнить задание (null - однократно) 1456 +((( 1457 +((( 1458 +((( 1459 +{ 1460 + "vehicleId": 0, ~/~/ ID ТС 1461 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 1462 + "name": "string", ~/~/ Имя объекта 1463 + "imei": "string", ~/~/ IMEI 1464 + "deviceTypeId": 0, ~/~/ ID типа устройства 1465 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 1466 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1467 + "sim1": "string", ~/~/ SIM1 1468 + "sim2": "string", ~/~/ SIM2 1469 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 1470 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 1471 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 1472 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 1473 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 1474 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 1475 + "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 1476 + "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 1477 + "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1478 + "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1479 + "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1480 + "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1481 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor) 1482 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 1483 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 1484 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 1485 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1486 + "counters": { ~/~/ Dto для состояний счётчиков 1487 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 1488 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 1489 + "mileage": 0, ~/~/ Пробег 1490 + "motohours": 0 ~/~/ Моточасы 1491 + }, 1492 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 1493 + "id": "string", ~/~/ CMSV6 Идентификатор 1494 + "enabled": true, ~/~/ Признак включения 1495 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 1496 + "login": "string", ~/~/ CMSV6 имя учетной записи 1497 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 1498 + }, 1499 + "inspectionTasks": [ ~/~/ Dto для описания задачи на ТО 1500 + { 1501 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 1502 + "enabled": true, ~/~/ Признак включения 1503 + "name": "string", ~/~/ Имя задания 1504 + "description": "string", ~/~/ Описание задания 1505 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 1506 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 1507 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 1508 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 1509 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 1510 + "kind": 0, ~/~/ Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы) 1511 + "lastInspectionDate": "2024-10-30T08:11:35.622Z", ~/~/ Дата последнего ТО 1512 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 1414 1414 } 1514 + ], 1515 + "drivers": [ ~/~/ Список водителей. Определяет класс назначения водителя на объект. 1516 + { 1517 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 1518 + "inputNumber": 0, ~/~/ № входа. 1519 + "createTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени создания назначения. 1520 + "comment": "string", ~/~/ Комментарий 1521 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 1522 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 1523 + "beginTime": "2024-10-30T08:11:35.622Z", ~/~/ Момент времени начала назначения. 1524 + "endTime": "2024-10-30T08:11:35.622Z" ~/~/ Момент времени окончания назначения. 1525 + } 1526 + ], 1527 + "commandTemplates": [ ~/~/ Список шаблонов команд 1528 + { 1529 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 1530 + "name": "string", ~/~/ Название шаблона команд 1531 + "command": "string", ~/~/ Команда на выполнение 1532 + "retries": 0 ~/~/ Лимит попыток отправки 1533 + } 1534 + ], 1535 + "sensors": [ ~/~/ Список датчиков 1536 + { 1537 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1538 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 1539 + "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 1540 + "name": "string", ~/~/ Имя датчика 1541 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 1542 + "inputNumber": 0, ~/~/ Номер входа 1543 + "pseudonym": "string", ~/~/ Псевдоним 1544 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 1545 + "isInverted": true, ~/~/ Признак инверсии 1546 + "disabled": true, ~/~/ Датчик не участвует в обработке 1547 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 1548 + "gradesTables": [ ~/~/ Тарировка 1549 + { 1550 + "grades": [ ~/~/ Таблицы тарировки 1551 + { 1552 + "input": 0, ~/~/ Вход 1553 + "output": 0 ~/~/ Выход 1554 + } 1555 + ], 1556 + "relevanceTime": "2024-10-30T08:11:35.622Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 1557 + } 1558 + ], 1559 + "showInTooltip": true, ~/~/ Отображение в подсказке 1560 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1561 + "color": "string", ~/~/ код цвета датчиков 1562 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1563 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 1564 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 1565 + "expr": "string", ~/~/ Выражение 1566 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 1567 + "string" 1568 + ], 1569 + "customParams": { 1570 + "additionalProp1": "string", 1571 + "additionalProp2": "string", 1572 + "additionalProp3": "string" 1573 + }, 1574 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 1575 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1576 + { 1577 + "from": 0, ~/~/ С какого значения 1578 + "color": "string", ~/~/ Каким цветом 1579 +))) 1415 1415 1416 -(% style="text-align:left" %) 1417 -(% style="color:#000000" %)} 1581 +((( 1582 + "text": "string" ~/~/ Текст подписи к этому интервалу 1583 + } 1584 + ] 1585 + } 1586 + ], 1587 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1588 + "customFields": [ ~/~/ Список произвольных полей 1589 + { 1590 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1591 + "name": "string", ~/~/ Наименование произвольного поля 1592 + "value": "string", ~/~/ Значение произвольного поля 1593 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1594 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1595 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1596 + } 1597 + ], 1598 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 1599 +} 1600 +))) 1601 +))) 1602 +))) 1418 1418 1604 + 1419 1419 **Валидация:** 1420 1420 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 1421 1421 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; 1422 1422 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 1423 1423 1424 -== (% style="color:#000000; font-size:16px" %)**Получение параметров объектов**(%%) == 1425 1425 1611 +== (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) == 1612 + 1426 1426 (% class="box infomessage" %) 1427 1427 ((( 1428 1428 (% lang="en-US" %)**POST /api/v3/vehicles/find** 1429 1429 ))) 1430 1430 1431 -(% style="color:#000000" %)Метод позволяет получить основные параметр ы объектов: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).1618 +(% style="color:#000000" %)Метод позволяет получить список доступных объектов мониторинга (транспортных средств) с их основными параметрами: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель). 1432 1432 1433 1433 (% style="color:#000000" %)Метод возвращает информацию об объектах с учетом настроек авторизованного пользователя, указанного в запросе: 1434 1434 ... ... @@ -1462,9 +1462,12 @@ 1462 1462 "imei": null, ~/~/ "710179307", ~/~/ IMEI (string, опционально) 1463 1463 "sim": null, ~/~/ "938112", ~/~/ Номер телефона (string, опционально) 1464 1464 "deviceTypeId": null, ~/~/ 5, ID типа устройства (short, опционально) 1465 - "parentId": null, ~/~/ ID клиента (Guid, опционально) 1466 - "unitId": null, ~/~/ "b33548c3-73c3-40e4-8b78-81470ae744ed", ID подразделения (Guid, опционально) 1467 - "customFields": null ~/~/ значение любого из произвольных полей ТС 1652 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ ID подразделения (опционально) 1653 + "unitName": "string", ~/~/ Название подразделения (опционально) 1654 + "customFields": "string", ~/~/ Поиск по содержимому произвольных полей ТС (опционально) 1655 + "vehicleGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID группы ТС (опционально) 1656 + "vehicleGroupName": "string", ~/~/ Название группы ТС (опционально) 1657 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор агента, для которого надо получить данные 1468 1468 } 1469 1469 1470 1470 (% style="color:#000000" %)Фильтрация осуществляется по точному совпадению значений параметров «__**vehicleId**__», «__**deviceTypeId**__», «__**parentId**__», «__**unitId**__», и по частичному - «__**name**__», «__**imei**__», «__**sim**__». Фильтрация по значению параметра «__**sim**__» осуществляется при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. ... ... @@ -1471,8 +1471,14 @@ 1471 1471 1472 1472 (% style="color:#000000" %)Ответ: 1473 1473 1474 -(% style="color:#000000" %){ 1664 +(% style="color:#000000" %)[ 1665 +{ 1475 1475 1667 +((( 1668 + "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid TC 1669 +))) 1670 + 1671 +((( 1476 1476 (% style="color:#000000" %) "vehicleId": "" ~/~/ идентификатор объекта 1477 1477 "name": "" ~/~/ наименование объекта 1478 1478 "imei": "" ~/~/ IMEI объекта ... ... @@ -1498,9 +1498,21 @@ 1498 1498 "forClient": true, ~/~/ право на отображение у клиента 1499 1499 "forTooltip": false, ~/~/ право на отображение в подсказке 1500 1500 "forReport": false ~/~/ право на отображение в отчетах 1501 - }(%%) 1502 -(% style="color:#000000" %)} 1697 +))) 1503 1503 1699 +((( 1700 + } 1701 + ], 1702 + "vehicleGroups": [ ~/~/ Группы ТС 1703 + { 1704 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1705 + "name": "string" ~/~/ Наименование группы ТС 1706 + } 1707 + ] 1708 + } 1709 +] 1710 +))) 1711 + 1504 1504 (% style="color:#000000" %) Параметры «__**sim1**__» и «__**sim2**__» содержатся в ответе при наличии у авторизованного пользователя права **«__Просмотр номеров телефонов объектов__»**. Параметр «__**status**__» содержится в ответе при наличии у авторизованного пользователя права **«__Просмотр статуса объекта__»**. 1505 1505 1506 1506 == (% style="color:#000000; font-size:16px" %)**Изменение статуса объекта**(%%) == ... ... @@ -1532,13 +1532,11 @@ 1532 1532 "data": "", ~/~/ Данные 1533 1533 "overwrite": false, ~/~/ Флаг перезаписи 1534 1534 "stage": "", ~/~/ Состояние, может быть null 1535 - 1536 1536 (% style="color:#000000" %)} 1537 1537 1538 1538 (% style="color:#000000" %)Ответ: 1539 1539 1540 -(% style="color:#000000" %){ 1541 - 1747 +(% style="color:#000000" %){(%%) 1542 1542 "status": "", ~/~/ значение статуса 1543 1543 "date": "", ~/~/ Дата смены статуса 1544 1544 "description": "", ~/~/ Описание ... ... @@ -1545,10 +1545,9 @@ 1545 1545 "data": "", ~/~/ Данные 1546 1546 "overwrite": false, ~/~/ Флаг перезаписи 1547 1547 "stage": "", ~/~/ Состояние 1548 - 1549 -(% style="text-align:left" %) 1550 1550 (% style="color:#000000" %) } 1551 1551 1756 + 1552 1552 == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) == 1553 1553 1554 1554 (% class="box warningmessage" %) ... ... @@ -1624,9 +1624,19 @@ 1624 1624 1625 1625 "drivers": [ ~/~/ Водители 1626 1626 { 1627 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1628 - "isDefault": true 1629 - } 1832 + 1833 +((( 1834 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 1835 + "inputNumber": 0, ~/~/ № входа. 1836 + "createTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени создания назначения. 1837 + "comment": "string", ~/~/ Комментарий. 1838 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 1839 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 1840 + "beginTime": "2024-12-23T10:45:04.961Z", ~/~/ Момент времени начала назначения. 1841 + "endTime": "2024-12-23T10:45:04.961Z" ~/~/ Момент времени окончания назначения. 1842 +))) 1843 + 1844 + } 1630 1630 ], 1631 1631 "commandTemplates": [ ~/~/ Шаблон команды 1632 1632 { ... ... @@ -1636,8 +1636,7 @@ 1636 1636 "retries": 0 1637 1637 } 1638 1638 ], 1639 - 1640 - "sensors": [ ~/~/ Датчики 1854 +"sensors": [ ~/~/ Датчики 1641 1641 { 1642 1642 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 1643 1643 "kind": 0, ~/~/ Тип, Simple - простой, Composite - виртуальный ... ... @@ -1663,6 +1663,11 @@ 1663 1663 ], 1664 1664 "showInTooltip": true, ~/~/ Отображать в подсказке 1665 1665 "showLastValid": true, ~/~/ Отображать последнее валидное значение 1880 + 1881 +((( 1882 + "color": "string",** ~/~/ **Цвет датчика 1883 +))) 1884 + 1666 1666 "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 1667 1667 "showWithoutIgn": true, ~/~/ Отображать трек без включенного зажигания 1668 1668 "agrFunction": 0, ~/~/ Функция, SUM, AVG, EXPRESSION ... ... @@ -1675,95 +1675,225 @@ 1675 1675 "additionalProp2": "string", 1676 1676 "additionalProp3": "string" 1677 1677 }, 1678 - 1679 1679 ~/~/ Характерные для произвольного: 1680 - 1681 1681 ~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1682 - 1683 1683 ~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1684 - 1685 1685 ~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1686 - 1687 1687 ~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1688 - 1689 1689 ~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1690 - 1691 1691 ~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1692 - 1693 1693 ~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1694 - 1695 1695 ~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1696 - 1697 1697 ~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1698 - 1699 1699 ~/~/ "ValueOn": "Вкл.", 1700 - 1701 1701 ~/~/ "ValueOff": "Выкл." 1702 1702 "summaryMaxValue": 0 ~/~/ Макс. значение 1910 + 1911 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1912 + { 1913 + "from": 0, ~/~/ С какого значения 1914 + "color": "string", ~/~/ Каким цветом 1915 + "text": "string" ~/~/ Текст подписи к этому интервалу 1916 + } 1917 + ] 1703 1703 } 1704 1704 ], 1920 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 1921 + 1705 1705 "customFields": [ ~/~/ Произвольные поля 1706 - { 1707 - 1708 - "name": "string", 1709 - "value": "string", 1710 - "forClient": true, 1711 - "forTooltip": true, 1712 - "forReport": true 1923 + { 1924 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1925 + "name": "string", ~/~/ Наименование произвольного поля 1926 + "value": "string", ~/~/ Значение произвольного поля 1927 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 1928 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 1929 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 1713 1713 } 1714 - ] 1931 + 1932 +((( 1933 + ], 1934 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов 1935 +))) 1936 + 1715 1715 } 1716 1716 1939 + 1717 1717 (% style="color:#000000" %)Ответ: 1718 1718 1719 -(% lang="en-US" style="text-align:left" %) 1720 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %){ 1942 +((( 1943 +{ 1944 + "vehicleId": 0, ~/~/ ID ТС 1945 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid владельца ТС 1946 + "name": "string", ~/~/ Имя объекта 1947 + "imei": "string", ~/~/ IMEI 1948 + "deviceTypeId": 0, ~/~/ ID типа устройства 1949 + "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID модели 1950 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID подразделения 1951 + "sim1": "string", ~/~/ SIM1 1952 + "sim2": "string", ~/~/ SIM2 1953 + "consumptionPer100Km": 0, ~/~/ Расход топлива на 100 км 1954 + "consumptionPerHour": 0, ~/~/ Расход топлива на моточас 1955 + "consumptionIdle": 0, ~/~/ Расход топлива на холостом ходу 1956 + "consumptionPer100KmSeasonal": 0, ~/~/ Сезонный расход топлива на 100 км 1957 + "consumptionPerHourSeasonal": 0, ~/~/ Сезонный расход топлива на моточас 1958 + "consumptionIdleSeasonal": 0, ~/~/ Сезонный расход топлива на холостом ходу 1959 + "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на 100 км 1960 + "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на 100 км 1961 + "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на моточас 1962 + "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на моточас 1963 + "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц начала работы сезонной нормы расхода на х/х 1964 + "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", ~/~/ День/месяц окончания работы сезонной нормы расхода на х/х 1965 + "mileageCalcMethod": 0, ~/~/ Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor 1966 + "mileageCoeff": 0, ~/~/ Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1) 1967 + "locationByCellId": true, ~/~/ Вычислять ли положение по базовым станциям, если координаты по GPS невалидны? 1968 + "dottedLineTrackWhenNoCoords": true, ~/~/ Обозначать пунктиром трек при отсутствии координат. 1969 + "showLineTrackWhenNoCoords": true, ~/~/ Обозначать трек при отсутствии координат. 1970 + "counters": { ~/~/ состояний счётчиков 1971 + "mileageEnabled": true, ~/~/ Флаг включения счётчика "Пробег" 1972 + "motohoursEnabled": true, ~/~/ Флаг включения счётчика "Моточасы" 1973 + "mileage": 0, ~/~/ Пробег 1974 + "motohours": 0 ~/~/ Моточасы 1975 + }, 1976 + "cmsv6Parameters": { ~/~/ Dto для CMSv6 1977 + "id": "string", ~/~/ CMSV6 Идентификатор 1978 + "enabled": true, ~/~/ Признак включения 1979 + "host": "string", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6. 1980 +))) 1721 1721 1722 -(% lang="en-US" style="text-align:left" %) 1723 - "vehicleId": "", ~/~/ ID ТС 1724 - "parentId": "", ~/~/ ID клиента 1725 - "name": "", ~/~/ имя ТС 1726 - "imei": "", ~/~/ IMEI 1727 - "deviceTypeId": "", ~/~/ типа устройства 1728 - "modelId": "", ~/~/ ID модели 1729 - "unitId": "", ~/~/ ID подразделения 1730 - "sim1": "", ~/~/ SIM 1 1731 - "sim2": "", ~/~/ SIM2 1732 - "consumptionPer100Km": "", ~/~/ Расход топлива на 100 км 1733 - "consumptionIdle": "", ~/~/ Расход топлива на холостом ходу 1734 - "counters": 1735 - { 1736 - "mileageEnabled": true, ~/~/ флаг активности счётчика «пробег» 1737 - "motohoursEnabled": true, ~/~/ флаг активности счётчика «моточасы» 1738 - "mileage": "", ~/~/ пробег 1739 - "motohours": "", ~/~/ моточасы 1740 - } 1741 - "cmsv6Parameters": ~/~/ параметры CMSv6 1982 + 1983 +((( 1984 +~/~/ Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол. 1985 + "login": "string", ~/~/ CMSV6 имя учетной записи 1986 + "password": "string" ~/~/ CMSV6 — пароль учетной записи 1987 + }, 1988 + "inspectionTasks": [ ~/~/ Задания на ТО 1989 + { 1990 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID задачи 1991 + "enabled": true, ~/~/ Признак включения 1992 + "name": "string", ~/~/ Имя задания 1993 + "description": "string", ~/~/ Описание задания 1994 + "mileageCondition": 0, ~/~/ Условие по пробегу (в метрах) 1995 + "lastMileage": 0, ~/~/ Пробег (в метрах) на момент последнего ТО 1996 + "motohoursCondition": 0, ~/~/ Условие по моточасам (в секундах) 1997 + "lastMotohours": 0, ~/~/ Моточасы (в секундах) на момент последнего ТО 1998 + "periodicCondition": 0, ~/~/ Условие периодичности по времени 1999 + "kind": 0, ~/~/ Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы 2000 + "lastInspectionDate": "2024-10-30T10:31:17.196Z", ~/~/ Дата последнего ТО 2001 + "maxQuantity": 0 ~/~/ Условие по количеству записей для деактивации 2002 + } 2003 + ], 2004 + "drivers": [ ~/~/ Список водителей 2005 + { 2006 + "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор объекта. 2007 + "inputNumber": 0, ~/~/ № входа. 2008 + "createTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени создания назначения. 2009 + "comment": "string", ~/~/ Комментарий. 2010 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор назначения. 2011 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя. 2012 + "beginTime": "2024-10-30T10:31:17.196Z", ~/~/ Момент времени начала назначения. 2013 + "endTime": "2024-10-30T10:31:17.196Z" ~/~/ Момент времени окончания назначения. 2014 + } 2015 + ], 2016 + "commandTemplates": [ ~/~/ Список шаблонов команд 2017 + { 2018 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID шаблона 2019 + "name": "string", ~/~/ Название шаблона команд 2020 + "command": "string", ~/~/ Команда на выполнение 2021 + "retries": 0 ~/~/ Лимит попыток отправки 2022 + } 2023 + ], 2024 + "sensors": [ ~/~/ Список датчиков 2025 + { 2026 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID датчика 2027 + "kind": 0, ~/~/ Определяет виды датчиков. 0 - Simple, 1 - Composite 2028 + "type": 0, ~/~/ Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 2029 +))) 2030 + 2031 +((( 2032 +~/~/ 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 2033 +))) 2034 + 2035 +((( 2036 +~/~/ 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 2037 +))) 2038 + 2039 +((( 2040 +~/~/ 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 2041 +))) 2042 + 2043 +((( 2044 +~/~/ 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 2045 +))) 2046 + 2047 +((( 2048 +~/~/ 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed 2049 + "name": "string", ~/~/ Имя датчика 2050 + "inputType": 0, ~/~/ Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 2051 +))) 2052 + 2053 +((( 2054 +~/~/ 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual 2055 + "inputNumber": 0, ~/~/ Номер входа 2056 + "pseudonym": "string", ~/~/ Псевдоним 2057 + "medianDegree": 0, ~/~/ Степень медианной фильтрации 2058 + "isInverted": true, ~/~/ Признак инверсии 2059 + "disabled": true, ~/~/ Датчик не участвует в обработке 2060 + "gradeType": 0, ~/~/ Способ тарировки показаний датчика. 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs 2061 + "gradesTables": [ ~/~/ Тарировка 1742 1742 { 1743 - "id": ~/~/ идентификатор 1744 - "enabled": true, ~/~/ флаг включения 1745 - "host": "", ~/~/ IP-адрес или доменное имя из URL веб-сайта CMSV6 1746 - "login": "", ~/~/ имя учетной записи 1747 - "password": "", ~/~/ пароль учетной записи 1748 - } 1749 - "inspectionTasks": ~/~/ задания на ТО 1750 - { 1751 - "id": "", ~/~/ ID задания 1752 - "enabled": false, ~/~/ Признак включения 1753 - "name": "", ~/~/ Имя задания 1754 - "description": "", ~/~/ Описание задания 1755 - "mileageCondition": "", ~/~/ Условие по пробегу 1756 - "lastMileage": "", ~/~/ Пробег (в метрах) на момент последнего ТО 1757 - "motohoursCondition": "", ~/~/ Условие по моточасам 1758 - "lastMotohours": "", ~/~/ Моточасы 1759 - "periodicCondition": "", ~/~/ Условие периодичности по времени 1760 - "kind": "", ~/~/ Вид периодичности по времени 1761 - "maxQuantity": "", ~/~/ Сколько раз выполнить задание 2063 + "grades": [ ~/~/ Таблицы тарировки 2064 + { 2065 + "input": 0, ~/~/ Вход 2066 + "output": 0 ~/~/ Выход 2067 + } 2068 + ], 2069 + "relevanceTime": "2024-10-30T10:31:17.196Z" ~/~/ Время, с которого наступает актуальность таблицы тарировки 1762 1762 } 2071 + ], 2072 + "showInTooltip": true, ~/~/ Отображение в подсказке 2073 + "showLastValid": true, ~/~/ Отображать последнее валидное значение 1763 1763 1764 -(% lang="en-US" style="text-align:left" %) 1765 -(% lang="ru-RU" style="color:#000000; font-weight:normal" %)} 2075 +((( 2076 + "color": "string", ~/~/ цвет уведомлений 2077 +))) 1766 1766 2079 + "showAsDutOnGraph": true, ~/~/ Отображать на графике как датчик уровня топлива 2080 + "showWithoutIgn": true, ~/~/ Отображать без включенного зажигания 2081 + "agrFunction": 0, ~/~/ Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 2082 + "expr": "string", ~/~/ Выражение 2083 + "children": [ ~/~/ Cписок добавленных в агрегацию физ. датчиков 2084 + "string" 2085 + ], 2086 + "customParams": { ~/~/ Дополнительные настройки 2087 + "additionalProp1": "string", 2088 + "additionalProp2": "string", 2089 + "additionalProp3": "string" 2090 + }, 2091 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 2092 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 2093 + { 2094 + "from": 0, ~/~/ С какого значения 2095 + "color": "string", ~/~/ Каким цветом 2096 + "text": "string" ~/~/ Текст подписи к этому интервалу 2097 + } 2098 + ] 2099 + } 2100 + ], 2101 + "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid датчика, выбранного для подсветки его значения в различных интервалах 2102 + "customFields": [ ~/~/ Список произвольных полей 2103 + { 2104 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 2105 + "name": "string", ~/~/ Наименование произвольного поля 2106 + "value": "string", ~/~/ Значение произвольного поля 2107 + "forClient": true, ~/~/ Отобразить произвольное поле у клиента 2108 + "forTooltip": true, ~/~/ Отобразить произвольное поле в подсказке (при наведении на ТС на карте) 2109 + "forReport": true ~/~/ Отобразить произвольное поле в отчете 2110 + } 2111 + ], 2112 + "motohoursCalcMethod": 0 ~/~/ Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor 2113 +} 2114 +))) 2115 + 1767 1767 **Валидация:** 1768 1768 - сезонный параметр может быть задан только если задана соответствующая обычная норма; 1769 1769 - сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма; ... ... @@ -1808,12 +1808,9 @@ 1808 1808 1809 1809 (% style="color:#000000" %)Ответ: 1810 1810 1811 -(% style="color:#000000" %){ 1812 - 2160 +(% style="color:#000000" %){(%%) 1813 1813 "deviceTypeId" : "", ~/~/ ID типа устройства 1814 1814 "deviceTypeName" : "" ~/~/ Название типа устройства 1815 - 1816 -(% style="text-align:left" %) 1817 1817 (% style="color:#000000" %)} 1818 1818 1819 1819 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Датчики**(%%) = ... ... @@ -1835,13 +1835,10 @@ 1835 1835 1836 1836 (% style="color:#000000" %)Ответ: 1837 1837 1838 -(% style="color:#000000" %){ 1839 - 2184 +(% style="color:#000000" %){(%%) 1840 1840 "id": "", ~/~/ ID типа датчика 1841 1841 "name": "", ~/~/ Название 1842 1842 "description": "", ~/~/ Описание 1843 - 1844 -(% style="text-align:left" %) 1845 1845 (% style="color:#000000" %)} 1846 1846 1847 1847 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Сообщения**(%%) = ... ... @@ -1928,8 +1928,13 @@ 1928 1928 |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 1929 1929 |protocolType|Тип протокола 1930 1930 |inputType|Тип входа, 0 - Цифровой, 1 - Аналоговый, 2 - Импульсный, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Диагностический, 7 - 1-Wire, 8 - Частотный, 9 - BLE, 255 - Виртуальный 1931 -|inputNumber|Номер входа 2274 +|inputNumber|((( 2275 +Номер входа 2276 +))) 1932 1932 2278 +(% class="wikigeneratedid" %) 2279 +Перечень 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/]] 2280 + 1933 1933 == (% style="color:#000000; font-size:16px" %)**Запрос списка сообщений**(%%) == 1934 1934 1935 1935 (% class="box infomessage" %) ... ... @@ -2021,7 +2021,7 @@ 2021 2021 Тело запроса: 2022 2022 2023 2023 { 2024 - "sampling": 0, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2372 + "sampling": 86400, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2025 2025 "vehicleIds": [0], ~/~/ Список ID объектов 2026 2026 "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода 2027 2027 "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода ... ... @@ -2038,10 +2038,14 @@ 2038 2038 { 2039 2039 "start": "2023-08-09T14:23:14.574Z", ~/~/ Начало 2040 2040 "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 2041 - "mileageBegin": 0, ~/~/ Пробег на начало периода 2042 - "mileageEnd": 0, ~/~/ Пробег на окончание периода 2043 - "motohoursBegin": 0, ~/~/ Моточасы на начало периода 2044 - "motohoursEnd": 0 ~/~/ Моточасы на окончание периода 2389 + "mileage": 0, ~/~/ Пробег за период, километры 2390 + "mileageBegin": 0, ~/~/ Пробег на начало периода, километры 2391 + "mileageEnd": 0, ~/~/ Пробег на окончание периода, километры 2392 + "motohours": 0, ~/~/ Моточасы за период, секунды 2393 + "motohoursBegin": 0, ~/~/ Моточасы на начало периода, секунды 2394 + "motohoursEnd": 0 ~/~/ Моточасы на окончание периода, секунды 2395 + "idlingTime": 0 ~/~/ Холостой ход за период, секунд 2396 + 2045 2045 } 2046 2046 ] 2047 2047 } ... ... @@ -2064,7 +2064,7 @@ 2064 2064 Тело запроса: 2065 2065 2066 2066 { 2067 - "sampling": 0, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2419 + "sampling": 86400, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2068 2068 "vehicleIds": [0], ~/~/ Список ID объектов 2069 2069 "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода 2070 2070 "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода ... ... @@ -2083,13 +2083,23 @@ 2083 2083 "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 2084 2084 "fuelLevelStart": 0, ~/~/ Уровень топлива на начало периода 2085 2085 "fuelLevelEnd": 0, ~/~/ Уровень топлива на конец периода 2438 + "fuelTankLevelStart": 0, ~/~/ Уровень топлива в цистерне на начало периода 2439 + "fuelTankLevelEnd": 0, ~/~/ Уровень топлива в цистерне на конец периода 2086 2086 "fuelConsumption": 0, ~/~/ Расход топлива 2087 2087 "fuelConsumptionMove": 0 ~/~/ Расход топлива в движении 2442 + "fuelConsumptionFactTank": 0 ~/~/ Фактический расход топлива в цистерне 2443 + 2088 2088 } 2089 2089 ] 2090 2090 } 2091 2091 ] 2092 2092 2449 +(% class="box warningmessage" %) 2450 +((( 2451 +Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"". 2452 +\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling". 2453 +))) 2454 + 2093 2093 == (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) == 2094 2094 2095 2095 (% class="box infomessage" %) ... ... @@ -2124,7 +2124,8 @@ 2124 2124 "model": "string", ~/~/ Модель объекта 2125 2125 "fuels": [ ~/~/ Массив данным по заправкам и сливам 2126 2126 { 2127 - "event": 0, ~/~/ Тип события 20 - TankFuelIn - заправка, 21 - TankFuelOut - слив 2489 + "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 2490 + 2128 2128 "startDate": "2023-08-09T14:27:44.773Z", ~/~/ Начало 2129 2129 "endDate": "2023-08-09T14:27:44.773Z", ~/~/ Окончание 2130 2130 "valueFuel": 0, ~/~/ Количество ... ... @@ -2153,74 +2153,42 @@ 2153 2153 Тело запроса: 2154 2154 2155 2155 { 2156 - 2157 2157 "vehicleIds": [ ], ~/~/ Список ID объектов 2158 - 2159 2159 "from": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время начало запроса 2160 - 2161 2161 "to": "2024-01-30T10:12:19.125Z", ~/~/ Дата и время окончания запроса 2162 - 2163 2163 "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 2164 - 2165 2165 } 2166 2166 2167 2167 Ответ: 2168 2168 2169 -[ 2170 - 2527 +[ 2171 2171 { 2172 - 2173 2173 "vehicleId": 0, ~/~/ ID объекта 2174 - 2175 2175 "vehicleName": "string", ~/~/ Имя объекта 2176 - 2177 2177 "moves": [ ~/~/ Событие движения 2178 - 2179 2179 { 2180 - 2181 2181 "mileage": 0, ~/~/ Пробег, км 2182 - 2183 2183 "eventId": 0, ~/~/ Идентификатор события 2184 - 2185 2185 "eventName": "string", ~/~/ Название события 2186 - 2187 2187 "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2188 - 2189 2189 "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2190 - 2191 2191 "duration": 0 ~/~/ Продолжительность события, секунд 2192 - 2193 2193 } 2194 - 2195 2195 ], 2196 - 2197 2197 "stops": [ ~/~/ События стоянок 2198 - 2199 2199 { 2200 - 2201 - "address": "string", ~/~/ Адрес события 2202 - 2543 + "address": "[Street] [House] [City] [State] [Country] [Coordinates]", ~/~/ Адрес события Улица, Дом, Город, Регион, Страна, Координаты 2203 2203 "eventId": 0, ~/~/ Идентификатор события 2204 - 2205 2205 "eventName": "string", ~/~/ Название события 2206 - 2207 2207 "start": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время начало события 2208 - 2209 2209 "end": "2024-01-30T10:17:13.789Z", ~/~/ Дата и время окончания события 2210 - 2211 2211 "duration": 0 ~/~/ Продолжительность события, секунд 2212 - 2213 - 2214 2214 } 2215 - 2216 2216 ] 2217 - 2218 2218 } 2219 - 2220 2220 ] 2221 2221 2222 2222 2223 - 2224 2224 == (% style="color:#000000; font-size:16px" %)**Получение последних данных объекта**(%%) == 2225 2225 2226 2226 (% class="box infomessage" %) ... ... @@ -2235,42 +2235,52 @@ 2235 2235 В заголовках запроса: X-Auth: Токен авторизации 2236 2236 2237 2237 2238 - Телозапроса:2569 +В массиве указываем id объектов через запятую 2239 2239 2240 -{ 2241 - 2242 - "vehicleIds": [ ], ~/~/ Список ID машины 2243 - 2244 - "receiveTime": "2024-02-27T14:11:00.315Z",~/~/Время получения записи на сервере, т.е. время срабатывания + время передачи от устройства на сервер 2245 - 2246 - "recordTime": "2024-02-27T14:11:00.315Z",~/~/Время записи от устройства, т.е. время фактического события на траспортном средстве. 2247 - 2248 - "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 2249 - 2250 -} 2251 - 2252 - 2253 2253 Ответ: 2572 + 2573 +[ 2254 2254 { 2255 - "vehicleId": 0, ~/~/Идентификатор объекта.2256 - "vehicleGuid": " 3fa85f64-5717-4562-b3fc-2c963f66afa6",~/~/Идентификаторобъекта.2257 - "vehicleNumber": " string",~/~/Номер объекта.2258 - "receiveTime": "202 4-02-27T14:11:00.315Z",~/~/Времяполучениязаписи на сервере,т.е. время срабатывания+ время передачи от устройствана сервер2259 - "recordTime": "202 4-02-27T14:11:00.315Z",~/~/Времязаписиотустройства,т.е. время фактического события на траспортном средстве.2260 - "state": 0,~/~/Определяет состояния объекта в мониторинге:вдвижении,остановка,стоянка,отключена,нетданных.2261 - "speed": 0,~/~/Скорость объекта.2262 - "course": 0,~/~/Курс движения [0;360]2263 - "latitude": 0,~/~/Широта [-90°;90°].2264 - "longitude": 0,~/~/Долгота [-180°;180°]. 2265 - "address": " string",~/~/Адрес.2266 - "geozones": [ ~/~/Сведения по геозонам. 2575 + "vehicleId": 55728, ~/~/ Идентификатор объекта 2576 + "vehicleGuid": "fa9c0357-9b9f-44b9-a89c-20a2cb80a9ad", ~/~/ Guid объекта 2577 + "vehicleNumber": "0105 КМ", ~/~/ Номер объекта 2578 + "receiveTime": "2025-06-27T12:37:46.7782735Z", ~/~/ Время и дата поступления данных 2579 + "recordTime": "2025-06-27T12:37:19Z", ~/~/ Время и дата формирование данных 2580 + "state": 4, ~/~/ Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4. 2581 + "speed": 31, ~/~/ Скорость объекта 2582 + "course": 116, ~/~/ Курс движения [0;360] 2583 + "latitude": 45.722128, ~/~/ Широта [-90°;90°]. 2584 + "longitude": 39.800432, ~/~/ Долгота [-180°;180°]. 2585 + "address": "\" Краснодарский край Россия 45,722128°, 39,800432°\"", ~/~/ Адрес 2586 + "geozones": [ ~/~/ Сведения по геозонам. 2267 2267 { 2268 - "id": 0, 2269 - "name": "string" 2588 + "id": 10225647, ~/~/ ID Геозоны 2589 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2590 + }, 2591 + { 2592 + "id": 10282875, ~/~/ ID Геозоны 2593 + "name": "Ё2" ~/~/ Наименование геозоны 2594 + }, 2595 + { 2596 + "id": 10226240, ~/~/ ID Геозоны 2597 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2598 + }, 2599 + { 2600 + "id": 9747869, ~/~/ ID Геозоны 2601 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2602 + }, 2603 + { 2604 + "id": 10221123, ~/~/ ID Геозоны 2605 + "name": "53r" ~/~/ Наименование геозоны 2606 + }, 2607 + { 2608 + "id": 10197638, ~/~/ ID Геозоны 2609 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2270 2270 } 2611 + ] 2612 + } 2271 2271 2272 2272 2273 - 2274 2274 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) = 2275 2275 2276 2276 == (% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) == ... ... @@ -2399,6 +2399,35 @@ 2399 2399 } 2400 2400 ] 2401 2401 2743 + 2744 +== (% style="color:#000000; font-size:16px" %)**Обновить информацию по геозоне**(%%) == 2745 + 2746 +(% class="box successmessage" %) 2747 +((( 2748 +(% style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**PUT **(%%)**/api/v3/gis** 2749 +))) 2750 + 2751 +(% style="color:#000000" %)Метод запроса: **PUT** 2752 + 2753 +Пример запроса: 2754 + 2755 +((( 2756 +{ 2757 + "id": 0, ~/~/ Идентификатор объекта геозоны 2758 + "name": "string", ~/~/ Наименование объекта геозоны 2759 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 2760 + "description": "string", ~/~/ Описание объекта геозоны 2761 + "beginCalc": "2025-04-24T12:10:28.751Z", ~/~/ Дата начала расчетов для геозоны 2762 + "endCalc": "2025-04-24T12:10:28.751Z", ~/~/ Дата окончания расчетов для геозоны 2763 + "settingsData": "string" ~/~/ Параметры отображения в формате XML. 2764 +} 2765 +))) 2766 + 2767 + 2768 +Пример ответа: 2769 + 2770 +200 ~/~/ Success 2771 + 2402 2402 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) = 2403 2403 2404 2404 == (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) == ... ... @@ -2430,7 +2430,7 @@ 2430 2430 "id": 0, ~/~/ ID уведомления 2431 2431 "name": "string", ~/~/ Название уведомления 2432 2432 "active": true, ~/~/ Состояние true - активен, false - деактивирован 2433 - "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО 2803 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя) 2434 2434 "userId": "", ~/~/ Пользователь, создавший уведомление 2435 2435 "parentId": "", ~/~/ Идентификатор клиента 2436 2436 "parentName": "string" ~/~/ Имя клиента ... ... @@ -2437,6 +2437,155 @@ 2437 2437 } 2438 2438 ] 2439 2439 2810 + 2811 +== (% style="color:#000000; font-size:16px" %)**Создание уведомления**(%%) == 2812 + 2813 +(% class="box infomessage" %) 2814 +((( 2815 +**POST /api/v3/notifications** 2816 +))) 2817 + 2818 +Метод запроса **POST** 2819 + 2820 +(% style="text-align: left;" %) 2821 +(% style="color:#000000" %)Пример запроса 2822 + 2823 +((( 2824 +{ 2825 + "id": 0, ~/~/ ID правила 2826 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя 2827 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило 2828 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 2829 + "name": "string", ~/~/ Имя правила 2830 + "active": true, ~/~/ Активность правила 2831 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто 2832 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа. 2833 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 2834 + ], 2835 + "vehicleIds": [ ~/~/ Список объектов для анализа. 2836 + 0 2837 + ], 2838 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам. 2839 + 0 2840 + ], 2841 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам. 2842 + 0 2843 + ], 2844 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений. 2845 + "additionalProp1": "string", 2846 + "additionalProp2": "string", 2847 + "additionalProp3": "string" 2848 + }, 2849 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 2850 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 2851 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2852 + ], 2853 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 2854 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений 2855 + "string" 2856 + ], 2857 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram 2858 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram. 2859 + { 2860 + "id": 0, ~/~/ Идентификатор участника чата. 2861 + "info": "string" ~/~/ Дополнительные сведения. 2862 + } 2863 + ], 2864 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение 2865 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы 2866 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 2867 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 2868 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени) 2869 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC) 2870 + "timezone": 0, ~/~/ часовой пояс 2871 + "validity": 0, ~/~/ Срок действия в днях (1-90). 2872 + "autoProlongation": true, ~/~/ Автопродление срока действия. 2873 + "templates": [ ~/~/ Переопределения шаблонов уведомлений. 2874 + { 2875 + "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 - Срок действия правила истек 2876 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа. 2877 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка. 2878 + "additionalProp1": "string", 2879 + "additionalProp2": "string", 2880 + "additionalProp3": "string" 2881 + } 2882 + } 2883 + ] 2884 +} 2885 +))) 2886 + 2887 +((( 2888 + 2889 +))) 2890 + 2891 +((( 2892 + 2893 +))) 2894 + 2895 +Ответ: 2896 + 2897 +{ 2898 + "id": 0, ~/~/ ID правила 2899 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя 2900 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило 2901 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 2902 + "name": "string", ~/~/ Имя правила 2903 + "active": true, ~/~/ Активность правила 2904 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто 2905 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа. 2906 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 2907 + ], 2908 + "vehicleIds": [ ~/~/ Список объектов для анализа. 2909 + 0 2910 + ], 2911 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам. 2912 + 0 2913 + ], 2914 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам. 2915 + 0 2916 + ], 2917 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений. 2918 + "additionalProp1": "string", 2919 + "additionalProp2": "string", 2920 + "additionalProp3": "string" 2921 + }, 2922 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 2923 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 2924 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2925 + ], 2926 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 2927 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений 2928 + "string" 2929 + ], 2930 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram 2931 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram. 2932 + { 2933 + "id": 0, ~/~/ Идентификатор участника чата. 2934 + "info": "string" ~/~/ Дополнительные сведения. 2935 + } 2936 + ], 2937 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение 2938 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы 2939 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 2940 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 2941 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени) 2942 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC) 2943 + "timezone": 0, ~/~/ часовой пояс 2944 + "validity": 0, ~/~/ Срок действия в днях (1-90). 2945 + "autoProlongation": true, ~/~/ Автопродление срока действия. 2946 + "templates": [ ~/~/ Переопределения шаблонов уведомлений. 2947 + { 2948 + "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 - Срок действия правила истек 2949 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа. 2950 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка. 2951 + "additionalProp1": "string", 2952 + "additionalProp2": "string", 2953 + "additionalProp3": "string" 2954 + } 2955 + } 2956 + ] 2957 +} 2958 + 2440 2440 == (% style="color:#000000; font-size:16px" %)**Запрос настроек уведомления**(%%) == 2441 2441 2442 2442 (% class="box infomessage" %) ... ... @@ -2578,6 +2578,32 @@ 2578 2578 2579 2579 Success 2580 2580 3100 + 3101 +== (% style="color:#000000; font-size:16px" %)**Автоматическое продление уведомлений **(%%) == 3102 + 3103 +(% class="box warningmessage" %) 3104 +((( 3105 +**PUT** /api/v3/notifications/prolongation 3106 +))) 3107 + 3108 +Метод позволяет продлить уведомления. 3109 + 3110 +Метод запроса **PUT** 3111 + 3112 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/notifications/prolongation 3113 + 3114 +В заголовках запроса: X-Auth: Токен авторизации. 3115 + 3116 +Тело запроса: 3117 + 3118 +[ 3119 + 3120 +0 3121 + 3122 +] 3123 + 3124 +где 0 идентификатор ids. 3125 + 2581 2581 == (% style="color:#000000; font-size:16px" %)**Удаление уведомления**(%%) == 2582 2582 2583 2583 (% class="box errormessage" %) ... ... @@ -3628,16 +3628,12 @@ 3628 3628 Тело запроса: 3629 3629 3630 3630 { 3631 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3632 - "Balance": 0 4176 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4177 + "Balance": 0 ~/~/ Значение баланса. 3633 3633 } 3634 3634 3635 3635 Ответ: Success 3636 3636 3637 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3638 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3639 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 3640 - 3641 3641 == (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) == 3642 3642 3643 3643 (% class="box warningmessage" %) ... ... @@ -3649,16 +3649,29 @@ 3649 3649 3650 3650 Тело запроса: 3651 3651 4193 +((( 3652 3652 { 3653 - " ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",3654 - " Balance": 04195 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4196 + "amount": 0 ~/~/ Сумма пополнения баланса 3655 3655 } 4198 +))) 3656 3656 4200 +((( 4201 + 4202 +))) 4203 + 3657 3657 Ответ: Success 3658 3658 3659 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3660 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3661 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4206 +((( 4207 +{ 4208 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки. 4209 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4210 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя. 4211 + "Moment": "2025-06-10T12:15:19.076Z", ~/~/ Время корректировки. 4212 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс. 4213 + "Description": "string" ~/~/ Описание корректировки. 4214 +} 4215 +))) 3662 3662 3663 3663 == (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) == 3664 3664 ... ... @@ -3671,16 +3671,25 @@ 3671 3671 3672 3672 Тело запроса: 3673 3673 4228 +((( 3674 3674 { 3675 - " ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",3676 - " Balance": 04230 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4231 + "amount": 0 ~/~/ Сумма списания с баланса 3677 3677 } 4233 +))) 3678 3678 3679 3679 Ответ: Success 3680 3680 3681 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3682 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 3683 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4237 +((( 4238 +{ 4239 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки. 4240 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4241 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя. 4242 + "Moment": "2025-06-10T12:21:05.149Z", ~/~/ Время корректировки. 4243 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс. 4244 + "Description": "string" ~/~/ Описание корректировки 4245 +} 4246 +))) 3684 3684 3685 3685 == (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) == 3686 3686 ... ... @@ -3691,28 +3691,35 @@ 3691 3691 3692 3692 Тело запроса: 3693 3693 4257 +((( 3694 3694 { 3695 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3696 - "CalculationType": 0, 3697 - "PermissibleBalance": 0, 3698 - "DefermentDays": 0, 3699 - "SendUiNotifications": true, 3700 - "SendEmailNotifications": true, 3701 - "IsPrivate": true, 4259 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4260 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни 4261 + "PermissibleBalance": 0, ~/~/ Допустимый баланс 4262 + "DefermentDays": 0, ~/~/ Отсрочка (дни). 4263 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено 4264 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено 3702 3702 } 4266 +))) 3703 3703 4268 +((( 4269 + 4270 +))) 4271 + 3704 3704 Ответ: Success 3705 3705 3706 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3707 -|ClientId|Идентификатор клиента 3708 -|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 3709 -|PermissibleBalance|Допустимый баланс 3710 -|DefermentDays|((( 3711 -Отсрочка, количество дней 4274 +((( 4275 +{ 4276 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 4277 + "BlockingTime": "2025-06-10T12:23:28.754Z", ~/~/ Время, когда заблокируется клиент. 4278 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4279 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни 4280 + "PermissibleBalance": 0, ~/~/ Допустимый баланс. 4281 + "DefermentDays": 0, ~/~/ Отсрочка (дни) 4282 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено 4283 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено 4284 +} 3712 3712 ))) 3713 -|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 3714 -|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 3715 -|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 3716 3716 3717 3717 == (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) == 3718 3718 ... ... @@ -3724,35 +3724,68 @@ 3724 3724 Тело запроса: 3725 3725 3726 3726 { 3727 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3728 - "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 3729 - "Features": [ 4297 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4298 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана. 4299 + "Features": [ ~/~/ Набор услуг по тарифу клиента. 3730 3730 { 3731 - "Feature": "string", 3732 - "IsEnabled": true, 3733 - "IsFactual": true, 3734 - "Limit": 0, 3735 - "Price": 0, 3736 - "DebitDate": "2023-10-18T13:26:58.987Z", 3737 - "PeriodValue": 0, 3738 - "PeriodType": 0 4301 + "Feature": "string", ~/~/ Код услуги. 4302 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга. 4303 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту. 4304 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование 4305 + "Price": 0, ~/~/ Цена за единицу. 4306 + "DebitDate": "2023-10-18T13:26:58.987Z", ~/~/ Следующий момент времени списания с баланса за услугу. 4307 + "PeriodValue": 0, ~/~/ Значение периода. 4308 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане ( 0 - Дни, 1 - Месяцы) 3739 3739 } 3740 3740 ] 3741 3741 } 3742 3742 4313 + 3743 3743 Ответ: Success 3744 3744 3745 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3746 -|ClientId|Идентификатор клиента 3747 -|PlanId|Идентификатор тарифного плана 3748 -|Feature|Код услуги 3749 -|IsEnabled|Признак, определяющий активирована ли услуга 3750 -|IsFactual|Признак, определяющий расчёт по факту 3751 -|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 3752 -|Price|Цена за единицу. 3753 -|DebitDate|Следующий момент времени списания с баланса за услугу. 3754 -|PeriodValue|Значение периода. 3755 -|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 4316 +((( 4317 +{ 4318 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4319 + "Plan": { ~/~/ Определяет тарифный план (шаблон услуг) 4320 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана. 4321 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента-владельца. 4322 + "Name": "string", ~/~/ Наименование. 4323 + "IsArchived": true, ~/~/ Признак, определяющий архивный тарифный план. 4324 + "Constraint": { ~/~/ Ограничения по тарифу 4325 + "CalculationType": 0, ~/~/ Определяет тип расчёта (0 - деньги, 1 - дни) 4326 + "PermissibleBalance": 0, ~/~/ Допустимый баланс. 4327 + "DefermentDays": 0 ~/~/ Отсрочка (дни) 4328 + }, 4329 + "Features": [ ~/~/ Набор услуг по тарифному плану. 4330 + { 4331 + "Feature": "string", ~/~/Код услуги. 4332 + "IsFactual": true, ~/~/ Признак, определяющий возможность расчёта по факту. 4333 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4334 + "Price": 0, ~/~/ Цена за единицу. 4335 + "PeriodValue": 0, ~/~/ Значение периода. 4336 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане. (0 - деньги, 1 - дни) 4337 + } 4338 + ], 4339 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя, создавшего тарифный план. 4340 + "Created": "2025-06-10T12:29:32.969Z", ~/~/ Дата создания тарифного плана. 4341 + "Deactivated": "2025-06-10T12:29:32.969Z" ~/~/ Дата деактивации тарифного плана. 4342 + }, 4343 + "Features": [ ~/~/ Набор услуг по тарифу клиента. 4344 + { 4345 + "Feature": "string", ~/~/ Код услуги. 4346 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга. 4347 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом. 4348 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту. 4349 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4350 + "Price": 0, ~/~/ Цена за единицу. 4351 + "DebitDate": "2025-06-10T12:29:32.969Z", ~/~/ Следующий момент времени списания с баланса за услугу. 4352 + "PeriodValue": 0, ~/~/ Значение периода. 4353 + "PeriodType": 0, ~/~/ Определяет тип периода действия услуги в тарифном плане. 4354 + "Quantity": 0 ~/~/ Количество использования услуги. 4355 + } 4356 + ] 4357 +} 4358 +))) 3756 3756 3757 3757 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) = 3758 3758 ... ... @@ -3768,7 +3768,7 @@ 3768 3768 **POST /api/v3/vehicles/import/{agentId}** 3769 3769 ))) 3770 3770 3771 -Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml** или **wlp. **Также они могут находится в** zip-архиве.** 4374 +Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате **xml (расширение *.xls)** или **wlp. **Также они могут находится в** zip-архиве (один файл - один архив).** 3772 3772 3773 3773 В пути указывается **agentId** - id клиента. 3774 3774 ... ... @@ -3780,7 +3780,7 @@ 3780 3780 3781 3781 |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3782 3782 |withNoData|Параметр **Объекты без данных**. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать. 3783 -|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: 1- Замена,2- Слияние,3- Добавление4386 +|importMethod|Параметр **Метода импорта датчиков**. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление 3784 3784 3785 3785 В теле использовать тип **form-data,** тип значения** file** 3786 3786 ... ... @@ -3857,6 +3857,43 @@ 3857 3857 |producedCount|Кол-во успешно отправленных в шину данных сообщений 3858 3858 |msgCount|Кол-во обработанных сообщений всего 3859 3859 4463 +== **Импортировать историю ТС (Асинхронный запрос)** == 4464 + 4465 +(% class="box successmessage" %) 4466 +((( 4467 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 4468 +))) 4469 + 4470 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос. 4471 + 4472 +Метод запроса: **POST** 4473 + 4474 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 4475 + 4476 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 4477 + 4478 + 4479 +Ответ: 4480 + 4481 +{ 4482 + 4483 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 4484 + 4485 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса 4486 + 4487 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 4488 + 4489 + "Message": "string", ~/~/ Информация о выполнении запроса 4490 + 4491 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 4492 + 4493 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 4494 + 4495 + "Data": "string" ~/~/ Данные 4496 + 4497 +} 4498 + 4499 + 3860 3860 == (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) == 3861 3861 3862 3862 (% class="box infomessage" %) ... ... @@ -3874,10 +3874,59 @@ 3874 3874 "message": "string" 3875 3875 } 3876 3876 3877 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3878 -|activity|Активен ли экспорт/импорт истории сейчас, true - да, false - нет 3879 -|progress|Guid ТС 4517 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)((( 4518 +**Параметр** 4519 +)))|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)((( 4520 +**Описание** 4521 +))) 4522 +|((( 4523 +activity 4524 +)))|((( 4525 +Активен ли экспорт/импорт истории сейчас, true - да, false - нет 4526 +))) 4527 +|((( 4528 +progress 4529 +)))|((( 4530 +Guid ТС 4531 +))) 3880 3880 4533 +== **Возвращает статус асинхронного запроса импорта истории ТС** == 4534 + 4535 +(% class="box infomessage" %) 4536 +((( 4537 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 4538 +))) 4539 + 4540 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос. 4541 + 4542 +Метод запроса: **GET** 4543 + 4544 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 4545 + 4546 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 4547 + 4548 + 4549 +Ответ: 4550 + 4551 +{ 4552 + 4553 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 4554 + 4555 + "Status": 0, ~/~/ Перечисление состояний выполения запроса 4556 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 4557 + 4558 + "Message": "string", ~/~/ Информация о выполнении запроса 4559 + 4560 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 4561 + 4562 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 4563 + 4564 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 4565 + 4566 + "Data": "string" ~/~/ Данные 4567 + 4568 +} 4569 + 3881 3881 == (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) == 3882 3882 3883 3883 (% class="box infomessage" %) ... ... @@ -3959,64 +3959,67 @@ 3959 3959 Тело запроса: 3960 3960 3961 3961 { 3962 - "vehicleIds": [vehicleId], 3963 - "from": "2023-11-22T09:29:48.051Z", 3964 - "to": "2023-11-22T09:29:48.051Z" 4651 + "vehicleIds": [vehicleId], ~/~/Массив ID объектов 4652 + "from": "2023-11-22T09:29:48.051Z", ~/~/ Дата начала запроса 4653 + "to": "2023-11-22T09:29:48.051Z" ~/~/ Дата окончания запроса 3965 3965 } 3966 3966 3967 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 3968 -|vehicleIds|Массив ID объектов 3969 -|from|Дата начала запроса 3970 -|to|Дата окончания запроса 3971 - 3972 3972 Ответ: 3973 3973 3974 3974 { 3975 - "items": [ 4659 + "items": [ ~/~/ Список в разрезе ТС 3976 3976 { 3977 - "from": "2023-11-22T09:29:48.052Z", 3978 - "to": "2023-11-22T09:29:48.052Z", 3979 - "vehicleId": 0, 3980 - "vehicleName": "string", 3981 - "vehicleModel": "string", 3982 - "penalty": 0, 3983 - "score": 0, 3984 - "totalViolations": 0, 3985 - "violationsByType": { 3986 - "overspeedingViolations": 0, 3987 - "accelerationViolations": 0, 3988 - "brakingViolations": 0, 3989 - "turningViolations": 0, 3990 - "dangerousDrivingViolations": 0, 3991 - "sensorViolations": 0 4661 + "from": "2023-11-22T09:29:48.052Z", ~/~/ Дата начала периода 4662 + "to": "2023-11-22T09:29:48.052Z", ~/~/ Дата окончания периода 4663 + "vehicleId": 0, ~/~/ ID ТС 4664 + "vehicleName": "string", ~/~/ Название ТС 4665 + "vehicleModel": "string", ~/~/ Модель ТС 4666 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов в разрезе ТС 4667 + "score": 0, ~/~/ Рассчитанная оценка вождения в разрезе ТС 4668 + "totalViolations": 0, ~/~/ Нарушений всего 4669 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4670 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4671 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4672 + "brakingViolations": 0, ~/~/ Нарушений торможения 4673 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4674 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4675 + "sensorViolations": 0 ~/~/ Нарушений по датчику 3992 3992 }, 3993 - "moveTime": 0, 3994 - "mileage": 0, 3995 - "tripsCount": 0, 3996 - "trips": [ 4677 + 4678 +((( 4679 + 4680 +))) 4681 + 4682 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4683 + "mileage": 0, ~/~/ Пробег, м 4684 + "tripsCount": 0, ~/~/ Кол-во рейсов 4685 + "trips": [ ~/~/ Информация по рейсу 3997 3997 { 3998 - "penalty": 0, 3999 - "score": 0, 4000 - "violationsCount": 0, 4001 - "violationsByType": { 4002 - "overspeedingViolations": 0, 4003 - "accelerationViolations": 0, 4004 - "brakingViolations": 0, 4005 - "turningViolations": 0, 4006 - "dangerousDrivingViolations": 0, 4007 - "sensorViolations": 0 4687 + "penalty": 0, ~/~/ Кол-во рассчитанных штрафных баллов за рейс 4688 + "score": 0, ~/~/ Рассчитанная оценка вождения за рейс 4689 + "violationsCount": 0, ~/~/ Всего нарушений 4690 + "violationsByType": { ~/~/ Информация о нарушениях по типу 4691 + "overspeedingViolations": 0, ~/~/ Нарушений превышения скорости 4692 + "accelerationViolations": 0, ~/~/ Нарушений ускорения 4693 + "brakingViolations": 0, ~/~/ Нарушений торможения 4694 + "turningViolations": 0, ~/~/ Нарушений опасного поворота 4695 + "dangerousDrivingViolations": 0, ~/~/ Нарушений резкого вождения 4696 + "sensorViolations": 0 ~/~/ Нарушений по датчику 4008 4008 }, 4009 - "moveTime": 0, 4010 - "mileage": 0, 4011 - "motohours": 0, 4012 - "maxSpeed": 0, 4013 - "startAddress": "string", 4014 - "endAddress": "string", 4015 - "drivers": [ 4698 + 4699 + "startDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата начала поездки 4700 + "endDate": "2024-11-18T13:23:38.516Z", ~/~/ Дата окончания поездки 4701 + "moveTime": 0, ~/~/ Продолжительность движения, сек 4702 + "mileage": 0, ~/~/ Пробег, м 4703 + "motohours": 0, ~/~/ Моточасы, секунды 4704 + "maxSpeed": 0, ~/~/ Максимальная скорость за рейс 4705 + "startAddress": "string", ~/~/ Адрес начала рейса 4706 + "endAddress": "string", ~/~/ Адрес конца рейса 4707 + "drivers": [ ~/~/ Список водителей 4016 4016 { 4017 - "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4018 - "driverName": "string", 4019 - "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" 4709 + "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/GUID водителя 4710 + "driverName": "string", ~/~/ФИО водителя 4711 + "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/GUID радиометки 4020 4020 } 4021 4021 ] 4022 4022 } ... ... @@ -4025,34 +4025,1985 @@ 4025 4025 ] 4026 4026 } 4027 4027 4028 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4029 -|from|Дата начала запроса 4030 -|to|Дата окончания 4031 -|vehicleId|ID объекта 4032 -|vehicleName|Имя объекта 4033 -|vehicleModel|Модель объекта 4034 -|penalty|Сумма штрафных баллов 4035 -|score|Оценка 4036 -|totalViolations|Суммарное количество нарушений 4037 -|violationsByType|Список типов нарушений и количество нарушений для каждого типа 4038 -|overspeedingViolations|Превышение скорости 4039 -|accelerationViolations|Ускорение 4040 -|brakingViolations|Торможение 4041 -|turningViolations|Резкий поворот 4042 -|dangerousDrivingViolations|Резкое вождение 4043 -|sensorViolations|Нарушение по датчику 4044 -|moveTime|Время в движении 4045 -|mileage|Пробег 4046 -|tripsCount|Количество рейсов 4047 -|motohours|Моточасы 4048 -|maxSpeed|Максимальная скорость 4049 -|startAddress|Адрес начала рейса 4050 -|endAddress|Адрес окончания рейса 4051 -|drivers|Список водителей, которые были на объекте в течениии рейса 4052 -|driverGuid|Guid водителя 4053 -|driverName|Имя водителя 4054 -|driverRfid|Номер Карты-метки 4720 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Топливные карты**(%%) = 4055 4055 4722 +== (% style="color:#000000; font-size:16px" %)**Запрос транзакций по топливным картам**(%%) == 4723 + 4724 +Транзакции по топливным картам можно получить при наличии права «Транзакции ТК». Метод позволяет получить транзакции по нескольким топливным картам. 4725 + 4726 +(% class="box infomessage" %) 4727 +((( 4728 +**POST /api/v3/fuelcards/transactions** 4729 +))) 4730 + 4731 +Метод запроса: POST 4732 + 4733 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards/transactions 4734 +\\В заголовках запроса: X-Auth: Токен авторизации 4735 + 4736 +Параметры в теле запроса (JSON): 4737 + 4738 +{ 4739 + "startDate": "2024-04-11T10:32:02.395Z", ~/~/ Начало периода 4740 + "endDate": "2024-04-11T10:32:02.395Z", ~/~/ Конец периода 4741 + "ids": [ 4742 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификаторы топливных карт 4743 + ], 4744 + "timezone": 0 ~/~/ Часовой пояс 4745 +} 4746 + 4747 + 4748 +Ответ: 4749 + { 4750 + "date": "2024-04-11T10:41:02.265Z", ~/~/ Дата и время транзакции 4751 + "driver": "string", ~/~/ Водители, привязанные к ТК 4752 + "object": "string", ~/~/ Наименование ТС 4753 + "amount": 0, ~/~/ Количество топлива 4754 + "amountDut": 0, ~/~/ Количество по ДУТ 4755 + "amountDiff": 0, ~/~/ Разница, л 4756 + "amountDiffPerc": 0, ~/~/ Разница, % 4757 + "summa": 0, ~/~/ Стоимость, руб 4758 + "serviceName": "string", ~/~/ Тип топлива 4759 + "price": 0, ~/~/ Цена за литр, руб 4760 + "cardName": "string", ~/~/ Наименование ТК 4761 + "cardNum": "string", ~/~/ Номер ТК 4762 + "operator": "string", ~/~/ Оператор ТК 4763 + "address": "string" ~/~/ Адрес АЗС 4764 + } 4765 + 4766 +== (% style="color:#000000; font-size:16px" %)**Получение списка топливных карт**(%%) == 4767 + 4768 +(% class="box infomessage" %) 4769 +((( 4770 +**GET /api/v3/fuelcards** 4771 +))) 4772 + 4773 +Метод запроса: GET 4774 + 4775 +URL запроса: https:~/~/hosting.glonasssoft.ru/api/v3/fuelcards?ownerId=ID_клиента ~/~/ ID клиента у которого нужно запросить список 4776 + 4777 +Ответ: 4778 + 4779 +[ 4780 + { 4781 + "Name": "string", ~/~/ Определяет наименование карты. 4782 + "OperatorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Определяет идентификатор оператора. 4783 + "Number": "string", ~/~/ Определяет № карты. 4784 + "Enabled": true, ~/~/ Определяет признак активности карты. 4785 + "Description": "string", ~/~/ Определяет описание карты. 4786 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID карты 4787 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 4788 + "deleted": true ~/~/ Признак удаления 4789 + } 4790 +] 4791 + 4792 += (% style="color:#000000; font-size:18.6667px" %)Раздел: (%%)**Методы публичного API для ретрансляторов** = 4793 + 4794 + 4795 +== **Получение полных данных о ретрансляторе** == 4796 + 4797 +(% class="box infomessage" %) 4798 +((( 4799 +**GET ** **/api/v3/retranslations/{id}** 4800 +))) 4801 + 4802 +id - Идентификатор ретранслятора 4803 + 4804 + 4805 +Пример ответа: 4806 + 4807 +{ 4808 +"description": "", ~/~/ Поле описания ретранслятора 4809 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4810 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4811 +"isEnabled": true, ~/~/ Признак включения ретранслятора, Включен, true - включен, false - отключен 4812 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4813 +"objects": [ ~/~/ Объекты для ретрансляции 4814 +{ 4815 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4816 +"name": "", ~/~/ Наименование объекта ретрансляции 4817 +"imei": "", ~/~/ IMEI объекта ретрансляции 4818 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4819 +} 4820 + ], 4821 +"id": "", ~/~/ Идентификатор ретранслятора 4822 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4823 +"deleted": "" ~/~/ Признак удаления ретранслятора: true - включен, false - отключен 4824 +} 4825 + 4826 + 4827 +== **Удаление данных ретранслятора** == 4828 + 4829 +(% class="box infomessage" %) 4830 +((( 4831 +**DELETE** **/api/v3/retranslations/{id}** 4832 +))) 4833 + 4834 +id - Идентификатор ретранслятора 4835 + 4836 + 4837 +== **Создание ретранслятора** == 4838 + 4839 +(% class="box infomessage" %) 4840 +((( 4841 +**POST ** **/api/v3/retranslations/{id}** 4842 +))) 4843 + 4844 +Запрос: 4845 + 4846 +{ 4847 +"description": "", ~/~/ Поле описания ретранслятора 4848 +"subscriberId": "", ~/~/ Идентификатор подписчика 4849 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4850 +"address": "", ~/~/ Адрес и порт принимающего сервера 4851 +"isEnabled": "", ~/~/ Признак включения ретранслятора, true - включен, false - отключен 4852 +"objects": [ ~/~/Объекты для ретрансляции 4853 +{ 4854 +"id": "", ~/~/ Идентификатор ретранслятора 4855 +"imei": "", ~/~/ IMEI объекта ретрансляции 4856 +"isEnabled": "" ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4857 +} 4858 + ] 4859 +} 4860 + 4861 + 4862 +Ответ: 4863 + 4864 +{ 4865 +"description": "", ~/~/ Поле описания ретранслятора 4866 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4867 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4868 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4869 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4870 +"objects": [ ~/~/ Объекты для ретрансляции 4871 +{ 4872 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4873 +"name": "string", ~/~/ Наименование объекта ретрансляции 4874 +"imei": "", ~/~/ IMEI объекта ретрансляции 4875 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4876 +} 4877 + ], 4878 +"id": "", ~/~/ Идентификатор ретранслятора 4879 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4880 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4881 +} 4882 + 4883 + 4884 +== **Редактирование ретранслятора** == 4885 + 4886 +(% class="box infomessage" %) 4887 +((( 4888 +**PUT** **/api/v3/retranslations** 4889 +))) 4890 + 4891 +Пример запроса: 4892 + 4893 +{ 4894 +"id": "", ~/~/ Идентификатор ретранслятора 4895 +"description": "string", ~/~/ Поле описания ретранслятора 4896 +"subscriberId": "", ~/~/ Идентификатор подписчика 4897 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4898 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4899 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4900 +"objects": ~/~/ Объекты для ретрансляции 4901 +[ 4902 +{ 4903 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4904 +"imei": "", ~/~/ IMEI объекта ретрансляции 4905 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4906 +} 4907 + ] 4908 +} 4909 + 4910 + 4911 +Пример ответа: 4912 + 4913 +{ 4914 +"description": "", ~/~/ Поле описания ретранслятора 4915 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4916 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4917 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4918 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4919 +"objects": [ ~/~/ Объекты для ретрансляции 4920 +{ 4921 +"id": "", ~/~/ Идентификатор объекта ретрансляции 4922 +"name": "string", ~/~/ Наименование объекта ретрансляции 4923 +"imei": "", ~/~/ IMEI объекта ретрансляции 4924 +"isEnabled": true ~/~/ Признак включения объекта ретрансляции: true - включен, false - отключен 4925 +} 4926 + ], 4927 +"id": "", ~/~/ Идентификатор ретранслятора 4928 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4929 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4930 +} 4931 + 4932 + 4933 +== **Получение списка ретранслятора клиента** == 4934 + 4935 +(% class="box infomessage" %) 4936 +((( 4937 +**POST /api/v3/retranslations/find** 4938 +))) 4939 + 4940 +Пример запроса: 4941 + 4942 +{ 4943 +"id": "", ~/~/ Идентификатор ретранслятора 4944 +"search": "string", ~/~/ Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу 4945 +"parentId": "" ~/~/ Идентификатор родительского агента, для которого надо получить данные (обязательный параметр). 4946 +} 4947 + 4948 +Ответ: 4949 + 4950 +[ 4951 +{ 4952 +"description": "", ~/~/ Поле описания ретранслятора 4953 +"subscriberId": "", ~/~/ Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться) 4954 +"protocolType": 0, ~/~/ Тип протокола ретрансляции 4955 +"isEnabled": true, ~/~/ Признак включения ретранслятора: true - включен, false - отключен 4956 +"address": "string", ~/~/ Адрес и порт принимающего сервера 4957 +"id": "", ~/~/ Идентификатор ретранслятора 4958 +"parentId": "", ~/~/ Идентификатор родителя (вышестоящего клиента) 4959 +"deleted": true ~/~/ Признак удаления ретранслятора: true - удален, false - не удален 4960 +} 4961 +] 4962 + 4963 + 4964 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Отчеты**(%%) = 4965 + 4966 +== **API для отчета по выгрузке комбайнов** == 4967 + 4968 +(% class="box infomessage" %) 4969 +((( 4970 +**POST /api/v3/Reports/harvesterUnloading** 4971 +))) 4972 + 4973 +Пример запроса: 4974 + 4975 +{ 4976 + "byTime": 0, ~/~/ Объединение событий по времени 4977 + "byDist": 0, ~/~/ Объединение событий по расстоянию 4978 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 4979 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 4980 + "showNearestObjects": true, ~/~/Показывать объекты рядом? 4981 + "vehicleIds": [ ~/~/ Список id объектов для анализа 4982 + 0 4983 + ], 4984 + "from": "", ~/~/ Дата и время начало запроса 4985 + "to": "", ~/~/ Дата и время окончания запроса 4986 + "timezone": 0 ~/~/ Временная зона. Если не указана, то по умолчанию UTC+3 4987 +} 4988 + 4989 +Пример ответа: 4990 + 4991 +[ 4992 + { 4993 + "harvesterName": "", ~/~/Комбайн, номер 4994 + "harvesterId": 0, ~/~/Комбайн, id 4995 +"harvesterModel": "", ~/~/ Модель комбайна 4996 +"hopperCapacity": 0, ~/~/ Объем бункера м3 4997 + "hopperDischargeSpeed": 0, ~/~/ Скорость выгрузки из бункера, л/сек 4998 + "events": [ ~/~/Список событий в разрезе комбайна 4999 + { 5000 + "driverId": "", ~/~/Идентификатор водителя 5001 + "driverName": "", ~/~/Водитель комбайна, ФИО 5002 + "RFID": "", ~/~/ идентификатор карты-метки 5003 + "rfidName": "", ~/~/Водитель комбайна, имя метки 5004 + "vehicleId": 0, ~/~/идентификатор объекта 5005 + "vehicleName": "string", ~/~/ Имя объекта 5006 + "modelName": "string", ~/~/ Имя модели объекта 5007 + "nearestVehicles": [ ~/~/Объекты рядом 5008 + { 5009 + "vehicleId": 0, ~/~/идентификатор объекта 5010 + "vehicleName": "string" ~/~/ Имя объекта 5011 + } 5012 + ], 5013 + "fields": [ ~/~/Поля, где происходила выгрузка 5014 + { 5015 + "id": 0, ~/~/ идентификатор пользователя 5016 + "name": "string" ~/~/ имя пользователя 5017 + } 5018 + ], 5019 + "event": "string", ~/~/Событие 5020 + "start": "2024-07-19T06:41:57.821Z", ~/~/ Начало периода 5021 + "end": "2024-07-19T06:41:57.821Z", ~/~/ Окончание периода 5022 + "durationSeconds": 0, ~/~/Продолжительность события, в секундах 5023 + "cultureName": "string", ~/~/ название культуры 5024 + "bunkerLowLevelStart": 0, ~/~/Бункер, нижний уровень (на начало события) 5025 + "bunkerLowLevelEnd": 0, ~/~/ Бункер, нижний уровень (на конец события) 5026 + "bunkerHighLevelStart": 0, ~/~/Бункер, верхний уровень (на начало события) 5027 + "bunkerHighLevelEnd": 0, ~/~/Бункер, верхний уровень (на конец события) 5028 + "reapingAggregateValueStart": 0, ~/~/Жатка (на начало события) 5029 + "reapingAggregateValueEnd": 0, ~/~/Жатка (на конец события) 5030 + "issued": 0, ~/~/Выдано, бункеров 5031 + "issuedByBunkerSensors": 0, ~/~/Отдано бункеров (расчет по датчикам бункера) 5032 + "latitude": 0, ~/~/Широта 5033 + "longitude": 0, ~/~/ Долгота 5034 + "litresAway": 0, ~/~/Отдано, л 5035 + "m3Away": 0 ~/~/Отдано, м3 5036 + } 5037 + ] 5038 + } 5039 +] 5040 + 5041 + 5042 +== **Отчет трек-датчики** == 5043 + 5044 +(% class="box infomessage" %) 5045 +((( 5046 +**POST /api/v3/Reports/sensorsWorks** 5047 +))) 5048 + 5049 +**Пример запроса:** 5050 + 5051 +{ 5052 + "vehicleIds": [ ~/~/ Список ID объектов 5053 + 0 5054 + ], 5055 + "from": "2025-02-20T06:39:23.888Z", ~/~/ Начало периода (локальное время клиента) 5056 + "to": "2025-02-20T06:39:23.888Z", ~/~/ Конец периода (локальное время клиента) 5057 + "timezone": 0 ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK 5058 +} 5059 + 5060 +**Пример ответа:** 5061 + 5062 +((( 5063 +{ 5064 + "vehicleSensorWorks": [ ~/~/ Интервалы работы оборудования для конкретного ТС 5065 + { 5066 + "vehicleId": 0, ~/~/ Идентификатор ТС 5067 + "sensorWorks": [ ~/~/ Интервалы работы оборудования. 5068 + { 5069 + "start": "2025-02-20T06:39:23.979Z", ~/~/ Начало интервала работы оборудования. 5070 + "end": "2025-02-20T06:39:23.979Z", ~/~/ Конец интервала работы оборудования. 5071 + "duration": 0, ~/~/ Продолжительность интервала в секундах. 5072 + "name": "string", ~/~/ Наименование оборудования. 5073 + "mileage": 0, ~/~/ Пробег за время работы оборудования. 5074 + "totalMileage": 0, ~/~/ Общий пробег. 5075 + "avgSpeed": 0 ~/~/ Средняя скорость. 5076 + } 5077 + ] 5078 + } 5079 + ] 5080 +} 5081 + 5082 + 5083 +== **Превышение скорости** == 5084 + 5085 +(% class="box infomessage" %) 5086 +((( 5087 +**POST /api/v3/Reports/overSpeedDuration** 5088 +))) 5089 + 5090 + Публичный API запрос о превышениях скорости по объекту в секундах с выбором способа определения нарушений (дорожное ограничение или фиксированное ограничение). 5091 + 5092 +Пример запроса: 5093 + 5094 +((( 5095 +{ 5096 + "vehicleId": 0, ~/~/ идентификационный номер транспортного средства 5097 + "from": "2025-04-21T10:45:25.258Z", ~/~/ Начало периода (локальное время клиента) 5098 + "to": "2025-04-21T10:45:25.258Z", ~/~/ Конец периода (локальное время клиента) 5099 + "timezone": 0, ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK 5100 + "overSpeedDetectionType": 0 ~/~/ тип нарушения (1-дорожное ограничение, 2-фиксированный ) 5101 +} 5102 +))) 5103 + 5104 +((( 5105 + 5106 +))) 5107 + 5108 +((( 5109 +Пример ответа: 5110 +))) 5111 + 5112 +((( 5113 +((( 5114 +[ 5115 + { 5116 + "eventDate": "2025-04-21T10:45:25.267Z", ~/~/ Дата и время события 5117 + "duration": 0, ~/~/ Продолжительность события в секундах 5118 + "maxSpeed": 0, ~/~/ Максимальная скорость 5119 + "speedLimit": 0 ~/~/ Ограничение скорости 5120 + } 5121 +] 5122 +))) 5123 +))) 5124 +))) 5125 + 5126 += (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) = 5127 + 5128 + 5129 +== **Запрос списка полей** == 5130 + 5131 +(% class="box successmessage" %) 5132 +((( 5133 +**POST /api/v3/agroLands/find** 5134 +))) 5135 + 5136 +Пример запроса: 5137 + 5138 +((( 5139 +((( 5140 +((( 5141 +{ 5142 + "year": 0, ~/~/ Фильтр по году 5143 + "name": "string", ~/~/ Фильтр по названию 5144 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Фильтр по подразделению 5145 +} 5146 +))) 5147 +))) 5148 + 5149 + 5150 +))) 5151 + 5152 +Пример ответа: 5153 + 5154 +((( 5155 +[ 5156 + { 5157 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5158 + "year": 0, ~/~/ Год поля 5159 + "startDate": "2024-12-20T12:27:07.523Z", ~/~/ Начало года урожая 5160 + "endDate": "2024-12-20T12:27:07.523Z", ~/~/ Конец года урожая 5161 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 5162 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5163 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5164 + "counts": { ~/~/ Счётчики с/х поля 5165 + "fieldOperations": 0, ~/~/ Количество операций на поле 5166 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5167 + "facts": 0 ~/~/ Счётчик факта 5168 + }, 5169 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5170 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5171 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5172 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5173 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5174 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5175 + "planComment": "string", ~/~/ Комментарий к полю 5176 + "productivity": 0, ~/~/ Урожайность. 5177 + "id": 0, ~/~/ Идентификатор объекта геозоны 5178 + "name": "string", ~/~/ Название объекта геозоны 5179 + "type": 0, ~/~/ Тип объекта геозоны 5180 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5181 + "fname": "string", ~/~/ Имя файла 5182 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5183 + "beginCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата начала расчетов для геозоны 5184 + "endCalc": "2024-12-20T12:27:07.523Z", ~/~/ Дата окончания расчетов для геозоны 5185 + "description": "string", ~/~/ Описание объекта геозоны 5186 + "area": 0, ~/~/ Площадь, м2 5187 + "perimetr": 0, ~/~/ Периметр, м 5188 + "createDate": "2024-12-20T12:27:07.523Z" ~/~/ Дата создания в бд 5189 + } 5190 +] 5191 + 5192 + 5193 +== **Создание нового поля ** == 5194 + 5195 +(% class="box successmessage" %) 5196 +((( 5197 +**POST /api/v3/agroLands** 5198 +))) 5199 + 5200 +Если необходимо указывать конкретного клиента, в котором нужно создать поле, то в заголовке надо прописать 5201 +X-agent - ID клиента 5202 + 5203 +Пример запроса: 5204 + 5205 +((( 5206 +{ 5207 + "extId": "string", 5208 + "shape": "{\"type\":\"Polygon\",\"coordinates\":~[~[[50.299112,54.769317],[50.299369,54.76691],[50.303702,54.767878],[50.299112,54.769317]]]}", ~/~/ Форма поля 5209 + "shapeFormat": "geojson", ~/~/ Формат, в котором представлена форма поля 5210 + "display": "string", ~/~/ Настройки отображения 5211 + "year": 0, ~/~/ Год поля 5212 + "name": "string", ~/~/ Наименование 5213 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5214 + "startDate": "2024-12-20T08:19:59.635Z", ~/~/ Начало года урожая 5215 + "endDate": "2024-12-20T08:19:59.635Z", ~/~/ Конец года урожая 5216 + "planComment": "string", ~/~/ Комментарий к полю 5217 + "cropRotations": [ ~/~/ Данные по севообороту 5218 + { 5219 + "landId": 0, ~/~/ ID поля 5220 + "landName": "string", ~/~/ Название поля 5221 + "year": 0, ~/~/ Год урожая 5222 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5223 + "cultureName": "string", ~/~/ Название культуры 5224 + "productivity": 0, ~/~/ Урожайность 5225 + "area": 0, ~/~/ Площадь поля, Га 5226 + "total": 0, ~/~/ Валовый сбор 5227 + "productivityFact": 0, ~/~/ Фактическая урожайность 5228 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5229 + "totalFact": 0, ~/~/ Фактический валовый сбор 5230 + "start": "2024-12-20T08:19:59.635Z", ~/~/ Дата начала работ 5231 + "sowing": "2024-12-20T08:19:59.635Z", ~/~/ Дата сева 5232 + "harvesting": "2024-12-20T08:19:59.635Z", ~/~/ Дата уборки урожая 5233 + "isyearplan": true, ~/~/ Годовой план 5234 + "comment": "string" ~/~/ Комментарий 5235 + } 5236 + ] 5237 +} 5238 +))) 5239 + 5240 +((( 5241 + 5242 +))) 5243 + 5244 +Пример ответа: 5245 + 5246 +((( 5247 +((( 5248 +{ 5249 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5250 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5251 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5252 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5253 + "cropRotations": [ ~/~/ Данные по севообороту 5254 + { 5255 + "landId": 0, ~/~/ ID поля 5256 + "landName": "string", ~/~/ Название поля 5257 + "year": 0, ~/~/ Год урожая 5258 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5259 + "cultureName": "string", ~/~/ Название культуры 5260 + "productivity": 0, ~/~/ Урожайность 5261 + "area": 0, ~/~/ Площадь поля, Га. 5262 + "total": 0, ~/~/ Валовый сбор 5263 + "productivityFact": 0, ~/~/ Фактическая урожайность 5264 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5265 + "totalFact": 0, ~/~/ Фактический валовый сбор 5266 + "start": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала работ 5267 + "sowing": "2024-12-20T08:19:59.743Z", ~/~/ Дата сева 5268 + "harvesting": "2024-12-20T08:19:59.743Z", ~/~/ Дата уборки урожая 5269 + "isyearplan": true, ~/~/ годовой план 5270 + "comment": "string" ~/~/ Комментарий 5271 + } 5272 + ], 5273 + "cropVegetation": [ ~/~/ История вегетации поля 5274 + { 5275 + "values": [ ~/~/ Данные вегетации и состояния посева 5276 + { 5277 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 5278 + "ndvi": 0 ~/~/ Индекс вегетации 5279 + } 5280 + ], 5281 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5282 + { 5283 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 5284 + "type": "string", ~/~/ Тип 5285 + "pictureid": "string" ~/~/ Идентификатор ресурса 5286 + } 5287 + ], 5288 + "states": [ ~/~/ Ключевые даты развития поля 5289 + { 5290 + "date": "2024-12-20T08:19:59.743Z", ~/~/ Дата 5291 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 5292 + } 5293 + ] 5294 + } 5295 + ], 5296 + "endDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата закрытия года урожая 5297 + "counts": { 5298 + "fieldOperations": 0, ~/~/ Количество операций на поле 5299 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5300 + "facts": 0 ~/~/ Счётчик факта 5301 + }, 5302 + "planComment": "string", ~/~/ Комментарий к полю 5303 +))) 5304 + 5305 +((( 5306 + "productivity": 0, ~/~/ Урожайность. 5307 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5308 + "startDate": "2024-12-20T08:19:59.743Z", ~/~/ Дата открытия года урожая 5309 + "year": 0, ~/~/ Год поля 5310 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5311 + "actualPlanState": 0, ~/~/ Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5312 + "factState": 0, ~/~/ Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5313 + "taskState": 0, ~/~/ Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5314 + "status": 0, ~/~/ Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто 5315 + "id": 0, ~/~/ Идентификатор объекта геозоны 5316 + "name": "string", ~/~/ Название объекта геозоны 5317 + "type": 0, ~/~/ Тип объекта геозоны 5318 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5319 + "fname": "string", ~/~/ Имя файла 5320 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5321 + "beginCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата начала расчетов для геозоны 5322 + "endCalc": "2024-12-20T08:19:59.743Z", ~/~/ Дата окончания расчетов для геозоны 5323 + "description": "string", ~/~/ Описание объекта геозоны 5324 + "area": 0, ~/~/ Площадь, м2 5325 + "perimetr": 0, ~/~/ Периметр, м 5326 + "createDate": "2024-12-20T08:19:59.743Z" ~/~/ Дата создания в бд 5327 +} 5328 + 5329 + 5330 +))) 5331 +))) 5332 +))) 5333 + 5334 +== **Получение поля по id** == 5335 + 5336 +(% class="box infomessage" %) 5337 +((( 5338 +**GET /api/v3/agroLands/{id}** 5339 +))) 5340 + 5341 +Пример запроса: 5342 +id ~/~/ Идентификатор поля 5343 + 5344 +Пример ответа: 5345 + 5346 +((( 5347 +{ 5348 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5349 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5350 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5351 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5352 + "cropRotations": [ ~/~/ Данные по севообороту 5353 + { 5354 + "landId": 0, ~/~/ ID поля 5355 + "landName": "string", ~/~/ Название поля 5356 + "year": 0, ~/~/ Год урожая 5357 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5358 + "cultureName": "string", ~/~/ Название культуры 5359 + "productivity": 0, ~/~/ Урожайность 5360 + "area": 0, ~/~/ Площадь поля, Га 5361 + "total": 0, ~/~/ Валовый сбор 5362 + "productivityFact": 0, ~/~/ Фактическая урожайность 5363 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5364 + "totalFact": 0, ~/~/ Фактический валовый сбор 5365 + "start": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала работ 5366 + "sowing": "2024-12-20T07:45:52.611Z", ~/~/ Дата сева 5367 + "harvesting": "2024-12-20T07:45:52.611Z", ~/~/ Дата уборки урожая 5368 + "isyearplan": true, ~/~/ План года 5369 + "comment": "string" ~/~/ Комментарий 5370 + } 5371 + ], 5372 + "cropVegetation": [ ~/~/ История вегетации поля 5373 + { 5374 + "values": [ ~/~/ Данные вегетации и состояния посева 5375 + { 5376 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 5377 + "ndvi": 0 ~/~/ Индекс вегетации 5378 + } 5379 + ], 5380 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5381 + { 5382 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 5383 + "type": "string", ~/~/ Тип 5384 + "pictureid": "string" ~/~/ Идентификатор ресурса 5385 + } 5386 + ], 5387 + "states": [ ~/~/ Ключевые даты развития поля 5388 + { 5389 + "date": "2024-12-20T07:45:52.611Z", ~/~/ Дата 5390 + "state": 0 ~/~/ Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая 5391 + } 5392 + ] 5393 + } 5394 + ], 5395 + "endDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата закрытия года урожая 5396 + "counts": { 5397 + "fieldOperations": 0, ~/~/ Количество операций на поле 5398 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5399 + "facts": 0 ~/~/ Счётчик факта 5400 + }, 5401 + "planComment": "string", ~/~/ Комментарий к полю 5402 + "productivity": 0, ~/~/ Урожайность. 5403 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5404 +))) 5405 + 5406 +((( 5407 +((( 5408 + "startDate": "2024-12-20T07:45:52.611Z", ~/~/ Дата открытия года урожая 5409 + "year": 0, ~/~/ Год поля 5410 + "planState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5411 + "actualPlanState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5412 + "factState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5413 + "taskState": 0, ~/~/ Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5414 + "status": 0, ~/~/ Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 5415 + "id": 0, ~/~/ Идентификатор объекта геозоны 5416 + "name": "string", ~/~/ Название объекта геозоны 5417 + "type": 0, ~/~/ Тип объекта геозоны 5418 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5419 + "fname": "string", ~/~/ Имя файла 5420 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5421 + "beginCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата начала расчетов для геозоны 5422 + "endCalc": "2024-12-20T07:45:52.611Z", ~/~/ Дата окончания расчетов для геозоны 5423 + "description": "string", ~/~/ Описание объекта геозоны 5424 + "area": 0, ~/~/ Площадь, м2 5425 + "perimetr": 0, ~/~/ Периметр, м 5426 + "createDate": "2024-12-20T07:45:52.611Z" ~/~/ Дата создания в бд 5427 +} 5428 +))) 5429 + 5430 + 5431 + 5432 +((( 5433 + 5434 +))) 5435 + 5436 +((( 5437 +((( 5438 +((( 5439 +== **Изменение поля** == 5440 + 5441 +(% class="box infomessage" %) 5442 +((( 5443 +**PUT /api/v3/agroLands** 5444 +))) 5445 + 5446 +Пример запроса: 5447 + 5448 +((( 5449 +((( 5450 +{ 5451 + "id": 0, ~/~/ Идентификатор поля 5452 + "extId": "string", ~/~/ ExtId 5453 + "shape": "string", ~/~/ Форма поля 5454 + "shapeFormat": "string", ~/~/ Формат, в котором представлена форма поля 5455 + "display": "string", ~/~/ Настройки отображения 5456 + "year": 0, ~/~/ Год поля 5457 + "name": "string", ~/~/ Наименование 5458 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5459 + "startDate": "2024-12-20T10:11:59.425Z", ~/~/ Начало года урожая 5460 + "endDate": "2024-12-20T10:11:59.425Z", ~/~/ Конец года урожая 5461 + "planComment": "string", ~/~/Комментарий к полю 5462 + "cropRotations": [ ~/~/ Данные по севообороту 5463 + { 5464 + "landId": 0, ~/~/ ID поля 5465 + "landName": "string", ~/~/ Название поля 5466 + "year": 0, ~/~/ Год урожая 5467 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5468 + "cultureName": "string", ~/~/ Название культуры 5469 + "productivity": 0, ~/~/ Урожайность 5470 + "area": 0, ~/~/ Площадь поля, Га. 5471 + "total": 0, ~/~/ Валовый сбор 5472 + "productivityFact": 0, ~/~/ Фактическая урожайность 5473 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5474 + "totalFact": 0, ~/~/ Фактический валовый сбор 5475 + "start": "2024-12-20T10:11:59.425Z", ~/~/ Дата начала работ 5476 + "sowing": "2024-12-20T10:11:59.425Z", ~/~/ Дата сева 5477 + "harvesting": "2024-12-20T10:11:59.425Z", ~/~/ Дата уборки урожая 5478 + "isyearplan": true, 5479 + "comment": "string" ~/~/ Комментарий 5480 + } 5481 + ], 5482 + "deleteStatistic": true ~/~/ Нужно ли удалять статистику 5483 +} 5484 +))) 5485 +))) 5486 + 5487 +((( 5488 + 5489 +))) 5490 + 5491 +Пример ответа: 5492 + 5493 +((( 5494 +((( 5495 +((( 5496 +{ 5497 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5498 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5499 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5500 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5501 + "cropRotations": [ ~/~/ Данные по севообороту 5502 + { 5503 + "landId": 0, ~/~/ ID поля 5504 + "landName": "string", ~/~/ Название поля 5505 + "year": 0, ~/~/ Год урожая 5506 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5507 + "cultureName": "string", ~/~/ Название культуры 5508 + "productivity": 0, ~/~/ Урожайность 5509 + "area": 0, ~/~/ Площадь поля, Га 5510 + "total": 0, ~/~/ Валовый сбор 5511 + "productivityFact": 0, ~/~/ Фактическая урожайность 5512 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5513 + "totalFact": 0, ~/~/ Фактический валовый сбор 5514 + "start": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала работ 5515 + "sowing": "2024-12-20T10:11:59.533Z", ~/~/ Дата сева 5516 + "harvesting": "2024-12-20T10:11:59.533Z", ~/~/ Дата уборки урожая 5517 + "isyearplan": true, ~/~/ 5518 + "comment": "string" ~/~/ Комментарий 5519 + } 5520 + ], 5521 + "cropVegetation": [ ~/~/ История вегетации поля 5522 + { 5523 + "values": [ ~/~/ Данные вегетации и состояния посева 5524 + { 5525 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5526 + "ndvi": 0 ~/~/ Индекс вегетации 5527 + } 5528 + ], 5529 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5530 + { 5531 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5532 + "type": "string", ~/~/ Тип 5533 + "pictureid": "string" ~/~/ Идентификатор ресурса 5534 + } 5535 + ], 5536 + "states": [ ~/~/ Ключевые даты развития поля 5537 + { 5538 + "date": "2024-12-20T10:11:59.533Z", ~/~/ Дата 5539 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 5540 + } 5541 + ] 5542 + } 5543 + ], 5544 + "endDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата закрытия года урожая 5545 + "counts": { 5546 + "fieldOperations": 0, ~/~/ Количество операций на поле 5547 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5548 + "facts": 0 ~/~/ Счётчик факта 5549 + }, 5550 + "planComment": "string", ~/~/ Комментарий к полю 5551 + "productivity": 0, ~/~/ Урожайность. 5552 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5553 + "startDate": "2024-12-20T10:11:59.533Z", ~/~/ Дата открытия года урожая 5554 + "year": 0, ~/~/ Год поля 5555 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5556 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5557 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5558 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой 5559 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 5560 + "id": 0, ~/~/ Идентификатор объекта геозоны 5561 + "name": "string", ~/~/ Название объекта геозоны 5562 + "type": 0, ~/~/ Тип объекта геозоны 5563 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5564 + "fname": "string", ~/~/ Имя файла 5565 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5566 + "beginCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата начала расчетов для геозоны 5567 + "endCalc": "2024-12-20T10:11:59.533Z", ~/~/ Дата окончания расчетов для геозоны 5568 + "description": "string", ~/~/ Описание объекта геозоны 5569 + "area": 0, ~/~/ Площадь, м2 5570 + "perimetr": 0, ~/~/ Периметр, м 5571 + "createDate": "2024-12-20T10:11:59.533Z" ~/~/ Дата создания в бд 5572 +} 5573 +))) 5574 +))) 5575 +))) 5576 +))) 5577 +))) 5578 + 5579 + 5580 +== **Редактирование года урожая ** == 5581 + 5582 +(% class="box successmessage" %) 5583 +((( 5584 +**POST /api/v3/agroLands/updateOpenCloseYear** 5585 +))) 5586 + 5587 +Пример запроса: 5588 + 5589 +((( 5590 +((( 5591 +{ 5592 + "agroLandIds": [ ~/~/ Идентификаторы полей для которых меняется год урожая 5593 + 0 5594 + ], 5595 + "newStartDate": "2024-12-20T11:43:43.921Z", ~/~/ Новая дата начала урожая 5596 + "newEndDate": "2024-12-20T11:43:43.921Z" ~/~/ Новая дата закрытия урожая 5597 +} 5598 +))) 5599 + 5600 + 5601 +))) 5602 + 5603 +Пример ответа: 5604 + 5605 +((( 5606 +((( 5607 +{ 5608 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор культуры 5609 + "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор технологии 5610 + "fieldId": 0, ~/~/ Ссылка на группирующее с/х поле 5611 + "sourceId": 0, ~/~/ Ссылка на участок прошлого года 5612 + "cropRotations": [ ~/~/ Данные по севообороту 5613 + { 5614 + "landId": 0, ~/~/ ID поля 5615 + "landName": "string", ~/~/ Название поля 5616 + "year": 0, ~/~/ Год урожая 5617 + "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID культуры 5618 + "cultureName": "string", ~/~/ Название культуры 5619 + "productivity": 0, ~/~/ Урожайность 5620 + "area": 0, ~/~/ Площадь поля, Га. 5621 + "total": 0, ~/~/ Валовый сбор 5622 + "productivityFact": 0, ~/~/ Фактическая урожайность 5623 + "areaFact": 0, ~/~/ Фактическая площадь поля, Га. 5624 + "totalFact": 0, ~/~/ Фактический валовый сбор 5625 + "start": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала работ 5626 + "sowing": "2024-12-20T11:43:44.091Z", ~/~/ Дата сева 5627 + "harvesting": "2024-12-20T11:43:44.091Z", ~/~/ Дата уборки урожая 5628 + "isyearplan": true, ~/~/ 5629 + "comment": "string" ~/~/ Комментарий 5630 + } 5631 + ], 5632 + "cropVegetation": [ ~/~/ История вегетации поля 5633 + { 5634 + "values": [ ~/~/ Данные вегетации и состояния посева 5635 + { 5636 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 5637 + "ndvi": 0 ~/~/ Индекс вегетации 5638 + } 5639 + ], 5640 + "resources": [ ~/~/ Данные о снимках для каждого значения NDVI 5641 + { 5642 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 5643 + "type": "string", ~/~/ Тип 5644 + "pictureid": "string" ~/~/ Идентификатор ресурса 5645 + } 5646 + ], 5647 + "states": [ ~/~/ Ключевые даты развития поля 5648 + { 5649 + "date": "2024-12-20T11:43:44.091Z", ~/~/ Дата 5650 + "state": 0 ~/~/ Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая 5651 + } 5652 + ] 5653 + } 5654 + ], 5655 + "endDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата закрытия года урожая 5656 + "counts": { 5657 + "fieldOperations": 0, ~/~/ Количество операций на поле 5658 + "actualFieldOperations": 0, ~/~/ Кол-во актуальных операций на поле 5659 + "facts": 0 ~/~/ Счётчик факта 5660 + }, 5661 + "planComment": "string", ~/~/ Комментарий к полю 5662 + "productivity": 0, ~/~/ Урожайность. 5663 + "sqPlan": 0, ~/~/ Определяет площадь поля, Га. 5664 + "startDate": "2024-12-20T11:43:44.091Z", ~/~/ Дата открытия года урожая 5665 + "year": 0, ~/~/ Год поля 5666 + "planState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5667 + "actualPlanState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5668 + "factState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5669 + "taskState": 0, ~/~/ Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой 5670 + "status": 0, ~/~/ Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 5671 + "id": 0, ~/~/ Идентификатор объекта геозоны 5672 + "name": "string", ~/~/ Название объекта геозоны 5673 + "type": 0, ~/~/ Тип объекта геозоны 5674 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 5675 + "fname": "string", ~/~/ Имя файла 5676 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 5677 + "beginCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата начала расчетов для геозоны 5678 + "endCalc": "2024-12-20T11:43:44.091Z", ~/~/ Дата окончания расчетов для геозоны 5679 + "description": "string", ~/~/ Описание объекта геозоны 5680 + "area": 0, ~/~/ Площадь, м2 5681 + "perimetr": 0, ~/~/ ериметр, м 5682 + "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд 5683 +} 5684 + 5685 + 5686 +== **Какие поля посещал объект** == 5687 + 5688 +(% class="box successmessage" %) 5689 +((( 5690 +**POST /api/v3/agroLands/visitingByVehicle** 5691 +))) 5692 + 5693 +Пример запроса: 5694 + 5695 +{ 5696 + "vehicleId": 0, ~/~/ id объекта 5697 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 5698 + "byTime": 0, ~/~/ Объединение событий по времени 5699 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 5700 + "byDist": 0, ~/~/ Объединение событий по расстоянию 5701 + "from": "2025-07-29T12:20:28.815Z", ~/~/ Начало периода (локальное время клиента) 5702 + "to": "2025-07-29T12:20:28.815Z", ~/~/ Конец периода (локальное время клиента) 5703 + "timezone": 0 ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK 5704 +} 5705 + 5706 +Пример ответа: 5707 + 5708 +[ 5709 + { 5710 + "fieldId": 0, ~/~/ id объекта 5711 + "vehicleName": "string", ~/~/ Наименование объекта 5712 + "fieldName": "string", ~/~/ Наименование поля 5713 + "fuelUsage": 0, ~/~/ Расход топлива, л/га 5714 + "area": 0, ~/~/ Пройдено, га (информация из встроенного агрегата в модели объекта при наличии агрегата) 5715 + "vehicleId": 0, ~/~/ Идентификатор ТС 5716 + "start": "2025-07-29T12:20:28.855Z", ~/~/ Начало посещения 5717 + "end": "2025-07-29T12:20:28.855Z", ~/~/ Конец посещения 5718 + "durationSeconds": 0, ~/~/ Продолжительность посещения внутри поля 5719 + "mileage": 0 ~/~/ Пробег 5720 + } 5721 +] 5722 +))) 5723 + 5724 + 5725 +== **Посещение поля объектами ** == 5726 + 5727 +(% class="box successmessage" %) 5728 +((( 5729 +**POST /api/v3/agroLands/visitingByField** 5730 +))) 5731 + 5732 +Пример запроса: 5733 +{ 5734 + "fieldId": 0, ~/~/ ID поля 5735 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 5736 + "byTime": 0, ~/~/ Объединение событий по времени 5737 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 5738 + "byDist": 0, ~/~/ Объединение событий по расстоянию 5739 + "from": "2025-07-29T11:44:28.218Z", ~/~/ Начало периода (локальное время клиента) 5740 + "to": "2025-07-29T11:44:28.218Z", ~/~/ Конец периода (локальное время клиента) 5741 + "timezone": 0 ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK 5742 +} 5743 + 5744 +Пример ответа: 5745 + 5746 +[ 5747 + { 5748 + "fieldId": 0, ~/~/ ID поля 5749 + "vehicleName": "string", ~/~/ Наименование объекта 5750 + "fieldName": "string", ~/~/ Имя поля 5751 + "fuelUsage": 0, ~/~/ Расход топлива, л/га 5752 + "area": 0, ~/~/ Пройдено, га (информация из встроенного агрегата в модели объекта при наличии агрегата) 5753 + "vehicleId": 0, ~/~/ Идентификатор ТС 5754 + "start": "2025-07-29T11:44:28.219Z", ~/~/ Начало посещения 5755 + "end": "2025-07-29T11:44:28.219Z", ~/~/ Конец посещения 5756 + "durationSeconds": 0, ~/~/ Продолжительность посещения внутри поля 5757 + "mileage": 0 ~/~/ Пробег 5758 + } 5759 +] 5760 + 5761 + 5762 +== **Удаление существующего поля** == 5763 + 5764 +(% class="box errormessage" %) 5765 +((( 5766 +**DELETE /api/v3/agroLands/{id}** 5767 +))) 5768 + 5769 +Пример запроса: 5770 +id ~/~/ Идентификатор поля 5771 + 5772 +Пример ответа: 5773 + 5774 +((( 5775 +200 ~/~/ Успех 5776 + 5777 + 5778 +))) 5779 + 5780 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) = 5781 +))) 5782 +))) 5783 +))) 5784 + 5785 +== (% style="color:#000000; font-size:16px" %)**Запрос на получение списка всех объектов в корзине**(%%) == 5786 + 5787 + 5788 +(% class="box infomessage" %) 5789 +((( 5790 +**GET api/v3/Vehicles/recyclebin/all** 5791 +))) 5792 + 5793 +Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту 5794 + 5795 +Параметр запроса: {parentId} - идентификатор агента 5796 + 5797 +В заголовках запроса: X-Auth: Токен авторизации 5798 + 5799 +Ответ: 5800 + 5801 +[ 5802 + { 5803 + "recordTime": "", ~/~/Время записи 5804 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 5805 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 5806 + "objectId": 0, ~/~/ID объекта, помещённого в корзину 5807 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 5808 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 5809 + "details": { ~/~/Список деталей объекта, помещённого в корзину 5810 + "items": [ ~/~/ 5811 +nullable: true ~/~/Детали 5812 + { 5813 + "name": "string", ~/~/наименование столбца 5814 + "value": "string" ~/~/содержание столбца 5815 + } 5816 + ] 5817 + }, 5818 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 5819 + "string" 5820 + ] 5821 + } 5822 +] 5823 + 5824 + 5825 +== (% style="color:#000000; font-size:16px" %)**Запрос на удаление объектов из корзины**(%%) == 5826 + 5827 +(% class="box infomessage" %) 5828 +((( 5829 +**POST api/v3/Vehicles/recyclebin/erase** 5830 +))) 5831 + 5832 +В заголовках запроса: X-Auth: Токен авторизации 5833 + 5834 +Пример запроса: 5835 + 5836 +[ 5837 +0 5838 +] 5839 + 5840 + 5841 +Пример ответа: 5842 + 5843 +[ 5844 +{ 5845 + "recordTime": "", ~/~/Время записи 5846 + "userId": "", ~/~/Guid пользователя, добавившего объект в корзину 5847 + "parentId": "", ~/~/Guid агента объекта, помещённого в корзину 5848 + "objectId": 0, ~/~/ID объекта, помещённого в корзин 5849 + "objectGuid": "", ~/~/Guid объекта, помещённого в корзину 5850 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 5851 + "details": { ~/~/Список деталей объекта, помещённого в корзину 5852 + "items": [ ~/~/Детали 5853 + { 5854 + "name": "", ~/~/Имя свойства 5855 + "value": "" ~/~/Значение свойства 5856 + } 5857 + ] 5858 + }, 5859 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 5860 + "" 5861 + ] 5862 + } 5863 +] 5864 + 5865 +Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200». 5866 + 5867 +== (% style="color:#000000; font-size:16px" %)**Запрос на восстановление объектов из корзины**(%%) == 5868 + 5869 +(% class="box infomessage" %) 5870 +((( 5871 +**POST api/v3/Vehicles/recyclebin/restore** 5872 +))) 5873 + 5874 +В заголовках запроса: X-Auth: Токен авторизации 5875 + 5876 +Параметры в теле запроса (JSON): 5877 + 5878 +Восстанавливает объекты из корзины. Возвращает те объекты которые не получилось восстановить. 5879 + 5880 +В заголовках запроса: X-Auth: Токен авторизации 5881 + 5882 + 5883 +Пример запроса: 5884 + 5885 +((( 5886 +[ 5887 +))) 5888 + 5889 +((( 5890 + 0 5891 +))) 5892 + 5893 +((( 5894 +] 5895 +))) 5896 + 5897 + 5898 +Пример ответа: 5899 + 5900 +[ 5901 +{ 5902 + "recordTime": "2024-07-19T07:58:19.305Z", ~/~/Время записи 5903 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid пользователя, добавившего объект в корзину 5904 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid агента объекта, помещённого в корзину 5905 + "objectId": 0, ~/~/ID объекта, помещённого в корзину 5906 + "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/Guid объекта, помещённого в корзину 5907 + "objectType": 1, ~/~/Тип объекта, помещённого в корзину 5908 + "details": { ~/~/Список деталей объекта, помещённого в корзину 5909 + "items": [ ~/~/Детали 5910 + { 5911 + "name": "string", ~/~/Имя свойства 5912 + "value": "string" ~/~/Значение свойства 5913 + } 5914 + ] 5915 + }, 5916 + "errors": [ ~/~/Список ошибок удаления/восстановления объекта 5917 + "string" 5918 + ] 5919 + } 5920 +] 5921 + 5922 + 5923 += **Раздел: Журнал заданий ** = 5924 + 5925 + 5926 +== **Создание задания в Журнале заданий** == 5927 + 5928 +(% class="box infomessage" %) 5929 +((( 5930 +**POST /api/v3/vehicletasks** 5931 +))) 5932 + 5933 +Пример запроса: 5934 + 5935 +((( 5936 +{ 5937 + "vehicleId": 0, ~/~/ Идентификатор ТС 5938 + "description": "string", ~/~/ Описание 5939 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата 5940 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 5941 + "startDate": "2025-02-25T12:11:04.874Z", ~/~/ Начало работы 5942 + "endDate": "2025-02-25T12:11:04.874Z", ~/~/ Окончание работы 5943 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ 5944 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция 5945 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата 5946 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м 5947 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м 5948 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч 5949 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч 5950 + "cost": { 5951 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор 5952 + "Name": "string", ~/~/ Наименование 5953 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection ) 5954 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 5955 + "Norm": 0 ~/~/ Норма внесения 5956 + }, 5957 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id 5958 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 5959 + "created": "2025-02-25T12:11:04.874Z", ~/~/ Дата создания 5960 + "updated": "2025-02-25T12:11:04.874Z", ~/~/ Дата обновления 5961 + "deleted": true, ~/~/ Признак удаления 5962 + "extId": "string", 5963 + "GeoIds": [ ~/~/ Cвязанные поля 5964 + 0 5965 + ] 5966 +} 5967 +))) 5968 + 5969 + 5970 +Пример ответа: 5971 + 5972 +{ 5973 + "vehicleId": 0, ~/~/ Идентификатор ТС 5974 + "description": "string", ~/~/ Описание 5975 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата 5976 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 5977 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы 5978 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы 5979 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ 5980 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция 5981 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата 5982 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м 5983 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м 5984 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч 5985 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч 5986 + "cost": { 5987 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор 5988 + "Name": "string", ~/~/ Наименование 5989 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection) 5990 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 5991 + "Norm": 0 ~/~/ Норма внесения 5992 + }, 5993 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 5994 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 5995 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания 5996 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления 5997 + "deleted": true, ~/~/ Признак удаления 5998 + "extId": "string", ~/~/ ExtId 5999 + "GeoIds": [ ~/~/ Связанные поля 6000 + 0 6001 + ] 6002 +} 6003 + 6004 + 6005 +== **Редактирование задания в Журнале заданий** == 6006 + 6007 +(% class="box successmessage" %) 6008 +((( 6009 +**PUT /api/v3/vehicletasks** 6010 +))) 6011 + 6012 +Пример запроса: 6013 + 6014 +((( 6015 +{ 6016 + "vehicleId": 0, ~/~/ Идентификатор ТС 6017 + "description": "string", ~/~/ Описание 6018 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата 6019 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 6020 + "startDate": "2025-02-25T12:25:51.090Z", ~/~/ Начало работы 6021 + "endDate": "2025-02-25T12:25:51.090Z", ~/~/ Окончание работы 6022 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ 6023 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция 6024 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата 6025 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м 6026 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м 6027 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч 6028 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч 6029 + "cost": { 6030 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор 6031 + "Name": "string", ~/~/ Наименование 6032 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection) 6033 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 6034 + "Norm": 0 ~/~/ Норма внесения 6035 + }, 6036 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6037 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 6038 + "created": "2025-02-25T12:25:51.090Z", ~/~/ Дата создания 6039 + "updated": "2025-02-25T12:25:51.090Z", ~/~/ Дата обновления 6040 + "deleted": true, ~/~/ Признак удаления 6041 + "extId": "string", ~/~/ ExtId 6042 + "GeoIds": [ ~/~/ Связанные поля 6043 + 0 6044 + ] 6045 +} 6046 +))) 6047 + 6048 + 6049 +Пример ответа: 6050 + 6051 +{ 6052 + "vehicleId": 0, ~/~/ Идентификатор ТС 6053 + "description": "string", ~/~/ Описание 6054 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата 6055 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 6056 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы 6057 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы 6058 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ 6059 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция 6060 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата 6061 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м 6062 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м 6063 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч 6064 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч 6065 + "cost": { 6066 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор 6067 + "Name": "string", ~/~/ Наименование 6068 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection) 6069 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 6070 + "Norm": 0 ~/~/ Норма внесения 6071 + }, 6072 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6073 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 6074 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания 6075 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления 6076 + "deleted": true, ~/~/ Признак удаления 6077 + "extId": "string", ~/~/ ExtId 6078 + "GeoIds": [ ~/~/ Связанные поля 6079 + 0 6080 + ] 6081 +} 6082 + 6083 + 6084 +== **Удаление задания в Журнале заданий** == 6085 + 6086 +(% class="box warningmessage" %) 6087 +((( 6088 +**DELETE /api/v3/vehicletasks** 6089 +))) 6090 + 6091 +Пример запроса: 6092 + 6093 +((( 6094 +[ 6095 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор 6096 +] 6097 +))) 6098 + 6099 +((( 6100 + 6101 +))) 6102 + 6103 +Пример ответа: 6104 + 6105 +{ 6106 + "vehicleId": 0, ~/~/ Идентификатор ТС 6107 + "description": "string", ~/~/ Описание 6108 + "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агрегата 6109 + "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор водителя 6110 + "startDate": "2025-02-25T12:11:04.964Z", ~/~/ Начало работы 6111 + "endDate": "2025-02-25T12:11:04.964Z", ~/~/ Окончание работы 6112 + "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Вид работ 6113 + "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Тех. операция 6114 + "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Модель агрегата 6115 + "minWidth": 0, ~/~/ Минимальная ширина агрегата, м 6116 + "maxWidth": 0, ~/~/ Максимальная ширина агрегата, м 6117 + "minSpeed": 0, ~/~/ Минимальная скорость, км/ч 6118 + "maxSpeed": 0, ~/~/ Максимальная скорость, км/ч 6119 + "cost": { 6120 + "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор 6121 + "Name": "string", ~/~/ Наименование 6122 + "Type": 0, ~/~/ Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection) 6123 + "MeasureType": 0, ~/~/ Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 6124 + "Norm": 0 ~/~/ Норма внесения 6125 + }, 6126 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6127 + "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Guid родителя 6128 + "created": "2025-02-25T12:11:04.964Z", ~/~/ Дата создания 6129 + "updated": "2025-02-25T12:11:04.964Z", ~/~/ Дата обновления 6130 + "deleted": true, ~/~/ Признак удаления 6131 + "extId": "string", ~/~/ ExtId 6132 + "GeoIds": [ ~/~/ Связанные поля 6133 + 0 6134 + ] 6135 +} 6136 + 6137 + 6138 +== **Получение списка Журнала заданий** == 6139 + 6140 +(% class="box infomessage" %) 6141 +((( 6142 +**POST /api/v3/vehicletasks/getbyperiod** 6143 +))) 6144 + 6145 +Пример запроса: 6146 + 6147 +((( 6148 +{ 6149 + "Start": "2025-02-25T12:35:31.107Z", ~/~/ Начало периода. 6150 + "End": "2025-02-25T12:35:31.107Z", ~/~/ Окончание периода. 6151 + "TimeZone": 0, ~/~/ Часовой пояс. 6152 + "OperationsIds": [ ~/~/ Идентификаторы видов работ для фильтрации журнала 6153 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 6154 + ], 6155 + "GeoIds": [ ~/~/ Идентификаторы полей для фильтрации журнала 6156 + 0 6157 + ], 6158 + "VehiclesIds": [ ~/~/ Идентификаторы ТС для фильтрации журнала 6159 + 0 6160 + ], 6161 + "Offset": 0, ~/~/ Смещение от начала результата. Количество записей журнала для пропуска. 6162 + "Limit": 0 ~/~/ Размер страницы (количество записей на странице) 6163 +} 6164 +))) 6165 + 6166 + 6167 +Пример ответа: 6168 + 6169 +((( 6170 +{ 6171 + "total": 0, ~/~/ Общее количество записей 6172 + "pages": 0, ~/~/ Общее количество страниц 6173 + "currentPage": 0, ~/~/ Текущая страница 6174 + "items": [ ~/~/ Записи 6175 + { 6176 + "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания 6177 + "isGroup": true, ~/~/ Вид задания (true - групповое, иначе - одиночное). 6178 + "name": "string", ~/~/ Название задания. 6179 + "startDate": "2025-02-25T12:35:31.110Z", ~/~/ Начало, utc 6180 + "endDate": "2025-02-25T12:35:31.110Z", ~/~/ Окончание, utc 6181 + "workKind": "string", ~/~/ Вид работ 6182 + "techOp": "string", ~/~/ Тех. операция 6183 + "trailerModel": "string", ~/~/ Модель агрегата 6184 + "width": "string", ~/~/ Ширина, м 6185 + "speed": "string", ~/~/ Тех. скорость 6186 + "fields": "string", ~/~/ Поля 6187 + "fieldsInfo": "string", ~/~/ Количество полей (суммарная площадь га) 6188 + "vehicles": "string", ~/~/ Объект-модель 6189 + "vehiclesCount": 0, ~/~/ Объектов (суммарное количество объектов) 6190 + "drivers": "string", ~/~/ Водители 6191 + "tmc": "string", ~/~/ ТМЦ 6192 + "client": "string", ~/~/ Клиент 6193 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор задания 6194 + "dep": "string", ~/~/ Подразделение 6195 + "geoIds": [ ~/~/ Связанные поля 6196 + 0 6197 + ] 6198 + } 6199 + ] 6200 +} 6201 +))) 6202 + 6203 + 6204 += **Раздел: Роли** = 6205 + 6206 +== **Получение списка клиентских и системных ролей пользователя ** == 6207 + 6208 +(% class="box successmessage" %) 6209 +((( 6210 +**POST /api/v3/groups/find** 6211 +))) 6212 + 6213 +Пример запроса: 6214 + 6215 +((( 6216 +{ 6217 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента содержащий пользовательские роли 6218 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор родительского элемента пользователей 6219 +} 6220 +))) 6221 + 6222 +((( 6223 + 6224 +))) 6225 + 6226 +((( 6227 +Пример ответа: 6228 +))) 6229 + 6230 +((( 6231 +((( 6232 +{ 6233 + "groups": [ ~/~/ Системные роли пользователя 6234 + { 6235 + "code": "string", ~/~/ Код роли. 6236 + "name": "string", ~/~/ Имя 6237 + "shortName": "string" ~/~/ Короткое имя 6238 + } 6239 + ], 6240 + "customGroups": [ ~/~/ Системные роли пользователя 6241 + { 6242 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор роли. 6243 + "name": "string", ~/~/ Наименование 6244 + "shortName": "string", ~/~/ Короткое наименование 6245 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор владельца 6246 + } 6247 + ] 6248 +} 6249 +))) 6250 +))) 6251 + 6252 +((( 6253 + 6254 +))) 6255 + 6256 +((( 6257 + 6258 +))) 6259 + 6260 += **Раздел: Локатор ** = 6261 + 6262 + 6263 +== **Получение данных по локатору** == 6264 + 6265 +(% class="box infomessage" %) 6266 +((( 6267 +**GET /api/v3/locators/{locatorId}** 6268 +))) 6269 + 6270 +В запросе указывается locatorid - идентификатор локатора 6271 + 6272 + 6273 +Пример ответа: 6274 + 6275 +((( 6276 +((( 6277 +{ 6278 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6279 + 0 6280 + ], 6281 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6282 + 0 6283 + ], 6284 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6285 + 0 6286 + ], 6287 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 6288 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 6289 + "agentName": "string", ~/~/ Наименование агента. 6290 + "isEnabled": true, ~/~/ Активность 6291 + "created": "2025-05-26T11:31:05.399Z", ~/~/ Дата создания 6292 + "updated": "2025-05-26T11:31:05.399Z", ~/~/ Дата обновления 6293 + "name": "string", ~/~/ Наименование. 6294 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 6295 + "activationMode": 0, ~/~/ Определяет вид активации локаторов ( 0 - сейчас, 1 - запланировать на время) 6296 + "activationTime": "2025-05-26T11:31:05.399Z", ~/~/ Время активации 6297 + "validity": 0, ~/~/ Значение срока действия 6298 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 6299 + "autoProlongation": true, ~/~/ Автопродление срока действия. 6300 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 6301 + "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор. 6302 + "url": "string", ~/~/ Ссылка 6303 + "language": 0, ~/~/ ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6304 + 6305 + "showVehicleName": true, ~/~/ Наименование объекта 6306 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6307 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6308 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6309 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6310 + "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ГИС) 6311 + 6312 + 1 6313 + 6314 + ] 6315 +} 6316 +))) 6317 +))) 6318 + 6319 + 6320 +((( 6321 +((( 6322 + 6323 +))) 6324 +))) 6325 + 6326 + 6327 +== **Создание локатора** == 6328 + 6329 +(% class="box successmessage" %) 6330 +((( 6331 +**POST /api/v3/locators** 6332 +))) 6333 + 6334 +Пример запроса: 6335 + 6336 +((( 6337 +{ 6338 + "isEnabled": true, ~/~/ Активность 6339 + "name": "string", ~/~/ Наименование локатора 6340 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени) 6341 + "activationTime": "2025-03-12T07:00:08.272Z", ~/~/ Время активации 6342 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6343 + "autoProlongation": true, ~/~/ Автопродление срока действия. 6344 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6345 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 6346 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6347 + 0 6348 + ], 6349 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6350 + 0 6351 + ], 6352 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6353 + 0 6354 + ], 6355 + 6356 + "showVehicleName": true, ~/~/ Наименование объекта 6357 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6358 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6359 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6360 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6361 + "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ГИС) 6362 + 6363 + 1 6364 + 6365 + ] 6366 +} 6367 +))) 6368 + 6369 + 6370 +Пример ответа: 6371 + 6372 +((( 6373 +3fa85f64-5717-4562-b3fc-2c963f66afa6 ~/~/ Идентификатор локатора 6374 +))) 6375 + 6376 + 6377 +== **Выводит список локаторов ** == 6378 + 6379 +(% class="box successmessage" %) 6380 +((( 6381 +**POST /api/v3/locators/find** 6382 +))) 6383 + 6384 +Пример запроса: 6385 + 6386 +((( 6387 +{ 6388 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор клиента 6389 +} 6390 +))) 6391 + 6392 +((( 6393 + 6394 +))) 6395 + 6396 +((( 6397 + 6398 +))) 6399 + 6400 + 6401 +Пример ответа: 6402 + 6403 +((( 6404 +[ 6405 + { 6406 + "vehiclesCount": 0, ~/~/ Количество объектов. 6407 + "geozonesCount": 0, ~/~/ Количество геозон. 6408 + "fieldsCount": 0, ~/~/ Количество полей. 6409 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 6410 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента. 6411 + "agentName": "string", ~/~/ Наименование агента. 6412 + "isEnabled": true, ~/~/ Активность локатора 6413 + "created": "2025-07-03T12:57:58.738Z", ~/~/ Дата создания 6414 + "updated": "2025-07-03T12:57:58.738Z", ~/~/ Дата обновления 6415 + "name": "string", ~/~/ Наименование локатора 6416 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 6417 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 6418 + "activationTime": "2025-07-03T12:57:58.738Z", ~/~/ Дата и время активации правила (UTC) 6419 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6420 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 6421 + "autoProlongation": true, ~/~/ Автоматическая пролонгация 6422 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 6423 + "creatorUserName": "string", ~/~/ Наименование пользователя создавшего локатора 6424 + "url": "string", ~/~/ ссылка на локатор 6425 + "language": 1, ~/~/ Язык локатора(1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6426 + "showVehicleName": true, ~/~/ Наименование объекта 6427 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6428 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6429 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6430 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6431 + "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ГИС) 6432 + 6433 + 0 6434 + ] 6435 + } 6436 +] 6437 +))) 6438 + 6439 + 6440 +== **Изменение локатора** == 6441 + 6442 +(% class="box infomessage" %) 6443 +((( 6444 +**PUT /api/v3/locators** 6445 +))) 6446 + 6447 +Пример запроса: 6448 + 6449 +((( 6450 +{ 6451 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора 6452 + "isEnabled": true, ~/~/ Активность 6453 + "name": "string", ~/~/ Наименование 6454 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 6455 + "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации 6456 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6457 + "autoProlongation": true, ~/~/ Автопродление срока действия 6458 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6459 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6460 + 0 6461 + ], 6462 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6463 + 0 6464 + ], 6465 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6466 + 0 6467 + ], 6468 + "showVehicleName": true, ~/~/ Наименование объекта 6469 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6470 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6471 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6472 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6473 + "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ГИС) 6474 + 6475 + 0 6476 + 6477 + ] 6478 +} 6479 + 6480 + 6481 +))) 6482 + 6483 +Пример ответа: 6484 + 6485 +200 ~/~/ Success 6486 + 6487 + 6488 +== **Удалить локатор** == 6489 + 6490 +(% class="box warningmessage" %) 6491 +((( 6492 +**DELETE /api/v3/locators** 6493 +))) 6494 + 6495 +Пример запроса: 6496 + 6497 +((( 6498 +[ 6499 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор локатора 6500 +] 6501 +))) 6502 + 6503 + 6504 += **Раздел: Яндекс Маршруты** = 6505 + 6506 + 6507 +== **Возвращение списка маршрутов** == 6508 + 6509 +(% class="box infomessage" %) 6510 +((( 6511 +**GET /api/v3/TransportRoutes** 6512 +))) 6513 + 6514 +Пример запроса: 6515 +Id ~/~/ Идентификатор поля 6516 + 6517 +Пример ответа: 6518 + 6519 +((( 6520 +[ 6521 + { 6522 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ id 6523 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6524 + "name": "string", ~/~/ Наименование маршрута. 6525 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water) 6526 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6527 + 0 6528 + ] 6529 + } 6530 +] 6531 +))) 6532 + 6533 + 6534 +== **Добавить маршрут** == 6535 + 6536 +(% class="box infomessage" %) 6537 +((( 6538 +**POST /api/v3/TransportRoutes** 6539 +))) 6540 + 6541 +Пример запроса: 6542 +{ 6543 + "name": "string", ~/~/ Опредлеляет наименование маршрута. 6544 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6545 + "kind": 0, ~/~/ Определяет вид маршрута. (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6546 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6547 + 0 6548 + ] 6549 +} 6550 + 6551 + 6552 +Пример ответа: 6553 + 6554 +((( 6555 +{ 6556 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6557 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6558 + "name": "string", ~/~/ Определяет наименование маршрута 6559 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6560 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6561 + 0 6562 + ] 6563 +} 6564 +))) 6565 + 6566 + 6567 +== **Обновление маршрута** == 6568 + 6569 +(% class="box successmessage" %) 6570 +((( 6571 +**PUT /api/v3/TransportRoutes** 6572 +))) 6573 + 6574 +Пример запроса: 6575 + 6576 +((( 6577 +{ 6578 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6579 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6580 + "name": "string", ~/~/ Опредлеляет наименование маршрута. 6581 + "kind": 0, ~/~/ Определяет вид маршрута (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water) 6582 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6583 + 0 6584 + ] 6585 +} 6586 +))) 6587 + 6588 +Пример ответа: 6589 + 6590 +((( 6591 +{ 6592 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6593 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6594 + "name": "string", ~/~/ Определяет наименование маршрута 6595 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6596 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6597 + 0 6598 + ] 6599 +} 6600 +))) 6601 + 6602 + 6603 +== **Получить связки маршрутов ТС** == 6604 + 6605 +(% class="box infomessage" %) 6606 +((( 6607 +**POST /api/v3/TransportRoutes/getroutesvehicles** 6608 +))) 6609 + 6610 +Пример запроса: 6611 + 6612 +((( 6613 +[ 6614 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ идентификатор маршрута 6615 +] 6616 +))) 6617 + 6618 +Пример ответа: 6619 + 6620 +((( 6621 +[ 6622 + { 6623 + "vehicleId": 0, ~/~/ Опредлеляет идентификатор ТС 6624 + "routeGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Определяет идентификатор маршрута 6625 + } 6626 +] 6627 +))) 6628 + 6629 + 6630 +== **Удалить маршрут** == 6631 + 6632 +(% class="box warningmessage" %) 6633 +((( 6634 +**DELETE /api/v3/TransportRoutes/{id}** 6635 +))) 6636 + 6637 +Пример запроса: 6638 +Id ~/~/ Идентификатор поля 6639 + 6640 + 6641 += **Раздел: Управление доступа к машинам** = 6642 + 6643 + 6644 +== Получение списка транспортных средств видимых пользователю == 6645 + 6646 +(% class="box infomessage" %) 6647 +((( 6648 +**GET /api/v3/UserVisibleVehicles/{userId}** 6649 +))) 6650 + 6651 +Пример ответа: 6652 + 6653 +((( 6654 +{ 6655 + "vehicleIds": [ ~/~/ Идентификаторы ТС 6656 + 0 6657 + ] 6658 +} 6659 +))) 6660 + 6661 + 6662 +== Задает видимость транспортных средств пользователю == 6663 + 6664 +(% class="box infomessage" %) 6665 +((( 6666 +**POST /api/v3/UserVisibleVehicles** 6667 +))) 6668 + 6669 +Пример запроса: 6670 + 6671 +((( 6672 +((( 6673 +{ 6674 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя 6675 + "vehicleIds": [ ~/~/ Идентификаторы ТС 6676 + 0 6677 + ] 6678 +} 6679 +))) 6680 + 6681 +((( 6682 + 6683 +))) 6684 + 6685 +((( 6686 +Пример ответа : 6687 +))) 6688 + 6689 +((( 6690 + 6691 +))) 6692 + 6693 +((( 6694 +200 ~/~/ Success 6695 +))) 6696 +))) 6697 + 6698 + 4056 4056 (% class="box" lang="en-US" style="text-align: center;" %) 4057 4057 ((( 4058 4058 (% 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]] **