Changes for page Методы API для работы с ГЛОНАССSoft
Last modified by Павел Субботин on 2025/12/11 11:25
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Gadmin1 +XWiki.subbotinpa - Content
-
... ... @@ -287,28 +287,6 @@ 287 287 "bankKS": "string" ~/~/ корр. счёт 288 288 } 289 289 290 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 291 -|(% style="width:215px" %)(% style="color:#000000" %)agentId|(% style="width:861px" %)(% style="color:#000000" %)Идентификатор клиента 292 -|(% style="width:215px" %)parentId|(% style="width:861px" %)Идентификатор клиента-родителя 293 -|(% style="width:215px" %)parentName|(% style="width:861px" %)Наименование (% style="color:#000000" %)клиента-родителя 294 -|(% style="width:215px" %)name|(% style="width:861px" %)(% style="color:#000000" %)Наименование клиента 295 -|(% style="width:215px" %)fullName|(% style="width:861px" %)(% style="color:#000000" %)Полное наименование клиента 296 -|(% style="width:215px" %)agentInfoType|(% style="width:861px" %)(% style="color:#000000" %)Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор) 297 -|(% style="width:215px" %)isForeign|(% style="width:861px" %)Иностранный контрагент 298 -|(% style="width:215px" %)district|(% style="width:861px" %)Округ 299 -|(% style="width:215px" %)region|(% style="width:861px" %)Регион 300 -|(% style="width:215px" %)city|(% style="width:861px" %)Город 301 -|(% style="width:215px" %)inn|(% style="width:861px" %)ИНН клиента 302 -|(% style="width:215px" %)kpp|(% style="width:861px" %)КПП клиента 303 -|(% style="width:215px" %)address|(% style="width:861px" %)Юридический адрес 304 -|(% style="width:215px" %)addressFact|(% style="width:861px" %)Фактический адрес 305 -|(% style="width:215px" %)email|(% style="width:861px" %)Электронная почта 306 -|(% style="width:215px" %)director|(% style="width:861px" %)ФИО руководителя 307 -|(% style="width:215px" %)bankName|(% style="width:861px" %)Банк 308 -|(% style="width:215px" %)bankBIK|(% style="width:861px" %)БИК 309 -|(% style="width:215px" %)bankRS|(% style="width:861px" %)Номер счета 310 -|(% style="width:215px" %)bankKS|(% style="width:861px" %)Корр. счет 311 - 312 312 == (% style="color:#000000; font-size:16px" %)**Редактирование клиента**(%%) == 313 313 314 314 (% class="box warningmessage" %) ... ... @@ -454,7 +454,7 @@ 454 454 [ 455 455 "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ группы пользователя, перечисление названия клиентских ролей 456 456 ], 457 - "language": 0~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский435 + "language": 1 ~/~/ Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский 458 458 } 459 459 { 460 460 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ... ... @@ -766,6 +766,11 @@ 766 766 (% style="text-align:left" %) 767 767 (% style="color:#000000" %)**Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».** 768 768 747 +(% class="wikigeneratedid" id="H" %) 748 +((( 749 + 750 +))) 751 + 769 769 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Модель объекта**(%%) = 770 770 771 771 == (% style="color:#000000; font-size:16px" %)**Получение информации о модели объекта**(%%) == ... ... @@ -877,7 +877,7 @@ 877 877 { 878 878 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 879 879 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 880 - "deleted": true,863 + "deleted": false, 881 881 "extId": "string", 882 882 "name": "string", 883 883 "picture": "string", ... ... @@ -896,7 +896,7 @@ 896 896 { 897 897 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 898 898 "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 899 - "deleted": true,882 + "deleted": false, 900 900 "extId": "string", 901 901 "name": "string", 902 902 "picture": "string", ... ... @@ -930,7 +930,7 @@ 930 930 (% style="color:#000000" %)// //(% lang="en-US" %)**PUT /api/v3/models** 931 931 ))) 932 932 933 -(% style="color:#000000" %)Метод позволяет изменить статус пользователя, указанного в запросе.916 +(% style="color:#000000" %)Метод позволяет изменить статус модели, указанного в запросе. 934 934 935 935 (% style="color:#000000" %)Метод запроса: **PUT** 936 936 ... ... @@ -997,7 +997,7 @@ 997 997 (% lang="en-US" %)**DELETE /api/v3/models/{Id}** 998 998 ))) 999 999 1000 -(% style="color:#000000" %)Метод позволяет удалить пользователя. Метод позволяет удалитьпользователя, указанного в строке запроса.983 +(% style="color:#000000" %)Метод позволяет удалить модели. Метод позволяет удалить модель, указанного в строке запроса. 1001 1001 1002 1002 (% style="color:#000000" %)Метод запроса: **DELETE** 1003 1003 ... ... @@ -1628,77 +1628,6 @@ 1628 1628 - при задании сезонной нормы обязательны соответствующие даты начала/окончания. 1629 1629 1630 1630 1631 -== **Импортировать историю ТС (Асинхронный запрос)** == 1632 - 1633 -(% class="box successmessage" %) 1634 -((( 1635 -**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 1636 -))) 1637 - 1638 -Метод запроса: **POST** 1639 - 1640 -URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 1641 - 1642 -Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 1643 - 1644 - 1645 -Ответ: 1646 - 1647 -{ 1648 - 1649 - "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1650 - 1651 - "Status": 0, ~/~/ Перечисление состояний выполнения запроса 1652 - 1653 -~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 1654 - 1655 - "Message": "string", ~/~/ Информация о выполнении запроса 1656 - 1657 - "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 1658 - 1659 - "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1660 - 1661 - "Data": "string" ~/~/ Данные 1662 - 1663 -} 1664 - 1665 - 1666 -== **Возвращает статус асинхронного запроса импорта истории ТС** == 1667 - 1668 -(% class="box infomessage" %) 1669 -((( 1670 -**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 1671 -))) 1672 - 1673 -Метод запроса: **GET** 1674 - 1675 -URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 1676 - 1677 -Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 1678 - 1679 - 1680 -Ответ: 1681 - 1682 -{ 1683 - 1684 - "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 1685 - 1686 - "Status": 0, ~/~/ Перечисление состояний выполения запроса 1687 -~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 1688 - 1689 - "Message": "string", ~/~/ Информация о выполнении запроса 1690 - 1691 - "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 1692 - 1693 -~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 1694 - 1695 - "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 1696 - 1697 - "Data": "string" ~/~/ Данные 1698 - 1699 -} 1700 - 1701 - 1702 1702 == (% style="color:#000000; font-size:16px" %)**Получение списка объектов с основными параметрами**(%%) == 1703 1703 1704 1704 (% class="box infomessage" %) ... ... @@ -1844,7 +1844,6 @@ 1844 1844 "stage": "", ~/~/ Состояние 1845 1845 (% style="color:#000000" %) } 1846 1846 1847 -== == 1848 1848 1849 1849 == (% style="color:#000000; font-size:16px" %)**Редактирование объекта**(%%) == 1850 1850 ... ... @@ -2461,7 +2461,7 @@ 2461 2461 Тело запроса: 2462 2462 2463 2463 { 2464 - "sampling": 0, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2375 + "sampling": 86400, ~/~/ Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой. 2465 2465 "vehicleIds": [0], ~/~/ Список ID объектов 2466 2466 "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода 2467 2467 "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода ... ... @@ -2508,7 +2508,7 @@ 2508 2508 Тело запроса: 2509 2509 2510 2510 { 2511 - "sampling": 0, ~/~/ Частота дискретизации всекундах, минимум 60 секунд.Весь периодразбивает на подпериоды с указанной частотой.2422 + "sampling": 86400, ~/~/ Частота дискретизации, секунд, минимум - 60 (если передано, то весь период бъётся на подпериоды с указанной частотой) 2512 2512 "vehicleIds": [0], ~/~/ Список ID объектов 2513 2513 "from": "2023-08-09T14:23:14.572Z", ~/~/ Начало периода 2514 2514 "to": "2023-08-09T14:23:14.572Z", ~/~/ Окончание периода ... ... @@ -2527,6 +2527,8 @@ 2527 2527 "end": "2023-08-09T14:23:14.574Z", ~/~/ Окончание 2528 2528 "fuelLevelStart": 0, ~/~/ Уровень топлива на начало периода 2529 2529 "fuelLevelEnd": 0, ~/~/ Уровень топлива на конец периода 2441 + "fuelTankLevelStart": 0, ~/~/ Уровень топлива в цистерне на начало периода 2442 + "fuelTankLevelEnd": 0, ~/~/ Уровень топлива в цистерне на конец периода 2530 2530 "fuelConsumption": 0, ~/~/ Расход топлива 2531 2531 "fuelConsumptionMove": 0 ~/~/ Расход топлива в движении 2532 2532 "fuelConsumptionFactTank": 0 ~/~/ Фактический расход топлива в цистерне ... ... @@ -2656,156 +2656,415 @@ 2656 2656 В заголовках запроса: X-Auth: Токен авторизации 2657 2657 2658 2658 2659 -В теле запроса перечисляетемассив id объектов, вквадратных скобкахчерез запятую.2572 +В массиве указываем id объектов через запятую 2660 2660 2661 2661 Ответ: 2575 + 2576 +[ 2662 2662 { 2663 - "vehicleId": 0, ~/~/Идентификатор объекта.2664 - "vehicleGuid": " 3fa85f64-5717-4562-b3fc-2c963f66afa6",~/~/Идентификаторобъекта.2665 - "vehicleNumber": " string",~/~/Номер объекта.2666 - "receiveTime": "202 4-02-27T14:11:00.315Z",~/~/Времяполучениязаписи на сервере,т.е. время срабатывания+ время передачи от устройствана сервер2667 - "recordTime": "202 4-02-27T14:11:00.315Z",~/~/Времязаписиотустройства, т.е. время фактическогособытия натранспортном средстве.2668 - "state": 0,~/~/Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4.2669 - "speed": 0,~/~/Скорость объекта.2670 - "course": 0,~/~/Курс движения [0;360]2671 - "latitude": 0,~/~/Широта [-90°;90°].2672 - "longitude": 0,~/~/Долгота [-180°;180°]. 2673 - "address": " string",~/~/Адрес.2674 - "geozones": [ ~/~/Сведения по геозонам. 2578 + "vehicleId": 55728, ~/~/ Идентификатор объекта 2579 + "vehicleGuid": "fa9c0357-9b9f-44b9-a89c-20a2cb80a9ad", ~/~/ Guid объекта 2580 + "vehicleNumber": "0105 КМ", ~/~/ Номер объекта 2581 + "receiveTime": "2025-06-27T12:37:46.7782735Z", ~/~/ Время и дата поступления данных 2582 + "recordTime": "2025-06-27T12:37:19Z", ~/~/ Время и дата формирование данных 2583 + "state": 4, ~/~/ Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4. 2584 + "speed": 31, ~/~/ Скорость объекта 2585 + "course": 116, ~/~/ Курс движения [0;360] 2586 + "latitude": 45.722128, ~/~/ Широта [-90°;90°]. 2587 + "longitude": 39.800432, ~/~/ Долгота [-180°;180°]. 2588 + "address": "\" Краснодарский край Россия 45,722128°, 39,800432°\"", ~/~/ Адрес 2589 + "geozones": [ ~/~/ Сведения по геозонам. 2675 2675 { 2676 - "id": 0, 2677 - "name": "string" 2591 + "id": 10225647, ~/~/ ID Геозоны 2592 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2593 + }, 2594 + { 2595 + "id": 10282875, ~/~/ ID Геозоны 2596 + "name": "Ё2" ~/~/ Наименование геозоны 2597 + }, 2598 + { 2599 + "id": 10226240, ~/~/ ID Геозоны 2600 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2601 + }, 2602 + { 2603 + "id": 9747869, ~/~/ ID Геозоны 2604 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2605 + }, 2606 + { 2607 + "id": 10221123, ~/~/ ID Геозоны 2608 + "name": "53r" ~/~/ Наименование геозоны 2609 + }, 2610 + { 2611 + "id": 10197638, ~/~/ ID Геозоны 2612 + "name": "Предприятие \"Газырское\" Участок №7/Поле 7-11/1" ~/~/ Наименование геозоны 2678 2678 } 2614 + ] 2615 + } 2679 2679 2680 2680 2681 2681 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Запрос посещений геообъектов**(%%) = 2682 2682 2683 -== (% style="color: #000000; font-size:16px" %)**Получениеспискавсехгеообъектов**(%%) ==2620 +== (% style="color: rgb(0, 0, 0); font-size: 16px" %)**Получение информации о геозоне по ID геозоны **(%%) == 2684 2684 2685 2685 (% class="box infomessage" %) 2686 2686 ((( 2687 - (% style="color:#000000; line-height:100%" %)****(% lang="en-US" %)**POST**(%%)**/api/v3/gis/find**2624 +**GET /api/v3/gis/{geozoneId}** 2688 2688 ))) 2689 2689 2690 -(% style="color:#000000" %)Метод позволяет получить список геообъектов клиента. Возвращает массив геообъектов со всей информацией о них. 2627 +Пример запроса: 2628 +\\geozoneId ~/~/ id геозоны 2691 2691 2692 -(% style="color:#000000" %)Метод запроса: **POST** 2693 2693 2694 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/find 2631 +(% style="text-align:left" %) 2632 +Ответ: 2695 2695 2696 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2634 +((( 2635 +{ 2636 + "id": 0, ~/~/ Идентификатор объекта геозоны 2637 + "name": "string", ~/~/ Наименование объекта геозоны 2638 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 2639 + "description": "string", ~/~/ Описание объекта геозоны 2640 + "beginCalc": "2025-12-04T07:13:04.658Z", ~/~/ Дата начала расчетов для геозоны 2641 + "endCalc": "2025-12-04T07:13:04.658Z", ~/~/ Дата окончания расчетов для геозоны 2642 + "settingsData": "string", ~/~/ Параметры отображения в формате XML. 2643 + "type": 0, ~/~/ Тип геозоны - линия,полигон 2644 + "radius": 0, ~/~/ Радиус геозоны 2645 + "shape": "string", ~/~/ Координаты геозоны 2646 + "shape_format": "string" ~/~/ Формат xml,json 2647 +} 2648 +))) 2697 2697 2698 -(% style="text-align:left" %) 2699 -Тело запроса: 2650 +((( 2651 + 2652 +))) 2700 2700 2701 -(% style="text-align:left" %) 2654 +== **Удаление геообъекта ** == 2655 + 2656 +((( 2657 + 2658 +))) 2659 + 2660 +(% class="box errormessage" %) 2661 +((( 2662 +**DELETE /api/v3/gis/{geozoneId}** 2663 +))) 2664 + 2665 +((( 2666 +Пример запроса: 2667 +))) 2668 + 2669 +((( 2670 + 2671 +))) 2672 + 2673 +((( 2674 +geozoneId ~/~/ Id геообъекта 2675 +))) 2676 + 2677 +((( 2678 + 2679 +))) 2680 + 2681 +((( 2682 +Пример ответа: 2683 +))) 2684 + 2685 +((( 2686 + 2687 +))) 2688 + 2689 +((( 2690 +200 ~/~/ Success 2691 +))) 2692 + 2693 +((( 2694 + 2695 +))) 2696 + 2697 +== **Возвращение данных по пересечению объектами геозон ** == 2698 + 2699 +((( 2700 + 2701 +))) 2702 + 2703 +(% class="box successmessage" %) 2704 +((( 2705 +**POST /api/v3/gis/intersections/geozones** 2706 +))) 2707 + 2708 +((( 2709 +Пример запроса: 2710 +))) 2711 + 2712 +((( 2713 +((( 2702 2702 { 2703 - "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" 2715 + "startDate": "2025-12-04T07:19:27.628Z", ~/~/ Дата и время начала расчета 2716 + "endDate": "2025-12-04T07:19:27.628Z", ~/~/ Дата и время конца расчета 2717 + "ids": [ ~/~/ Идентификаторы объектов 2718 + 0 2719 + ], 2720 + "byTime": 0, ~/~/ объединение геообъектов по времени (секунды) 2721 + "byDist": 0, ~/~/ объединение геообъектов по расстоянию(метры) 2722 + "filterByTime": 0, ~/~/ Фильтрация посещений по времени, сек. 2723 + "filterByHalfPerimeter": true, ~/~/ Фильтрация по половине периметра геообъекта 2724 + "includeMotoHours": true ~/~/ Флаг, включать ли моточасы в отчет 2704 2704 } 2726 +))) 2727 +))) 2705 2705 2706 -(% style="text-align:left" %) 2707 -Ответ: 2729 +((( 2730 + 2731 +))) 2708 2708 2733 +((( 2734 +Пример ответа: 2735 +))) 2736 + 2737 +((( 2738 +((( 2709 2709 [ 2710 2710 { 2711 - "id": 0, ~/~/ Идентификатор объекта геозоны 2712 - "name": "string", ~/~/ Название объекта геозоны 2713 - "type": 0, ~/~/ Тип объекта геозоны 2714 - "fname": "string", ~/~/ Имя файла 2715 - "parentId": "string", ~/~/ Идентификатор клиента 2716 - "radius": 0, ~/~/ Радиус геообъекта 2717 - "beginCalc": "2023-08-01T07:54:54.893Z", ~/~/ Дата начала расчета 2718 - "endCalc": "2023-08-01T07:54:54.893Z", ~/~/ Дата окончания расчета 2719 - "description": "string", ~/~/ Описание 2720 - "area": 0, ~/~/ Площадь, м^^2^^ 2721 - "perimetr": 0, ~/~/ Периметр, м 2722 - "createDate": "2023-08-01T07:54:54.893Z", ~/~/ Дата создания 2741 + "geozoneId": 0, ~/~/ ID геозоны 2742 + "geozoneName": "string", ~/~/ Наименование геозоны 2743 + "startDate": "2025-12-04T07:19:27.629Z", ~/~/ Дату и время входа из геозоны 2744 + "endDate": "2025-12-04T07:19:27.629Z", ~/~/ Дату и время выхода из геозоны 2745 + "duration": 0, ~/~/ Продолжительность внутри геозоны 2746 + "vehicleId": 0, ~/~/ ID объекта 2747 + "vehicleName": "string", ~/~/ Имя объекта 2748 + "motoHours": 0 ~/~/ Моточасы 2723 2723 } 2724 2724 ] 2751 +))) 2752 +))) 2725 2725 2726 -== (% style="color:#000000; font-size:16px" %)**Запрос пересечений по объектам**(%%) == 2727 - 2728 -(% class="box infomessage" %) 2729 2729 ((( 2730 - (%style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/gis/intersections/vehicles**2755 + 2731 2731 ))) 2732 2732 2733 - (% style="color:#000000"%)Метод позволяет получитьсписокпересеченийвыбранныхобъектов совсеми геообъектамизавыбранный период.2758 +== **Возвращение данных по пересечению геозон для объектов с заданными ID ** == 2734 2734 2735 -(% style="color:#000000" %)Метод запроса: **POST** 2760 +((( 2761 + 2762 +))) 2736 2736 2737 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/intersections/vehicles 2764 +(% class="box successmessage" %) 2765 +((( 2766 +**POST /api/v3/gis/intersections/vehicles** 2767 +))) 2738 2738 2739 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2769 +((( 2770 +Пример запроса: 2771 +))) 2740 2740 2741 -(% style="text-align:left" %) 2742 -Тело запроса: 2773 +((( 2774 + 2775 +))) 2743 2743 2777 +((( 2778 +((( 2744 2744 { 2745 - "startDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата начала запроса 2746 - "endDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата окончания 2747 - "ids": [ ], ~/~/ Массив id объектов 2748 - "byTime": 0, ~/~/ Объединение событий по времени 2749 - "byDist": 0, ~/~/ Объединение событий по расстоянию 2750 - "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 2751 - "filterByHalfPerimeter": true ~/~/ Фильтрация событий по пробегу половины периметра 2780 + "startDate": "2025-12-04T07:26:11.520Z", ~/~/ Дата и время начала расчета 2781 + "endDate": "2025-12-04T07:26:11.520Z", ~/~/ Дата и время конца расчета 2782 + "ids": [ ~/~/ Идентификаторы объектов 2783 + 0 2784 + ], 2785 + "byTime": 0, ~/~/ объединение геообъектов по времени (секунды) 2786 + "byDist": 0, ~/~/ объединение геообъектов по расстоянию(метры) 2787 + "filterByTime": 0, ~/~/ Фильтрация посещений по времени, сек. 2788 + "filterByHalfPerimeter": true, ~/~/ Фильтрация по половине периметра геообъекта 2789 + "includeMotoHours": true ~/~/ Флаг, включать ли моточасы в отчет 2752 2752 } 2791 +))) 2792 +))) 2753 2753 2754 -Ответ: 2794 +((( 2795 + 2796 +))) 2797 + 2798 +((( 2799 +Пример ответа: 2800 +))) 2801 + 2802 +((( 2755 2755 [ 2756 2756 { 2757 - "geozoneId": 0, ~/~/ ID геоо бъекта2758 - "geozoneName": "string", ~/~/ Название геообъекта2759 - "startDate": "202 3-08-02T06:13:18.554Z", ~/~/Датавъезда2760 - "endDate": "202 3-08-02T06:13:18.554Z", ~/~/Датавыезда2761 - "duration": 0, ~/~/ Продолжительность нахождениявгеообъекте2805 + "geozoneId": 0, ~/~/ ID геозоны 2806 + "geozoneName": "string", ~/~/ Наименование геозоны 2807 + "startDate": "2025-12-04T07:19:27.629Z", ~/~/ Дату и время входа из геозоны 2808 + "endDate": "2025-12-04T07:19:27.629Z", ~/~/ Дату и время выхода из геозоны 2809 + "duration": 0, ~/~/ Продолжительность внутри геозоны 2762 2762 "vehicleId": 0, ~/~/ ID объекта 2763 - "vehicleName": "string" ~/~/ Имя объекта 2811 + "vehicleName": "string", ~/~/ Имя объекта 2812 + "motoHours": 0 ~/~/ Моточасы 2764 2764 } 2765 2765 ] 2815 +))) 2766 2766 2767 -== (% style="color:#000000; font-size:16px" %)**Запрос пересечений по геообъектам**(%%) == 2768 - 2769 -(% class="box infomessage" %) 2770 2770 ((( 2771 - (%style="color:#000000; line-height:100%" %)** **(% lang="en-US" %)**POST **(%%)**/api/v3/gis/intersections/geozones**2818 + 2772 2772 ))) 2773 2773 2774 - (% style="color:#000000"%)Метод позволяет получитьсписокпересечений выбранныхгеообъектов со всеми объектамиза выбранныйпериод.2821 +== **Получение списка геозон** == 2775 2775 2776 -(% style="color:#000000" %)Метод запроса: **POST** 2823 +((( 2824 + 2825 +))) 2777 2777 2778 -(% style="color:#000000" %)URL запроса: (%%)https:~/~/hosting.glonasssoft.ru/api/v3/gis/intersections/geozones 2827 +(% class="box successmessage" %) 2828 +((( 2829 +**POST /api/v3/gis/find** 2830 +))) 2779 2779 2780 -(% style="color:#000000" %)В заголовках запроса: X-Auth: Токен авторизации 2832 +((( 2833 +((( 2834 +Пример запроса: 2835 +))) 2781 2781 2782 -(% style="text-align:left" %) 2783 -Тело запроса: 2837 +((( 2838 + 2839 +))) 2784 2784 2841 +((( 2785 2785 { 2786 - "startDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата начала запроса 2787 - "endDate": "2023-08-02T06:13:18.551Z", ~/~/ Дата окончания 2788 - "ids": [ ], ~/~/ Массив id геообъектов 2789 - "byTime": 0, ~/~/ Объединение событий по времени 2790 - "byDist": 0, ~/~/ Объединение событий по расстоянию 2791 - "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 2792 - "filterByHalfPerimeter": true ~/~/ Фильтрация событий по пробегу половины периметра 2843 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор клиента, для которого надо получить данные. 2793 2793 } 2845 +))) 2846 +))) 2794 2794 2795 -Ответ: 2848 +((( 2849 + 2850 +))) 2796 2796 2852 +((( 2853 +Пример ответа: 2854 +))) 2855 + 2856 +((( 2857 +((( 2797 2797 [ 2798 2798 { 2799 - "geozoneId": 0, ~/~/ ID геообъекта 2800 - "geozoneName": "string", ~/~/ Название геообъекта 2801 - "startDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата въезда 2802 - "endDate": "2023-08-02T06:13:18.554Z", ~/~/ Дата выезда 2803 - "duration": 0, ~/~/ Продолжительность нахождения в геообъекте 2804 - "vehicleId": 0, ~/~/ ID объекта 2805 - "vehicleName": "string" ~/~/ Имя объекта 2860 + "id": 0, ~/~/ Идентификатор объекта геозоны 2861 + "name": "string", ~/~/ Название объекта геозоны 2862 + "type": 0, ~/~/ Тип объекта геозоны 2863 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 2864 + "fname": "string", ~/~/ Имя файла 2865 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента 2866 + "beginCalc": "2025-12-04T07:31:23.082Z", ~/~/ Дата начала расчетов для геозоны 2867 + "endCalc": "2025-12-04T07:31:23.082Z", ~/~/ Дата окончания расчетов для геозоны 2868 + "description": "string", ~/~/ Описание объекта геозоны 2869 + "area": 0, ~/~/ Площадь, м2 2870 + "perimetr": 0, ~/~/ Периметр, м 2871 + "createDate": "2025-12-04T07:31:23.082Z" ~/~/ Дата создания в бд 2806 2806 } 2807 2807 ] 2874 +))) 2875 +))) 2808 2808 2877 +((( 2878 + 2879 +))) 2880 + 2881 +== **Создание геообъекта** == 2882 + 2883 +((( 2884 + 2885 +))) 2886 + 2887 +(% class="box successmessage" %) 2888 +((( 2889 +**POST /api/v3/gis** 2890 +))) 2891 + 2892 +((( 2893 +((( 2894 +Пример запроса: 2895 +\\{ 2896 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента 2897 + "name": "string", ~/~/ Наименование объекта геозоны 2898 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 2899 + "description": "string", ~/~/ Описание объекта геозоны 2900 + "beginCalc": "2025-12-04T07:35:07.395Z", ~/~/ Дата начала расчетов для геозоны 2901 + "endCalc": "2025-12-04T07:35:07.395Z", ~/~/ Дата окончания расчетов для геозоны 2902 + "settingsData": "string", ~/~/ Параметры отображения в формате XML 2903 + "type": 0, ~/~/ Тип геозоны - линия,полигон 2904 + "radius": 0, ~/~/ Радиус геозоны 2905 + "shape": "string", ~/~/ Координаты геозоны 2906 + "shape_format": "string" ~/~/ Формат xml,json, 2907 +} 2908 +))) 2909 +))) 2910 + 2911 +((( 2912 + 2913 +))) 2914 + 2915 +((( 2916 +Пример ответа: 2917 +))) 2918 + 2919 +((( 2920 + 2921 +))) 2922 + 2923 +((( 2924 +200 ~/~/ Success 2925 +))) 2926 + 2927 +((( 2928 + 2929 +))) 2930 + 2931 +== **Редактирование геообъекта ** == 2932 + 2933 +((( 2934 + 2935 +))) 2936 + 2937 +(% class="box warningmessage" %) 2938 +((( 2939 +**PUT /api/v3/gis** 2940 +))) 2941 + 2942 +((( 2943 +((( 2944 +Пример запроса: 2945 +{ 2946 + "id": 0, ~/~/ Идентификатор объекта геозоны 2947 + "name": "string", ~/~/ Наименование объекта геозоны 2948 + "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Подразделение 2949 + "description": "string", ~/~/ Описание объекта геозоны 2950 + "beginCalc": "2025-12-04T07:38:55.221Z", ~/~/ Дата начала расчетов для геозоны 2951 + "endCalc": "2025-12-04T07:38:55.221Z", ~/~/ Дата окончания расчетов для геозоны 2952 + "settingsData": "string", ~/~/ Параметры отображения в формате XML. 2953 + "type": 0, ~/~/ Тип геозоны - линия,полигон 2954 + "radius": 0, ~/~/ Радиус геозоны 2955 + "shape": "string", ~/~/ Координаты геозоны 2956 + "shape_format": "string" ~/~/Формат xml,json 2957 +} 2958 +))) 2959 +))) 2960 + 2961 +((( 2962 + 2963 +))) 2964 + 2965 +((( 2966 +Пример ответа: 2967 +))) 2968 + 2969 +((( 2970 + 2971 +))) 2972 + 2973 +((( 2974 +200 ~/~/ Success 2975 +))) 2976 + 2977 +((( 2978 + 2979 +))) 2980 + 2809 2809 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Уведомления**(%%) = 2810 2810 2811 2811 == (% style="color:#000000; font-size:16px" %)**Запрос списка уведомлений клиента**(%%) == ... ... @@ -2837,7 +2837,7 @@ 2837 2837 "id": 0, ~/~/ ID уведомления 2838 2838 "name": "string", ~/~/ Название уведомления 2839 2839 "active": true, ~/~/ Состояние true - активен, false - деактивирован 2840 - "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО 3012 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя) 2841 2841 "userId": "", ~/~/ Пользователь, создавший уведомление 2842 2842 "parentId": "", ~/~/ Идентификатор клиента 2843 2843 "parentName": "string" ~/~/ Имя клиента ... ... @@ -2844,6 +2844,151 @@ 2844 2844 } 2845 2845 ] 2846 2846 3019 + 3020 +== (% style="color:#000000; font-size:16px" %)**Создание уведомления**(%%) == 3021 + 3022 +(% class="box infomessage" %) 3023 +((( 3024 +**POST /api/v3/notifications** 3025 +))) 3026 + 3027 +Метод запроса **POST** 3028 + 3029 +(% style="text-align: left;" %) 3030 +(% style="color:#000000" %)Пример запроса 3031 + 3032 +((( 3033 +{ 3034 + "id": 0, ~/~/ ID правила 3035 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя 3036 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило 3037 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 3038 + "name": "string", ~/~/ Имя правила 3039 + "active": true, ~/~/ Активность правила 3040 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто 3041 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа. 3042 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 3043 + ], 3044 + "vehicleIds": [ ~/~/ Список объектов для анализа. 3045 + 0 3046 + ], 3047 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам. 3048 + 0 3049 + ], 3050 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам. 3051 + 0 3052 + ], 3053 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений. 3054 + "additionalProp1": "string", 3055 + "additionalProp2": "string", 3056 + "additionalProp3": "string" 3057 + }, 3058 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 3059 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 3060 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 3061 + ], 3062 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 3063 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений 3064 + "string" 3065 + ], 3066 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram 3067 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram. 3068 + { 3069 + "id": 0, ~/~/ Идентификатор участника чата. 3070 + "info": "string" ~/~/ Дополнительные сведения. 3071 + } 3072 + ], 3073 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение 3074 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы 3075 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 3076 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 3077 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени) 3078 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC) 3079 + "timezone": 0, ~/~/ часовой пояс 3080 + "validity": 0, ~/~/ Срок действия в днях (1-90). 3081 + "autoProlongation": true, ~/~/ Автопродление срока действия. 3082 + "templates": [ ~/~/ Переопределения шаблонов уведомлений. 3083 + { 3084 + "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 - Срок действия правила истек 3085 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа. 3086 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка. 3087 + "additionalProp1": "string", 3088 + "additionalProp2": "string", 3089 + "additionalProp3": "string" 3090 + } 3091 + } 3092 + ] 3093 +} 3094 +))) 3095 + 3096 +((( 3097 + 3098 +))) 3099 + 3100 +Ответ: 3101 + 3102 +{ 3103 + "id": 0, ~/~/ ID правила 3104 + "type": 0, ~/~/ Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО, 13 - Назначение водителя 3105 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Пользователь, создавший правило 3106 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 3107 + "name": "string", ~/~/ Имя правила 3108 + "active": true, ~/~/ Активность правила 3109 + "vehicleSource": 0, ~/~/ Определяет вид источника объектов для анализа. Если значение равно 0, то объекты. Если значение равно 1, то группы объекто 3110 + "vehicleGroups": [ ~/~/ Список групп объектов для анализа. 3111 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ 3112 + ], 3113 + "vehicleIds": [ ~/~/ Список объектов для анализа. 3114 + 0 3115 + ], 3116 + "geoids": [ ~/~/ Список идентификаторов гео-объектов, в которых проводить анализ по объектам. 3117 + 0 3118 + ], 3119 + "fieldids": [ ~/~/ Список идентификаторов полей, в которых проводить анализ по объектам. 3120 + 0 3121 + ], 3122 + "settings": { ~/~/ Определяет класс расширенных параметров правила уведомлений. 3123 + "additionalProp1": "string", 3124 + "additionalProp2": "string", 3125 + "additionalProp3": "string" 3126 + }, 3127 + "toEmail": true, ~/~/ Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы" 3128 + "recipientIds": [ ~/~/ Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила 3129 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 3130 + ], 3131 + "enableSideEmails": true, ~/~/ Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям" 3132 + "sideEmails": [ ~/~/ Список электронных адресов для отсылки уведомлений 3133 + "string" 3134 + ], 3135 + "toTelegram": true, ~/~/ Флаг активности отправки в Telegram 3136 + "telegrams": [ ~/~/ Список получателя уведомлений в Telegram. 3137 + { 3138 + "id": 0, ~/~/ Идентификатор участника чата. 3139 + "info": "string" ~/~/ Дополнительные сведения. 3140 + } 3141 + ], 3142 + "toMobile": true, ~/~/ Флаг активности отправки в мобильное приложение 3143 + "toClient": true, ~/~/ Флаг активности отправки в интерфейсе системы 3144 + "stored": true, ~/~/ Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений. 3145 + "kind": 0, ~/~/ Определяет вид уведомления (0 - Информация, 1 - Подтверждение) 3146 + "activationMode": 0, ~/~/ Вид активации правила (0 - сейчас, 1 - ко времени) 3147 + "activationTime": "2025-06-09T13:21:13.669Z", ~/~/ Дата/время активации правила (UTC) 3148 + "timezone": 0, ~/~/ часовой пояс 3149 + "validity": 0, ~/~/ Срок действия в днях (1-90). 3150 + "autoProlongation": true, ~/~/ Автопродление срока действия. 3151 + "templates": [ ~/~/ Переопределения шаблонов уведомлений. 3152 + { 3153 + "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 - Срок действия правила истек 3154 + "override": true, ~/~/ Определяет необходимость переопределения шаблона уведомления определенного типа. 3155 + "parameters": { ~/~/ Определяет параметры шаблона уведомлений. "subject" и "textcontent" определяют тему и тело сообщения по умолчанию, "subject_{langid}" и "textcontent_{langid}" определяет тему и тело сообщения для определенного языка, где langid - идентификатор языка. 3156 + "additionalProp1": "string", 3157 + "additionalProp2": "string", 3158 + "additionalProp3": "string" 3159 + } 3160 + } 3161 + ] 3162 +} 3163 + 2847 2847 == (% style="color:#000000; font-size:16px" %)**Запрос настроек уведомления**(%%) == 2848 2848 2849 2849 (% class="box infomessage" %) ... ... @@ -4061,16 +4061,12 @@ 4061 4061 Тело запроса: 4062 4062 4063 4063 { 4064 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4065 - "Balance": 0 4381 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4382 + "Balance": 0 ~/~/ Значение баланса. 4066 4066 } 4067 4067 4068 4068 Ответ: Success 4069 4069 4070 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4071 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4072 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4073 - 4074 4074 == (% style="color:#000000; font-size:16px" %)**Пополнить баланс**(%%) == 4075 4075 4076 4076 (% class="box warningmessage" %) ... ... @@ -4082,16 +4082,29 @@ 4082 4082 4083 4083 Тело запроса: 4084 4084 4398 +((( 4085 4085 { 4086 - " ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",4087 - " Balance": 04400 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4401 + "amount": 0 ~/~/ Сумма пополнения баланса 4088 4088 } 4403 +))) 4089 4089 4405 +((( 4406 + 4407 +))) 4408 + 4090 4090 Ответ: Success 4091 4091 4092 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4093 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4094 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4411 +((( 4412 +{ 4413 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки. 4414 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4415 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя. 4416 + "Moment": "2025-06-10T12:15:19.076Z", ~/~/ Время корректировки. 4417 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс. 4418 + "Description": "string" ~/~/ Описание корректировки. 4419 +} 4420 +))) 4095 4095 4096 4096 == (% style="color:#000000; font-size:16px" %)**Списать с баланса**(%%) == 4097 4097 ... ... @@ -4104,16 +4104,25 @@ 4104 4104 4105 4105 Тело запроса: 4106 4106 4433 +((( 4107 4107 { 4108 - " ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",4109 - " Balance": 04435 + "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4436 + "amount": 0 ~/~/ Сумма списания с баланса 4110 4110 } 4438 +))) 4111 4111 4112 4112 Ответ: Success 4113 4113 4114 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4115 -|(% style="width:215px" %)ClientId|(% style="width:861px" %)Идентификатор клиента 4116 -|(% style="width:215px" %)Balance|(% style="width:861px" %)Значение баланса 4442 +((( 4443 +{ 4444 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор корректировки. 4445 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4446 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя. 4447 + "Moment": "2025-06-10T12:21:05.149Z", ~/~/ Время корректировки. 4448 + "Amount": 0, ~/~/ Значение, на которое корректируется баланс. 4449 + "Description": "string" ~/~/ Описание корректировки 4450 +} 4451 +))) 4117 4117 4118 4118 == (% style="color:#000000; font-size:16px" %)**Изменить ограничения клиента**(%%) == 4119 4119 ... ... @@ -4124,28 +4124,35 @@ 4124 4124 4125 4125 Тело запроса: 4126 4126 4462 +((( 4127 4127 { 4128 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4129 - "CalculationType": 0, 4130 - "PermissibleBalance": 0, 4131 - "DefermentDays": 0, 4132 - "SendUiNotifications": true, 4133 - "SendEmailNotifications": true, 4134 - "IsPrivate": true, 4464 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4465 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни 4466 + "PermissibleBalance": 0, ~/~/ Допустимый баланс 4467 + "DefermentDays": 0, ~/~/ Отсрочка (дни). 4468 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено 4469 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено 4135 4135 } 4471 +))) 4136 4136 4473 +((( 4474 + 4475 +))) 4476 + 4137 4137 Ответ: Success 4138 4138 4139 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4140 -|ClientId|Идентификатор клиента 4141 -|CalculationType|Определяет тип расчёта, 0 - Деньги, 1 - Дни 4142 -|PermissibleBalance|Допустимый баланс 4143 -|DefermentDays|((( 4144 -Отсрочка, количество дней 4479 +((( 4480 +{ 4481 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 4482 + "BlockingTime": "2025-06-10T12:23:28.754Z", ~/~/ Время, когда заблокируется клиент. 4483 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4484 + "CalculationType": 0, ~/~/ Определяет тип расчёта, 0 - Деньги, 1 - Дни 4485 + "PermissibleBalance": 0, ~/~/ Допустимый баланс. 4486 + "DefermentDays": 0, ~/~/ Отсрочка (дни) 4487 + "SendUiNotifications": true, ~/~/ Оповещение в web-интерфейсе, true - включено, false - выключено 4488 + "SendEmailNotifications": true ~/~/ Оповещение на почту, true - включено, false - выключено 4489 +} 4145 4145 ))) 4146 -|(% style="width:215px" %)SendUiNotifications|(% style="width:861px" %)Оповещение в web-интерфейсе, true - включено, false - выключено 4147 -|(% style="width:215px" %)SendEmailNotifications|(% style="width:861px" %)Оповещение на почту, true - включено, false - выключено 4148 -|(% style="width:215px" %)IsPrivate|(% style="width:861px" %)Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом 4149 4149 4150 4150 == (% style="color:#000000; font-size:16px" %)**Изменить тариф клиента**(%%) == 4151 4151 ... ... @@ -4157,35 +4157,68 @@ 4157 4157 Тело запроса: 4158 4158 4159 4159 { 4160 - "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4161 - "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 4162 - "Features": [ 4502 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4503 + "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана. 4504 + "Features": [ ~/~/ Набор услуг по тарифу клиента. 4163 4163 { 4164 - "Feature": "string", 4165 - "IsEnabled": true, 4166 - "IsFactual": true, 4167 - "Limit": 0, 4168 - "Price": 0, 4169 - "DebitDate": "2023-10-18T13:26:58.987Z", 4170 - "PeriodValue": 0, 4171 - "PeriodType": 0 4506 + "Feature": "string", ~/~/ Код услуги. 4507 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга. 4508 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту. 4509 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование 4510 + "Price": 0, ~/~/ Цена за единицу. 4511 + "DebitDate": "2023-10-18T13:26:58.987Z", ~/~/ Следующий момент времени списания с баланса за услугу. 4512 + "PeriodValue": 0, ~/~/ Значение периода. 4513 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане ( 0 - Дни, 1 - Месяцы) 4172 4172 } 4173 4173 ] 4174 4174 } 4175 4175 4518 + 4176 4176 Ответ: Success 4177 4177 4178 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4179 -|ClientId|Идентификатор клиента 4180 -|PlanId|Идентификатор тарифного плана 4181 -|Feature|Код услуги 4182 -|IsEnabled|Признак, определяющий активирована ли услуга 4183 -|IsFactual|Признак, определяющий расчёт по факту 4184 -|Limit|Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4185 -|Price|Цена за единицу. 4186 -|DebitDate|Следующий момент времени списания с баланса за услугу. 4187 -|PeriodValue|Значение периода. 4188 -|PeriodType|Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы 4521 +((( 4522 +{ 4523 + "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 4524 + "Plan": { ~/~/ Определяет тарифный план (шаблон услуг) 4525 + "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор тарифного плана. 4526 + "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента-владельца. 4527 + "Name": "string", ~/~/ Наименование. 4528 + "IsArchived": true, ~/~/ Признак, определяющий архивный тарифный план. 4529 + "Constraint": { ~/~/ Ограничения по тарифу 4530 + "CalculationType": 0, ~/~/ Определяет тип расчёта (0 - деньги, 1 - дни) 4531 + "PermissibleBalance": 0, ~/~/ Допустимый баланс. 4532 + "DefermentDays": 0 ~/~/ Отсрочка (дни) 4533 + }, 4534 + "Features": [ ~/~/ Набор услуг по тарифному плану. 4535 + { 4536 + "Feature": "string", ~/~/Код услуги. 4537 + "IsFactual": true, ~/~/ Признак, определяющий возможность расчёта по факту. 4538 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4539 + "Price": 0, ~/~/ Цена за единицу. 4540 + "PeriodValue": 0, ~/~/ Значение периода. 4541 + "PeriodType": 0 ~/~/ Определяет тип периода действия услуги в тарифном плане. (0 - деньги, 1 - дни) 4542 + } 4543 + ], 4544 + "UserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор пользователя, создавшего тарифный план. 4545 + "Created": "2025-06-10T12:29:32.969Z", ~/~/ Дата создания тарифного плана. 4546 + "Deactivated": "2025-06-10T12:29:32.969Z" ~/~/ Дата деактивации тарифного плана. 4547 + }, 4548 + "Features": [ ~/~/ Набор услуг по тарифу клиента. 4549 + { 4550 + "Feature": "string", ~/~/ Код услуги. 4551 + "IsEnabled": true, ~/~/ Признак, определяющий активирована ли услуга. 4552 + "IsPrivate": true, ~/~/ Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом. 4553 + "IsFactual": true, ~/~/ Признак, определяющий расчёт по факту. 4554 + "Limit": 0, ~/~/ Лимит использования услуги. Значение -1 подразумевает безлимитное использование. 4555 + "Price": 0, ~/~/ Цена за единицу. 4556 + "DebitDate": "2025-06-10T12:29:32.969Z", ~/~/ Следующий момент времени списания с баланса за услугу. 4557 + "PeriodValue": 0, ~/~/ Значение периода. 4558 + "PeriodType": 0, ~/~/ Определяет тип периода действия услуги в тарифном плане. 4559 + "Quantity": 0 ~/~/ Количество использования услуги. 4560 + } 4561 + ] 4562 +} 4563 +))) 4189 4189 4190 4190 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Импорт и Экспорт**(%%) = 4191 4191 ... ... @@ -4290,6 +4290,43 @@ 4290 4290 |producedCount|Кол-во успешно отправленных в шину данных сообщений 4291 4291 |msgCount|Кол-во обработанных сообщений всего 4292 4292 4668 +== **Импортировать историю ТС (Асинхронный запрос)** == 4669 + 4670 +(% class="box successmessage" %) 4671 +((( 4672 +**POST /api/v3/Vehicles/importAsync/history/{vehicleId} ** 4673 +))) 4674 + 4675 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос. 4676 + 4677 +Метод запроса: **POST** 4678 + 4679 +URL запроса: **https:~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} ** 4680 + 4681 +Параметр запроса: {**__vehicleid}__** - идентификатор транспортного средства 4682 + 4683 + 4684 +Ответ: 4685 + 4686 +{ 4687 + 4688 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 4689 + 4690 + "Status": 0, ~/~/ Перечисление состояний выполнения запроса 4691 + 4692 +~/~/ ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest) 4693 + 4694 + "Message": "string", ~/~/ Информация о выполнении запроса 4695 + 4696 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None) 4697 + 4698 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 4699 + 4700 + "Data": "string" ~/~/ Данные 4701 + 4702 +} 4703 + 4704 + 4293 4293 == (% style="color:#000000; font-size:16px" %)**Статус импорта сообщений**(%%) == 4294 4294 4295 4295 (% class="box infomessage" %) ... ... @@ -4307,10 +4307,59 @@ 4307 4307 "message": "string" 4308 4308 } 4309 4309 4310 -|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)**Параметр**|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)**Описание** 4311 -|activity|Активен ли экспорт/импорт истории сейчас, true - да, false - нет 4312 -|progress|Guid ТС 4722 +|=(% style="width: 215px; background-color: rgb(230, 230, 230);" %)((( 4723 +**Параметр** 4724 +)))|=(% style="width: 861px; background-color: rgb(230, 230, 230);" %)((( 4725 +**Описание** 4726 +))) 4727 +|((( 4728 +activity 4729 +)))|((( 4730 +Активен ли экспорт/импорт истории сейчас, true - да, false - нет 4731 +))) 4732 +|((( 4733 +progress 4734 +)))|((( 4735 +Guid ТС 4736 +))) 4313 4313 4738 +== **Возвращает статус асинхронного запроса импорта истории ТС** == 4739 + 4740 +(% class="box infomessage" %) 4741 +((( 4742 +**GET /api/v3/Vehicles/importAsync/history/state/{requestId}** 4743 +))) 4744 + 4745 +При выгрузке большого объема информации, выполняющихся более 90 секунд, рекомендуется использовать этот запрос. 4746 + 4747 +Метод запроса: **GET** 4748 + 4749 +URL запроса: https:**~/~/hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}** 4750 + 4751 +Параметр запроса: {**requestId__}__** - Уникальный идентификатор запроса 4752 + 4753 + 4754 +Ответ: 4755 + 4756 +{ 4757 + 4758 + "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Уникальный идентификатор запроса 4759 + 4760 + "Status": 0, ~/~/ Перечисление состояний выполения запроса 4761 +~/~/ 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest 4762 + 4763 + "Message": "string", ~/~/ Информация о выполнении запроса 4764 + 4765 + "ProgressState": 1, ~/~/ Тип информирования о ходе выполнении запроса 4766 + 4767 +~/~/ 1 - Intermediate, 2 - ProgressProcent, 255 - None 4768 + 4769 + "ProgressValue": 0, ~/~/ Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress 4770 + 4771 + "Data": "string" ~/~/ Данные 4772 + 4773 +} 4774 + 4314 4314 == (% style="color:#000000; font-size:16px" %)**Экспорт объектов**(%%) == 4315 4315 4316 4316 (% class="box infomessage" %) ... ... @@ -4822,8 +4822,51 @@ 4822 4822 } 4823 4823 ] 4824 4824 } 5286 + 5287 + 5288 +== **Превышение скорости** == 5289 + 5290 +(% class="box infomessage" %) 5291 +((( 5292 +**POST /api/v3/Reports/overSpeedDuration** 4825 4825 ))) 4826 4826 5295 + Публичный API запрос о превышениях скорости по объекту в секундах с выбором способа определения нарушений (дорожное ограничение или фиксированное ограничение). 5296 + 5297 +Пример запроса: 5298 + 5299 +((( 5300 +{ 5301 + "vehicleId": 0, ~/~/ идентификационный номер транспортного средства 5302 + "from": "2025-04-21T10:45:25.258Z", ~/~/ Начало периода (локальное время клиента) 5303 + "to": "2025-04-21T10:45:25.258Z", ~/~/ Конец периода (локальное время клиента) 5304 + "timezone": 0, ~/~/ Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK 5305 + "overSpeedDetectionType": 0 ~/~/ тип нарушения (1-дорожное ограничение, 2-фиксированный ) 5306 +} 5307 +))) 5308 + 5309 +((( 5310 + 5311 +))) 5312 + 5313 +((( 5314 +Пример ответа: 5315 +))) 5316 + 5317 +((( 5318 +((( 5319 +[ 5320 + { 5321 + "eventDate": "2025-04-21T10:45:25.267Z", ~/~/ Дата и время события 5322 + "duration": 0, ~/~/ Продолжительность события в секундах 5323 + "maxSpeed": 0, ~/~/ Максимальная скорость 5324 + "speedLimit": 0 ~/~/ Ограничение скорости 5325 + } 5326 +] 5327 +))) 5328 +))) 5329 +))) 5330 + 4827 4827 = (% style="color:#000000; font-size:18.6667px" %)**Раздел: Сельскохозяйственные поля **(%%) = 4828 4828 4829 4829 ... ... @@ -5129,33 +5129,9 @@ 5129 5129 ))) 5130 5130 5131 5131 5132 -== **Удаление существующего поля** == 5133 - 5134 -(% class="box errormessage" %) 5135 5135 ((( 5136 -**DELETE /api/v3/agroLands/{id}** 5137 -))) 5138 - 5139 -Пример запроса: 5140 -id ~/~/ Идентификатор поля 5141 - 5142 -Пример ответа: 5143 - 5144 5144 ((( 5145 -200 ~/~/ Успех 5146 -))) 5147 - 5148 5148 ((( 5149 - 5150 -))) 5151 - 5152 -((( 5153 -((( 5154 -((( 5155 - 5156 -))) 5157 - 5158 -((( 5159 5159 == **Изменение поля** == 5160 5160 5161 5161 (% class="box infomessage" %) ... ... @@ -5401,9 +5401,102 @@ 5401 5401 "perimetr": 0, ~/~/ ериметр, м 5402 5402 "createDate": "2024-12-20T11:43:44.091Z" ~/~/ Дата создания в бд 5403 5403 } 5884 + 5885 + 5886 +== **Какие поля посещал объект** == 5887 + 5888 +(% class="box successmessage" %) 5889 +((( 5890 +**POST /api/v3/agroLands/visitingByVehicle** 5404 5404 ))) 5405 5405 5893 +Пример запроса: 5406 5406 5895 +{ 5896 + "vehicleId": 0, ~/~/ id объекта 5897 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 5898 + "byTime": 0, ~/~/ Объединение событий по времени 5899 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 5900 + "byDist": 0, ~/~/ Объединение событий по расстоянию 5901 + "from": "2025-07-29T12:20:28.815Z", ~/~/ Начало периода (локальное время клиента) 5902 + "to": "2025-07-29T12:20:28.815Z", ~/~/ Конец периода (локальное время клиента) 5903 + "timezone": 0 ~/~/ Таймзона клиента, в часах. Если не передана - то считается как +3, MSK 5904 +} 5905 + 5906 +Пример ответа: 5907 + 5908 +[ 5909 + { 5910 + "fieldId": 0, ~/~/ id объекта 5911 + "vehicleName": "string", ~/~/ Наименование объекта 5912 + "fieldName": "string", ~/~/ Наименование поля 5913 + "fuelUsage": 0, ~/~/ Расход топлива, л/га 5914 + "area": 0, ~/~/ Пройдено, га (информация из встроенного агрегата в модели объекта при наличии агрегата) 5915 + "vehicleId": 0, ~/~/ Идентификатор ТС 5916 + "start": "2025-07-29T12:20:28.855Z", ~/~/ Начало посещения 5917 + "end": "2025-07-29T12:20:28.855Z", ~/~/ Конец посещения 5918 + "durationSeconds": 0, ~/~/ Продолжительность посещения внутри поля 5919 + "mileage": 0 ~/~/ Пробег 5920 + } 5921 +] 5922 +))) 5923 + 5924 + 5925 +== **Посещение поля объектами ** == 5926 + 5927 +(% class="box successmessage" %) 5928 +((( 5929 +**POST /api/v3/agroLands/visitingByField** 5930 +))) 5931 + 5932 +Пример запроса: 5933 +{ 5934 + "fieldId": 0, ~/~/ ID поля 5935 + "filterByTime": 0, ~/~/ Фильтрация событий по времени нахождения 5936 + "byTime": 0, ~/~/ Объединение событий по времени 5937 + "filterByHalfPerimeter": true, ~/~/ Фильтрация событий по пробегу половины периметра 5938 + "byDist": 0, ~/~/ Объединение событий по расстоянию 5939 + "from": "2025-07-29T11:44:28.218Z", ~/~/ Начало периода (локальное время клиента) 5940 + "to": "2025-07-29T11:44:28.218Z", ~/~/ Конец периода (локальное время клиента) 5941 + "timezone": 0 ~/~/ Таймзона клиента, в часах. Если не передана - то считается как +3, MSK 5942 +} 5943 + 5944 +Пример ответа: 5945 + 5946 +[ 5947 + { 5948 + "fieldId": 0, ~/~/ ID поля 5949 + "vehicleName": "string", ~/~/ Наименование объекта 5950 + "fieldName": "string", ~/~/ Имя поля 5951 + "fuelUsage": 0, ~/~/ Расход топлива, л/га 5952 + "area": 0, ~/~/ Пройдено, га (информация из встроенного агрегата в модели объекта при наличии агрегата) 5953 + "vehicleId": 0, ~/~/ Идентификатор ТС 5954 + "start": "2025-07-29T11:44:28.219Z", ~/~/ Начало посещения 5955 + "end": "2025-07-29T11:44:28.219Z", ~/~/ Конец посещения 5956 + "durationSeconds": 0, ~/~/ Продолжительность посещения внутри поля 5957 + "mileage": 0 ~/~/ Пробег 5958 + } 5959 +] 5960 + 5961 + 5962 +== **Удаление существующего поля** == 5963 + 5964 +(% class="box errormessage" %) 5965 +((( 5966 +**DELETE /api/v3/agroLands/{id}** 5967 +))) 5968 + 5969 +Пример запроса: 5970 +id ~/~/ Идентификатор поля 5971 + 5972 +Пример ответа: 5973 + 5974 +((( 5975 +200 ~/~/ Успех 5976 + 5977 + 5978 +))) 5979 + 5407 5407 = (% style="color:#000000; font-size:18.6667px" %)Раздел: **Корзина**(%%) = 5408 5408 ))) 5409 5409 ))) ... ... @@ -5506,7 +5506,6 @@ 5506 5506 5507 5507 В заголовках запроса: X-Auth: Токен авторизации 5508 5508 5509 - 5510 5510 Пример запроса: 5511 5511 5512 5512 ((( ... ... @@ -5593,7 +5593,6 @@ 5593 5593 } 5594 5594 ))) 5595 5595 5596 - 5597 5597 Пример ответа: 5598 5598 5599 5599 { ... ... @@ -5724,11 +5724,9 @@ 5724 5724 ))) 5725 5725 5726 5726 ((( 5727 - 6298 +Пример ответа: 5728 5728 ))) 5729 5729 5730 -Пример ответа: 5731 - 5732 5732 { 5733 5733 "vehicleId": 0, ~/~/ Идентификатор ТС 5734 5734 "description": "string", ~/~/ Описание ... ... @@ -5828,197 +5828,229 @@ 5828 5828 ))) 5829 5829 5830 5830 5831 -= **Раздел: Локатор** =6400 += **Раздел: Роли** = 5832 5832 6402 +== **Получение списка клиентских и системных ролей пользователя ** == 5833 5833 5834 -== **Получение списка локаторов, доступных пользователю ** == 5835 - 5836 -(% class="box infomessage" %) 6404 +(% class="box successmessage" %) 5837 5837 ((( 5838 -** GET/api/v3/locators**6406 +**POST /api/v3/groups/find** 5839 5839 ))) 5840 5840 5841 - Взаголовках запроса:X-Auth: Токен авторизации6409 +Пример запроса: 5842 5842 6411 +((( 6412 +{ 6413 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента содержащий пользовательские роли 6414 + "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор родительского элемента пользователей 6415 +} 6416 +))) 5843 5843 5844 -Пример ответа: 5845 - 5846 5846 ((( 5847 -[ 5848 - { 5849 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 5850 - "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента. 5851 - "agentName": "string", ~/~/ Наименование агента. 5852 - "isEnabled": true, ~/~/ Активен 5853 - "created": "2025-03-12T06:48:41.254Z", ~/~/ Дата создания 5854 - "updated": "2025-03-12T06:48:41.254Z", ~/~/ Дата обновления 5855 - "name": "string", ~/~/ Наименование 5856 - "status": 0, ~/~/ 5857 - "activationMode": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 5858 - "activationTime": "2025-03-12T06:48:41.254Z", ~/~/ Определяет вид активации локаторов. ( 0 - сейчас, 1 - время активации) 5859 - "validity": 0, ~/~/ Срок действия в днях (1-90). 5860 - "autoProlongation": true, ~/~/ Автопродление срока действия. 5861 - "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 5862 - "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор. 5863 - "url": "string", ~/~/ Ссылка 5864 - "language": 0, ~/~/ Язык. 5865 - "vehiclesCount": 0, ~/~/ Количество объектов. 5866 - "geozonesCount": 0, ~/~/ Количество геозон. 5867 - "fieldsCount": 0 ~/~/ Количество полей. 5868 - } 5869 -] 6419 + 5870 5870 ))) 5871 5871 5872 - 5873 - 5874 -== **Создание локатора** == 5875 - 5876 -(% class="box successmessage" %) 5877 5877 ((( 5878 - **POST/api/v3/locators**6423 +Пример ответа: 5879 5879 ))) 5880 5880 5881 -Пример запроса: 5882 - 5883 5883 ((( 6427 +((( 5884 5884 { 5885 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора 5886 - "isEnabled": true, ~/~/ Активность 5887 - "name": "string", ~/~/ Наименование локатора 5888 - "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени) 5889 - "activationTime": "2025-03-12T07:00:08.272Z", ~/~/ Время активации 5890 - "validity": 0, ~/~/ Срок действия в днях (1-90) 5891 - "autoProlongation": true, ~/~/ Автопродление срока действия. 5892 - "url": "string", ~/~/ Ссылка 5893 - "language": 0 ~/~/ Язык 6429 + "groups": [ ~/~/ Системные роли пользователя 6430 + { 6431 + "code": "string", ~/~/ Код роли. 6432 + "name": "string", ~/~/ Имя 6433 + "shortName": "string" ~/~/ Короткое имя 6434 + } 6435 + ], 6436 + "customGroups": [ ~/~/ Системные роли пользователя 6437 + { 6438 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор роли. 6439 + "name": "string", ~/~/ Наименование 6440 + "shortName": "string", ~/~/ Короткое наименование 6441 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор владельца 6442 + } 6443 + ] 5894 5894 } 5895 5895 ))) 6446 +))) 5896 5896 5897 - 5898 -Пример ответа: 5899 - 5900 5900 ((( 5901 - 3fa85f64-5717-4562-b3fc-2c963f66afa6~/~/ Идентификатор локатора6449 + 5902 5902 ))) 5903 5903 6452 += **Раздел: Локатор ** = 5904 5904 5905 5905 5906 -== ** Изменение локатора** ==6455 +== **Получение данных по локатору** == 5907 5907 5908 5908 (% class="box infomessage" %) 5909 5909 ((( 5910 -** PUT /api/v3/locators**6459 +**GET /api/v3/locators/{locatorId}** 5911 5911 ))) 5912 5912 5913 - Примерзапроса:6462 +В запросе указывается locatorid - идентификатор локатора 5914 5914 6464 +Пример ответа: 6465 + 5915 5915 ((( 6467 +((( 5916 5916 { 5917 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора 5918 - "isEnabled": true, ~/~/ Активность 5919 - "name": "string", ~/~/ Наименование 5920 - "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 5921 - "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации 5922 - "validity": 0, ~/~/ Срок действия в днях (1-90) 5923 - "autoProlongation": true, ~/~/ Автопродление срока действия 6469 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6470 + 0 6471 + ], 6472 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6473 + 0 6474 + ], 6475 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6476 + 0 6477 + ], 6478 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 6479 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента 6480 + "agentName": "string", ~/~/ Наименование агента. 6481 + "isEnabled": true, ~/~/ Активность 6482 + "created": "2025-05-26T11:31:05.399Z", ~/~/ Дата создания 6483 + "updated": "2025-05-26T11:31:05.399Z", ~/~/ Дата обновления 6484 + "name": "string", ~/~/ Наименование. 6485 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 6486 + "activationMode": 0, ~/~/ Определяет вид активации локаторов ( 0 - сейчас, 1 - запланировать на время) 6487 + "activationTime": "2025-05-26T11:31:05.399Z", ~/~/ Время активации 6488 + "validity": 0, ~/~/ Значение срока действия 6489 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 6490 + "autoProlongation": true, ~/~/ Автопродление срока действия. 6491 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 6492 + "creatorUserName": "string", ~/~/ Имя пользователя, создавшего локатор. 5924 5924 "url": "string", ~/~/ Ссылка 5925 - "language": 0 ~/~/ Язык 5926 -} 5927 -))) 6494 + "language": 0, ~/~/ ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 5928 5928 6496 + "showVehicleName": true, ~/~/ Наименование объекта 6497 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6498 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6499 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6500 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6501 + "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ГИС) 5929 5929 5930 - Примерответа:6503 + 1 5931 5931 5932 -200 ~/~/ Success 6505 + ] 6506 +} 6507 +))) 6508 +))) 5933 5933 5934 5934 5935 -== ** Удалитьлокатор** ==6511 +== **Создание локатора** == 5936 5936 5937 -(% class="box warningmessage" %)6513 +(% class="box successmessage" %) 5938 5938 ((( 5939 -** DELETE/api/v3/locators**6515 +**POST /api/v3/locators** 5940 5940 ))) 5941 5941 5942 -Пример запроса: 6518 +Пример запроса: 5943 5943 5944 5944 ((( 5945 -[ 5946 - "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор локатора 5947 -] 5948 -))) 6521 +{ 6522 + "isEnabled": true, ~/~/ Активность 6523 + "name": "string", ~/~/ Наименование локатора 6524 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени) 6525 + "activationTime": "2025-03-12T07:00:08.272Z", ~/~/ Время активации 6526 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6527 + "autoProlongation": true, ~/~/ Автопродление срока действия. 6528 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6529 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор клиента. 6530 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6531 + 0 6532 + ], 6533 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6534 + 0 6535 + ], 6536 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6537 + 0 6538 + ], 5949 5949 6540 + "showVehicleName": true, ~/~/ Наименование объекта 6541 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6542 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6543 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6544 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6545 + "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ГИС) 5950 5950 6547 + 1 5951 5951 5952 -= **Раздел: Яндекс Маршруты** = 6549 + ] 6550 +} 6551 +))) 5953 5953 6553 +Пример ответа: 5954 5954 5955 -== **Возвращение списка маршрутов** == 5956 - 5957 -(% class="box infomessage" %) 5958 5958 ((( 5959 - **GET /api/v3/TransportRoutes**6556 +3fa85f64-5717-4562-b3fc-2c963f66afa6 ~/~/ Идентификатор локатора 5960 5960 ))) 5961 5961 5962 -Пример запроса: 5963 -Id ~/~/ Идентификатор поля 5964 5964 6560 +== **Выводит список локаторов ** == 5965 5965 5966 -Пример ответа: 5967 - 6562 +(% class="box successmessage" %) 5968 5968 ((( 5969 -[ 5970 - { 5971 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ id 5972 - "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 5973 - "name": "string", ~/~/ Наименование маршрута. 5974 - "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water) 5975 - "vehicles": [ ~/~/ Определяет список ТС для маршрута 5976 - 0 5977 - ] 5978 - } 5979 -] 6564 +**POST /api/v3/locators/find** 5980 5980 ))) 5981 5981 6567 +Пример запроса: 5982 5982 5983 - 5984 -== **Добавить маршрут** == 5985 - 5986 -(% class="box infomessage" %) 5987 5987 ((( 5988 -**POST /api/v3/TransportRoutes** 5989 -))) 5990 - 5991 -Пример запроса: 5992 5992 { 5993 - "name": "string", ~/~/ Опредлеляет наименование маршрута. 5994 - "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 5995 - "kind": 0, ~/~/ Определяет вид маршрута. (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 5996 - "vehicles": [ ~/~/ Определяет список ТС для маршрута 5997 - 0 5998 - ] 6571 + "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор клиента 5999 5999 } 6573 +))) 6000 6000 6575 +((( 6576 + 6577 +))) 6001 6001 6002 6002 Пример ответа: 6003 6003 6004 6004 ((( 6005 -{ 6006 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6007 - "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6008 - "name": "string", ~/~/ Определяет наименование маршрута 6009 - "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6010 - "vehicles": [ ~/~/ Определяет список ТС для маршрута 6582 +[ 6583 + { 6584 + "vehiclesCount": 0, ~/~/ Количество объектов. 6585 + "geozonesCount": 0, ~/~/ Количество геозон. 6586 + "fieldsCount": 0, ~/~/ Количество полей. 6587 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора. 6588 + "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор агента. 6589 + "agentName": "string", ~/~/ Наименование агента. 6590 + "isEnabled": true, ~/~/ Активность локатора 6591 + "created": "2025-07-03T12:57:58.738Z", ~/~/ Дата создания 6592 + "updated": "2025-07-03T12:57:58.738Z", ~/~/ Дата обновления 6593 + "name": "string", ~/~/ Наименование локатора 6594 + "status": 0, ~/~/ Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 6595 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 6596 + "activationTime": "2025-07-03T12:57:58.738Z", ~/~/ Дата и время активации правила (UTC) 6597 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6598 + "validityType": 0, ~/~/ Тип значения срока действия (Дни = 0, Часы = 1, Минуты = 2) 6599 + "autoProlongation": true, ~/~/ Автоматическая пролонгация 6600 + "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID пользователя, создавшего локатор. 6601 + "creatorUserName": "string", ~/~/ Наименование пользователя создавшего локатора 6602 + "url": "string", ~/~/ ссылка на локатор 6603 + "language": 1, ~/~/ Язык локатора(1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6604 + "showVehicleName": true, ~/~/ Наименование объекта 6605 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6606 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6607 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6608 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6609 + "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ГИС) 6610 + 6011 6011 0 6012 - ] 6013 -} 6612 + ] 6613 + } 6614 +] 6014 6014 ))) 6015 6015 6016 6016 6017 -== ** Обновлениемаршрута** ==6618 +== **Изменение локатора** == 6018 6018 6019 -(% class="box successmessage" %)6620 +(% class="box infomessage" %) 6020 6020 ((( 6021 -**PUT /api/v3/TransportRoutes**6622 +**PUT /api/v3/locators** 6022 6022 ))) 6023 6023 6024 6024 Пример запроса: ... ... @@ -6025,72 +6025,68 @@ 6025 6025 6026 6026 ((( 6027 6027 { 6028 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6029 - "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6030 - "name": "string", ~/~/ Опредлеляет наименование маршрута. 6031 - "kind": 0, ~/~/ Определяет вид маршрута (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water) 6032 - "vehicles": [ ~/~/ Определяет список ТС для маршрута 6629 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Идентификатор локатора 6630 + "isEnabled": true, ~/~/ Активность 6631 + "name": "string", ~/~/ Наименование 6632 + "activationMode": 0, ~/~/ Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 6633 + "activationTime": "2025-03-12T07:07:53.002Z", ~/~/ Время активации 6634 + "validity": 0, ~/~/ Срок действия в днях (1-90) 6635 + "autoProlongation": true, ~/~/ Автопродление срока действия 6636 + "language": 1 ~/~/ Язык (1- Русский, 2- Английский, 3- Азербайджанский, 4 - Испанский) 6637 + "vehiclesIds": [ ~/~/ ID объектов отображающихся в локаторе, записываются через запятую 6033 6033 0 6034 - ] 6035 -} 6036 -))) 6639 + ], 6640 + "geoIds": [ ~/~/ ID геозон отображающихся в локаторе, записываются через запятую 6641 + 0 6642 + ], 6643 + "fieldsIds": [ ~/~/ ID полей отображающихся в локаторе, записываются через запятую 6644 + 0 6645 + ], 6646 + "showVehicleName": true, ~/~/ Наименование объекта 6647 + "showVehicleDirection": true, ~/~/ Показывать направление движения объекта на карте 6648 + "allowTrackReport": true, ~/~/ отображение колонки и кнопок **Построить историю за сутки** 6649 + "showTrackTracing": true, ~/~/ Отображение трассировки трека на карте по ссылке. 6650 + "showSensors": true, ~/~/ Отображение заведенных датчиков на объектах 6651 + "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ГИС) 6037 6037 6038 - 6039 -Пример ответа: 6040 - 6041 -((( 6042 -{ 6043 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ ID 6044 - "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", ~/~/ Id записи к которой принадлежит маршрут 6045 - "name": "string", ~/~/ Определяет наименование маршрута 6046 - "kind": 0, ~/~/ Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 6047 - "vehicles": [ ~/~/ Определяет список ТС для маршрута 6048 6048 0 6654 + 6049 6049 ] 6050 6050 } 6657 + 6658 + 6051 6051 ))) 6052 6052 6661 +Пример ответа: 6053 6053 6054 - ==**Получить связки маршрутов ТС** ==6663 +200 ~/~/ Success 6055 6055 6056 -(% class="box infomessage" %) 6057 -((( 6058 -**POST /api/v3/TransportRoutes/getroutesvehicles** 6059 -))) 6060 6060 6061 - Примерзапроса:6666 +== **Удалить локатор** == 6062 6062 6668 +(% class="box warningmessage" %) 6063 6063 ((( 6064 -[ 6065 - "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ идентификатор маршрута 6066 -] 6670 +**DELETE /api/v3/locators** 6067 6067 ))) 6068 6068 6673 +Пример запроса: 6069 6069 6070 -Пример ответа: 6071 - 6072 6072 ((( 6073 6073 [ 6074 - { 6075 - "vehicleId": 0, ~/~/ Опредлеляет идентификатор ТС 6076 - "routeGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Определяет идентификатор маршрута 6077 - } 6677 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" ~/~/ Идентификатор локатора 6078 6078 ] 6079 6079 ))) 6080 6080 6081 6081 6082 -= =**Удалитьмаршрут**==6682 += = 6083 6083 6084 -(% class="box warningmessage" %) 6085 6085 ((( 6086 -**DELETE /api/v3/TransportRoutes/{id}** 6685 +((( 6686 + 6087 6087 ))) 6688 +))) 6088 6088 6089 -Пример запроса: 6090 -Id ~/~/ Идентификатор поля 6091 6091 6092 - 6093 - 6094 6094 (% class="box" lang="en-US" style="text-align: center;" %) 6095 6095 ((( 6096 6096 (% 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]] **