Изменения документа Методы API для работы с ГЛОНАССSoft
Редактировал(а) Михаил Жучков 2025/10/30 11:26
<
>
отредактировано Андрей Калиновский
на 2025/03/19 13:51
на 2025/03/19 13:51
отредактировано Андрей Калиновский
на 2025/10/23 09:54
на 2025/10/23 09:54
Изменить комментарий:
К данной версии нет комментариев
Комментарий
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -13,12 +13,10 @@ 13 13 14 14 (% class="box infomessage" %) 15 15 ((( 16 -**Чтобы избежать блокировки** из-за превышения количества авторизаций, вам необходимо использовать токен авторизации, полученный с помощью метода /auth/login, во всех последующих запросах к API. Этот токен имеет ограниченный срок действия, который можно изменить, настроив параметр "Длительность сессии" в пользовательских настройках. 16 +**Чтобы избежать блокировки** из-за превышения количества авторизаций, вам необходимо использовать токен авторизации, полученный с помощью метода /auth/login, во всех последующих запросах к API. Этот токен имеет ограниченный срок действия, который можно изменить, настроив параметр "Длительность сессии" в настройках пользователя. 17 +\\При выполнении запросов с одним и тем же токеном его срок действия автоматически продлевается. Это позволяет пройти авторизацию только один раз и использовать полученный токен во всех последующих запросах без необходимости повторного входа в систему. 17 17 ))) 18 18 19 -При выполнении запросов с одним и тем же токеном его срок действия автоматически продлевается. Это позволяет пройти авторизацию только один раз и использовать полученный токен во всех последующих запросах без необходимости повторного входа в систему. 20 - 21 - 22 22 **Содержание страницы:** 23 23 ))) 24 24 ... ... @@ -125,29 +125,41 @@ 125 125 Запрос должен содержать данные параметра "**agentId**" 126 126 127 127 (% style="color:#000000" %)Ответ: 126 + 127 +((( 128 128 { 129 - "agentId": "", (%%) 130 - "parentId": "", 131 - "parentName": "string", 132 - "name": "string", 133 - "fullName": "string", 134 - "agentInfoType": 0, 135 - "isForeign": true/false, 136 - "district": "string", 137 - "region": "string", 138 - "city": "string", 139 - "inn": "string", 140 - "kpp": "string", 141 - "address": "string", 142 - "addressFact": "string", 143 - "email": "string", 144 - "director": "string", 145 - "bankName": "string", 146 - "bankBIK": "string", 147 - "bankRS": "string", 148 - "bankKS": "string" 149 - } 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 +))) 150 150 160 + 151 151 |=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 152 152 |(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 153 153 |(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя ... ... @@ -192,7 +192,7 @@ 192 192 (% style="color:#000000" %)Параметр запроса: 193 193 194 194 (% style="color:#000000" %){ 195 - "parentId": "string" 205 + "parentId": "(%%)string(% style="color:#000000" %)" ~/~/ для получение собственного parentId отправьте пустой запрос (пример "parentId": "" ) 196 196 } 197 197 198 198 (% style="color:#000000" %)Ответ: ... ... @@ -277,28 +277,6 @@ 277 277 "bankKS": "string" ~/~/ корр. счёт 278 278 } 279 279 280 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 281 -|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 282 -|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 283 -|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя 284 -|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 285 -|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 286 -|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 287 -|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент 288 -|(% style="width:215px" %)district|(% style="width:861px" %)Округ 289 -|(% style="width:215px" %)region|(% style="width:861px" %)Регион 290 -|(% style="width:215px" %)city|(% style="width:861px" %)Город 291 -|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента 292 -|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента 293 -|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес 294 -|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес 295 -|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта 296 -|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя 297 -|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк 298 -|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК 299 -|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета 300 -|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет 301 - 302 302 == (% style="color:#000000; font-size:16px" %)**Редактирование клиента**(%%) == 303 303 304 304 (% class="box warningmessage" %) ... ... @@ -444,7 +444,7 @@ 444 444 [ 445 445 "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ группы пользователя, перечисление названия клиентских ролей 446 446 ], 447 - "language": 0~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский435 + "language": 1 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 448 448 } 449 449 { 450 450 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -756,6 +756,11 @@ 756 756 (% style="text-align:left" %) 757 757 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».** 758 758 747 +(% class="wikigeneratedid" id="H" %) 748 +((( 749 + 750 +))) 751 + 759 759 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Модель объекта**(%%) = 760 760 761 761 == (% style="color:#000000; font-size:16px" %)**Получение информации о модели объекта**(%%) == ... ... @@ -867,7 +867,7 @@ 867 867 { 868 868 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 869 869 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 870 - "deleted": true,863 + "deleted": false, 871 871 "extId": "string", 872 872 "name": "string", 873 873 "picture": "string", ... ... @@ -886,7 +886,7 @@ 886 886 { 887 887 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 888 888 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 889 - "deleted": true,882 + "deleted": false, 890 890 "extId": "string", 891 891 "name": "string", 892 892 "picture": "string", ... ... @@ -920,7 +920,7 @@ 920 920 (% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models** 921 921 ))) 922 922 923 -(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе.916 +(% style="color:#000000" %)Метод позволяет изменить статус модели, указанного в запросе. 924 924 925 925 (% style="color:#000000" %)Метод запроса: **PUT** 926 926 ... ... @@ -987,7 +987,7 @@ 987 987 (% lang="en-US" %)**DELETE /api/v3/models/{Id}** 988 988 ))) 989 989 990 -(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалитьпользователя, указанного в строке запроса.983 +(% style="color:#000000" %)Метод позволяет удалить модели. Метод позволяет удалить модель, указанного в строке запроса. 991 991 992 992 (% style="color:#000000" %)Метод запроса: **DELETE** 993 993 ... ... @@ -1064,6 +1064,12 @@ 1064 1064 "forTooltip": true, ~/~/ Отображать в подсказке 1065 1065 "forReport": true ~/~/ Отображать в отчете 1066 1066 } 1060 + ], 1061 + "vehicleGroups": [ ~/~/ Группы ТС 1062 + { 1063 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ System.Guid идентификатор элемента сущности 1064 + "name": "string" ~/~/ Наименование группы ТС 1065 + } 1067 1067 1068 1068 ], ~/~/ Данные с вкладки нормы 1069 1069 "consumptionPer100Km": "" , ~/~/ Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено) ... ... @@ -1114,7 +1114,7 @@ 1114 1114 "type": 0, ~/~/ Тип датчика 1115 1115 "name": "string", ~/~/ Имя датчика 1116 1116 "inputType": 0, ~/~/ Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE 1117 - " inputNumber":0, ~/~/Номер входа1116 + "parameterName": "string", ~/~/ Имя параметра (взамен связки Input type + port number) 1118 1118 "pseudonym": "string", ~/~/ Псевдоним 1119 1119 "medianDegree": 0, ~/~/ Медианная фильтрация 1120 1120 "isInverted": true, ~/~/ Инвертировать, true - Вкл., false - Выкл. ... ... @@ -1147,27 +1147,31 @@ 1147 1147 "additionalProp3": "string" 1148 1148 }, 1149 1149 1150 -~/~/ Характерные для произвольного: 1151 -~/~/ "EventsEnabled": "off", ~/~/ Фиксировать события работы: on, off 1152 -~/~/ "EventsTemplateName": "Работа Произвольный", ~/~/ Наименование события работы 1153 -~/~/ "EventsCountEnabled": "off", ~/~/ Фиксировать количество срабатываний: on, off 1154 -~/~/ "EventsCountTemplateName": "Количество срабатываний Произвольный", ~/~/Наименование ~/~/события количества срабатываний 1155 -~/~/ "MapDisplayEnabled": "off", ~/~/ Отображать на карте: on, off 1156 -~/~/ "ChartDisplayEnabled": "off", ~/~/ Отображать на графике объекта: on, off 1157 -~/~/ "PayloadChartDisplayEnabled": "off", ~/~/ Отображать на графике полезной нагрузки: on, off 1158 -~/~/ "DrawType": ~/~/ тип отрисовки line, bar (Линия, Область) 1159 -~/~/ Характерные для таблицы тарировки Вкл./Выкл.: 1160 -~/~/ "ValueOn": "Вкл.", 1161 -~/~/ "ValueOff": "Выкл." 1162 - "summaryMaxValue": 0 ~/~/ Макс. значение 1163 - } 1149 + "summaryMaxValue": 0, ~/~/ Определяет максимальное значение датчика в режиме накопления. 1150 + "valueIntervals": [ ~/~/ Интервалы значений для подсветки в мониторинге 1151 + { 1152 + "from": 0, ~/~/ С какого значения 1153 + "color": "string", ~/~/ Каким цветом 1154 + "text": "string" ~/~/ Текст подписи к этому интервалу 1155 + } 1156 + ], 1157 + "disableEmissionsValidation": true, ~/~/ Нужно ли валидировать выбросы значений. Применяется для датчиков с типом "Накопительный" 1158 + "unitOfMeasure": 0 ~/~/ Единица измерения значений датчика. (0 - по умолчанию, 1 - секунды, 2 - часы) 1159 + } 1160 + ], 1164 1164 "drivers": [ ~/~/ Водители 1165 1165 { 1166 1166 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 1167 1167 "name": "string", ~/~/ Наименование 1168 - "description": "string", 1169 - "isDefault": true ~/~/ По умолчанию 1165 + "description": "string", ~/~/ Описание 1166 + "assignments": [ ~/~/ Информация по назначениям 1167 + { 1168 + "beginTime": "2025-10-21T12:28:41.021Z", ~/~/Момент времени начала назначения. 1169 + "endTime": "2025-10-21T12:28:41.021Z", ~/~/ Момент времени окончания назначения. 1170 + "createTime": "2025-10-21T12:28:41.021Z" ~/~/ Момент времени создания назначения. 1170 1170 } 1172 + ] 1173 + } 1171 1171 ], 1172 1172 "inspectionTasks": [ ~/~/ Задания на тех. обслуживание 1173 1173 { ... ... @@ -1618,77 +1618,6 @@ 1618 1618 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 1619 1619 1620 1620 1621 -== **Импортировать историю ТС (Асинхронный запрос)** == 1622 - 1623 -(% class="box successmessage" %) 1624 -((( 1625 -**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 1626 -))) 1627 - 1628 -Метод запроса: **POST** 1629 - 1630 -URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 1631 - 1632 -Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 1633 - 1634 - 1635 -Ответ: 1636 - 1637 -{ 1638 - 1639 - "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1640 - 1641 - "Status": 0, ~/~/ Перечисление состояний выполнения запроса 1642 - 1643 -~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 1644 - 1645 - "Message": "string", ~/~/ Информация о выполнении запроса 1646 - 1647 - "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 1648 - 1649 - "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1650 - 1651 - "Data": "string" ~/~/ Данные 1652 - 1653 -} 1654 - 1655 - 1656 -== **Возвращает статус асинхронного запроса импорта истории ТС** == 1657 - 1658 -(% class="box infomessage" %) 1659 -((( 1660 -**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 1661 -))) 1662 - 1663 -Метод запроса: **GET** 1664 - 1665 -URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 1666 - 1667 -Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 1668 - 1669 - 1670 -Ответ: 1671 - 1672 -{ 1673 - 1674 - "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1675 - 1676 - "Status": 0, ~/~/ Перечисление состояний выполения запроса 1677 -~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 1678 - 1679 - "Message": "string", ~/~/ Информация о выполнении запроса 1680 - 1681 - "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 1682 - 1683 -~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 1684 - 1685 - "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1686 - 1687 - "Data": "string" ~/~/ Данные 1688 - 1689 -} 1690 - 1691 - 1692 1692 == (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) == 1693 1693 1694 1694 (% class="box infomessage" %) ... ... @@ -1834,7 +1834,6 @@ 1834 1834 "stage": "", ~/~/ Состояние 1835 1835 (% style="color:#000000" %) } 1836 1836 1837 -== == 1838 1838 1839 1839 == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) == 1840 1840 ... ... @@ -2451,7 +2451,7 @@ 2451 2451 Тело запроса: 2452 2452 2453 2453 { 2454 - "sampling": 0, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2385 + "sampling": 86400, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2455 2455 "vehicleIds": [0], ~/~/ Список ID объектов 2456 2456 "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода 2457 2457 "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода ... ... @@ -2498,7 +2498,6 @@ 2498 2498 Тело запроса: 2499 2499 2500 2500 { 2501 - "sampling": 0, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2502 2502 "vehicleIds": [0], ~/~/ Список ID объектов 2503 2503 "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода 2504 2504 "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода ... ... @@ -2517,8 +2517,12 @@ 2517 2517 "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 2518 2518 "fuelLevelStart": 0, ~/~/ Уровень топлива на начало периода 2519 2519 "fuelLevelEnd": 0, ~/~/ Уровень топлива на конец периода 2450 + "fuelTankLevelStart": 0, ~/~/ Уровень топлива в цистерне на начало периода 2451 + "fuelTankLevelEnd": 0, ~/~/ Уровень топлива в цистерне на конец периода 2520 2520 "fuelConsumption": 0, ~/~/ Расход топлива 2521 2521 "fuelConsumptionMove": 0 ~/~/ Расход топлива в движении 2454 + "fuelConsumptionFactTank": 0 ~/~/ Фактический расход топлива в цистерне 2455 + 2522 2522 } 2523 2523 ] 2524 2524 } ... ... @@ -2527,7 +2527,6 @@ 2527 2527 (% class="box warningmessage" %) 2528 2528 ((( 2529 2529 Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"". 2530 -\\При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling". 2531 2531 ))) 2532 2532 2533 2533 == (% style="color:#000000; font-size:16px" %)**Получение данных о заправках и сливах транспортного средства**(%%) == ... ... @@ -2564,12 +2564,21 @@ 2564 2564 "model": "string", ~/~/ Модель объекта 2565 2565 "fuels": [ ~/~/ Массив данным по заправкам и сливам 2566 2566 { 2567 - "event": 0, ~/~/ Тип события 20 - TankFuelIn - заправка, 21 - TankFuelOut - слив 2500 + "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 2501 + 2502 +((( 2568 2568 "startDate": "2023-08-09T14:27:44.773Z", ~/~/ Начало 2569 2569 "endDate": "2023-08-09T14:27:44.773Z", ~/~/ Окончание 2570 2570 "valueFuel": 0, ~/~/ Количество 2571 2571 "fuelStart": 0, ~/~/ Уровень топлива на начало события 2572 2572 "fuelEnd": 0 ~/~/ Уровень топливо на конец события 2508 +))) 2509 + 2510 +((( 2511 + "latitude": 0, ~/~/ Широта. 2512 + "longitude": 0 ~/~/ Долгота. 2513 +))) 2514 + 2573 2573 } 2574 2574 ] 2575 2575 } ... ... @@ -2643,194 +2643,241 @@ 2643 2643 В заголовках запроса: X-Auth: Токен авторизации 2644 2644 2645 2645 2646 -В теле запроса перечисляетемассив id объектов, вквадратных скобкахчерез запятую.2588 +В массиве указываем id объектов через запятую 2647 2647 2648 2648 Ответ: 2591 + 2592 +[ 2649 2649 { 2650 - "vehicleId": 0, ~/~/Идентификатор объекта.2651 - "vehicleGuid": " 3fa85f64-5717-4562-b3fc-2c963f66afa6",~/~/Идентификаторобъекта.2652 - "vehicleNumber": " string",~/~/Номер объекта.2653 - "receiveTime": "202 4-02-27T14:11:00.315Z",~/~/Времяполучениязаписи на сервере,т.е. время срабатывания+ время передачи от устройствана сервер2654 - "recordTime": "202 4-02-27T14:11:00.315Z",~/~/Времязаписиотустройства, т.е. время фактическогособытия натранспортном средстве.2655 - "state": 0,~/~/Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4.2656 - "speed": 0,~/~/Скорость объекта.2657 - "course": 0,~/~/Курс движения [0;360]2658 - "latitude": 0,~/~/Широта [-90°;90°].2659 - "longitude": 0,~/~/Долгота [-180°;180°]. 2660 - "address": " string",~/~/Адрес.2661 - "geozones": [ ~/~/Сведения по геозонам. 2594 + "vehicleId": 55728, ~/~/ Идентификатор объекта 2595 + "vehicleGuid": "fa9c0357-9b9f-44b9-a89c-20a2cb80a9ad", ~/~/ Guid объекта 2596 + "vehicleNumber": "0105 КМ", ~/~/ Номер объекта 2597 + "receiveTime": "2025-06-27T12:37:46.7782735Z", ~/~/ Время и дата поступления данных 2598 + "recordTime": "2025-06-27T12:37:19Z", ~/~/ Время и дата формирование данных 2599 + "state": 4, ~/~/ Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4. 2600 + "speed": 31, ~/~/ Скорость объекта 2601 + "course": 116, ~/~/ Курс движения [0;360] 2602 + "latitude": 45.722128, ~/~/ Широта [-90°;90°]. 2603 + "longitude": 39.800432, ~/~/ Долгота [-180°;180°]. 2604 + "address": "\" Краснодарский край Россия 45,722128°, 39,800432°\"", ~/~/ Адрес 2605 + "geozones": [ ~/~/ Сведения по геозонам. 2662 2662 { 2663 - "id": 0, 2664 - "name": "string" 2607 + "id": 10225647, ~/~/ ID Геозоны 2608 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2609 + }, 2610 + { 2611 + "id": 10282875, ~/~/ ID Геозоны 2612 + "name": "Ё2" ~/~/ Наименование геозоны 2613 + }, 2614 + { 2615 + "id": 10226240, ~/~/ ID Геозоны 2616 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2617 + }, 2618 + { 2619 + "id": 9747869, ~/~/ ID Геозоны 2620 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2621 + }, 2622 + { 2623 + "id": 10221123, ~/~/ ID Геозоны 2624 + "name": "53r" ~/~/ Наименование геозоны 2625 + }, 2626 + { 2627 + "id": 10197638, ~/~/ ID Геозоны 2628 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2665 2665 } 2630 + ] 2631 + } 2666 2666 2667 2667 2668 -= (%style="color:#000000;font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%)=2634 += = 2669 2669 2670 -= =(% style="color:#000000; font-size:16px" %)**Получение списка всех геообъектов**(%%) ==2636 += (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) = 2671 2671 2638 +== (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) == 2639 + 2672 2672 (% class="box infomessage" %) 2673 2673 ((( 2674 - (% style="color:#000000; line-height:100%" %)****(% lang="en-US" %)**POST**(%%)**/api/v3/gis/find**2642 +**POST /api/v3/notifications/find** 2675 2675 ))) 2676 2676 2677 - (% style="color:#000000" %)Методпозволяетполучитьсписокгеообъектовклиента.Возвращает массивгеообъектовсо всей информациейоних.2645 +Метод возвращает информацию об уведомлениях переданного клиента и его клиентов ниже по иерархии. 2678 2678 2679 -(% style="color:#000000" %)Метод запроса: **POST** 2647 +(% style="text-align: left;" %) 2648 +Метод запроса **POST** 2680 2680 2681 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/find 2650 +(% style="text-align: left;" %) 2651 +(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/notifications/find 2682 2682 2653 +(% style="text-align: left;" %) 2683 2683 (% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2684 2684 2685 -(% style="text-align:left" %) 2686 -Тело запроса: 2687 - 2688 -(% style="text-align:left" %) 2689 2689 { 2690 - "parentId": " 3fa85f64-5717-4562-b3fc-2c963f66afa6"2657 + "parentId": "" ~/~/ id клиента 2691 2691 } 2692 2692 2693 -(% style="text-align:left" %) 2694 2694 Ответ: 2695 2695 2696 2696 [ 2697 2697 { 2698 - "id": 0, ~/~/ Идентификатор объекта геозоны 2699 - "name": "string", ~/~/ Название объекта геозоны 2700 - "type": 0, ~/~/ Тип объекта геозоны 2701 - "fname": "string", ~/~/ Имя файла 2702 - "parentId": "string", ~/~/ Идентификатор клиента 2703 - "radius": 0, ~/~/ Радиус геообъекта 2704 - "beginCalc": "2023-08-01T07:54:54.893Z", ~/~/ Дата начала расчета 2705 - "endCalc": "2023-08-01T07:54:54.893Z", ~/~/ Дата окончания расчета 2706 - "description": "string", ~/~/ Описание 2707 - "area": 0, ~/~/ Площадь, м^^2^^ 2708 - "perimetr": 0, ~/~/ Периметр, м 2709 - "createDate": "2023-08-01T07:54:54.893Z", ~/~/ Дата создания 2664 + "id": 0, ~/~/ ID уведомления 2665 + "name": "string", ~/~/ Название уведомления 2666 + "active": true, ~/~/ Состояние true - активен, false - деактивирован 2667 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя) 2668 + "userId": "", ~/~/ Пользователь, создавший уведомление 2669 + "parentId": "", ~/~/ Идентификатор клиента 2670 + "parentName": "string" ~/~/ Имя клиента 2710 2710 } 2711 2711 ] 2712 2712 2713 -== (% style="color:#000000; font-size:16px" %)**Запрос пересечений по объектам**(%%) == 2714 2714 2675 +== (% style="color:#000000; font-size:16px" %)**Создание уведомления**(%%) == 2676 + 2715 2715 (% class="box infomessage" %) 2716 2716 ((( 2717 - (% style="color:#000000; line-height:100%" %)****(% lang="en-US" %)**POST**(%%)**/api/v3/gis/intersections/vehicles**2679 +**POST /api/v3/notifications** 2718 2718 ))) 2719 2719 2720 - (% style="color:#000000" %)Методпозволяетполучить список пересечений выбранныхобъектовсо всеми геообъектамиза выбранный период.2682 +Метод запроса **POST** 2721 2721 2722 -(% style="color:#000000" %)Метод запроса: **POST** 2684 +(% style="text-align: left;" %) 2685 +(% style="color:#000000" %)Пример запроса 2723 2723 2724 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/intersections/vehicles 2725 - 2726 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2727 - 2728 -(% style="text-align:left" %) 2729 -Тело запроса: 2730 - 2687 +((( 2731 2731 { 2732 - "startDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата начала запроса 2733 - "endDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата окончания 2734 - "ids": [ ], ~/~/ Массив id объектов 2735 - "byTime": 0, ~/~/ Объединение событий по времени 2736 - "byDist": 0, ~/~/ Объединение событий по расстоянию 2737 - "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 2738 - "filterByHalfPerimeter": true ~/~/ Фильтрация событий по пробегу половины периметра 2689 + "id": 0, ~/~/ ID правила 2690 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя 2691 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило 2692 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 2693 + "name": "string", ~/~/ Имя правила 2694 + "active": true, ~/~/ Активность правила 2695 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто 2696 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа. 2697 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 2698 + ], 2699 + "vehicleIds": [ ~/~/ Список объектов для анализа. 2700 + 0 2701 + ], 2702 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам. 2703 + 0 2704 + ], 2705 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам. 2706 + 0 2707 + ], 2708 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений. 2709 + "additionalProp1": "string", 2710 + "additionalProp2": "string", 2711 + "additionalProp3": "string" 2712 + }, 2713 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 2714 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 2715 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2716 + ], 2717 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 2718 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений 2719 + "string" 2720 + ], 2721 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram 2722 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram. 2723 + { 2724 + "id": 0, ~/~/ Идентификатор участника чата. 2725 + "info": "string" ~/~/ Дополнительные сведения. 2726 + } 2727 + ], 2728 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение 2729 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы 2730 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 2731 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 2732 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени) 2733 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC) 2734 + "timezone": 0, ~/~/ часовой пояс 2735 + "validity": 0, ~/~/ Срок действия в днях (1-90). 2736 + "autoProlongation": true, ~/~/ Автопродление срока действия. 2737 + "templates": [ ~/~/ Переопределения шаблонов уведомлений. 2738 + { 2739 + "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 - Срок действия правила истек 2740 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа. 2741 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка. 2742 + "additionalProp1": "string", 2743 + "additionalProp2": "string", 2744 + "additionalProp3": "string" 2745 + } 2746 + } 2747 + ] 2739 2739 } 2749 +))) 2740 2740 2741 -Ответ: 2742 -[ 2743 - { 2744 - "geozoneId": 0, ~/~/ ID геообъекта 2745 - "geozoneName": "string", ~/~/ Название геообъекта 2746 - "startDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата въезда 2747 - "endDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата выезда 2748 - "duration": 0, ~/~/ Продолжительность нахождения в геообъекте 2749 - "vehicleId": 0, ~/~/ ID объекта 2750 - "vehicleName": "string" ~/~/ Имя объекта 2751 - } 2752 -] 2753 - 2754 -== (% style="color:#000000; font-size:16px" %)**Запрос пересечений по геообъектам**(%%) == 2755 - 2756 -(% class="box infomessage" %) 2757 2757 ((( 2758 - (%style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/gis/intersections/geozones**2752 + 2759 2759 ))) 2760 2760 2761 -(% style="color:#000000" %)Метод позволяет получить список пересечений выбранных геообъектов со всеми объектами за выбранный период. 2762 - 2763 -(% style="color:#000000" %)Метод запроса: **POST** 2764 - 2765 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/intersections/geozones 2766 - 2767 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2768 - 2769 -(% style="text-align:left" %) 2770 -Тело запроса: 2771 - 2772 -{ 2773 - "startDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата начала запроса 2774 - "endDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата окончания 2775 - "ids": [ ], ~/~/ Массив id геообъектов 2776 - "byTime": 0, ~/~/ Объединение событий по времени 2777 - "byDist": 0, ~/~/ Объединение событий по расстоянию 2778 - "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 2779 - "filterByHalfPerimeter": true ~/~/ Фильтрация событий по пробегу половины периметра 2780 -} 2781 - 2782 -Ответ: 2783 - 2784 -[ 2785 - { 2786 - "geozoneId": 0, ~/~/ ID геообъекта 2787 - "geozoneName": "string", ~/~/ Название геообъекта 2788 - "startDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата въезда 2789 - "endDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата выезда 2790 - "duration": 0, ~/~/ Продолжительность нахождения в геообъекте 2791 - "vehicleId": 0, ~/~/ ID объекта 2792 - "vehicleName": "string" ~/~/ Имя объекта 2793 - } 2794 -] 2795 - 2796 -= (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) = 2797 - 2798 -== (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) == 2799 - 2800 -(% class="box infomessage" %) 2801 2801 ((( 2802 - **POST/api/v3/notifications/find**2756 + 2803 2803 ))) 2804 2804 2805 - Методвозвращаетинформацию об уведомлениях переданного клиента и его клиентов ниже по иерархии.2759 +Ответ: 2806 2806 2807 -(% style="text-align: left;" %) 2808 -Метод запроса **POST** 2809 - 2810 -(% style="text-align: left;" %) 2811 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/notifications/find 2812 - 2813 -(% style="text-align: left;" %) 2814 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2815 - 2816 2816 { 2817 - "parentId": "" ~/~/ id клиента 2762 + "id": 0, ~/~/ ID правила 2763 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя 2764 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило 2765 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 2766 + "name": "string", ~/~/ Имя правила 2767 + "active": true, ~/~/ Активность правила 2768 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто 2769 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа. 2770 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 2771 + ], 2772 + "vehicleIds": [ ~/~/ Список объектов для анализа. 2773 + 0 2774 + ], 2775 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам. 2776 + 0 2777 + ], 2778 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам. 2779 + 0 2780 + ], 2781 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений. 2782 + "additionalProp1": "string", 2783 + "additionalProp2": "string", 2784 + "additionalProp3": "string" 2785 + }, 2786 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 2787 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 2788 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2789 + ], 2790 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 2791 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений 2792 + "string" 2793 + ], 2794 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram 2795 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram. 2796 + { 2797 + "id": 0, ~/~/ Идентификатор участника чата. 2798 + "info": "string" ~/~/ Дополнительные сведения. 2799 + } 2800 + ], 2801 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение 2802 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы 2803 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 2804 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 2805 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени) 2806 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC) 2807 + "timezone": 0, ~/~/ часовой пояс 2808 + "validity": 0, ~/~/ Срок действия в днях (1-90). 2809 + "autoProlongation": true, ~/~/ Автопродление срока действия. 2810 + "templates": [ ~/~/ Переопределения шаблонов уведомлений. 2811 + { 2812 + "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 - Срок действия правила истек 2813 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа. 2814 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка. 2815 + "additionalProp1": "string", 2816 + "additionalProp2": "string", 2817 + "additionalProp3": "string" 2818 + } 2819 + } 2820 + ] 2818 2818 } 2819 2819 2820 -Ответ: 2821 - 2822 -[ 2823 - { 2824 - "id": 0, ~/~/ ID уведомления 2825 - "name": "string", ~/~/ Название уведомления 2826 - "active": true, ~/~/ Состояние true - активен, false - деактивирован 2827 - "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО 2828 - "userId": "", ~/~/ Пользователь, создавший уведомление 2829 - "parentId": "", ~/~/ Идентификатор клиента 2830 - "parentName": "string" ~/~/ Имя клиента 2831 - } 2832 -] 2833 - 2834 2834 == (% style="color:#000000; font-size:16px" %)**Запрос настроек уведомления**(%%) == 2835 2835 2836 2836 (% class="box infomessage" %) ... ... @@ -4048,16 +4048,12 @@ 4048 4048 Тело запроса: 4049 4049 4050 4050 { 4051 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4052 - "Balance": 0 4040 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4041 + "Balance": 0 ~/~/ Значение баланса. 4053 4053 } 4054 4054 4055 4055 Ответ: Success 4056 4056 4057 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4058 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4059 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4060 - 4061 4061 == (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) == 4062 4062 4063 4063 (% class="box warningmessage" %) ... ... @@ -4069,16 +4069,29 @@ 4069 4069 4070 4070 Тело запроса: 4071 4071 4057 +((( 4072 4072 { 4073 - " ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",4074 - " Balance": 04059 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4060 + "amount": 0 ~/~/ Сумма пополнения баланса 4075 4075 } 4062 +))) 4076 4076 4064 +((( 4065 + 4066 +))) 4067 + 4077 4077 Ответ: Success 4078 4078 4079 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4080 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4081 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4070 +((( 4071 +{ 4072 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки. 4073 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4074 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя. 4075 + "Moment": "2025-06-10T12:15:19.076Z", ~/~/ Время корректировки. 4076 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс. 4077 + "Description": "string" ~/~/ Описание корректировки. 4078 +} 4079 +))) 4082 4082 4083 4083 == (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) == 4084 4084 ... ... @@ -4091,16 +4091,25 @@ 4091 4091 4092 4092 Тело запроса: 4093 4093 4092 +((( 4094 4094 { 4095 - " ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",4096 - " Balance": 04094 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4095 + "amount": 0 ~/~/ Сумма списания с баланса 4097 4097 } 4097 +))) 4098 4098 4099 4099 Ответ: Success 4100 4100 4101 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4102 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4103 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4101 +((( 4102 +{ 4103 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки. 4104 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4105 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя. 4106 + "Moment": "2025-06-10T12:21:05.149Z", ~/~/ Время корректировки. 4107 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс. 4108 + "Description": "string" ~/~/ Описание корректировки 4109 +} 4110 +))) 4104 4104 4105 4105 == (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) == 4106 4106 ... ... @@ -4111,28 +4111,35 @@ 4111 4111 4112 4112 Тело запроса: 4113 4113 4121 +((( 4114 4114 { 4115 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4116 - "CalculationType": 0, 4117 - "PermissibleBalance": 0, 4118 - "DefermentDays": 0, 4119 - "SendUiNotifications": true, 4120 - "SendEmailNotifications": true, 4121 - "IsPrivate": true, 4123 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4124 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни 4125 + "PermissibleBalance": 0, ~/~/ Допустимый баланс 4126 + "DefermentDays": 0, ~/~/ Отсрочка (дни). 4127 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено 4128 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено 4122 4122 } 4130 +))) 4123 4123 4132 +((( 4133 + 4134 +))) 4135 + 4124 4124 Ответ: Success 4125 4125 4126 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4127 -|ClientId|Идентификатор клиента 4128 -|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 4129 -|PermissibleBalance|Допустимый баланс 4130 -|DefermentDays|((( 4131 -Отсрочка, количество дней 4138 +((( 4139 +{ 4140 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 4141 + "BlockingTime": "2025-06-10T12:23:28.754Z", ~/~/ Время, когда заблокируется клиент. 4142 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4143 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни 4144 + "PermissibleBalance": 0, ~/~/ Допустимый баланс. 4145 + "DefermentDays": 0, ~/~/ Отсрочка (дни) 4146 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено 4147 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено 4148 +} 4132 4132 ))) 4133 -|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 4134 -|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 4135 -|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 4136 4136 4137 4137 == (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) == 4138 4138 ... ... @@ -4144,35 +4144,68 @@ 4144 4144 Тело запроса: 4145 4145 4146 4146 { 4147 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4148 - "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4149 - "Features": [ 4161 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4162 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана. 4163 + "Features": [ ~/~/ Набор услуг по тарифу клиента. 4150 4150 { 4151 - "Feature": "string", 4152 - "IsEnabled": true, 4153 - "IsFactual": true, 4154 - "Limit": 0, 4155 - "Price": 0, 4156 - "DebitDate": "2023-10-18T13:26:58.987Z", 4157 - "PeriodValue": 0, 4158 - "PeriodType": 0 4165 + "Feature": "string", ~/~/ Код услуги. 4166 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга. 4167 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту. 4168 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование 4169 + "Price": 0, ~/~/ Цена за единицу. 4170 + "DebitDate": "2023-10-18T13:26:58.987Z", ~/~/ Следующий момент времени списания с баланса за услугу. 4171 + "PeriodValue": 0, ~/~/ Значение периода. 4172 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане ( 0 - Дни, 1 - Месяцы) 4159 4159 } 4160 4160 ] 4161 4161 } 4162 4162 4177 + 4163 4163 Ответ: Success 4164 4164 4165 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4166 -|ClientId|Идентификатор клиента 4167 -|PlanId|Идентификатор тарифного плана 4168 -|Feature|Код услуги 4169 -|IsEnabled|Признак, определяющий активирована ли услуга 4170 -|IsFactual|Признак, определяющий расчёт по факту 4171 -|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4172 -|Price|Цена за единицу. 4173 -|DebitDate|Следующий момент времени списания с баланса за услугу. 4174 -|PeriodValue|Значение периода. 4175 -|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 4180 +((( 4181 +{ 4182 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4183 + "Plan": { ~/~/ Определяет тарифный план (шаблон услуг) 4184 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана. 4185 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента-владельца. 4186 + "Name": "string", ~/~/ Наименование. 4187 + "IsArchived": true, ~/~/ Признак, определяющий архивный тарифный план. 4188 + "Constraint": { ~/~/ Ограничения по тарифу 4189 + "CalculationType": 0, ~/~/ Определяет тип расчёта (0 - деньги, 1 - дни) 4190 + "PermissibleBalance": 0, ~/~/ Допустимый баланс. 4191 + "DefermentDays": 0 ~/~/ Отсрочка (дни) 4192 + }, 4193 + "Features": [ ~/~/ Набор услуг по тарифному плану. 4194 + { 4195 + "Feature": "string", ~/~/Код услуги. 4196 + "IsFactual": true, ~/~/ Признак, определяющий возможность расчёта по факту. 4197 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4198 + "Price": 0, ~/~/ Цена за единицу. 4199 + "PeriodValue": 0, ~/~/ Значение периода. 4200 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане. (0 - деньги, 1 - дни) 4201 + } 4202 + ], 4203 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя, создавшего тарифный план. 4204 + "Created": "2025-06-10T12:29:32.969Z", ~/~/ Дата создания тарифного плана. 4205 + "Deactivated": "2025-06-10T12:29:32.969Z" ~/~/ Дата деактивации тарифного плана. 4206 + }, 4207 + "Features": [ ~/~/ Набор услуг по тарифу клиента. 4208 + { 4209 + "Feature": "string", ~/~/ Код услуги. 4210 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга. 4211 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом. 4212 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту. 4213 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4214 + "Price": 0, ~/~/ Цена за единицу. 4215 + "DebitDate": "2025-06-10T12:29:32.969Z", ~/~/ Следующий момент времени списания с баланса за услугу. 4216 + "PeriodValue": 0, ~/~/ Значение периода. 4217 + "PeriodType": 0, ~/~/ Определяет тип периода действия услуги в тарифном плане. 4218 + "Quantity": 0 ~/~/ Количество использования услуги. 4219 + } 4220 + ] 4221 +} 4222 +))) 4176 4176 4177 4177 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) = 4178 4178 ... ... @@ -4277,6 +4277,43 @@ 4277 4277 |producedCount|Кол-во успешно отправленных в шину данных сообщений 4278 4278 |msgCount|Кол-во обработанных сообщений всего 4279 4279 4327 +== **Импортировать историю ТС (Асинхронный запрос)** == 4328 + 4329 +(% class="box successmessage" %) 4330 +((( 4331 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 4332 +))) 4333 + 4334 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос. 4335 + 4336 +Метод запроса: **POST** 4337 + 4338 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 4339 + 4340 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 4341 + 4342 + 4343 +Ответ: 4344 + 4345 +{ 4346 + 4347 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 4348 + 4349 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса 4350 + 4351 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 4352 + 4353 + "Message": "string", ~/~/ Информация о выполнении запроса 4354 + 4355 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 4356 + 4357 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 4358 + 4359 + "Data": "string" ~/~/ Данные 4360 + 4361 +} 4362 + 4363 + 4280 4280 == (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) == 4281 4281 4282 4282 (% class="box infomessage" %) ... ... @@ -4294,10 +4294,59 @@ 4294 4294 "message": "string" 4295 4295 } 4296 4296 4297 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4298 -|activity|Активен ли экспорт/импорт истории сейчас, true - да, false - нет 4299 -|progress|Guid ТС 4381 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)((( 4382 +**Параметр** 4383 +)))|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)((( 4384 +**Описание** 4385 +))) 4386 +|((( 4387 +activity 4388 +)))|((( 4389 +Активен ли экспорт/импорт истории сейчас, true - да, false - нет 4390 +))) 4391 +|((( 4392 +progress 4393 +)))|((( 4394 +Guid ТС 4395 +))) 4300 4300 4397 +== **Возвращает статус асинхронного запроса импорта истории ТС** == 4398 + 4399 +(% class="box infomessage" %) 4400 +((( 4401 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 4402 +))) 4403 + 4404 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос. 4405 + 4406 +Метод запроса: **GET** 4407 + 4408 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 4409 + 4410 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 4411 + 4412 + 4413 +Ответ: 4414 + 4415 +{ 4416 + 4417 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 4418 + 4419 + "Status": 0, ~/~/ Перечисление состояний выполения запроса 4420 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 4421 + 4422 + "Message": "string", ~/~/ Информация о выполнении запроса 4423 + 4424 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 4425 + 4426 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 4427 + 4428 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 4429 + 4430 + "Data": "string" ~/~/ Данные 4431 + 4432 +} 4433 + 4301 4301 == (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) == 4302 4302 4303 4303 (% class="box infomessage" %) ... ... @@ -4809,8 +4809,51 @@ 4809 4809 } 4810 4810 ] 4811 4811 } 4945 + 4946 + 4947 +== **Превышение скорости** == 4948 + 4949 +(% class="box infomessage" %) 4950 +((( 4951 +**POST /api/v3/Reports/overSpeedDuration** 4812 4812 ))) 4813 4813 4954 + Публичный API запрос о превышениях скорости по объекту в секундах с выбором способа определения нарушений (дорожное ограничение или фиксированное ограничение). 4955 + 4956 +Пример запроса: 4957 + 4958 +((( 4959 +{ 4960 + "vehicleId": 0, ~/~/ идентификационный номер транспортного средства 4961 + "from": "2025-04-21T10:45:25.258Z", ~/~/ Начало периода (локальное время клиента) 4962 + "to": "2025-04-21T10:45:25.258Z", ~/~/ Конец периода (локальное время клиента) 4963 + "timezone": 0, ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK 4964 + "overSpeedDetectionType": 0 ~/~/ тип нарушения (1-дорожное ограничение, 2-фиксированный ) 4965 +} 4966 +))) 4967 + 4968 +((( 4969 + 4970 +))) 4971 + 4972 +((( 4973 +Пример ответа: 4974 +))) 4975 + 4976 +((( 4977 +((( 4978 +[ 4979 + { 4980 + "eventDate": "2025-04-21T10:45:25.267Z", ~/~/ Дата и время события 4981 + "duration": 0, ~/~/ Продолжительность события в секундах 4982 + "maxSpeed": 0, ~/~/ Максимальная скорость 4983 + "speedLimit": 0 ~/~/ Ограничение скорости 4984 + } 4985 +] 4986 +))) 4987 +))) 4988 +))) 4989 + 4814 4814 = (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) = 4815 4815 4816 4816 ... ... @@ -5116,33 +5116,9 @@ 5116 5116 ))) 5117 5117 5118 5118 5119 -== **Удаление существующего поля** == 5120 - 5121 -(% class="box errormessage" %) 5122 5122 ((( 5123 -**DELETE /api/v3/agroLands/{id}** 5124 -))) 5125 - 5126 -Пример запроса: 5127 -id ~/~/ Идентификатор поля 5128 - 5129 -Пример ответа: 5130 - 5131 5131 ((( 5132 -200 ~/~/ Успех 5133 -))) 5134 - 5135 5135 ((( 5136 - 5137 -))) 5138 - 5139 -((( 5140 -((( 5141 -((( 5142 - 5143 -))) 5144 - 5145 -((( 5146 5146 == **Изменение поля** == 5147 5147 5148 5148 (% class="box infomessage" %) ... ... @@ -5388,9 +5388,102 @@ 5388 5388 "perimetr": 0, ~/~/ ериметр, м 5389 5389 "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд 5390 5390 } 5543 + 5544 + 5545 +== **Какие поля посещал объект** == 5546 + 5547 +(% class="box successmessage" %) 5548 +((( 5549 +**POST /api/v3/agroLands/visitingByVehicle** 5391 5391 ))) 5392 5392 5552 +Пример запроса: 5393 5393 5554 +{ 5555 + "vehicleId": 0, ~/~/ id объекта 5556 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 5557 + "byTime": 0, ~/~/ Объединение событий по времени 5558 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 5559 + "byDist": 0, ~/~/ Объединение событий по расстоянию 5560 + "from": "2025-07-29T12:20:28.815Z", ~/~/ Начало периода (локальное время клиента) 5561 + "to": "2025-07-29T12:20:28.815Z", ~/~/ Конец периода (локальное время клиента) 5562 + "timezone": 0 ~/~/ Таймзона клиента, в часах. Если не передана - то считается как +3, MSK 5563 +} 5564 + 5565 +Пример ответа: 5566 + 5567 +[ 5568 + { 5569 + "fieldId": 0, ~/~/ id объекта 5570 + "vehicleName": "string", ~/~/ Наименование объекта 5571 + "fieldName": "string", ~/~/ Наименование поля 5572 + "fuelUsage": 0, ~/~/ Расход топлива, л/га 5573 + "area": 0, ~/~/ Пройдено, га (информация из встроенного агрегата в модели объекта при наличии агрегата) 5574 + "vehicleId": 0, ~/~/ Идентификатор ТС 5575 + "start": "2025-07-29T12:20:28.855Z", ~/~/ Начало посещения 5576 + "end": "2025-07-29T12:20:28.855Z", ~/~/ Конец посещения 5577 + "durationSeconds": 0, ~/~/ Продолжительность посещения внутри поля 5578 + "mileage": 0 ~/~/ Пробег 5579 + } 5580 +] 5581 +))) 5582 + 5583 + 5584 +== **Посещение поля объектами ** == 5585 + 5586 +(% class="box successmessage" %) 5587 +((( 5588 +**POST /api/v3/agroLands/visitingByField** 5589 +))) 5590 + 5591 +Пример запроса: 5592 +{ 5593 + "fieldId": 0, ~/~/ ID поля 5594 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 5595 + "byTime": 0, ~/~/ Объединение событий по времени 5596 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 5597 + "byDist": 0, ~/~/ Объединение событий по расстоянию 5598 + "from": "2025-07-29T11:44:28.218Z", ~/~/ Начало периода (локальное время клиента) 5599 + "to": "2025-07-29T11:44:28.218Z", ~/~/ Конец периода (локальное время клиента) 5600 + "timezone": 0 ~/~/ Таймзона клиента, в часах. Если не передана - то считается как +3, MSK 5601 +} 5602 + 5603 +Пример ответа: 5604 + 5605 +[ 5606 + { 5607 + "fieldId": 0, ~/~/ ID поля 5608 + "vehicleName": "string", ~/~/ Наименование объекта 5609 + "fieldName": "string", ~/~/ Имя поля 5610 + "fuelUsage": 0, ~/~/ Расход топлива, л/га 5611 + "area": 0, ~/~/ Пройдено, га (информация из встроенного агрегата в модели объекта при наличии агрегата) 5612 + "vehicleId": 0, ~/~/ Идентификатор ТС 5613 + "start": "2025-07-29T11:44:28.219Z", ~/~/ Начало посещения 5614 + "end": "2025-07-29T11:44:28.219Z", ~/~/ Конец посещения 5615 + "durationSeconds": 0, ~/~/ Продолжительность посещения внутри поля 5616 + "mileage": 0 ~/~/ Пробег 5617 + } 5618 +] 5619 + 5620 + 5621 +== **Удаление существующего поля** == 5622 + 5623 +(% class="box errormessage" %) 5624 +((( 5625 +**DELETE /api/v3/agroLands/{id}** 5626 +))) 5627 + 5628 +Пример запроса: 5629 +id ~/~/ Идентификатор поля 5630 + 5631 +Пример ответа: 5632 + 5633 +((( 5634 +200 ~/~/ Успех 5635 + 5636 + 5637 +))) 5638 + 5394 5394 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) = 5395 5395 ))) 5396 5396 ))) ... ... @@ -5815,49 +5815,129 @@ 5815 5815 ))) 5816 5816 5817 5817 6063 += **Раздел: Роли** = 6064 + 6065 +== **Получение списка клиентских и системных ролей пользователя ** == 6066 + 6067 +(% class="box successmessage" %) 6068 +((( 6069 +**POST /api/v3/groups/find** 6070 +))) 6071 + 6072 +Пример запроса: 6073 + 6074 +((( 6075 +{ 6076 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента содержащий пользовательские роли 6077 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор родительского элемента пользователей 6078 +} 6079 +))) 6080 + 6081 +((( 6082 + 6083 +))) 6084 + 6085 +((( 6086 +Пример ответа: 6087 +))) 6088 + 6089 +((( 6090 +((( 6091 +{ 6092 + "groups": [ ~/~/ Системные роли пользователя 6093 + { 6094 + "code": "string", ~/~/ Код роли. 6095 + "name": "string", ~/~/ Имя 6096 + "shortName": "string" ~/~/ Короткое имя 6097 + } 6098 + ], 6099 + "customGroups": [ ~/~/ Системные роли пользователя 6100 + { 6101 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор роли. 6102 + "name": "string", ~/~/ Наименование 6103 + "shortName": "string", ~/~/ Короткое наименование 6104 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор владельца 6105 + } 6106 + ] 6107 +} 6108 +))) 6109 +))) 6110 + 6111 +((( 6112 + 6113 +))) 6114 + 6115 +((( 6116 + 6117 +))) 6118 + 5818 5818 = **Раздел: Локатор ** = 5819 5819 5820 5820 5821 -== **Получение списка локаторов,доступных пользователю** ==6122 +== **Получение данных по локатору** == 5822 5822 5823 5823 (% class="box infomessage" %) 5824 5824 ((( 5825 -**GET /api/v3/locators** 6126 +**GET /api/v3/locators/{locatorId}** 5826 5826 ))) 5827 5827 5828 -В за головкахзапроса:X-Auth:Токен авторизации6129 +В запросе указывается locatorid - идентификатор локатора 5829 5829 5830 5830 5831 5831 Пример ответа: 5832 5832 5833 5833 ((( 5834 -[ 5835 - { 5836 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 5837 - "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента. 5838 - "agentName": "string", ~/~/ Наименование агента. 5839 - "isEnabled": true, ~/~/ Активен 5840 - "created": "2025-03-12T06:48:41.254Z", ~/~/ Дата создания 5841 - "updated": "2025-03-12T06:48:41.254Z", ~/~/ Дата обновления 5842 - "name": "string", ~/~/ Наименование 5843 - "status": 0, ~/~/ 5844 - "activationMode": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 5845 - "activationTime": "2025-03-12T06:48:41.254Z", ~/~/ Определяет вид активации локаторов. ( 0 - сейчас, 1 - время активации) 5846 - "validity": 0, ~/~/ Срок действия в днях (1-90). 5847 - "autoProlongation": true, ~/~/ Автопродление срока действия. 5848 - "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 5849 - "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор. 5850 - "url": "string", ~/~/ Ссылка 5851 - "language": 0, ~/~/ Язык. 5852 - "vehiclesCount": 0, ~/~/ Количество объектов. 5853 - "geozonesCount": 0, ~/~/ Количество геозон. 5854 - "fieldsCount": 0 ~/~/ Количество полей. 5855 - } 5856 -] 6135 +((( 6136 +{ 6137 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6138 + 0 6139 + ], 6140 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6141 + 0 6142 + ], 6143 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6144 + 0 6145 + ], 6146 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 6147 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 6148 + "agentName": "string", ~/~/ Наименование агента. 6149 + "isEnabled": true, ~/~/ Активность 6150 + "created": "2025-05-26T11:31:05.399Z", ~/~/ Дата создания 6151 + "updated": "2025-05-26T11:31:05.399Z", ~/~/ Дата обновления 6152 + "name": "string", ~/~/ Наименование. 6153 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 6154 + "activationMode": 0, ~/~/ Определяет вид активации локаторов ( 0 - сейчас, 1 - запланировать на время) 6155 + "activationTime": "2025-05-26T11:31:05.399Z", ~/~/ Время активации 6156 + "validity": 0, ~/~/ Значение срока действия 6157 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 6158 + "autoProlongation": true, ~/~/ Автопродление срока действия. 6159 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 6160 + "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор. 6161 + "url": "string", ~/~/ Ссылка 6162 + "language": 0, ~/~/ ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6163 + 6164 + "showVehicleName": true, ~/~/ Наименование объекта 6165 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6166 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6167 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6168 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6169 + "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ГИС) 6170 + 6171 + 1 6172 + 6173 + ] 6174 +} 5857 5857 ))) 6176 +))) 5858 5858 5859 5859 6179 +((( 6180 +((( 6181 + 6182 +))) 6183 +))) 5860 5860 6185 + 5861 5861 == **Создание локатора** == 5862 5862 5863 5863 (% class="box successmessage" %) ... ... @@ -5869,7 +5869,6 @@ 5869 5869 5870 5870 ((( 5871 5871 { 5872 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора 5873 5873 "isEnabled": true, ~/~/ Активность 5874 5874 "name": "string", ~/~/ Наименование локатора 5875 5875 "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени) ... ... @@ -5876,8 +5876,28 @@ 5876 5876 "activationTime": "2025-03-12T07:00:08.272Z", ~/~/ Время активации 5877 5877 "validity": 0, ~/~/ Срок действия в днях (1-90) 5878 5878 "autoProlongation": true, ~/~/ Автопродление срока действия. 5879 - "url": "string", ~/~/ Ссылка 5880 - "language": 0 ~/~/ Язык 6203 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6204 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 6205 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6206 + 0 6207 + ], 6208 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6209 + 0 6210 + ], 6211 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6212 + 0 6213 + ], 6214 + 6215 + "showVehicleName": true, ~/~/ Наименование объекта 6216 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6217 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6218 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6219 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6220 + "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ГИС) 6221 + 6222 + 1 6223 + 6224 + ] 5881 5881 } 5882 5882 ))) 5883 5883 ... ... @@ -5889,7 +5889,69 @@ 5889 5889 ))) 5890 5890 5891 5891 6236 +== **Выводит список локаторов ** == 5892 5892 6238 +(% class="box successmessage" %) 6239 +((( 6240 +**POST /api/v3/locators/find** 6241 +))) 6242 + 6243 +Пример запроса: 6244 + 6245 +((( 6246 +{ 6247 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор клиента 6248 +} 6249 +))) 6250 + 6251 +((( 6252 + 6253 +))) 6254 + 6255 +((( 6256 + 6257 +))) 6258 + 6259 + 6260 +Пример ответа: 6261 + 6262 +((( 6263 +[ 6264 + { 6265 + "vehiclesCount": 0, ~/~/ Количество объектов. 6266 + "geozonesCount": 0, ~/~/ Количество геозон. 6267 + "fieldsCount": 0, ~/~/ Количество полей. 6268 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 6269 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента. 6270 + "agentName": "string", ~/~/ Наименование агента. 6271 + "isEnabled": true, ~/~/ Активность локатора 6272 + "created": "2025-07-03T12:57:58.738Z", ~/~/ Дата создания 6273 + "updated": "2025-07-03T12:57:58.738Z", ~/~/ Дата обновления 6274 + "name": "string", ~/~/ Наименование локатора 6275 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 6276 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 6277 + "activationTime": "2025-07-03T12:57:58.738Z", ~/~/ Дата и время активации правила (UTC) 6278 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6279 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 6280 + "autoProlongation": true, ~/~/ Автоматическая пролонгация 6281 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 6282 + "creatorUserName": "string", ~/~/ Наименование пользователя создавшего локатора 6283 + "url": "string", ~/~/ ссылка на локатор 6284 + "language": 1, ~/~/ Язык локатора(1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6285 + "showVehicleName": true, ~/~/ Наименование объекта 6286 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6287 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6288 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6289 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6290 + "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ГИС) 6291 + 6292 + 0 6293 + ] 6294 + } 6295 +] 6296 +))) 6297 + 6298 + 5893 5893 == **Изменение локатора** == 5894 5894 5895 5895 (% class="box infomessage" %) ... ... @@ -5908,12 +5908,31 @@ 5908 5908 "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации 5909 5909 "validity": 0, ~/~/ Срок действия в днях (1-90) 5910 5910 "autoProlongation": true, ~/~/ Автопродление срока действия 5911 - "url": "string", ~/~/ Ссылка 5912 - "language": 0 ~/~/ Язык 6317 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6318 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6319 + 0 6320 + ], 6321 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6322 + 0 6323 + ], 6324 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6325 + 0 6326 + ], 6327 + "showVehicleName": true, ~/~/ Наименование объекта 6328 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6329 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6330 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6331 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6332 + "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ГИС) 6333 + 6334 + 0 6335 + 6336 + ] 5913 5913 } 6338 + 6339 + 5914 5914 ))) 5915 5915 5916 - 5917 5917 Пример ответа: 5918 5918 5919 5919 200 ~/~/ Success ... ... @@ -5935,8 +5935,201 @@ 5935 5935 ))) 5936 5936 5937 5937 6363 += **Раздел: Яндекс Маршруты** = 5938 5938 5939 5939 6366 +== **Возвращение списка маршрутов** == 6367 + 6368 +(% class="box infomessage" %) 6369 +((( 6370 +**GET /api/v3/TransportRoutes** 6371 +))) 6372 + 6373 +Пример запроса: 6374 +Id ~/~/ Идентификатор поля 6375 + 6376 +Пример ответа: 6377 + 6378 +((( 6379 +[ 6380 + { 6381 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ id 6382 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6383 + "name": "string", ~/~/ Наименование маршрута. 6384 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water) 6385 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6386 + 0 6387 + ] 6388 + } 6389 +] 6390 +))) 6391 + 6392 + 6393 +== **Добавить маршрут** == 6394 + 6395 +(% class="box infomessage" %) 6396 +((( 6397 +**POST /api/v3/TransportRoutes** 6398 +))) 6399 + 6400 +Пример запроса: 6401 +{ 6402 + "name": "string", ~/~/ Опредлеляет наименование маршрута. 6403 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6404 + "kind": 0, ~/~/ Определяет вид маршрута. (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6405 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6406 + 0 6407 + ] 6408 +} 6409 + 6410 + 6411 +Пример ответа: 6412 + 6413 +((( 6414 +{ 6415 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6416 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6417 + "name": "string", ~/~/ Определяет наименование маршрута 6418 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6419 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6420 + 0 6421 + ] 6422 +} 6423 +))) 6424 + 6425 + 6426 +== **Обновление маршрута** == 6427 + 6428 +(% class="box successmessage" %) 6429 +((( 6430 +**PUT /api/v3/TransportRoutes** 6431 +))) 6432 + 6433 +Пример запроса: 6434 + 6435 +((( 6436 +{ 6437 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6438 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6439 + "name": "string", ~/~/ Опредлеляет наименование маршрута. 6440 + "kind": 0, ~/~/ Определяет вид маршрута (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water) 6441 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6442 + 0 6443 + ] 6444 +} 6445 +))) 6446 + 6447 +Пример ответа: 6448 + 6449 +((( 6450 +{ 6451 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6452 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6453 + "name": "string", ~/~/ Определяет наименование маршрута 6454 + "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6455 + "vehicles": [ ~/~/ Определяет список ТС для маршрута 6456 + 0 6457 + ] 6458 +} 6459 +))) 6460 + 6461 + 6462 +== **Получить связки маршрутов ТС** == 6463 + 6464 +(% class="box infomessage" %) 6465 +((( 6466 +**POST /api/v3/TransportRoutes/getroutesvehicles** 6467 +))) 6468 + 6469 +Пример запроса: 6470 + 6471 +((( 6472 +[ 6473 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ идентификатор маршрута 6474 +] 6475 +))) 6476 + 6477 +Пример ответа: 6478 + 6479 +((( 6480 +[ 6481 + { 6482 + "vehicleId": 0, ~/~/ Опредлеляет идентификатор ТС 6483 + "routeGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Определяет идентификатор маршрута 6484 + } 6485 +] 6486 +))) 6487 + 6488 + 6489 +== **Удалить маршрут** == 6490 + 6491 +(% class="box warningmessage" %) 6492 +((( 6493 +**DELETE /api/v3/TransportRoutes/{id}** 6494 +))) 6495 + 6496 +Пример запроса: 6497 +Id ~/~/ Идентификатор поля 6498 + 6499 + 6500 += **Раздел: Управление доступа к машинам** = 6501 + 6502 + 6503 +== Получение списка транспортных средств видимых пользователю == 6504 + 6505 +(% class="box infomessage" %) 6506 +((( 6507 +**GET /api/v3/UserVisibleVehicles/{userId}** 6508 +))) 6509 + 6510 +Пример ответа: 6511 + 6512 +((( 6513 +{ 6514 + "vehicleIds": [ ~/~/ Идентификаторы ТС 6515 + 0 6516 + ] 6517 +} 6518 +))) 6519 + 6520 + 6521 +== Задает видимость транспортных средств пользователю == 6522 + 6523 +(% class="box infomessage" %) 6524 +((( 6525 +**POST /api/v3/UserVisibleVehicles** 6526 +))) 6527 + 6528 +Пример запроса: 6529 + 6530 +((( 6531 +((( 6532 +{ 6533 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя 6534 + "vehicleIds": [ ~/~/ Идентификаторы ТС 6535 + 0 6536 + ] 6537 +} 6538 +))) 6539 + 6540 +((( 6541 + 6542 +))) 6543 + 6544 +((( 6545 +Пример ответа : 6546 +))) 6547 + 6548 +((( 6549 + 6550 +))) 6551 + 6552 +((( 6553 +200 ~/~/ Success 6554 +))) 6555 +))) 6556 + 6557 + 5940 5940 (% class="box" lang="en-US" style="text-align: center;" %) 5941 5941 ((( 5942 5942 (% 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]] **