Методы API для работы с ГЛОНАССSoft 

Page / - Изменено Андрей Калиновский в 2025/03/17 16:44 

Методы API для работы с ГЛОНАССSoft 
Изменено Андрей Калиновский
в 2025/03/17 16:44

Оглавление
Действующие ограничения
Раздел: Авторизация
Проверка авторизации
Раздел: Клиенты
Получение информации о клиенте
Получение параметров дочерних клиентов
Добавление клиента
Редактирование клиента
Удаление клиента
Смена статуса клиента (активация/блокировка)
Раздел: Пользователи
Добавление пользователя
Получение списка пользователей
Получение информации о пользователе
Редактирование пользователя
Изменение статуса пользователя
Блокировка пользователей
Разблокировка пользователей
Удаление пользователя
Раздел: Модель объекта
Получение информации о модели объекта
Просмотр списка моделей
Добавление модели
Редактирование модели
Удаление модели
Раздел: Транспортные средства (объекты)
Получение информации об объекте
Отправить команду на терминал
Получить ответ на отправленную на ТС команду
Добавление объекта
Импортировать историю ТС (Асинхронный запрос)
Возвращает статус асинхронного запроса импорта истории ТС
Получение списка объектов с основными параметрами
Изменение статуса объекта
Редактирование объекта
Удаление объекта
Раздел: Устройства
Получение списка типов устройств
Раздел: Датчики
Получение списка типов датчиков
Раздел: Сообщения
Данные об активности объекта
Получить тип и номер входа сырого параметра 
Запрос списка сообщений
Раздел: Запрос данных об объекте за период
Получение данных о пробеге и моточасах транспортного средства
Получение данных о расходе транспортного средства
Получение данных о заправках и сливах транспортного средства
Получение данных по событиям движения и стоянок у объектов
Получение последних данных объекта
Раздел: Запрос посещений геообъектов
Получение списка всех геообъектов
Запрос пересечений по объектам
Запрос пересечений по геообъектам
Обновить информацию по геозоне
Раздел: Уведомления
Запрос списка уведомлений клиента
Запрос настроек уведомления
Редактирование уведомления
Автоматическое продление уведомлений 
Удаление уведомления
Раздел: Водители
Получить список водителей клиента
Получить данные о водителе
Добавить водителя
Редактировать водителя
Удалить водителя
Раздел: Журнал назначений
Назначение водителя на объект
Получить назначения водителей запросом к водителю
Получить назначения водителей запросом к объекту
Создать назначение водителя на объект
Изменить назначения водителей на объекты
Удалить назначения водителей на объекты
Назначение карты-метки водителю
Получить назначения меток запросом к водителю
Получить назначения меток запросом к карте-метке
Добавить назначения меток на водителей
Изменить назначения меток на водителей
Удалить назначения меток на водителей
Назначение топливной карты водителю
Получить назначения топливных карт запросом к водителю
Получить назначения топливных карт запросом к топливной карте
Добавить назначение топливной карты водителю
Редактировать назначение топливной карты водителю
Удалить назначение топливной карты водителю
Раздел: Назначения агрегатов
Получить список назначений агрегатов на выбранные объекты
Раздел: Карты-метки
Получить список карт-меток определенного клиента
Получить данные карты-метки
Добавить карту-метку
Редактировать карту-метку
Удалить карту-метку
Раздел: Биллинг
Узнать баланс клиента
Узнать ограничения клиента
Узнать состояние тарифного плана клиента
Получить тарифные планы принадлежащие клиенту
Получить список доступных тарифных планов
Изменить баланс
Пополнить баланс
Списать с баланса
Изменить ограничения клиента
Изменить тариф клиента
Раздел: Импорт и Экспорт
Импорт объектов
Импорт сообщений
Статус импорта сообщений
Экспорт объектов
Экспорт сообщений
Статус экспорта сообщений
Раздел: Экодрайвинг
Запрос рейтинга качества вождения
Раздел: Топливные карты
Запрос транзакций по топливным картам
Получение списка топливных карт
Раздел: Методы публичного API для ретрансляторов
Получение полных данных о ретрансляторе
Удаление данных ретранслятора
Создание ретранслятора
Редактирование ретранслятора
Получение списка ретранслятора клиента
Раздел: Отчеты
API для отчета по выгрузке комбайнов
Отчет трек-датчики
Раздел: Сельскохозяйственные поля 
Запрос списка полей
Получение поля по id
Запрос на получение списка всех объектов в корзине
Запрос на удаление объектов из корзины
Запрос на восстановление объектов из корзины
Раздел: Журнал заданий 
Создание задания в Журнале заданий
Редактирование задания в Журнале заданий
Удаление задания в Журнале заданий
Получение списка Журнала заданий
Раздел: Локатор 
Получение списка локаторов, доступных пользователю 
Создание локатора
Изменение локатора
Удалить локатор
Раздел: Яндекс Маршруты
Возвращение списка маршрутов
Добавить маршрут
Обновление маршрута
Получить связки маршрутов ТС
Удалить маршрут
Раздел: Управление доступа к машинам
Получение списка транспортных средств видимых пользователю
Задает видимость транспортных средств пользователю

Для обеспечения бесперебойной работы команд и серверного оборудования ГЛОНАССSoft убедительно
просим вас соблюдать несколько простых правил при использовании API-команд:
•	Формировать не более 3 отчётов одновременно.
•	Ограничить количество активных сессий одного пользователя с одного IP-адреса до 50.
В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить выполнение запросов с определенных IP адресов. 
Чтобы избежать блокировки из-за превышения количества авторизаций, вам необходимо использовать токен авторизации, полученный с помощью метода /auth/login, во всех последующих запросах к API. Этот токен имеет ограниченный срок действия, который можно изменить, настроив параметр "Длительность сессии" в настройках пользователя.

При выполнении запросов с одним и тем же токеном его срок действия автоматически продлевается. Это позволяет пройти авторизацию только один раз и использовать полученный токен во всех последующих запросах без необходимости повторного входа в систему.
Содержание страницы:

•	Действующие ограничения
•	Раздел: Авторизация
•	Проверка авторизации
•	Раздел: Клиенты
•	Получение информации о клиенте
•	Получение параметров дочерних клиентов
•	Добавление клиента
•	Редактирование клиента
•	Удаление клиента
•	Смена статуса клиента (активация/блокировка)
•	Раздел: Пользователи
•	Добавление пользователя
•	Получение списка пользователей
•	Получение информации о пользователе
•	Редактирование пользователя
•	Изменение статуса пользователя
•	Блокировка пользователей
•	Разблокировка пользователей
•	Удаление пользователя
•	Раздел: Модель объекта
•	Получение информации о модели объекта
•	Просмотр списка моделей
•	Добавление модели
•	Редактирование модели
•	Удаление модели
•	Раздел: Транспортные средства (объекты)
•	Получение информации об объекте
•	Отправить команду на терминал
•	Получить ответ на отправленную на ТС команду
•	Список отправленных объекту команд с ответами
•	Добавление объекта
•	Импортировать историю ТС (Асинхронный запрос)
•	Возвращает статус асинхронного запроса импорта истории ТС
•	Получение списка объектов с основными параметрами
•	Изменение статуса объекта
•	API
•	Редактирование объекта
•	Удаление объекта
•	Раздел: Устройства
•	Получение списка типов устройств
•	Раздел: Датчики
•	Получение списка типов датчиков
•	Раздел: Сообщения
•	Данные об активности объекта
•	Получить тип и номер входа сырого параметра 
•	Запрос списка сообщений
•	Раздел: Запрос данных об объекте за период
•	Получение данных о пробеге и моточасах транспортного средства
•	Получение данных о расходе транспортного средства
•	Получение данных о заправках и сливах транспортного средства
•	Получение данных по событиям движения и стоянок у объектов
•	Получение последних данных объекта
•	Раздел: Запрос посещений геообъектов
•	Получение списка всех геообъектов
•	Запрос пересечений по объектам
•	Запрос пересечений по геообъектам
•	Обновить информацию по геозоне
•	Раздел: Уведомления
•	Запрос списка уведомлений клиента
•	Запрос настроек уведомления
•	Редактирование уведомления
•	Автоматическое продление уведомлений 
•	Удаление уведомления
•	Раздел: Водители
•	Получить список водителей клиента
•	Получить данные о водителе
•	Добавить водителя
•	Редактировать водителя
•	Удалить водителя
•	Раздел: Журнал назначений
•	Назначение водителя на объект
•	Получить назначения водителей запросом к водителю
•	Получить назначения водителей запросом к объекту
•	Создать назначение водителя на объект
•	Изменить назначения водителей на объекты
•	Удалить назначения водителей на объекты
•	Назначение карты-метки водителю
•	Получить назначения меток запросом к водителю
•	Получить назначения меток запросом к карте-метке
•	Добавить назначения меток на водителей
•	Изменить назначения меток на водителей
•	Удалить назначения меток на водителей
•	Назначение топливной карты водителю
•	Получить назначения топливных карт запросом к водителю
•	Получить назначения топливных карт запросом к топливной карте
•	Добавить назначение топливной карты водителю
•	Редактировать назначение топливной карты водителю
•	Удалить назначение топливной карты водителю
•	Раздел: Назначения агрегатов
•	Получить список назначений агрегатов на выбранные объекты
•	Раздел: Карты-метки
•	Получить список карт-меток определенного клиента
•	Получить данные карты-метки
•	Добавить карту-метку
•	Редактировать карту-метку
•	Удалить карту-метку
•	Раздел: Биллинг
•	Узнать баланс клиента
•	Узнать ограничения клиента
•	Узнать состояние тарифного плана клиента
•	Получить тарифные планы принадлежащие клиенту
•	Получить список доступных тарифных планов
•	Изменить баланс
•	Пополнить баланс
•	Списать с баланса
•	Изменить ограничения клиента
•	Изменить тариф клиента
•	Раздел: Импорт и Экспорт
•	Импорт объектов
•	Импорт сообщений
•	Статус импорта сообщений
•	Экспорт объектов
•	Экспорт сообщений
•	Статус экспорта сообщений
•	Раздел: Экодрайвинг
•	Запрос рейтинга качества вождения
•	Раздел: Топливные карты
•	Запрос транзакций по топливным картам
•	Получение списка топливных карт
•	Раздел: Методы публичного API для ретрансляторов
•	Получение полных данных о ретрансляторе
•	Удаление данных ретранслятора
•	Создание ретранслятора
•	Редактирование ретранслятора
•	Получение списка ретранслятора клиента
•	Раздел: Отчеты
•	API для отчета по выгрузке комбайнов
•	Отчет трек-датчики
•	Превышение скорости
•	Раздел: Сельскохозяйственные поля 
•	Запрос списка полей
•	Создание нового поля 
•	Получение поля по id
•	Удаление существующего поля
•	Изменение поля
•	Редактирование года урожая 
•	Раздел: Корзина
•	Запрос на получение списка всех объектов в корзине
•	Запрос на удаление объектов из корзины
•	Запрос на восстановление объектов из корзины
•	Раздел: Журнал заданий 
•	Создание задания в Журнале заданий
•	Редактирование задания в Журнале заданий
•	Удаление задания в Журнале заданий
•	Получение списка Журнала заданий
•	Раздел: Локатор 
•	Получение списка локаторов, доступных пользователю 
•	Создание локатора
•	Изменение локатора
•	Удалить локатор
•	Раздел: Яндекс Маршруты
•	Возвращение списка маршрутов
•	Добавить маршрут
•	Обновление маршрута
•	Получить связки маршрутов ТС
•	Удалить маршрут
•	API
•	Раздел: Управление доступа к машинам
•	Получение списка транспортных средств видимых пользователю
•	Задает видимость транспортных средств пользователю
Действующие ограничения
− Между запросами должна быть пауза в 1 секунду (превышение отвергается системой с уведомлением о превышении частоты запросов).
− Для работы со всеми методами API необходимо в заголовок добавлять X-Auth (токен авторизации, получаемый методом auth/login).
Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de.
− При редактировании любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
Рекомендации
- Для запросов по API рекомендуется наделить пользователя ролью Администратора партнера, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период).
Раздел: Авторизация

Авторизация
Адрес сервера всегда следует указывать именно тот, по которому происходит вход в СМТ (https://hosting.glonasssoft.ru/ , https://regions.glonasssoft.ru/ или другие)

POST /api/v3/auth/login
Метод позволяет получить токен авторизации, который необходимо добавлять в заголовок для работы со всеми методами API. В параметрах метода передается имя пользователя и пароль.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/auth/login
В случае успешного выполнения метода, поле «AuthId» содержит токен авторизации «X-Auth».
Параметры в теле запроса (JSON):
{
    "login": "testuser",
    "password": "testuser"
}
Ответ:
{
    "AuthId": "93c6jg79-b88b-4a35-a2d0-70dg9jc2898b" ,  // токен авторизации         
    "User": "testuser" ,  // имя пользователя
}
Примечание: Время жизни токена авторизации задается в настройках пользователя, там есть параметр длительность сессии. При каждом запросе токен пролонгируется.
Параметр	Описание	
login	Логин пользователя	
password	Пароль пользователя	
AuthId	Токен авторизации	
User	Логин пользователя	
Также  имеется возможность сквозной (/бесшовной) авторизации. Для этого к ссылке ( https://hosting.glonasssoft.ru /  https://regions.glonasssoft.ru) добавьте токен авторизации -  {AuthId}, чтобы попасть сразу в клиента (https://hosting.glonasssoft.ru/login?authId={AUTH_ID})
Проверка авторизации
GET /api/v3/auth/check
Метод позволяет проверить статус авторизации. Метод позволяет проверить активен токен авторизации или нет.
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/auth/check
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае если сессия активна HTTP ответ «200». В случае если сессия разорвана HTTP ответ «401».
Раздел: Клиенты
Получение информации о клиенте
GET api/v3/agents/{id}
Метод позволяет получить параметры выбранного клиента: наименование, полное наименование, тип, статус и идентификатор клиента-родителя и т.д. Метод возвращает информацию о клиентах с учетом настроек авторизованного пользователя, указанного в запросе:
− информация о клиенте предоставляется при наличии права «Просмотр клиентов»;
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/agents/{id}
Запрос должен содержать данные параметра "agentId"
Ответ:
{
  "agentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID клиента
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID родителя
  "parentName": "string", // Наименование агента
  "name": "string", // Имя клиента
  "fullName": "string", // ФИО клиента
  "agentInfoType": 0, // Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
  "isForeign": true, // Флаг "Иностранный контрагент"
  "district": "string", // Район
  "region": "string", // Область
  "city": "string", // Город
  "email": "string", // Email
  "director": "string", // Руководитель
  "RegionalData": [ // Определяет региональные сведения.
    {
      "Country": 0, // Страна
      "groups": [ // Список групп
        {
          "groupId": "string", // Уникальный идентификатор группы 
          "fields": [ // Список значений полей
            {
              "name": "string", // Имя поля формы
              "value": "string" // Значение поля формы
            }
          ]
        }
      ]
    }
  ]
}
Параметр	Описание	
agentId	Идентификатор клиента  	
parentId	Идентификатор клиента-родителя	
parentName	Наименование клиента-родителя	
name	Наименование клиента	
fullName	Полное наименование клиента	
agentInfoType	Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)	
isForeign	Иностранный контрагент	
district	Округ	
region	Регион	
city	Город	
inn	ИНН клиента	
kpp	КПП клиента	
address	Юридический адрес	
addressFact	Фактический адрес	
email	Электронная почта	
director	ФИО руководителя	
bankName	Банк	
bankBIK	БИК	
bankRS	Номер счета	
bankKS	Корр. счет	
Получение параметров дочерних клиентов
POST /api/v3/agents/find
Метод позволяет получить параметры всех дочерних клиентов: наименование, полное наименование, тип, статус и идентификатор клиента-родителя и т.д. Метод возвращает информацию о клиентах с учетом настроек авторизованного пользователя, указанного в запросе:
− информация о клиентах предоставляется при наличии права «Просмотр клиентов»;
− возвращается информация о клиенте, которому принадлежит авторизованный пользователь, и его дочерних клиентах;
− информация о клиенте типа «Партнер» и его клиентов возвращается при наличии права «Доступ к партнёрским клиентам».
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/agents/find
Параметр запроса:
{
  "parentId": "string"
}
Ответ:
{
    "agentId": "",   
    "parentId": "",
    "name": "string",
    "fullName": "string",
    "agentInfoType": 0,
    "status": "",
}
Параметр	Описание	
agentId	Идентификатор клиента  	
parentId	Идентификатор клиента-родителя	
name	Наименование клиента	
fullName	Полное наименование клиента	
agentInfoType	Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)	
status	Статус клиента, 0 - заблокирован, 1 - Активен	
Добавление клиента
POST /api/v3/agents 
Метод позволяет добавить клиента, указанного в запросе.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/agents
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
  "parentId": "00000000-0000-0000-0000-000000000000", // идентификатор клиента-родителя 
  "name": "string", // имя
  "fullName": "string", // полное наименование
  "agentInfoType": 0, // тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
  "isForeign": true, // иностранный контрагент
  "district": "string", // округ
  "region": "string", // регион
  "city": "string", // город
  "inn": "string", // ИНН
  "kpp": "string", // КПП
  "address": "string", // юридический адрес
  "addressFact": "string", // фактический адрес
  "email": "string", // email
  "director": "string", // ФИО руководителя
  "bankName": "string", // банк
  "bankBIK": "string", // БИК
  "bankRS": "string", // номер счёта
  "bankKS": "string" // корр. счёт
}
Ответ:
{
  "agentId": "00000000-0000-0000-0000-000000000000", // идентификатор клиента
  "parentId": "00000000-0000-0000-0000-000000000000", // идентификатор клиента-родителя 
  "name": "string", // имя
  "fullName": "string", // полное наименование
  "agentInfoType": 0, // тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
  "isForeign": true, // иностранный контрагент
  "district": "string", // округ
  "region": "string", // регион
  "city": "string", // город
  "inn": "string", // ИНН
  "kpp": "string", // КПП
  "address": "string", // юридический адрес
  "addressFact": "string", // фактический адрес
  "email": "string", // email
  "director": "string", // ФИО руководителя
  "bankName": "string", // банк
  "bankBIK": "string", // БИК
  "bankRS": "string", // номер счёта
  "bankKS": "string" // корр. счёт
}
Параметр	Описание	
agentId	Идентификатор клиента  	
parentId	Идентификатор клиента-родителя	
parentName	Наименование клиента-родителя	
name	Наименование клиента	
fullName	Полное наименование клиента	
agentInfoType	Тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)	
isForeign	Иностранный контрагент	
district	Округ	
region	Регион	
city	Город	
inn	ИНН клиента	
kpp	КПП клиента	
address	Юридический адрес	
addressFact	Фактический адрес	
email	Электронная почта	
director	ФИО руководителя	
bankName	Банк	
bankBIK	БИК	
bankRS	Номер счета	
bankKS	Корр. счет	
Редактирование клиента
PUT /api/v3/agents
Метод позволяет отредактировать клиента, указанного в запросе.
Метод запроса: PUT
URL запроса: https://hosting.glonasssoft.ru/api/v3/agents
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
  "agentId": "00000000-0000-0000-0000-000000000000", // идентификатор клиента
  "parentId": "00000000-0000-0000-0000-000000000000", // идентификатор клиента-родителя 
  "name": "string", // имя
  "fullName": "string", // полное наименование
  "agentInfoType": 0, // тип клиента (0- Клиент, 1 - Партнер, 2 - Группа, 3 - Административная группа, 4 - Тестовый клиент, 5 - Договор)
  "isForeign": true, // иностранный контрагент
  "district": "string", // округ
  "region": "string", // регион
  "city": "string", // город
  "inn": "string", // ИНН
  "kpp": "string", // КПП
  "address": "string", // юридический адрес
  "addressFact": "string", // фактический адрес
  "email": "string", // email
  "director": "string", // ФИО руководителя
  "bankName": "string", // банк
  "bankBIK": "string", // БИК
  "bankRS": "string", // номер счёта
  "bankKS": "string" // корр. счёт
}
Ответ:
{
  "agentId": "00000000-0000-0000-0000-000000000000", // идентификатор клиента
  "parentId": "00000000-0000-0000-0000-000000000000", // идентификатор клиента-родителя 
  "name": "string", // имя
  "fullName": "string", // полное наименование
  "isForeign": true, // иностранный контрагент
  "district": "string", // округ
  "region": "string", // регион
  "city": "string", // город
  "inn": "string", // ИНН
  "kpp": "string", // КПП
  "address": "string", // юридический адрес
  "addressFact": "string", // фактический адрес
  "email": "string", // email
  "director": "string", // ФИО руководителя
  "bankName": "string", // банк
  "bankBIK": "string", // БИК
  "bankRS": "string", // номер счёта
  "bankKS": "string" // корр. счёт
}
Удаление клиента
DELETE /api/v3/agents/{clientId}
Метод позволяет удалить клиента, указанного в строке запроса.
Метод запроса: DELETE
URL запроса: https://hosting.glonasssoft.ru/api/v3/agents/{clientId}
Параметр запроса: {clientId} - Guid пользователя
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Смена статуса клиента (активация/блокировка)
PUT /api/v3/agents/{id}/changeStatus/{status}
Метод позволяет изменить статус клиента, указанного в запросе.
В пути указывается GUID клиента и статус клиента.
status - значение 0 - заблокирован, 1 - активен.
Ответ: Code 204
Раздел: Пользователи
Добавление пользователя
POST /api/v3/users
Метод позволяет добавить пользователя. Метод позволяет добавить пользователя, указанного в запросе.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/users
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{ 
    "lastName": "",  // фамилия   
    "firstName": "",  // имя   
    "position": "",  // должность   
    "phone": "",  // телефон   
    "organization": "",  // организация   
    "login": "",  // логин (обязателен)
    "password": "",  // пароль (обязателен)
    "email": "",  // email (обязателен)
    "description": "string", // Описание
    "isReadOnly": true, // Право только на чтение, true - включено, false - отключено
    "isDisabledMobile": true, // Запретить использовать мобильное приложение, true - включен, false - отключен
    "isEnabled": true, // Включен, true - включен, false - отключен
    "parentId": "",  // Guid родительского агента   
    "leaderId": "",  // Guid руководителя (null - не задан)
    "sessionDuration": 0, // продолжительность сессии, в минутах (null - по умолчанию, 30 минут)
    "doubleAuth":
    {
       "kind": 0, // Состояние двухэтапной аутентификации, email - включен, None - отключен
       "target": "string" // Адрес электронной почты двухэтапной аутентификации
    },
    "groups":
    [
       "string" // группы пользователя, перечисление названия системных ролей
    ],
    "customGroups":
    [
       "3fa85f64-5717-4562-b3fc-2c963f66afa6" // группы пользователя, перечисление названия клиентских ролей
    ],
    "language": 0 // Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский
}
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "lastName": "string",
  "firstName": "string",
  "position": "string",
  "phone": "string",
  "organization": "string",
  "login": "string",
  "password": "string",
  "email": "string",
Ответ:
{     
    "id": "" ,  // ID пользователя     
    "lastName": "" ,  // Фамилия ,     
    "firstName": "" ,  // Имя     
    "position": "" ,  // Должность     
    "phone": "" ,  // Телефон     
    "organization": "" ,  // Организация     
    "login": "" ,  // Логин     
    "password": "" ,  // Пароль     
    "email": "" ,  // Email     
    "description": "" ,  // Описание     
    "isEnabled": "" ,  // Признак включения     
    "parentId": "" ,  // Guid родительского агента     
    "sessionDuration": "" ,  // Продолжительность сессии, в минутах     
    "doubleAuth": "" ,  // параметры двухфакторной аутентификации         
    "kind": "" ,  // тип аутентификации         
    "target": "" ,  // в случае аутентификации по email - email-адрес     
    "groups": ["", ""] ,  // роли пользователя, перечислены названия групп пользователя
}
Получение списка пользователей
POST /api/v3/users/find
Метод позволяет получить основные параметры пользователей: логин, имя, адрес электронной почты, номер телефона, статус, идентификатор клиента-родителя и прочее.
Метод возвращает информацию о пользователях клиента-родителя авторизованного пользователя и пользователях его дочерних клиентов. Информация о пользователях предоставляется при наличии права «Просмотр пользователей».
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/find
Условия фильтрации объектов задаются в теле запроса.
Параметры в теле запроса (JSON):
{
  "parentId": "375a1f06-c384-43f8-8562-1c3d79a32303",  // GUID агента, для которого надо получить данные, null - для текущего агента
  "userId": "11111111-c384-43f8-8562-1c3d79a32303",  // ID пользователя, по которому фильтруется, null - неважно
  "login": "qqqqqq",  // Логин пользователя, по которому фильтруется, null - неважно
  "email": "eee",  // Email пользователя, по которому фильтруется, null - неважно
}
Ответ:
{            
    "id": "" ,  // идентификатор пользователя         
    "lastName": "" ,  // фамилия         
    "firstName": "" ,  // имя         
    "position": "" ,  // должность         
    "phone": "" ,  // телефон         
    "parentId": "" ,  // идентификатор клиента-родителя         
    "parentName": "" ,  // наименование клиента-родителя         
    "organization": "" ,  // организация         
    "login": "" ,  // логин        
    "email": "" ,  // E-mail
    "sessionDuration":"", // длительность сессии в минутах
    "status": "1",  // статус пользователя         
    "lastLogged": "", // дата/время последней авторизации
}
Получение информации о пользователе
GET /api/v3/users/{GUID}
Метод возвращает подробную информацию о пользователе клиента-родителя авторизованного пользователя или пользователя его дочерних клиентов. Информация о пользователе предоставляется при наличии права «Просмотр пользователей».
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/{GUID}
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
    "id": "", // GUID пользователя
    "lastName": "", // Фамилия 
    "firstName": "", // Имя
    "position": "", // Должность
    "phone": "", // Номер телефона
    "parentId": "", // GUID клиента, которому принадлежит пользователь
    "parentName": "", Наименование клиента, которому принадлежит пользователь
    "organization": "", // Организация
    "login": "", // Логин пользователя
    "email": "", // Адрес электронной почты
    "language": , // Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский
    "isReadOnly": , // Право только на чтение, true - включено, false - отключено
    "description": "", // Описание
    "isEnabled": , // Включен, true - включен, false - отключен
    "doubleAuth":
    {
        "kind": "None", // Состояние двухэтапной аутентификации, email - включен, None - отключен
        "target": "string" // Адрес электронной почты двухэтапной аутентификации
    },
    "isDisabledMobile": false, // Запретить использовать мобильное приложение, true - включен, false - отключен
    "sessionDuration": 30, // Длительность сессии в минутах
    "status": 0, // Статус пользователя, 0 - новый, 1 - подтвержден, 2 - активен, 3 - уточнить, 4 - блокирован
    "lastLogged": "2022-08-22T06:57:51.002129Z", // Дата и время последнего входа пользователя
    "groups": [], // Список ролей пользователя
    "customGroups": [], // Список клиентских ролей пользователя
    "authDevices": [ ], // Список авторизованных устройств
    "mobileDoubleAuthDevices": [], // Список авторизованных мобильных устройств
    "pushNotificationsDevices": [] // Список мобильных устройств которые были подписаны на мобильные уведомления
}
Редактирование пользователя
PUT /api/v3/users
Метод позволяет отредактировать пользователя. Метод позволяет отредактировать пользователя, указанного в запросе.
Метод запроса: PUT
URL запроса: https://hosting.glonasssoft.ru/api/v3/users
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{   
    "id": "" ,  // ID пользователя 
    "lastName": "" ,  // фамилия   
    "firstName": "" ,  // имя   
    "position": "" ,  // должность   
    "phone": "" ,  // телефон   
    "organization": "" ,  // организация   
    "login": "" ,  // логин   (Если null - менять не надо)
    "password": "" ,  // пароль (Если null - менять не надо)
    "language": , // Язык интерфейса пользователя 1 - Русский, 2 - Английский, 3 - Азербайджанский
    "isReadOnly": , // Право только на чтение, true - включено, false - отключено   
    "email": "" ,  // email   (Если null - менять не надо)
    "description": "" ,  // описание   
    "isEnabled": "" ,  // признак включения   
    "parentId": "" ,  // Guid родительского агента   
    "leaderId": "" ,  // Guid руководителя (null - не задан)   
    "sessionDuration": "" ,  // продолжительность сессии, в минутах (null - по умолчанию, 30 минут)   
    "doubleAuth":
    {
        "kind": "None", // Состояние двухэтапной аутентификации, email - включен, None - отключен
        "target": "string" // Адрес электронной почты двухэтапной аутентификации
    },
    "isDisabledMobile": false, // Запретить использовать мобильное приложение, true - включен, false - отключен
    "groups": "" ,  // группы пользователя, «user» названия группы пользователя
}
Ответ:
{     
    "id": "" ,  // идентификатор пользователя         
    "lastName": "" ,  // фамилия         
    "firstName": "" ,  // имя         
    "position": "" ,  // должность         
    "phone": "" ,  // телефон     
    "organization": "" ,  // организация     
    "login": "" ,  // логин     
    "password": "" ,  // пароль 
    "email": "" ,  // email     
    "description": "" ,  // описание      
    "isEnabled": "" ,  // признак включения       
    "parentId": "" ,  // Guid родительского агента     
    "sessionDuration": "" ,  // продолжительность сессии, в минутах 
    "doubleAuth":
    {
        "kind": "None", // Состояние двухэтапной аутентификации, email - включен, None - отключен
        "target": "string" // Адрес электронной почты двухэтапной аутентификации
    },
    "isDisabledMobile": false, // Запретить использовать мобильное приложение, true - включен, false - отключен
    "target": "" ,  // в случае аутентификации по email - email-адрес     
    "groups": "" ,  // группы пользователя, «user» названия группы пользователя
}
Изменение статуса пользователя
 PUT /api/v3/users/status/{id}
Метод позволяет изменить статус пользователя, указанного в запросе.
Метод запроса: PUT
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/status/{id}
Параметр запроса: {id} - Guid пользователя
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
    "status": "" ,  // статус пользователя (0 - новый, 1 - подтверждён, 2 - активен, 3 - уточнить, 4 - блокирован)
    "description": "" ,  // описание
    "data": "" ,  // данные, связанные со сменой статуса
}
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200»
Блокировка пользователей
POST /api/v3/users/disable
Метода позволяет выполнить массовую блокировку пользователей.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/disable
В теле запроса перечисляете массив id пользователей (JSON):
 [ 
   "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
    "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
  ]
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200»
Разблокировка пользователей
POST /api/v3/users/enable
Метода позволяет выполнить массовую разблокировку пользователей.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/enable
В теле запроса перечисляете массив id пользователей (JSON):
 [ 
    "8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
    "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
  ]
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200»

Для двух, описанных выше, методов если не получилось выполнить включение или отключение некоторых пользователей из переданного списка возвращается ответ - 206 Partial Content
В теле ответа:
{
    "errorMessages": [
        "Agent 0f8c2a8b-4b71-48d0-b780-341053089874 cannot access to object Agents d493fd88-60c8-465d-afad-912f5ac9d719."
    ],
    "users": [
        "415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
    ]
}

"errorMessages" - массив ошибок, из-за которых не выполнилось действие с пользователями.
"users" - массив id пользователей, которых не удалось включить или отключить.
Удаление пользователя
DELETE /api/v3/users/{id}
Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса.
Метод запроса: DELETE
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/{id}
Параметр запроса: {id} - Guid пользователя
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Раздел: Модель объекта
Получение информации о модели объекта
GET /api/v3/models/{Id}
Метод возвращает полную информацию о модели объекта.
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/models/{ID}
Параметр запроса: {id} - идентификатор модели объекта
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
  "parentName": "string",
  "name": "string",
  "picture": "string",
  "minspeed": 0,
  "maxspeed": 0,
  "width": 0,
  "imbeddedtrailer": true,
  "hoppercapacity": 0,
  "hopperdischargespeed": 0,
  "modelType": 0,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true
}
Параметр	Описание	
parentName	Имя клиента, которому принадлежит модель объекта	
name	Имя модели объекта	
picture	Название иконки транспорта	
minspeed	Минимальная технологическая скорость обработки поля, в км/ч	
maxspeed	Максимальная технологическая скорость обработки поля, в км/ч	
width	Ширина агрегата, в метрах	
imbeddedtrailer	Опция: Содержит встроенный агрегат	
hoppercapacity	Объем бункера	
hopperdischargespeed	Скорость2 выгрузки из бункера, л/сек	
modelType	Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car	
id	ID модели объекта	
parentId	ID клиента, которому принадлежит модель объекта	
deleted	Признак удаления, тип: boolean	
Просмотр списка моделей
POST /api/v3/models/find
Метод позволяет получить список всех моделей клиента, указанного в запросе.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/models/find
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):{
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Ответ:
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "parentName": "string",
    "name": "string",
    "modelType": 0
  }
]
Параметр	Описание	
parentName	Имя клиента, которому принадлежит модель объекта	
name	Имя модели объекта	
modelType	Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car	
id	ID модели объекта	
parentId	ID клиента, которому принадлежит модель объекта	
Добавление модели
POST /api/v3/models
Метод позволяет добавить объект, указанный в запросе.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/models
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true,
  "extId": "string",
  "name": "string",
  "picture": "string",
  "minspeed": 0,
  "maxspeed": 0,
  "width": 0,
  "imbeddedtrailer": true,
  "fueloutlay": 0,
  "hoppercapacity": 0,
  "hopperdischargespeed": 0,
  "modelType": 0
}
Ответ:
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true,
  "extId": "string",
  "name": "string",
  "picture": "string",
  "minspeed": 0,
  "maxspeed": 0,
  "width": 0,
  "imbeddedtrailer": true,
  "hoppercapacity": 0,
  "hopperdischargespeed": 0,
  "modelType": 0
}
Параметр	Описание	
id	ID модели объекта	
parentId	ID клиента, которому принадлежит модель объекта	
parentName	Имя клиента, которому принадлежит модель объекта	
name	Имя модели объекта	
picture	Название иконки транспорта	
minspeed	Минимальная технологическая скорость обработки поля, в км/ч	
maxspeed	Максимальная технологическая скорость обработки поля, в км/ч	
width	Ширина агрегата, в метрах	
imbeddedtrailer	Опция: Содержит встроенный агрегат	
hoppercapacity	Объем бункера	
hopperdischargespeed	Скорость выгрузки из бункера, л/сек	
modelType	Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car	
Редактирование модели
 PUT /api/v3/models
Метод позволяет изменить статус пользователя, указанного в запросе.
Метод запроса: PUT
URL запроса: https://hosting.glonasssoft.ru/api/v3/models
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true,
  "extId": "string",
  "name": "string",
  "picture": "string",
  "minspeed": 0,
  "maxspeed": 0,
  "width": 0,
  "imbeddedtrailer": true,
  "fueloutlay": 0,
  "hoppercapacity": 0,
  "hopperdischargespeed": 0,
  "modelType": 0
}
Ответ:
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true,
  "extId": "string",
  "name": "string",
  "picture": "string",
  "minspeed": 0,
  "maxspeed": 0,
  "width": 0,
  "imbeddedtrailer": true,
  "fueloutlay": 0,
  "hoppercapacity": 0,
  "hopperdischargespeed": 0,
  "modelType": 0
}
Параметр	Описание	
id	ID модели объекта	
parentId	ID клиента, которому принадлежит модель объекта	
parentName	Имя клиента, которому принадлежит модель объекта	
name	Имя модели объекта	
picture	Название иконки транспорта	
minspeed	Минимальная технологическая скорость обработки поля, в км/ч	
maxspeed	Максимальная технологическая скорость обработки поля, в км/ч	
width	Ширина агрегата, в метрах	
imbeddedtrailer	Опция: Содержит встроенный агрегат	
hoppercapacity	Объем бункера	
hopperdischargespeed	Скорость выгрузки из бункера, л/сек	
modelType	Определяет тип модели объекта: 0 - None, 1 - Agro, 2 - Cargo, 3 - Car	
Удаление модели
DELETE /api/v3/models/{Id}
Метод позволяет удалить пользователя. Метод позволяет удалить пользователя, указанного в строке запроса.
Метод запроса: DELETE
URL запроса: https://hosting.glonasssoft.ru/api/v3/models/{Id}
Параметр запроса: {id} - id модели
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успеха Success 200
Раздел: Транспортные средства (объекты)
Получение информации об объекте
GET /api/v3/vehicles/{vehicleId}
Метод позволяет получить всю информацию из карточки объекта: ID, имя объекта, imei, тип устройства, SIM1, SIM2, ID клиента, название клиента, ID модели, наименование модели объекта, ID подразделения, водители, ТО, текущий пробег, моточасы, нормы расхода, полную историю статусов со всеми комментариями, список датчиков (тип, наименование, тип входа, номер входа, псевдоним, тип датчика, тип тарировки, тарировка, состояние чекбоксов «отображается в подсказке» и «отображать последнее валидное значение».
Метод возвращает информацию об объекте с учетом настроек авторизованного пользователя, указанного в запросе:
− возвращается информация об объекте клиента-родителя авторизованного пользователя и объекте его дочерних клиентов;
− информация о ТО предоставляется с учётом прав на «Просмотр заданий на техобслуживание».
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/{vehicleID}
Параметр запроса: {vehicleid} - идентификатор объекта (integer($int32))
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
   "showLineTrackWhenNoCoords": true,  // Обозначать трек при отсутствии координат.
   "IsSackEnabled": true, // Определяет, должен ли внутренний сервер отвечать устройству сообщением SACK при получении сообщения от устройства
                                      //Используется только на ТС с типом устройства quecklink gv56, quecklink gv58, quecklink
   "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid TC
    "vehicleId": "", // ID объекта
    "name": "", // Имя объекта
    "imei": "", // IMEI объекта
    "deviceTypeId": , // ID типа устройства
    "deviceTypeName": "", // Название типа устройства
    "sim1": "", // Номер SIM1
    "sim2": "", // Номер SIM2
    "parentId": "", // ID клиента-родителя
    "parentName": "", // Наименование клиента-родителя
    "modelId": "", // ID модели объекта
    "modelName": "", // Имя модели объекта
    "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID подразделения
    "unitName": "string", // Наименование подразделения
    "status": 0, // Статус объекта
    "createdAt": "", // Дата создания объекта
    },
"customFields": [ // Произвольные поля
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID поля
      "name": "string", // Имя поля
      "value": "string", // Значение поля
      "forClient": true, // Не используемая функция
      "forTooltip": true, // Отображать в подсказке
      "forReport": true // Отображать в отчете
    }
], // Данные с вкладки нормы
    "consumptionPer100Km": "" ,  // Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено)
    "consumptionPerHour": "" ,  // Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено)
    "consumptionIdle": "" ,  // Расход топлива на холостом ходу
    "consumptionPer100KmSeasonal": 0, // Сезонный расход топлива на 100 км 
    "consumptionPerHourSeasonal": 0, // Сезонный расход топлива на моточас
     "consumptionIdleSeasonal": 0, // Сезонный расход топлива на холостом ходу 
     "consumptionPer100KmSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на 100 км
     "consumptionPer100KmSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на 100 км
     "consumptionPerHourSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на моточас
     "consumptionPerHourSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на  моточас
     "consumptionIdleSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на х/х
     "consumptionIdleSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на х/х  
  "mileageCalcMethod": 0, // Метод расчета пробега, 0 - gps, 1 - датчик зажигания
  "mileageCoeff": 0, // коэффициент пробега
  "locationByCellId": true, // определение местоположения по данным LBS, true - активна, false - не активна
  "dottedLineTrackWhenNoCoords": true, // Обозначать пунктиром трек при отсутствии координат, true - активна, false - не активна
  "counters": { // Счетчики
    "mileageEnabled": true, // Считать текущий пробег, true - активна, false - не активна
    "motohoursEnabled": true, // Считать текущие моточасы, true - активна, false - не активна
    "mileage": 0, // Текущий пробег
    "motohours": 0, // Текущие моточасы
    "mileageTime": "2023-05-22T09:57:39.562Z", // Дата пересчета последнего пробега
    "motohoursTime": "2023-05-22T09:57:39.562Z" // Дата пересчета последних моточасов
  },
"cmsv6Parameters": { // Настройки видеомониторинга
    "id": "string", // ID объекта
    "enabled": true, // Включить, true - активна, false - не активна
    "host": "string", // CMSV6 Web Host
    "login": "string", // CMSV6 Account
    "password": "string" // CMSV6 Password
  },
"commandTemplates": [ // Шаблоны команд
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID команды
      "name": "string", // Наименование команды
      "command": "string", // Текст команды
      "retries": 0 // Количество попыток
    }
  ],
   "sensors": [ // Датчики
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID датчика
      "kind": 0, // Тип, Simple - простой, Composite - виртуальный
      "type": 0, // Тип датчика
      "name": "string", // Имя датчика
      "inputType": 0, // Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE
      "inputNumber": 0, // Номер входа
      "pseudonym": "string", // Псевдоним
      "medianDegree": 0, // Медианная фильтрация
      "isInverted": true, // Инвертировать, true - Вкл., false - Выкл.
      "disabled": true, // Состояние: Отключен, true - Вкл., false - Выкл.
      "gradeType": 0, // Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
      "gradesTables": [ // Массив таблиц тарировки
        {
          "grades": [ // Таблица тарировки 1
            {
              "input": 0, // Входящее значение
              "output": 0 // Выходящее значение
            }
          ],
          "relevanceTime": "2023-05-22T09:57:39.562Z" // Дата/время начала применения тарировочной таблицы
        }
      ],
      "showInTooltip": true, // Отображать в подсказке
      "showLastValid": true, // Отображать последнее валидное значение
      "color": "string", // Код цвета датчиков
      "showAsDutOnGraph": true, // Отображать на графике как датчик уровня топлива
      "showWithoutIgn": true, // Отображать трек без включенного зажигания
      "agrFunction": 0, // Функция, SUM, AVG, EXPRESSION
      "expr": "string", // Формула
      "children": [ // массив дочерних датчиков
        "string"
      ],
      "customParams": { // прочие произвольные параметры
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
// Характерные для произвольного:
//                "EventsEnabled": "off", // Фиксировать события работы: on, off
//                "EventsTemplateName": "Работа Произвольный", // Наименование события работы
//                "EventsCountEnabled": "off", // Фиксировать количество срабатываний: on, off
//                "EventsCountTemplateName": "Количество срабатываний Произвольный", //Наименование //события количества срабатываний
//               "MapDisplayEnabled": "off", // Отображать на карте: on, off
//                "ChartDisplayEnabled": "off", // Отображать на графике объекта: on, off
//               "PayloadChartDisplayEnabled": "off", // Отображать на графике полезной нагрузки: on, off
//                "DrawType": // тип отрисовки line, bar (Линия, Область)
// Характерные для таблицы тарировки Вкл./Выкл.:
// "ValueOn": "Вкл.",
// "ValueOff": "Выкл."
      "summaryMaxValue": 0 // Макс. значение
    }
    "drivers": [ // Водители
          {
         "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
         "name": "string", // Наименование
         "description": "string",
         "isDefault": true // По умолчанию
          }
    ],
    "inspectionTasks": [ // Задания на тех. обслуживание
        {
            "id": "", // ID  задания
            "enabled": "", // Флаг активности задания (true - включен, false - отключен)
            "name": "", // Наименование задания
            "description": "", // Описание задания
            "mileageCondition": "", // Условие по пробегу (в метрах, null - условие не работает)
            "lastMileage": "", // Пробег (в метрах) на момент последнего ТО (null - неважно)
            "motohoursCondition": "", // Условие по моточасам (в секундах, null - условие не работает)
            "lastMotohours": "", // Моточасы (в секундах) на момент последнего ТО (null - неважно)
            "periodicCondition": "", // Условие периодичности по времени (null - условие не работает)
            "kind": "", // Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает)
            "lastInspectionDate": "" // Дата последнего ТО (null - не указано)
            "maxQuantity": ""   // Сколько раз выполнить задание (null - однократно)
        }
    ],
"statusHistory": [ // История статусов
    {
      "status": 0,
      "date": "2023-05-22T09:57:39.562Z",
      "description": "string",
      "additionalInfo": "string"
}
  ],
  "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // Guid датчика, выбранного для подсветки его значения в различных интервалах
  "motohoursCalcMethod": 0 // Вид расчета моточасов. 
                                               // 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
}
 
Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже:
0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется».
Отправить команду на терминал
POST /api/v3/Vehicles/cmd/create
Команда для отправки на тс.
{  
"id": "",  //идентификатор объекта (он же идентификатор ТС: vehicleId)
"command": "", //  Текст отправляемой команды
"retries": "",  // Количество попыток отправки на терминал
"idTemplate": "" // ID шаблона команды (при использовании ранее созданных шаблонов). 
}
В ответ получаем cmdid
Получить ответ на отправленную на ТС команду
GET /api/v3/Vehicles/cmd/{cmdId}/answer
Идентификатор команды: cmdId
Запрос от терминала на ответ команды
Пример ответ от терминала:
ID= "" // идентификатор объекта
Soft="" // версия софта
GPS=4 // тип трекера
Time=11:05:43 28.06.24 // время запроса
Lat=45.056221 // широта
Lon=39.035938 // долгота
Speed=0.0 // скорость
Course=181.4 //направление
Список отправленных объекту команд с ответами
GET/api/v3/Vehicles/cmd/{vehicleId}/history
Идентификатор ТС: vehicleId 
В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала.
Пример ответа терминала
[   
{    
"id": "",  // идентификатор пользователя
"commandText": "",   //Текст команды.
"templateId": "",    //Идентификатор шаблона
"updated": "",  // Время отправки  
"tryCount": 0,  // Количество попыток отправки команды
"answer": "",    // Ответ терминала.
"status": "" // Статус отправки
}
]
Добавление объекта
POST /api/v3/vehicles
Метод позволяет добавить объект, указанный в запросе.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON): Обязательные параметры наименование и модель объекта В теле запроса - объект JSON
{
    "vehicleId": 0, // ID ТС
    "parentId": "" ,  // ID клиента
    "name": "" ,  // имя ТС
    "imei": "" ,  // IMEI
    "deviceTypeId": "" ,  // ID типа устройства
    "modelId": "" , // ID модели
    "unitId": "" ,  // ID подразделения
    "sim1": "" ,  // Номер SIM 1
    "sim2": "" ,  // Номер SIM2
    "consumptionPer100Km": "" ,  // Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено)
    "consumptionPerHour": "" ,  // Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено)
    "consumptionIdle": "" ,  // Расход топлива на холостом ходу
    "consumptionPer100KmSeasonal": 0, // Сезонный расход топлива на 100 км 
    "consumptionPerHourSeasonal": 0, // Сезонный расход топлива на моточас
     "consumptionIdleSeasonal": 0, // Сезонный расход топлива на холостом ходу 
     "consumptionPer100KmSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на 100 км
     "consumptionPer100KmSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на 100 км
     "consumptionPerHourSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на моточас
     "consumptionPerHourSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на моточас
     "consumptionIdleSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на х/х
     "consumptionIdleSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на х/х
     "mileageCalcMethod": 0,
     "mileageCoeff": 0,
     "locationByCellId": true,
     "dottedLineTrackWhenNoCoords": true,
     "counters":  // счетчики
      {
     "mileage": "" ,  // пробег
     "mileageEnabled": true,  // флаг активности счётчика "пробег"
     "motohours": "" ,  // моточасы
     "motohoursEnabled": true  // флаг активности счётчика "моточасы"
      },
    "cmsv6Parameters": { // параметры CMSv6
      "enabled": true,  // флаг включения
      "id": "" ,  // идентификатор
      "host": "" ,  // IP-адрес или доменное имя из URL веб-сайта CMSV6
      "login": "" ,  // имя учетной записи
      "password": ""   // пароль учетной записи
      },
    "inspectionTasks":  // задания на ТО
      {
      "enabled": "" ,  // Признак включения
      "name": "" ,  // Имя задания
      "description": "" ,  // Описание задания
      "mileageCondition": "" ,  // Условие по пробегу (в метрах, null - условие не работает)
      "lastMileage": "" ,  // Пробег (в метрах) на момент последнего ТО (null - неважно)
      "motohoursCondition": "" ,  // Условие по моточасам (в секундах, null - условие не работает)
      "lastMotohours": "" ,  // Моточасы (в секундах) на момент последнего ТО (null - неважно)
      "periodicCondition": "" ,  //  Условие периодичности по времени (null - условие не работает)
      "kind": "" ,  // Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает)
      "lastInspectionDate": "" ,  // Дата последнего ТО (null - не указано)
      "maxQuantity": ""   // Сколько раз выполнить задание (null - однократно)
      }
"drivers": [ // Водители
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "isDefault": true
    }
  ],
  "commandTemplates": [ // Шаблон команды
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "command": "string",
      "retries": 0
    }
  ],
"sensors": [ // Датчики
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID датчика
      "kind": 0, // Тип, Simple - простой, Composite - виртуальный
      "type": 0, // Тип датчика
      "name": "string", // Имя датчика
      "inputType": 0, // Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE
      "inputNumber": 0, // Номер входа
      "pseudonym": "string", // Псевдоним
      "medianDegree": 0, // Медианная фильтрация
      "isInverted": true, // Инвертировать, true - Вкл., false - Выкл.
      "disabled": true, // Состояние: Отключен, true - Вкл., false - Выкл.
      "gradeType": 0, // Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
      "gradesTables": [ // Массив таблиц тарировки
        {
          "grades": [ // Таблица тарировки 1
            {
              "input": 0, // Входящее значение
              "output": 0 // Выходящее значение
            }
          ],
          "relevanceTime": "2023-05-22T09:57:39.562Z" // Дата/время начала применения тарировочной таблицы
        }
      ],
      "showInTooltip": true, // Отображать в подсказке
      "showLastValid": true, // Отображать последнее валидное значение
      "color": "string", // код цвета датчиков
      "showAsDutOnGraph": true, // Отображать на графике как датчик уровня топлива
      "showWithoutIgn": true, // Отображать трек без включенного зажигания
      "agrFunction": 0, // Функция, SUM, AVG, EXPRESSION
      "expr": "string", // Формула
      "children": [ // массив дочерних датчиков
        "string"
      ],
      "customParams": { // прочие произвольные параметры
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
// Характерные для произвольного:
//                "EventsEnabled": "off", // Фиксировать события работы: on, off
//                "EventsTemplateName": "Работа Произвольный", // Наименование события работы
//                "EventsCountEnabled": "off", // Фиксировать количество срабатываний: on, off
//                "EventsCountTemplateName": "Количество срабатываний Произвольный", //Наименование //события количества срабатываний
//               "MapDisplayEnabled": "off", // Отображать на карте: on, off
//                "ChartDisplayEnabled": "off", // Отображать на графике объекта: on, off
//               "PayloadChartDisplayEnabled": "off", // Отображать на графике полезной нагрузки: on, off
//                "DrawType": // тип отрисовки line, bar (Линия, Область)
// Характерные для таблицы тарировки Вкл./Выкл.:
// "ValueOn": "Вкл.",
// "ValueOff": "Выкл."
      "summaryMaxValue": 0 // Определяет максимальное значение датчика в режиме накопления.
      "valueIntervals": [ // Интервалы значений для подсветки в мониторинге
        {
          "from": 0, // С какого значения
          "color": "string", // Каким цветом
          "text": "string" // Текст подписи к этому интервалу
        }
      ]
    }
  ],
  "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid датчика, выбранного для подсветки его значения в различных интервалах
  "customFields": [ // Произвольные поля
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // System.Guid идентификатор элемента сущности
      "name": "string", // Наименование произвольного поля
      "value": "string", // Значение произвольного поля
      "forClient": true, // Отобразить произвольное поле у клиента
      "forTooltip": true, // Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
      "forReport": true // Отобразить произвольное поле в отчете
 }
  ],
  "motohoursCalcMethod": 0 //  Вид расчета моточасов.
                                              // 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов              
}
Ответ:
{
  "vehicleId": 0,  // ID ТС
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid владельца ТС
  "name": "string", // Имя объекта
  "imei": "string", // IMEI
  "deviceTypeId": 0, // ID типа устройства
  "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // ID модели
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID подразделения
  "sim1": "string", // SIM1
  "sim2": "string", // SIM2
  "consumptionPer100Km": 0, // Расход топлива на 100 км
  "consumptionPerHour": 0, // Расход топлива на моточас
  "consumptionIdle": 0,  // Расход топлива на холостом ходу
  "consumptionPer100KmSeasonal": 0, // Сезонный расход топлива на 100 км
  "consumptionPerHourSeasonal": 0, // Сезонный расход топлива на моточас
  "consumptionIdleSeasonal": 0, // Сезонный расход топлива на холостом ходу
  "consumptionPer100KmSeasonalBegin": "2024-10-30T08:11:35.622Z", // День/месяц начала работы сезонной нормы расхода на 100 км
  "consumptionPer100KmSeasonalEnd": "2024-10-30T08:11:35.622Z", // День/месяц окончания работы сезонной нормы расхода на 100 км
  "consumptionPerHourSeasonalBegin": "2024-10-30T08:11:35.622Z", // День/месяц начала работы сезонной нормы расхода на моточас
  "consumptionPerHourSeasonalEnd": "2024-10-30T08:11:35.622Z", // День/месяц окончания работы сезонной нормы расхода на моточас
  "consumptionIdleSeasonalBegin": "2024-10-30T08:11:35.622Z", // День/месяц начала работы сезонной нормы расхода на х/х
  "consumptionIdleSeasonalEnd": "2024-10-30T08:11:35.622Z", // День/месяц окончания работы сезонной нормы расхода на х/х
  "mileageCalcMethod": 0, // Вид расчёта пробега (0 - ByGps, 1 - ByMileageSensor)
  "mileageCoeff": 0, // Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
  "locationByCellId": true, // Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
  "dottedLineTrackWhenNoCoords": true, // Обозначать пунктиром трек при отсутствии координат.
  "showLineTrackWhenNoCoords": true, // Обозначать трек при отсутствии координат.
  "counters": {  // Dto для состояний счётчиков
    "mileageEnabled": true, // Флаг включения счётчика "Пробег"
    "motohoursEnabled": true, // Флаг включения счётчика "Моточасы"
    "mileage": 0, // Пробег
    "motohours": 0 // Моточасы
  },
  "cmsv6Parameters": { // Dto для CMSv6
    "id": "string", // CMSV6 Идентификатор
    "enabled": true, // Признак включения
    "host": "string", // IP-адрес или доменное имя из URL веб-сайта CMSV6. Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
    "login": "string", // CMSV6 имя учетной записи
    "password": "string" // CMSV6 — пароль учетной записи
  },
  "inspectionTasks": [ // Dto для описания задачи на ТО
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID задачи
      "enabled": true, // Признак включения
      "name": "string", // Имя задания
      "description": "string", // Описание задания
      "mileageCondition": 0, // Условие по пробегу (в метрах)
      "lastMileage": 0, // Пробег (в метрах) на момент последнего ТО
      "motohoursCondition": 0, // Условие по моточасам (в секундах)
      "lastMotohours": 0, // Моточасы (в секундах) на момент последнего ТО
      "periodicCondition": 0, // Условие периодичности по времени
      "kind": 0, // Определяет вид периодичности ТО.( 0 - Дни, 1 - Месяцы , 2 - Годы)
      "lastInspectionDate": "2024-10-30T08:11:35.622Z",  //  Дата последнего ТО
      "maxQuantity": 0 // Условие по количеству записей для деактивации
    }
  ],
  "drivers": [ // Список водителей. Определяет класс назначения водителя на объект.
    {
      "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор объекта.
      "inputNumber": 0, // № входа.
      "createTime": "2024-10-30T08:11:35.622Z", // Момент времени создания назначения.
      "comment": "string", // Комментарий
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор назначения.
      "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя.
      "beginTime": "2024-10-30T08:11:35.622Z", // Момент времени начала назначения.
      "endTime": "2024-10-30T08:11:35.622Z" // Момент времени окончания назначения.
    }
  ],
  "commandTemplates": [  // Список шаблонов команд
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID шаблона
      "name": "string", // Название шаблона команд
      "command": "string", // Команда на выполнение
      "retries": 0 // Лимит попыток отправки
    }
  ],
  "sensors": [ // Список датчиков
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID датчика
      "kind": 0, // Определяет виды датчиков. 0 - Simple, 1 - Composite
      "type": 0, // Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition, 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature, 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp, 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal, 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel, 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed
      "name": "string",  // Имя датчика
      "inputType": 0, // Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
      "inputNumber": 0, // Номер входа
      "pseudonym": "string", // Псевдоним
      "medianDegree": 0, // Степень медианной фильтрации
      "isInverted": true, //  Признак инверсии
      "disabled": true, // Датчик не участвует в обработке
      "gradeType": 0, // Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
      "gradesTables": [ // Тарировка
        {
          "grades": [ // Таблицы тарировки
            {
              "input": 0, // Вход
              "output": 0 // Выход
            }
          ],
          "relevanceTime": "2024-10-30T08:11:35.622Z" // Время, с которого наступает актуальность таблицы тарировки
        }
      ],
      "showInTooltip": true, // Отображение в подсказке
      "showLastValid": true, // Отображать последнее валидное значение
      "color": "string", // код цвета датчиков
      "showAsDutOnGraph": true, // Отображать на графике как датчик уровня топлива
      "showWithoutIgn": true, // Отображать без включенного зажигания
      "agrFunction": 0,  // Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION
      "expr": "string", // Выражение
      "children": [ // Cписок добавленных в агрегацию физ. датчиков
        "string"
      ],
      "customParams": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "summaryMaxValue": 0, // Определяет максимальное значение датчика в режиме накопления.
      "valueIntervals": [  // Интервалы значений для подсветки в мониторинге
        {
          "from": 0, // С какого значения
          "color": "string", // Каким цветом
          "text": "string" // Текст подписи к этому интервалу
         }
      ]
    }
  ],
  "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid датчика, выбранного для подсветки его значения в различных интервалах
  "customFields": [ // Список произвольных полей
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // System.Guid идентификатор элемента сущности
      "name": "string", // Наименование произвольного поля
      "value": "string", // Значение произвольного поля
      "forClient": true, // Отобразить произвольное поле у клиента
      "forTooltip": true, // Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
      "forReport": true // Отобразить произвольное поле в отчете
    }
  ],
  "motohoursCalcMethod": 0 // Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
}
Валидация:
- сезонный параметр может быть задан только если задана соответствующая обычная норма;
- сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
- при задании сезонной нормы обязательны соответствующие даты начала/окончания.
Импортировать историю ТС (Асинхронный запрос)
POST /api/v3/Vehicles/importAsync/history/{vehicleId} 
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/{vehicleId} 
Параметр запроса: {vehicleid} - идентификатор транспортного средства
Ответ:
{
  "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Уникальный идентификатор запроса
  "Status": 0, // Перечисление состояний выполнения запроса
// ( 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest)
  "Message": "string", // Информация о выполнении запроса
  "ProgressState": 1, // Тип информирования о ходе выполнении запроса (1 - Intermediate, 2 - ProgressProcent, 255 - None)
  "ProgressValue": 0, // Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
  "Data": "string" // Данные
}
Возвращает статус асинхронного запроса импорта истории ТС
GET /api/v3/Vehicles/importAsync/history/state/{requestId}
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/Vehicles/importAsync/history/state/{requestId}
Параметр запроса: {requestId} - Уникальный идентификатор запроса
Ответ:
{
  "RequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Уникальный идентификатор запроса
  "Status": 0, // Перечисление состояний выполения запроса
// 0 - Success, 1 - InPorgress, 2 - Canceled, 10 - Error, 20 - ErrorRequestValidation, 50 - ErrorExceedMaximumActiveRequest
  "Message": "string", // Информация о выполнении запроса
  "ProgressState": 1, // Тип информирования о ходе выполнении запроса
// 1 - Intermediate, 2 - ProgressProcent, 255 - None
  "ProgressValue": 0, // Прогресс выполнения запроса. Актуально, только если ProgressState=InProgress
  "Data": "string" // Данные
}
Получение списка объектов с основными параметрами
POST /api/v3/vehicles/find
Метод позволяет получить список доступных объектов мониторинга (транспортных средств) с их основными параметрами: наименование, IMEI, тип устройства, модель объекта, подразделение, номера телефонов и идентификатор клиента, к которому прикреплен объект (клиент-родитель).
Метод возвращает информацию об объектах с учетом настроек авторизованного пользователя, указанного в запросе:
− возвращается информация об объектах клиента-родителя авторизованного пользователя и объектах его дочерних клиентов;
− возвращает информацию об объектах с учетом заданных настроек видимости объектов;
− информация предоставляется с учетом наличия прав на просмотр объектов заблокированных договоров (объекты, принадлежащие заблокированному договору возвращаются при наличии любого из прав «Видимость объектов заблокированных договоров в панели управления» или «Видимость объектов заблокированных договоров в мониторинге»;
− информация о телефонах SIM1/SIM2 предоставляется при наличии права «Просмотр номеров телефонов объектов»;
− информация о статусе объекта предоставляется при наличии права «Просмотр статуса объекта».
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/find
В заголовках запроса:
− Content-Type: application/json
− X-Auth: Токен авторизации
Условия фильтрации объектов задаются в теле запроса.
Параметры в теле запроса (JSON):
{
    "vehicleId": null, // 84350, ID ТС (int, опционально)
    "name": null, // Имя ТС (string, опционально)
    "imei": null, // "710179307", // IMEI (string, опционально)
    "sim": null, // "938112", // Номер телефона (string, опционально)
    "deviceTypeId": null, // 5, ID типа устройства (short, опционально)
     "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" // ID подразделения (опционально)
      "unitName": "string",  // Название подразделения (опционально)
    "customFields": "string", // Поиск по содержимому произвольных полей ТС (опционально)
    "vehicleGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID группы ТС (опционально)
    "vehicleGroupName": "string", // Название группы ТС (опционально)
     "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" // Идентификатор агента, для которого надо получить данные
}
Фильтрация осуществляется по точному совпадению значений параметров «vehicleId», «deviceTypeId», «parentId», «unitId», и по частичному - «name», «imei», «sim». Фильтрация по значению параметра «sim» осуществляется при наличии у авторизованного пользователя права «Просмотр номеров телефонов объектов».
Ответ:
[
{
    "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid TC
    "vehicleId": "" // идентификатор объекта         
    "name": "" // наименование объекта         
    "imei": "" // IMEI объекта         
    "deviceTypeId": "" // идентификатор типа устройства         
    "deviceTypeName": "" // наименование типа устройства         
    "sim1": "" // первый номер телефона         
    "sim2": "" // второй номер телефона         
    "parentId": "" // идентификатор клиента-родителя         
    "parentName": "" // наименование клиента-родителя         
    "modelId": "" // идентификатор модели объекта         
    "modelName": "" // наименование модели объекта         
    "unitId": "" // идентификатор подразделения         
    "unitName": "" // наименование подразделения         
    "status": "" // статус объекта         (-1 - Новый, 0 - Блокировка, 1 - Активен, 2 - Отменен, 3 - Оборудован, 4 - Диагностика, 
                                                           // 5 - Сервис, 6 - Демонтаж, 7 - Монтаж, 8 - Дозаказ, 9 - Обслужен, 10 - Списан, 
                                                          // 11 - Неисправен, 12 - Проверен, 13 - Не эксплуатируется)
    "createdAt": "" // дата создания объектов  
    "customFields": [ 
            {
                "id": "", // идентификатор произвольного поля
                "name": "", // имя произвольного поля
                "value": "", // значение произвольного поля
                "forClient": true, // право на отображение у клиента
                "forTooltip": false, // право на отображение в подсказке
                "forReport": false // право на отображение в отчетах
      }
    ],
    "vehicleGroups": [  // Группы ТС
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // System.Guid идентификатор элемента сущности
        "name": "string" // Наименование группы ТС
      }
    ]
  }
]
          Параметры «sim1» и «sim2» содержатся в ответе при наличии у авторизованного пользователя права «Просмотр номеров телефонов объектов». Параметр «status» содержится в ответе при наличии у авторизованного пользователя права «Просмотр статуса объекта».
Изменение статуса объекта
POST /api/v3/vehicles/changeStatus/{vehicleId}
Метод позволяет изменить статус объекта. Метод позволяет изменить статус объекта, указанного в запросе.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/changeStatus/{vehicleId}
Параметр запроса: {vehicleId} - ID ТС
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
  "status": "", // значение статуса (-1 - Новый, 0 - Блокировка, 1 - Активен, 2 - Отменен, 3 - Оборудован, 4 - Диагностика, 
                                   // 5 - Сервис, 6 - Демонтаж, 7 - Монтаж, 8 - Дозаказ, 9 - Обслужен, 10 - Списан, 
                                   // 11 - Неисправен, 12 - Проверен, 13 - Не эксплуатируется)
  "date": "", // Дата смены статуса (null если сменить немедленно)
  "description": "", // Описание
  "data": "", // Данные
  "overwrite": false, // Флаг перезаписи
  "stage": "", // Состояние, может быть null
}
Ответ:
{
  "status": "", // значение статуса
  "date": "", // Дата смены статуса 
  "description": "", // Описание
  "data": "", // Данные
  "overwrite": false, // Флаг перезаписи
  "stage": "", // Состояние
  }
Редактирование объекта
PUT /api/v3/vehicles
Метод позволяет отредактировать объект, указанный в запросе.
Метод запроса: PUT
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
    "vehicleId": , // ID объекта
    "parentId": "" ,  // ID клиента
    "name": "" ,  // имя ТС
    "imei": "" ,  // IMEI
    "deviceTypeId": "" ,  // ID типа устройства
    "modelId": "" , // ID модели
    "unitId": "" ,  // ID подразделения
    "sim1": "" ,  // Номер SIM 1
    "sim2": "" ,  // Номер SIM2
    "consumptionPer100Km": "" ,  // Расход топлива на 100 км (если заполнено, то consumptionPerHour не может быть заполнено)
    "consumptionPerHour": "" ,  // Расход топлива за моточас (если заполнено, то consumptionPer100Km не может быть заполнено)
    "consumptionIdle": "" ,  // Расход топлива на холостом ходу
    "consumptionPer100KmSeasonal": 0, // Сезонный расход топлива на 100 км 
    "consumptionPerHourSeasonal": 0, // Сезонный расход топлива на моточас
     "consumptionIdleSeasonal": 0, // Сезонный расход топлива на холостом ходу 
     "consumptionPer100KmSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на 100 км
     "consumptionPer100KmSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на 100 км
     "consumptionPerHourSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на моточас
     "consumptionPerHourSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на моточас
     "consumptionIdleSeasonalBegin": "" ,  // День/месяц начала работы сезонной нормы расхода на х/х
     "consumptionIdleSeasonalEnd": "" ,  // День/месяц окончания работы сезонной нормы расхода на х/х
     "mileageCalcMethod": 0,
     "mileageCoeff": 0,
     "locationByCellId": true,
     "dottedLineTrackWhenNoCoords": true,
     "counters":  // счетчики
      {
     "mileage": "" ,  // пробег
     "mileageEnabled": true,  // флаг активности счётчика "пробег"
     "motohours": "" ,  // моточасы
     "motohoursEnabled": true  // флаг активности счётчика "моточасы"
      },
    "cmsv6Parameters": { // параметры CMSv6
      "enabled": true,  // флаг включения
      "id": "" ,  // идентификатор
      "host": "" ,  // IP-адрес или доменное имя из URL веб-сайта CMSV6
      "login": "" ,  // имя учетной записи
      "password": ""   // пароль учетной записи
      },
    "inspectionTasks":  // задания на ТО
      {
      "enabled": "" ,  // Признак включения
      "name": "" ,  // Имя задания
      "description": "" ,  // Описание задания
      "mileageCondition": "" ,  // Условие по пробегу (в метрах, null - условие не работает)
      "lastMileage": "" ,  // Пробег (в метрах) на момент последнего ТО (null - неважно)
      "motohoursCondition": "" ,  // Условие по моточасам (в секундах, null - условие не работает)
      "lastMotohours": "" ,  // Моточасы (в секундах) на момент последнего ТО (null - неважно)
      "periodicCondition": "" ,  //  Условие периодичности по времени (null - условие не работает)
      "kind": "" ,  // Вид периодичности по времени (дни - Days, месяцы - Months, года - Years, null - условие не работает)
      "lastInspectionDate": "" ,  // Дата последнего ТО (null - не указано)
      "maxQuantity": ""   // Сколько раз выполнить задание (null - однократно)
      }
"drivers": [ // Водители
    {
      "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // Идентификатор объекта.
      "inputNumber": 0, // № входа.
      "createTime": "2024-12-23T10:45:04.961Z", // Момент времени создания назначения.
      "comment": "string", // Комментарий.
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор назначения.
      "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя.
      "beginTime": "2024-12-23T10:45:04.961Z", // Момент времени начала назначения.
      "endTime": "2024-12-23T10:45:04.961Z" // Момент времени окончания назначения.
    } 
  ],
  "commandTemplates": [ // Шаблон команды
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string",
      "command": "string",
      "retries": 0
    }
  ],
"sensors": [ // Датчики
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID датчика
      "kind": 0, // Тип, Simple - простой, Composite - виртуальный
      "type": 0, // Тип датчика
      "name": "string", // Имя датчика
      "inputType": 0, // Тип входа, Analog, Digital, Impulse, ImpulseFrequency, Diagnosis, Rs485, Rs232, Wire, FMS, BLE
      "inputNumber": 0, // Номер входа
      "pseudonym": "string", // Псевдоним
      "medianDegree": 0, // Медианная фильтрация
      "isInverted": true, // Инвертировать, true - Вкл., false - Выкл.
      "disabled": true, // Состояние: Отключен, true - Вкл., false - Выкл.
      "gradeType": 0, // Тип тарировки, 0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
      "gradesTables": [ // Массив таблиц тарировки
        {
          "grades": [ // Таблица тарировки 1
            {
              "input": 0, // Входящее значение
              "output": 0 // Выходящее значение
            }
          ],
          "relevanceTime": "2023-05-22T09:57:39.562Z" // Дата/время начала применения тарировочной таблицы
        }
      ],
      "showInTooltip": true, // Отображать в подсказке
      "showLastValid": true, // Отображать последнее валидное значение
      "color": "string", // Цвет датчика
      "showAsDutOnGraph": true, // Отображать на графике как датчик уровня топлива
      "showWithoutIgn": true, // Отображать трек без включенного зажигания
      "agrFunction": 0, // Функция, SUM, AVG, EXPRESSION
      "expr": "string", // Формула
      "children": [ // массив дочерних датчиков
        "string"
      ],
      "customParams": { // прочие произвольные параметры
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
// Характерные для произвольного:
//                "EventsEnabled": "off", // Фиксировать события работы: on, off
//                "EventsTemplateName": "Работа Произвольный", // Наименование события работы
//                "EventsCountEnabled": "off", // Фиксировать количество срабатываний: on, off
//                "EventsCountTemplateName": "Количество срабатываний Произвольный", //Наименование //события количества срабатываний
//               "MapDisplayEnabled": "off", // Отображать на карте: on, off
//                "ChartDisplayEnabled": "off", // Отображать на графике объекта: on, off
//               "PayloadChartDisplayEnabled": "off", // Отображать на графике полезной нагрузки: on, off
//                "DrawType": // тип отрисовки line, bar (Линия, Область)
// Характерные для таблицы тарировки Вкл./Выкл.:
// "ValueOn": "Вкл.",
// "ValueOff": "Выкл."
      "summaryMaxValue": 0 // Макс. значение
      "valueIntervals": [ // Интервалы значений для подсветки в мониторинге
        {
          "from": 0, // С какого значения
          "color": "string", // Каким цветом
          "text": "string" // Текст подписи к этому интервалу
        }
      ]
    }
  ],
 "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid датчика, выбранного для подсветки его значения в различных интервалах
  "customFields": [ // Произвольные поля
    {     
     "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // System.Guid идентификатор элемента сущности
      "name": "string", // Наименование произвольного поля
      "value": "string", // Значение произвольного поля
      "forClient": true, // Отобразить произвольное поле у клиента
      "forTooltip": true, // Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
      "forReport": true // Отобразить произвольное поле в отчете
    }
  ],
  "motohoursCalcMethod": 0 // Вид расчета моточасов. 0 - По датчику зажигания, 1 - По датчику Моточасов, 2 - По датчику относительных Моточасов
}
Ответ:
{
  "vehicleId": 0, // ID ТС
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid владельца ТС 
  "name": "string", // Имя объекта
  "imei": "string", // IMEI
  "deviceTypeId": 0, // ID типа устройства
  "modelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID модели
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID подразделения
  "sim1": "string", // SIM1
  "sim2": "string", // SIM2
  "consumptionPer100Km": 0, // Расход топлива на 100 км
  "consumptionPerHour": 0, // Расход топлива на моточас
  "consumptionIdle": 0, // Расход топлива на холостом ходу
  "consumptionPer100KmSeasonal": 0, // Сезонный расход топлива на 100 км
  "consumptionPerHourSeasonal": 0, // Сезонный расход топлива на моточас
  "consumptionIdleSeasonal": 0, // Сезонный расход топлива на холостом ходу
  "consumptionPer100KmSeasonalBegin": "2024-10-30T10:31:17.196Z", // День/месяц начала работы сезонной нормы расхода на 100 км
  "consumptionPer100KmSeasonalEnd": "2024-10-30T10:31:17.196Z", // День/месяц окончания работы сезонной нормы расхода на 100 км
  "consumptionPerHourSeasonalBegin": "2024-10-30T10:31:17.196Z", // День/месяц начала работы сезонной нормы расхода на моточас
  "consumptionPerHourSeasonalEnd": "2024-10-30T10:31:17.196Z", // День/месяц окончания работы сезонной нормы расхода на моточас
  "consumptionIdleSeasonalBegin": "2024-10-30T10:31:17.196Z", // День/месяц начала работы сезонной нормы расхода на х/х
  "consumptionIdleSeasonalEnd": "2024-10-30T10:31:17.196Z", // День/месяц окончания работы сезонной нормы расхода на х/х
  "mileageCalcMethod": 0, // Вид расчёта пробега. 0 - ByGps, 1 - ByMileageSensor
  "mileageCoeff": 0, // Коэффициент пробега при расчёте пробега по GPS (по умолчанию - 1)
  "locationByCellId": true, // Вычислять ли положение по базовым станциям, если координаты по GPS невалидны?
  "dottedLineTrackWhenNoCoords": true, // Обозначать пунктиром трек при отсутствии координат.
  "showLineTrackWhenNoCoords": true, // Обозначать трек при отсутствии координат.
  "counters": { // состояний счётчиков
    "mileageEnabled": true,  // Флаг включения счётчика "Пробег"
    "motohoursEnabled": true, // Флаг включения счётчика "Моточасы"
    "mileage": 0, // Пробег
    "motohours": 0 // Моточасы 
  },
  "cmsv6Parameters": { // Dto для CMSv6
    "id": "string", // CMSV6 Идентификатор
    "enabled": true, // Признак включения
    "host": "string", // IP-адрес или доменное имя из URL веб-сайта CMSV6.  
// Порт также можно указать. В случае использования безопасного соединения необходимо указать протокол.
    "login": "string", // CMSV6 имя учетной записи
    "password": "string" // CMSV6 — пароль учетной записи
  },
  "inspectionTasks": [ // Задания на ТО
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID задачи
      "enabled": true, // Признак включения
      "name": "string", // Имя задания
      "description": "string", // Описание задания
      "mileageCondition": 0, // Условие по пробегу (в метрах)
      "lastMileage": 0, // Пробег (в метрах) на момент последнего ТО
      "motohoursCondition": 0, // Условие по моточасам (в секундах)
      "lastMotohours": 0, // Моточасы (в секундах) на момент последнего ТО
      "periodicCondition": 0, // Условие периодичности по времени
      "kind": 0, // Определяет вид периодичности ТО. 0 - Дни, 1 - Месяца, 2 - Годы
      "lastInspectionDate": "2024-10-30T10:31:17.196Z", // Дата последнего ТО
      "maxQuantity": 0  // Условие по количеству записей для деактивации
    }
  ],
  "drivers": [  // Список водителей
    {
      "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор объекта.
      "inputNumber": 0, // № входа.
      "createTime": "2024-10-30T10:31:17.196Z", // Момент времени создания назначения.
      "comment": "string", // Комментарий.
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор назначения.
      "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя.
      "beginTime": "2024-10-30T10:31:17.196Z", // Момент времени начала назначения.
      "endTime": "2024-10-30T10:31:17.196Z" // Момент времени окончания назначения.
    }
  ],
  "commandTemplates": [ // Список шаблонов команд
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID шаблона
      "name": "string", // Название шаблона команд
      "command": "string", // Команда на выполнение
      "retries": 0 // Лимит попыток отправки
    }
  ],
  "sensors": [  // Список датчиков 
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID датчика
      "kind": 0, // Определяет виды датчиков. 0 - Simple, 1 - Composite
      "type": 0, // Определяет типы датчиков. 0 - None, 1 - FuelLvl, 2 - PowerLevel, 3 - Consumption, 4 - Ignition,
// 5 - Crane, 6 - Greider, 8 - Power, 11 - Arrow, 14 - Otval, 15 - Sand, 17 - MixerLand, 18 - MixerMove, 20 - Temperature,
// 21 - Warning, 22 - Metla, 23 - Kosilka, 24 - DriverRFID, 25 - ReFueller, 27 - GrainLvl, 28 - EngineRPM, 29 - BodyUp,
// 31 - EngineTemperature, 32 - TrailerRFID, 33 - Tank, 34 - Unloading, 35 - Custom, 36 - GNSS, 37 - WeighingTerminal,
// 38 - RelativeMotohours, 39 - MileageSensor, 40 - Motohours, 41 - BunkerLowLevel, 42 - BunkerHighLevel,
// 43 - AppliedKg, 44 - TreatedHa, 45 - RateKgHa, 46 - FertilizerLevel, 47 - FactOfWork, 48 - ReapingAggregate, 49 - AverageRateKgHa, 50 - Speed
      "name": "string", // Имя датчика
      "inputType": 0, // Тип входа, на который подключается определенный тип датчика. 0 - Digital, 1 - Analog, 2 - Impulse,
// 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Diagnosis, 7 - Wire, 8 - ImpulseFrequency, 9 - BLE, 255 - Virtual
      "inputNumber": 0, // Номер входа
      "pseudonym": "string", // Псевдоним
      "medianDegree": 0, // Степень медианной фильтрации
      "isInverted": true, // Признак инверсии
      "disabled": true, // Датчик не участвует в обработке
      "gradeType": 0, // Способ тарировки показаний датчика.  0 - Default, 1 - Digital, 2 - GradeTable, 3 - CounterSummary, 4 - CounterDiffs
      "gradesTables": [ // Тарировка
        {
          "grades": [ // Таблицы тарировки
            {
              "input": 0, // Вход
              "output": 0 // Выход
            }
          ],
          "relevanceTime": "2024-10-30T10:31:17.196Z"  // Время, с которого наступает актуальность таблицы тарировки
        }
      ],
      "showInTooltip": true, // Отображение в подсказке
      "showLastValid": true, // Отображать последнее валидное значение
      "color": "string", // цвет уведомлений 
      "showAsDutOnGraph": true, // Отображать на графике как датчик уровня топлива
      "showWithoutIgn": true, // Отображать без включенного зажигания
      "agrFunction": 0, // Агрегирующая функция. 0 - SUM, 1 - AVG, 2 - EXPRESSION 
      "expr": "string", // Выражение
      "children": [ // Cписок добавленных в агрегацию физ. датчиков
        "string" 
      ],
      "customParams": { // Дополнительные настройки
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "summaryMaxValue": 0, // Определяет максимальное значение датчика в режиме накопления.
      "valueIntervals": [ // Интервалы значений для подсветки в мониторинге
        {
          "from": 0, // С какого значения
          "color": "string", // Каким цветом
          "text": "string" // Текст подписи к этому интервалу
        }
      ]
    }
  ],
  "highlightSensorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid датчика, выбранного для подсветки его значения в различных интервалах
  "customFields": [ // Список произвольных полей
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // System.Guid идентификатор элемента сущности
      "name": "string", // Наименование произвольного поля
      "value": "string", // Значение произвольного поля
      "forClient": true, // Отобразить произвольное поле у клиента
      "forTooltip": true, // Отобразить произвольное поле в подсказке (при наведении на ТС на карте)
      "forReport": true // Отобразить произвольное поле в отчете
    }
  ],
  "motohoursCalcMethod": 0 // Вид расчета моточасов. 0 - ByIgnitionSensor, 1 - ByMotohoursSensor, 2 - ByRelativeMotohoursSensor
}
Валидация:
- сезонный параметр может быть задан только если задана соответствующая обычная норма;
- сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
- при задании сезонной нормы обязательны соответствующие даты начала/окончания.
Удаление объекта
DELETE /api/v3/vehicles/{vehicleId}
Метод позволяет удалить объект, указанный в строке запроса.
Метод запроса: DELETE
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/{vehicleId}
Параметр запроса: {id} - Guid объекта
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Раздел: Устройства
Получение списка типов устройств
 GET /api/v3/devices/types
Метод позволяет получить список типов устройств. Метод возвращает информацию о типах устройств с учетом настроек авторизованного пользователя, указанного в запросе.
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/devices/types
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
    "deviceTypeId" : "", // ID типа устройства
    "deviceTypeName" : "" // Название типа устройства
}
Раздел: Датчики
Получение списка типов датчиков
 GET /api/v3/sensors/types
Метод позволяет получить список типов датчиков. Метод возвращает информацию о типах датчиков с учетом настроек авторизованного пользователя, указанного в запросе.
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/sensors/types
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
    "id": "", // ID типа датчика 
    "name": "", // Название
    "description": "", // Описание
}
Раздел: Сообщения
Данные об активности объекта
POST /api/v3/terminalMessages/count
Метод возвращает количество сообщений отправленных терминалом на сервер за указанный период.
Метод запроса POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/terminalMessages/count
В заголовках запроса: X-Auth: Токен авторизации
{
  "vehicleIds": [
    id // здесь передается список идентификаторов объектов
  ],
  "from": "2023-03-12T07:09:02.364Z", // от какой даты выполнять запрос
  "to": "2023-03-14T07:09:02.364Z" // до какой даты выполнять запрос
}
Ответ:
[
  {
    "vehicleId": 0, // идентификатор объекта
    "count": 0 // количество сообщений за период
  }
]
Получить тип и номер входа сырого параметра 
POST /api/v3/terminalMessages/mapping
Запрос позволяет узнать тип и номер входа для сырого параметра, приходящего по указанному протоколу.
URL запроса: https://hosting.glonasssoft.ru/api/v3/terminalMessages/mapping
В заголовках запроса: X-Auth: Токен авторизации
{
  "protocolType": 0,
  "params": ["string"]
}
Параметр	Описание	
protocolType	ID типа протокола	
params	Массив наименований параметров в сообщении	
Ответ:
{
  "protocolType": 0,
  "mapping": {
    "additionalProp1": {
      "inputType": 0,
      "inputNumber": 0
    },
    "additionalProp2": {
      "inputType": 0,
      "inputNumber": 0
    }
  }
}
Параметр	Описание	
protocolType	Тип протокола	
inputType	Тип входа, 0 - Цифровой, 1 - Аналоговый, 2 - Импульсный, 3 - Rs232, 4 - Rs485, 5 - FMS, 6 - Диагностический, 7 - 1-Wire, 8 - Частотный, 9 - BLE, 255 - Виртуальный	
inputNumber	Номер входа	
Перечень ID протоколов в статье - ID протоколов для получения типов и номеров входа сырого параметра.
Запрос списка сообщений
POST /api/v3/terminalMessages
Метод возвращает список сообщений терминала объекта за выбранный период.
Метод запроса POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/terminalMessages
В заголовках запроса: X-Auth: Токен авторизации
{
  "vehicleId": 0, // id объекта
  "from": "2023-03-29T09:14:46.107Z", // начало периода запроса
  "to": "2023-03-29T09:14:46.107Z" // конец периода запроса
}
Параметр	Описание	
vehicleId	ID объекта	
from	Дата и время начала периода запроса	
to	Дата и время окончания периода запроса	
Ответ:
[
  {
    "messages": [
      {
        "deviceTime": "2023-11-29T07:40:44.052Z",
        "serverTime": "2023-11-29T07:40:44.052Z",
        "speed": 0,
        "altitude": 0,
        "latitude": 0,
        "longitude": 0,
        "satellites": 0,
        "course": 0,
        "voltage": 0,
        "parameters": {
          "additionalProp1": "string",
          "additionalProp2": "string",
          "additionalProp3": "string"
        },
        "photoCount": 0,
        "lbsCorrectedCoords": true,
        "protocolType": 0
      }
    ]
  }
]
Параметр	Описание	
deviceTime	Время сообщения терминала	
serverTime	Время когда сообщение поступило на сервер	
speed	Скорость	
altitude	Высота над уровнем моря	
latitude	Широта	
longitude	Долгота	
satellites	Кол-во спутников	
course	Курс	
voltage	Бортовое напряжение	
parameters	Список параметров и их значений	
photoCount	Количество фото	
lbsCorrectedCoords	Признак того, что координаты были скорректированы по LBS, true - скорректированы, false - не скорректированы	
protocolType	ID типа протокола	
Раздел: Запрос данных об объекте за период
Получение данных о пробеге и моточасах транспортного средства
 POST /api/v3/vehicles/mileageAndMotohours
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/mileageAndMotohours
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
  "sampling": 0, // Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой.
  "vehicleIds": [0], // Список ID объектов
  "from": "2023-08-09T14:23:14.572Z", // Начало периода
  "to": "2023-08-09T14:23:14.572Z", // Окончание периода
  "timezone": 0 // Временная зона. Если не указана, то по умолчанию UTC+3
}
Ответ:
[
  {
    "vehicleId": 0, // ID объекта
    "name": "string", // Имя ТС
    "periods": [ // Периоды
      {
        "start": "2023-08-09T14:23:14.574Z", // Начало 
        "end": "2023-08-09T14:23:14.574Z", // Окончание 
        "mileage": 0, // Пробег за период, километры
        "mileageBegin": 0, // Пробег на начало периода, километры 
        "mileageEnd": 0, // Пробег на окончание периода, километры
        "motohours": 0, // Моточасы за период, секунды
        "motohoursBegin": 0, // Моточасы на начало периода, секунды
        "motohoursEnd": 0 // Моточасы на окончание периода, секунды
         "idlingTime": 0 //  Холостой ход за период, секунд
      }
    ]
  }
]
Получение данных о расходе транспортного средства
 POST /api/v3/vehicles/fuelConsumption
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/fuelConsumption
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
  "sampling": 0, // Частота дискретизации в секундах, минимум 60 секунд. Весь период разбивает на подпериоды с указанной частотой.
  "vehicleIds": [0], // Список ID объектов
  "from": "2023-08-09T14:23:14.572Z", // Начало периода
  "to": "2023-08-09T14:23:14.572Z", // Окончание периода
  "timezone": 0 // Временная зона. Если не указана, то по умолчанию UTC+3
}
Ответ:
[
  {
    "vehicleId": 0, // ID объекта
    "name": "string", // Имя ТС
    "periods": [ // Периоды
      {
        "start": "2023-08-09T14:23:14.574Z", // Начало 
        "end": "2023-08-09T14:23:14.574Z", // Окончание 
        "fuelLevelStart": 0, // Уровень топлива на начало периода
        "fuelLevelEnd": 0, // Уровень топлива на конец периода
        "fuelConsumption": 0, // Расход топлива
        "fuelConsumptionMove": 0 // Расход топлива в движении
         "fuelConsumptionFactTank": 0 // Фактический расход топлива в цистерне
      }
    ]
  }
]
Максимальное допустимое количество периодов в ответе - 1440. При превышении этого значения будет получена ошибка ""ApiCode":204,"ApiMessage":"Прислана неправильная модель","Message":"Задан слишком маленький период дискретизации"".

При большом количестве периодов существенно растет нагрузка, синхронный запрос может выдать ошибку по таймауту. Рекомендуем не занижать необходимое значение параметра "sampling".
Получение данных о заправках и сливах транспортного средства
 POST /api/v3/vehicles/fuelInOut
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/fuelInOut
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
  "vehicleIds": [0], // Список ID объектов
  "from": "2023-08-09T14:27:44.772Z", // Дата и время начало запроса
  "to": "2023-08-09T14:27:44.772Z", // Дата и время окончания запроса
  "timezone": 0 // Временная зона. Если не указана, то по умолчанию UTC+3
}
Ответ:
[
  {
    "start": "2023-08-09T14:27:44.773Z", // Начало периода
    "end": "2023-08-09T14:27:44.773Z", // Окончание периода
    "vehicleId": 0, // ID объекта
    "name": "string", // Имя объекта
    "model": "string", // Модель объекта
    "fuels": [ // Массив данным по заправкам и сливам
      {
        "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
        "startDate": "2023-08-09T14:27:44.773Z", // Начало
        "endDate": "2023-08-09T14:27:44.773Z", // Окончание
        "valueFuel": 0, // Количество
        "fuelStart": 0, // Уровень топлива на начало события
        "fuelEnd": 0 // Уровень топливо на конец события
      }
    ]
  }
]
Получение данных по событиям движения и стоянок у объектов
POST /api/v3/vehicles/moveStop
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/moveStop
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
  "vehicleIds": [ ], // Список ID объектов
  "from": "2024-01-30T10:12:19.125Z", // Дата и время начало запроса
  "to": "2024-01-30T10:12:19.125Z", // Дата и время окончания запроса
  "timezone": 0 // Временная зона. Если не указана, то по умолчанию UTC+3
}
Ответ:
[ 
  {
    "vehicleId": 0, // ID объекта
    "vehicleName": "string", // Имя объекта
    "moves": [      // Событие движения
      {
        "mileage": 0, // Пробег, км
        "eventId": 0, // Идентификатор события
        "eventName": "string", // Название события
        "start": "2024-01-30T10:17:13.789Z", // Дата и время начало события
        "end": "2024-01-30T10:17:13.789Z", // Дата и время окончания события
        "duration": 0 // Продолжительность события, секунд
      }
    ],
    "stops": [       // События стоянок
      {
        "address": "[Street] [House] [City] [State] [Country] [Coordinates]", // Адрес события Улица, Дом, Город, Регион, Страна, Координаты
        "eventId": 0, // Идентификатор события
        "eventName": "string", // Название события
        "start": "2024-01-30T10:17:13.789Z", // Дата и время начало события
        "end": "2024-01-30T10:17:13.789Z", // Дата и время окончания события
        "duration": 0 // Продолжительность события, секунд
      }
    ]
  }
]
Получение последних данных объекта
POST /api/v3/vehicles/getlastdata
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/getlastdata
В заголовках запроса: X-Auth: Токен авторизации
В теле запроса перечисляете массив id объектов, в квадратных скобках через запятую.
Ответ:
  {
    "vehicleId": 0, //Идентификатор объекта.
    "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",//Идентификатор объекта.
    "vehicleNumber": "string",//Номер объекта.
    "receiveTime": "2024-02-27T14:11:00.315Z",//Время получения записи на сервере, т.е. время срабатывания + время передачи от устройства на сервер
    "recordTime": "2024-02-27T14:11:00.315Z",//Время записи от устройства, т.е. время фактического события на транспортном средстве.
    "state": 0,//Определяет состояния объекта в мониторинге: нет данных - 0; отключена - 1; остановка - 2; стоянка - 3; в движении - 4.
    "speed": 0,//Скорость объекта.
    "course": 0,//Курс движения [0;360]
    "latitude": 0,//Широта [-90°;90°].
    "longitude": 0,//Долгота [-180°;180°].
    "address": "string",//Адрес.
    "geozones": [ //Сведения по геозонам.
      {
        "id": 0,
        "name": "string"
      }
    
Раздел: Запрос посещений геообъектов
Получение списка всех геообъектов
 POST /api/v3/gis/find
Метод позволяет получить список геообъектов клиента. Возвращает массив геообъектов со всей информацией о них.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/gis/find
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Ответ:
[
  {
    "id": 0, // Идентификатор объекта геозоны
    "name": "string", // Название объекта геозоны
    "type": 0, // Тип объекта геозоны
    "fname": "string", // Имя файла
    "parentId": "string", // Идентификатор клиента
    "radius": 0, // Радиус геообъекта
    "beginCalc": "2023-08-01T07:54:54.893Z", // Дата начала расчета
    "endCalc": "2023-08-01T07:54:54.893Z", // Дата окончания расчета
    "description": "string", // Описание
    "area": 0, // Площадь, м2
    "perimetr": 0, // Периметр, м
    "createDate": "2023-08-01T07:54:54.893Z", // Дата создания
  }
]
Запрос пересечений по объектам
 POST /api/v3/gis/intersections/vehicles
Метод позволяет получить список пересечений выбранных объектов со всеми геообъектами за выбранный период.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/gis/intersections/vehicles
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
  "startDate": "2023-08-02T06:13:18.551Z", // Дата начала запроса
  "endDate": "2023-08-02T06:13:18.551Z", // Дата окончания
  "ids": [ ], // Массив id объектов
  "byTime": 0, // Объединение событий по времени 
  "byDist": 0, // Объединение событий по расстоянию
  "filterByTime": 0, // Фильтрация событий по времени нахождения
  "filterByHalfPerimeter": true // Фильтрация событий по пробегу половины периметра
}
Ответ:
[
  {
    "geozoneId": 0, // ID геообъекта
    "geozoneName": "string", // Название геообъекта
    "startDate": "2023-08-02T06:13:18.554Z", // Дата въезда
    "endDate": "2023-08-02T06:13:18.554Z", // Дата выезда
    "duration": 0, // Продолжительность нахождения в геообъекте
    "vehicleId": 0, // ID объекта
    "vehicleName": "string" // Имя объекта
  }
]
Запрос пересечений по геообъектам
 POST /api/v3/gis/intersections/geozones
Метод позволяет получить список пересечений выбранных геообъектов со всеми объектами за выбранный период.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/gis/intersections/geozones
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
  "startDate": "2023-08-02T06:13:18.551Z", // Дата начала запроса
  "endDate": "2023-08-02T06:13:18.551Z", // Дата окончания
  "ids": [ ], // Массив id геообъектов
  "byTime": 0, // Объединение событий по времени 
  "byDist": 0, // Объединение событий по расстоянию
  "filterByTime": 0, // Фильтрация событий по времени нахождения
  "filterByHalfPerimeter": true // Фильтрация событий по пробегу половины периметра
}
Ответ:
[
  {
    "geozoneId": 0, // ID геообъекта
    "geozoneName": "string", // Название геообъекта
    "startDate": "2023-08-02T06:13:18.554Z", // Дата въезда
    "endDate": "2023-08-02T06:13:18.554Z", // Дата выезда
    "duration": 0, // Продолжительность нахождения в геообъекте
    "vehicleId": 0, // ID объекта
    "vehicleName": "string" // Имя объекта
  }
]
Обновить информацию по геозоне
 PUT /api/v3/gis
Метод запроса: PUT
Пример запроса:
{
  "id": 0,  // Идентификатор объекта геозоны
  "name": "string",  // Наименование объекта геозоны
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // Подразделение
  "description": "string", // Описание объекта геозоны
  "beginCalc": "2025-04-24T12:10:28.751Z",  // Дата начала расчетов для геозоны
  "endCalc": "2025-04-24T12:10:28.751Z",  // Дата окончания расчетов для геозоны
  "settingsData": "string"  // Параметры отображения в формате XML.
}
Пример ответа:
200 // Success
Раздел: Уведомления
Запрос списка уведомлений клиента
POST /api/v3/notifications/find
Метод возвращает информацию об уведомлениях переданного клиента и его клиентов ниже по иерархии.
Метод запроса POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/notifications/find
В заголовках запроса: X-Auth: Токен авторизации
{
  "parentId": "" // id клиента
}
Ответ:
[
  {
    "id": 0, // ID уведомления
    "name": "string", // Название уведомления
    "active": true, // Состояние true - активен, false - деактивирован
    "type": 0, // Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО
    "userId": "", // Пользователь, создавший уведомление
    "parentId": "", // Идентификатор клиента
    "parentName": "string" // Имя клиента
  }
]
Запрос настроек уведомления
GET /api/v3/notifications/{id}
Метод возвращает данные правил формирования выбранного уведомления.
Метод запроса GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/notifications/{id}
Параметр запроса: {id} - id уведомления
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
  "id": 0, // id уведомления
  "type": 0, // Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО
  "userId": "", // Пользователь, создавший уведомление
  "parentId": "", // Идентификатор клиента
  "parentName": "string", // Имя клиента
  "name": "string", // Название уведомления
  "active": true, // Состояние true - активен, false - деактивирован
  "vehicleIds": [ // Список id объектов для анализа
    0
  ],
  "geoids": [ // Список id геообъектов для анализа
    0
  ],
  "fieldids": [ // Список id полей для анализа
    0
  ],
  "settings": { // Список параметров уведомления
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "toEmail": true, // Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы"
  "recipientIds": [ // Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила
    ""
  ],
  "enableSideEmails": true, // Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям"
  "sideEmails": [ // Список электронных адресов для отсылки уведомлений
    "string"
  ],
  "toTelegram": true, // Флаг активности отправки в Telegram
  "telegrams": [ // Список получателя уведомлений в Telegram.
    {
      "id": 0, // Идентификатор участника чата
      "info": "string" // Дополнительные сведения
    }
  ],
  "toMobile": true, // Флаг активности отправки в мобильное приложение
  "toClient": true, // Флаг активности отправки в интерфейсе системы
  "stored": true, // Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений.
  "kind": 0, // Определяет вид уведомления
  "activationMode": 0, // Вид активации уведомления 0 - Сейчас, 1 - В определенную дату и время
  "activationTime": "2023-03-29T09:57:48.932Z", // Дата/время активации правила (UTC)
  "timezone": 0, // Сдвиг часового пояса
  "validity": 0, // Срок действия в днях (1-90)
  "autoProlongation": true // Автопродление срока действия
}
Редактирование уведомления
PUT /api/v3/notifications/
Метод позволяет отредактировать уведомление.
Метод запроса PUT
URL запроса: https://hosting.glonasssoft.ru/api/v3/notifications
В заголовках запроса: X-Auth: Токен авторизации
Тело запроса:
{
 "id": 0, // id уведомления
  "type": 0, // Шаблон события 0 - Въезд и выезд из геозоны, 2 - Превышение скорости, 4 - Слив, 5 - Заправка, 6 - Сработка тревожной кнопки, 7 - Потеря связи с объектом, 8 - Сработка дискретного датчика, 9 - Значение аналогового датчика, 10 - Адрес, 11 - Простой, 12 - Выполнение ТО
  "userId": "", // Пользователь, создавший уведомление
  "parentId": "", // Идентификатор клиента
  "parentName": "string", // Имя клиента
  "name": "string", // Название уведомления
  "active": true, // Состояние true - активен, false - деактивирован
  "vehicleIds": [ // Список id объектов для анализа
    0
  ],
   "geoids": [ // Список id геообъектов для анализа
    0
  ],
  "fieldids": [ // Список id полей для анализа
    0
  ],
  "settings": { // Список параметров уведомления
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "toEmail": true, // Флаг, что активна настройка "Отправка уведомлений на эл. почту пользователям системы"
  "recipientIds": [ // Список Guid пользователей, которым надо отправить сообщение на почту при срабатывании правила
    ""
  ],
  "enableSideEmails": true, // Флаг, что активна настройка "Отправка сообщений на эл. почту сторонним пользователям"
  "sideEmails": [ // Список электронных адресов для отсылки уведомлений
    "string"
  ],
  "toTelegram": true, // Флаг активности отправки в Telegram
  "telegrams": [ // Список получателя уведомлений в Telegram.
    {
      "id": 0, // Идентификатор участника чата
      "info": "string" // Дополнительные сведения
    }
  ],
  "toMobile": true, // Флаг активности отправки в мобильное приложение
  "toClient": true, // Флаг активности отправки в интерфейсе системы
  "stored": true, // Определяет необходимость сохранять уведомления, производные от этого правила, в журнале истории уведомлений.
  "kind": 0, // Определяет вид уведомления
  "activationMode": 0, // Вид активации уведомления 0 - Сейчас, 1 - В определенную дату и время
  "activationTime": "2023-03-29T09:57:48.932Z", // Дата и время активации правила (UTC)
  "timezone": 0, // Сдвиг часового пояса
  "validity": 0, // Срок действия в днях (1-90)
  "autoProlongation": true // Автопродление срока действия
}
Ответ:
Success
Автоматическое продление уведомлений 
PUT /api/v3/notifications/prolongation
Метод позволяет продлить уведомления.
Метод запроса PUT
URL запроса: https://hosting.glonasssoft.ru/api/v3/notifications/prolongation
В заголовках запроса: X-Auth: Токен авторизации.
Тело запроса:
[
0
]
где 0 идентификатор ids.
Удаление уведомления
DELETE /api/v3/notifications/{id}
Метод позволяет удалить выбранное уведомление.
Метод запроса DELETE
URL запроса: https://hosting.glonasssoft.ru/api/v3/notifications/{id}
Передаваемый параметр: {id} - id уведомления
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
Success
Раздел: Водители
Получить список водителей клиента
POST /api/v3/Drivers/find
Передается параметр: parentId - ID клиента-родителя
Ответ:
[
  {
    "name": "string", // Определяет наименование
    "description": "string", // Определяет описание
    "hiredate": "2023-06-30T09:37:58.407Z", // Определяет дату найма
    "chopdate": "2023-06-30T09:37:58.407Z", // Определяет дату увольнения
    "exclusive": true, // Определяет признак "Исключительный"
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID водителя
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
    "deleted": true // Признак удаления
  }
]
Получить данные о водителе
GET /api/v3/Drivers/{driverGuid}
Передается параметр: ID водителя
Ответ:
{
  "name": "string", // Определяет наименование
  "description": "string", // Определяет описание
  "hiredate": "2023-06-30T09:33:33.083Z", // Определяет дату найма
  "chopdate": "2023-06-30T09:33:33.083Z", // Определяет дату увольнения
  "exclusive": true, // Определяет признак "Исключительный"
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID водителя
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
  "deleted": true // Признак удаления
}
Добавить водителя
POST /api/v3/Drivers
Запрос:
{
  "name": "string",
  "description": "string",
  "hiredate": "2023-06-30T12:50:54.020Z",
  "chopdate": "2023-06-30T12:50:54.020Z",
  "exclusive": true,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true
}
Ответ:
{
  "name": "string",
  "description": "string",
  "hiredate": "2023-06-30T12:50:54.051Z",
  "chopdate": "2023-06-30T12:50:54.051Z",
  "exclusive": true,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true
}
Редактировать водителя
PUT /api/v3/Drivers
Запрос:
{
  "name": "string",
  "description": "string",
  "hiredate": "2023-06-30T12:50:27.910Z",
  "chopdate": "2023-06-30T12:50:27.910Z",
  "exclusive": true,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true
}
Ответ:
{
  "name": "string",
  "description": "string",
  "hiredate": "2023-06-30T12:50:27.929Z",
  "chopdate": "2023-06-30T12:50:27.929Z",
  "exclusive": true,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "deleted": true
}
Удалить водителя
DELETE /api/v3/Drivers/{driverGuid}
Передается параметр: ID водителя
Ответ:
Success
Раздел: Журнал назначений
Назначение водителя на объект
Получить назначения водителей запросом к водителю
POST /api/v3/DriversVehiclesAssignments/GetByDrivers
Запрос:
{
  "Ids": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "BeginTime": "2023-06-30T12:49:04.365Z",
  "EndTime": "2023-06-30T12:49:04.365Z"
}
Ответ:
[
  {
    "VehicleId": 0,
    "CreateTime": "2023-06-30T09:52:31.240Z",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T09:52:31.240Z",
    "EndTime": "2023-06-30T09:52:31.240Z"
  }
]
Получить назначения водителей запросом к объекту
POST /api/v3/DriversVehiclesAssignments/GetByVehicles
Запрос:
{
  "Ids": [
    0
  ],
  "BeginTime": "2023-06-30T12:48:39.419Z",
  "EndTime": "2023-06-30T12:48:39.419Z"
}
Ответ:
[
  {
    "VehicleId": 0,
    "CreateTime": "2023-06-30T09:54:01.631Z",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T09:54:01.631Z",
    "EndTime": "2023-06-30T09:54:01.631Z"
  }
]
Создать назначение водителя на объект
POST /api/v3/DriversVehiclesAssignments
Передается массив назначений
Запрос:
[
  {
    "VehicleId": 0, // Идентификатор объекта
    "CreateTime": "2023-06-30T11:04:46.902Z", // Момент времени создания назначения
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
    "BeginTime": "2023-06-30T11:04:46.902Z", // Момент времени начала назначения
    "EndTime": "2023-06-30T11:04:46.902Z" // Момент времени окончания назначения. Необязательно.
  }
]
Ответ:
[
  {
    "VehicleId": 0,
    "CreateTime": "2023-06-30T11:04:46.903Z",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:04:46.903Z",
    "EndTime": "2023-06-30T11:04:46.903Z"
  }
]
Изменить назначения водителей на объекты
PUT /api/v3/DriversVehiclesAssignments
Запрос:
[
  {
    "VehicleId": 0,
    "CreateTime": "2023-06-30T11:14:08.117Z",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор назначения
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:14:08.117Z",
    "EndTime": "2023-06-30T11:14:08.117Z"
  }
]
Ответ:
[
  {
    "VehicleId": 0,
    "CreateTime": "2023-06-30T11:14:53.349Z",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:14:53.349Z",
    "EndTime": "2023-06-30T11:14:53.349Z"
  }
]
Удалить назначения водителей на объекты
DELETE /api/v3/DriversVehiclesAssignments
Запрос:
[
    "3fa85f64-5717-4562-b3fc-2c963f66afa6",
]
Ответ:
Success
Назначение карты-метки водителю
Получить назначения меток запросом к водителю
POST /api/v3/DriversRfidsAssignments/GetByDrivers
Запрос:
{
  "Ids": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "BeginTime": "2023-06-30T12:47:12.162Z",
  "EndTime": "2023-06-30T12:47:12.162Z"
}
Ответ:
[
  {
    "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор метки
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор назначения
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
    "BeginTime": "2023-06-30T11:19:40.703Z",
    "EndTime": "2023-06-30T11:19:40.703Z"
  }
]
Получить назначения меток запросом к карте-метке
POST /api/v3/DriversRfidsAssignments/GetByRfids
Запрос:
{
  "Ids": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "BeginTime": "2023-06-30T12:47:12.162Z",
  "EndTime": "2023-06-30T12:47:12.162Z"
}
Ответ:
[
  {
    "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор метки
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор назначения
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
    "BeginTime": "2023-06-30T11:19:40.703Z",
    "EndTime": "2023-06-30T11:19:40.703Z"
  }
]
Добавить назначения меток на водителей
POST /api/v3/DriversRfidsAssignments
Запрос:
[
  {
    "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:27:08.635Z",
    "EndTime": "2023-06-30T11:27:08.635Z"
  }
]
Ответ:
[
  {
    "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:27:08.677Z",
    "EndTime": "2023-06-30T11:27:08.677Z"
  }
]
Изменить назначения меток на водителей
PUT /api/v3/DriversRfidsAssignments
Запрос:
[
  {
    "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:28:43.330Z",
    "EndTime": "2023-06-30T11:28:43.330Z"
  }
]
Ответ:
[
  {
    "Rfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:28:43.331Z",
    "EndTime": "2023-06-30T11:28:43.331Z"
  }
]
Удалить назначения меток на водителей
DELETE /api/v3/DriversRfidsAssignments
Запрос:
[
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
Ответ:
Success
Назначение топливной карты водителю
Получить назначения топливных карт запросом к водителю
POST /api/v3/DriversFuelCardsAssignments/GetByDrivers
Запрос:
{
  "Ids": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "BeginTime": "2023-06-30T12:45:10.852Z",
  "EndTime": "2023-06-30T12:45:10.852Z"
}
Ответ:
[
  {
    "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:58:04.695Z",
    "EndTime": "2023-06-30T11:58:04.695Z"
  }
]
Получить назначения топливных карт запросом к топливной карте
POST /api/v3/DriversFuelCardsAssignments/GetByCards
Запрос:
{
  "Ids": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "BeginTime": "2023-06-30T12:45:10.852Z",
  "EndTime": "2023-06-30T12:45:10.852Z"
}
Ответ:
[
  {
    "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T11:58:04.695Z",
    "EndTime": "2023-06-30T11:58:04.695Z"
  }
]
Добавить назначение топливной карты водителю
POST /api/v3/DriversFuelCardsAssignments
Запрос:
[
  {
    "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T12:09:53.175Z",
    "EndTime": "2023-06-30T12:09:53.175Z"
  }
]
Ответ:
[
  {
    "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T12:09:53.201Z",
    "EndTime": "2023-06-30T12:09:53.201Z"
  }
]
Редактировать назначение топливной карты водителю
PUT /api/v3/DriversFuelCardsAssignments
Запрос:
[
  {
    "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T12:09:53.201Z",
    "EndTime": "2023-06-30T12:09:53.201Z"
  }
]
Ответ:
[
  {
    "CardId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "DriverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "BeginTime": "2023-06-30T12:09:53.201Z",
    "EndTime": "2023-06-30T12:09:53.201Z"
  }
]
Удалить назначение топливной карты водителю
DELETE /api/v3/DriversFuelCardsAssignments
Запрос:
[
  "3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
Ответ:
Success
Раздел: Назначения агрегатов
Получить список назначений агрегатов на выбранные объекты
POST /api/v3/Trailers
Пример запроса:
{
  "startDate": "2023-11-14T10:48:03.671Z",
  "endDate": "2023-11-14T10:48:03.671Z",
  "ids": [ 0 ],
  "timezone": 0
}
Параметр	Описание	
startDate	Дата и время начала запроса	
endDate	Дата и время окончания запроса	
ids	Массив ID объектов	
timezone	Часовой пояс, по умолчанию UTC.	
Пример ответа:
[
  {
    "SD": "2023-11-14T10:48:03.717Z",
    "ED": "2023-11-14T10:48:03.717Z",   
     "id": 0,
    "SLat": 0,
    "SLon": 0,
    "ELat": 0,
    "ELon": 0,
    "mileage": 0
    "Duration": 0
    "Address": "string",
    "Address2": "string",
    "name": "string",
    "rid": "string",
    "rguid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "trailer": {
      "ModelGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "Number": "string",
      "Description": "string",
      "OwnerGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "ExternalID": "string",
      "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "CreateTime": "2023-11-14T10:48:03.717Z",
      "UpdateTime": "2023-11-14T10:48:03.717Z",
      "IsDeleted": true
    },
    "filesCount": 0,
  }
]
Параметр	Описание	
SD	Дата и время начала события	
ED	Дата и время окончания события	
id	ID объекта	
SLat	Широта начальной координаты	
SLon	Долгота начальной координаты	
ELat	Широта конечной координаты	
ELon	Долгота конечной координаты	
mileage	Пробег	
Duration	Продолжительность	
Address	Адрес начального местоположения	
Address2	Адрес конечного местоположения	
name	Имя радиометки	
rid	Номер радиометки	
rguid	ID радиометки	
trailer	Информация об агрегате	
ModelGuid	ID агрегата	
Number	Название/номер агрегата	
Description	Текст примечания агрегата	
Раздел: Карты-метки
Получить список карт-меток определенного клиента
POST /api/v3/Rfids/find
Запрос:
{
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Ответ:
[
  {
    "name": "string",
    "number": 0,
    "period": 0,
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  }
]
Параметр	Описание	
parentId	ID клиента	
name	Название карты-метки	
number	Номер	
period	Период запросов в секундах (работает только для агрегатов)	
id	ID карты-метки	
Получить данные карты-метки
GET /api/v3/Rfids/{rfidGuid}
Передаем параметр rfidGuid - идентификатор карты-метки
Ответ:
[
  {
    "name": "string",
    "number": 0,
    "period": 0,
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  }
]
Параметр	Описание	
name	Название карты-метки	
number	Номер	
period	Период запросов в секундах (работает только для агрегатов)	
id	ID карты-метки	
parentId	ID клиента	
Добавить карту-метку
POST /api/v3/Rfids
Запрос:
{
  "name": "string",
  "number": 0,
  "period": 0,
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
}
Ответ:
{
  "name": "string",
  "number": 0,
  "period": 0,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
}
Параметр	Описание	
name	Название карты-метки	
number	Номер	
period	Период запросов в секундах (работает только для агрегатов)	
id	ID карты-метки	
parentId	ID клиента	
Редактировать карту-метку
PUT /api/v3/Rfids
Запрос:
{
  "name": "string",
  "number": 0,
  "period": 0,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
}
Ответ:
{
  "name": "string",
  "number": 0,
  "period": 0,
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
}
Параметр	Описание	
name	Название карты-метки	
number	Номер	
period	Период запросов в секундах (работает только для агрегатов)	
id	ID карты-метки	
parentId	ID клиента	
Удалить карту-метку
DELETE /api/v3/Rfids/{rfidGuid}
Передаем параметр rfidGuid - идентификатор карты-метки
Ответ:
Success
Раздел: Биллинг
Узнать баланс клиента
GET /api/v3/Billing/client/balance/{clientId}
Параметр запроса: clientId - идентификатор клиента.
Ответ:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Balance": 0
}
Параметр	Описание	
ClientId	Идентификатор клиента	
Balance	Значение баланса	
Узнать ограничения клиента
GET /api/v3/Billing/client/constraint/{clientId}
Параметр запроса: clientId - идентификатор клиента.
Ответ:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "CalculationType": 0,
  "PermissibleBalance": 0,
  "DefermentDays": 0,
  "SendUiNotifications": true,
  "SendEmailNotifications": true,
  "IsPrivate": true,
}
Параметр	Описание	
ClientId	Идентификатор клиента	
CalculationType	Определяет тип расчёта, 0 - Деньги, 1 - Дни	
PermissibleBalance	Допустимый баланс	
DefermentDays	Отсрочка, количество дней.	
SendUiNotifications	Оповещение в web-интерфейсе, true - включено, false - выключено	
SendEmailNotifications	Оповещение на почту, true - включено, false - выключено	
IsPrivate	Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом	
Узнать состояние тарифного плана клиента
GET /api/v3/Billing/client/plan/{clientId}
Параметры запроса: 
clientId - идентификатор клиента.
planId - идентификатор тарифного плана.
Ответ:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Plan": { // Описание тарифного плана
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Name": "string",
    "IsArchived": true,
    "Constraint": {
      "CalculationType": 0,
      "PermissibleBalance": 0,
      "DefermentDays": 0
    },
    "Features": [ // Описание шаблона услуг тарифного плана
      {
        "Feature": "string",
        "IsFactual": true,
        "Limit": 0,
        "Price": 0,
        "PeriodValue": 0,
        "PeriodType": 0
      }
    ]
  },
  "DebitDate": "2023-10-18T12:46:24.213Z",
  "Features": [ // Описание услуг тарифного плана как есть
    {
      "Feature": "string",
      "IsEnabled": true,
      "IsPrivate": true,
      "IsFactual": true,
      "Limit": 0,
      "Price": 0,
      "DebitDate": "2023-10-18T12:46:24.213Z",
      "PeriodValue": 0,
      "PeriodType": 0
    }
  ]
}
Параметр	Описание	
ClientId	Идентификатор клиента	
Id	Идентификатор тарифного плана	
OwnerId	Идентификатор клиента-владельца	
Name	Наименование тарифного плана	
IsArchived	Признак, определяющий архивный тарифный план	
CalculationType	Определяет тип расчёта, 0 - Деньги, 1 - Дни	
PermissibleBalance	Допустимый баланс	
DefermentDays	Отсрочка, количество дней	
Feature	Код услуги	
IsEnabled	Признак, определяющий активирована ли услуга	
IsPrivate	Признак, определяющий, являются ли параметры по услуге тарифа частными т.е. персональными для клиента, либо определяются тарифным планом.	
IsFactual	Признак, определяющий расчёт по факту	
Limit	Лимит использования услуги. Значение -1 подразумевает безлимитное использование.	
Price	Цена за единицу.	
DebitDate	Следующий момент времени списания с баланса за услугу.	
PeriodValue	Значение периода.	
PeriodType	Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы	
Получить тарифные планы принадлежащие клиенту
GET /api/v3/Billing/client/constraint/getowned/{clientId}
Параметр запроса: clientId - идентификатор клиента.
Ответ:
[
  {
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Name": "string",
    "IsArchived": true,
    "Constraint": {
      "CalculationType": 0,
      "PermissibleBalance": 0,
      "DefermentDays": 0
    },
    "Features": [
      {
        "Feature": "string",
        "IsFactual": true,
        "Limit": 0,
        "Price": 0,
        "PeriodValue": 0,
        "PeriodType": 0
      }
    ]
  }
]
Параметр	Описание	
ClientId	Идентификатор клиента	
Id	Идентификатор тарифного плана	
OwnerId	Идентификатор клиента-владельца	
Name	Наименование тарифного плана	
IsArchived	Признак, определяющий архивный тарифный план	
CalculationType	Определяет тип расчёта, 0 - Деньги, 1 - Дни	
PermissibleBalance	Допустимый баланс	
DefermentDays	Отсрочка, количество дней	
Feature	Код услуги	
IsFactual	Признак, определяющий расчёт по факту	
Limit	Лимит использования услуги. Значение -1 подразумевает безлимитное использование.	
Price	Цена за единицу.	
PeriodValue	Значение периода.	
PeriodType	Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы	
Получить список доступных тарифных планов
GET /api/v3/Billing/client/constraint/getowned/{clientId}
Параметр запроса: clientId - идентификатор клиента.
Ответ:
[
  {
    "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "OwnerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "Name": "string",
    "IsArchived": true,
    "Constraint": {
      "CalculationType": 0,
      "PermissibleBalance": 0,
      "DefermentDays": 0
    },
    "Features": [
      {
        "Feature": "string",
        "IsFactual": true,
        "Limit": 0,
        "Price": 0,
        "PeriodValue": 0,
        "PeriodType": 0
      }
    ]
  }
]
Параметр	Описание	
ClientId	Идентификатор клиента	
Id	Идентификатор тарифного плана	
OwnerId	Идентификатор клиента-владельца	
Name	Наименование тарифного плана	
IsArchived	Признак, определяющий архивный тарифный план	
CalculationType	Определяет тип расчёта, 0 - Деньги, 1 - Дни	
PermissibleBalance	Допустимый баланс	
DefermentDays	Отсрочка, количество дней	
Feature	Код услуги	
IsFactual	Признак, определяющий расчёт по факту	
Limit	Лимит использования услуги. Значение -1 подразумевает безлимитное использование.	
Price	Цена за единицу.	
PeriodValue	Значение периода.	
PeriodType	Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы	
Изменить баланс
PUT /api/v3/Billing/client/balance
Устанавливает указанное значение баланса не создавая операции пополнение/снятие.
Тело запроса:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Balance": 0
}
Ответ: Success
Параметр	Описание	
ClientId	Идентификатор клиента	
Balance	Значение баланса	
Пополнить баланс
PUT /api/v3/billing/client/balance/deposit
Создает операцию Пополнение с указанной суммой
Тело запроса:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Balance": 0
}
Ответ: Success
Параметр	Описание	
ClientId	Идентификатор клиента	
Balance	Значение баланса	
Списать с баланса
Создает операцию Списание с указанной суммой
PUT /api/v3/billing/client/balance/withdraw
Тело запроса:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Balance": 0
}
Ответ: Success
Параметр	Описание	
ClientId	Идентификатор клиента	
Balance	Значение баланса	
Изменить ограничения клиента
PUT /api/v3/Billing/client/constraint
Тело запроса:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "CalculationType": 0,
  "PermissibleBalance": 0,
  "DefermentDays": 0,
  "SendUiNotifications": true,
  "SendEmailNotifications": true,
  "IsPrivate": true,
}
Ответ: Success
Параметр	Описание	
ClientId	Идентификатор клиента	
CalculationType	Определяет тип расчёта, 0 - Деньги, 1 - Дни	
PermissibleBalance	Допустимый баланс	
DefermentDays	Отсрочка, количество дней	
SendUiNotifications	Оповещение в web-интерфейсе, true - включено, false - выключено	
SendEmailNotifications	Оповещение на почту, true - включено, false - выключено	
IsPrivate	Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом	
Изменить тариф клиента
PUT /api/v3/Billing/client/plan
Тело запроса:
{
  "ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "PlanId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Features": [
    {
      "Feature": "string",
      "IsEnabled": true,
      "IsFactual": true,
      "Limit": 0,
      "Price": 0,
      "DebitDate": "2023-10-18T13:26:58.987Z",
      "PeriodValue": 0,
      "PeriodType": 0
    }
  ]
}
Ответ: Success
Параметр	Описание	
ClientId	Идентификатор клиента	
PlanId	Идентификатор тарифного плана	
Feature	Код услуги	
IsEnabled	Признак, определяющий активирована ли услуга	
IsFactual	Признак, определяющий расчёт по факту	
Limit	Лимит использования услуги. Значение -1 подразумевает безлимитное использование.	
Price	Цена за единицу.	
DebitDate	Следующий момент времени списания с баланса за услугу.	
PeriodValue	Значение периода.	
PeriodType	Определяет тип периода действия услуги в тарифном плане, 0 - Дни, 1 - Месяцы	
Раздел: Импорт и Экспорт
Для тестирования запросов Импорта в Postman необходимо скачать его на ПК. Версия в браузере не позволяет загружать файлы в тело запроса.
Импорт объектов
POST /api/v3/vehicles/import/{agentId}
Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате xml (расширение *.xls) или wlp. Также они могут находится в zip-архиве (один файл - один архив).
В пути указывается agentId - id клиента.
Заголовок
X-Auth: [токен авторизации]
Параметры
Параметр	Описание	
withNoData	Параметр Объекты без данных. Определяет способ загрузки объекта, у которого отсутствует имя или модель объекта. true - загружать, false - пропускать.	
importMethod	Параметр Метода импорта датчиков. Определяет метод добавления датчиков импортируемых из файла. Значение: Replace - Замена, Merge - Слияние, Add - Добавление	
В теле использовать тип form-data, тип значения file
Ключи
Параметр	Описание	
data	В значении передаем файл объекта, формат xml или wlp 	
csv	В значении передаем файл датчиков, формат csv	
Ответ:
{
  "vehicleId": 0,
  "name": "string",
  "errors": ["string"]
}
Параметр	Описание	
vehicleId	ID созданного объекта	
name	Имя созданного объекта	
errors	Ошибки и их описание	
Импорт сообщений
POST /api/v3/vehicles/import/history/{vehicleId}
Позволяет импортировать сообщения в выбранный объект. Сообщения должны иметь формат wln или json. Также они могут быть упакованы и переданы в виде в zip-архива.
В пути указывается vehicleId - id объекта.
Заголовок
X-Auth: [токен авторизации]
В теле использовать тип form-data.
Ключи:
Параметр	Описание	
history	В значении передавать файл с историей	
В случае, если загружается история из файла wln можно выполнять подмену названий параметров. В ключе вы указываете название параметра из файла, в значении указываете значение на которое нужно заменить.
Ответ:
{
  "results": [
    {
      "vehicleGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "vehicleId": 0,
      "errors": [
        "string"
      ],
      "firstMessageDate": "2023-11-28T09:27:58.949Z",
      "lastMessageDate": "2023-11-28T09:27:58.949Z",
      "producedCount": 0,
      "msgCount": 0
    }
  ]
}
Параметр	Описание	
results	Результаты импорта в разрезе ТС	
vehicleGuid	Guid ТС	
vehicleId	ID ТС	
errors	Список ошибок импорта истории (если пустой - нет ошибок)	
firstMessageDate	Дата первого импортированного сообщения (UTC)	
lastMessageDate	Дата последнего импортированного сообщения (UTC)	
producedCount	Кол-во успешно отправленных в шину данных сообщений	
msgCount	Кол-во обработанных сообщений всего	
Статус импорта сообщений
GET /api/v3/vehicles/import/history/status
Запрос статуса импорта истории. Может потребоваться в случае импорта истории за большой период.
Ответ:
{
  "activity": true,
  "progress": 0,
  "message": "string"
}
Параметр	Описание	
activity	Активен ли экспорт/импорт истории сейчас, true - да, false - нет	
progress	Guid ТС	
Экспорт объектов
POST /api/v3/vehicles/export
Запрос позволяет экспортировать файлы с настройками объектов. В запросе передается массив id объектов.
Тело запроса:
[
  id
]
Ответ: Success 200, получаете файлы с настройками.
Экспорт сообщений
POST /api/v3/vehicles/export/history
Метод возвращает список сообщений терминала объекта за выбранный период.
Тело запроса:
{
  "vehicleId": 0,
  "asArchive": true,
  "from": "2023-09-27T12:17:45.973Z",
  "to": "2023-09-27T12:17:45.973Z"
}
Ответ:
Получаете файл. Сообщение: Code 200/Success
Параметр	Описание	
vehicleId	ID объекта	
asArchive	true - Архивировать файл, False - не архивировать	
from	Дата и время начала запроса	
to	Дата и время окончания запроса	
Статус экспорта сообщений
GET /api/v3/vehicles/export/history/status
Метод возвращает список сообщений терминала объекта за выбранный период.
Ответ:
{
  "activity": true,
  "progress": 0,
  "message": "string"
}
Параметр	Описание	
activity	Статус экспорта, где true - экспорт в процессе выполнения, false - в данный момент ничего не экспортируется.	
progress	Прогресс экспорта, от 0 до 100%	
message	Текст описывающий статус	
Раздел: Экодрайвинг
Запрос рейтинга качества вождения
POST /api/v3/EcoDriving/rating
Позволяет получить данные рейтинга нарушений выбранных объектов за указанный период времени. Данные, выдаваемые этим запросом аналогичны тем, что вы можете увидеть в окне Качество вождения в мониторинге. В массиве items передается список объектов из рейтинга качества вождения, в trips передается информация по отдельным рейсам объекта.
Тело запроса:
{
  "vehicleIds": [vehicleId], //Массив ID объектов
  "from": "2023-11-22T09:29:48.051Z", // Дата начала запроса
  "to": "2023-11-22T09:29:48.051Z" // Дата окончания запроса
}
Ответ: 
{
  "items": [  // Список в разрезе ТС
    {
      "from": "2023-11-22T09:29:48.052Z", // Дата начала периода
      "to": "2023-11-22T09:29:48.052Z", // Дата окончания периода
      "vehicleId": 0, // ID ТС
      "vehicleName": "string", // Название ТС
      "vehicleModel": "string", // Модель ТС
      "penalty": 0, // Кол-во рассчитанных штрафных баллов в разрезе ТС
      "score": 0, // Рассчитанная оценка вождения в разрезе ТС
      "totalViolations": 0, // Нарушений всего
      "violationsByType": { // Информация о нарушениях по типу
        "overspeedingViolations": 0, // Нарушений превышения скорости
        "accelerationViolations": 0, // Нарушений ускорения
        "brakingViolations": 0, // Нарушений торможения
        "turningViolations": 0, // Нарушений опасного поворота
        "dangerousDrivingViolations": 0, // Нарушений резкого вождения
        "sensorViolations": 0 // Нарушений по датчику
      },
 
      "moveTime": 0, // Продолжительность движения, сек
      "mileage": 0, // Пробег, м
      "tripsCount": 0, // Кол-во рейсов
      "trips": [  // Информация по рейсу
        {
          "penalty": 0, // Кол-во рассчитанных штрафных баллов за рейс
          "score": 0, // Рассчитанная оценка вождения за рейс
          "violationsCount": 0, // Всего нарушений
          "violationsByType": { // Информация о нарушениях по типу
            "overspeedingViolations": 0, // Нарушений превышения скорости
            "accelerationViolations": 0, // Нарушений ускорения
            "brakingViolations": 0, // Нарушений торможения
            "turningViolations": 0, // Нарушений опасного поворота
            "dangerousDrivingViolations": 0, // Нарушений резкого вождения
            "sensorViolations": 0 // Нарушений по датчику
          },
         "startDate": "2024-11-18T13:23:38.516Z",  // Дата начала поездки
          "endDate": "2024-11-18T13:23:38.516Z", // Дата окончания поездки
          "moveTime": 0, // Продолжительность движения, сек
          "mileage": 0, // Пробег, м
          "motohours": 0, // Моточасы, секунды
          "maxSpeed": 0, // Максимальная скорость за рейс
          "startAddress": "string", // Адрес начала рейса
          "endAddress": "string", // Адрес конца рейса
          "drivers": [  // Список водителей
            {
              "driverGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", //GUID водителя
              "driverName": "string", //ФИО водителя
              "driverRfid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" //GUID радиометки
            }
          ]
        }
      ]
    }
  ]
}
Раздел: Топливные карты
Запрос транзакций по топливным картам
Транзакции по топливным картам можно получить при наличии права «Транзакции ТК». Метод позволяет получить транзакции по нескольким топливным картам.
POST /api/v3/fuelcards/transactions
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/fuelcards/transactions

В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
{
  "startDate": "2024-04-11T10:32:02.395Z", // Начало периода
  "endDate": "2024-04-11T10:32:02.395Z", // Конец периода
  "ids": [ 
    "3fa85f64-5717-4562-b3fc-2c963f66afa6" // Идентификаторы топливных карт
  ],
  "timezone": 0 // Часовой пояс
}
Ответ:
  {
    "date": "2024-04-11T10:41:02.265Z", // Дата и время транзакции
    "driver": "string", // Водители, привязанные к ТК
    "object": "string", // Наименование ТС
    "amount": 0, // Количество топлива
    "amountDut": 0, // Количество по ДУТ
    "amountDiff": 0, // Разница, л
    "amountDiffPerc": 0, // Разница, %
    "summa": 0, // Стоимость, руб
    "serviceName": "string", // Тип топлива
    "price": 0, // Цена за литр, руб
    "cardName": "string", // Наименование ТК
    "cardNum": "string", // Номер ТК
    "operator": "string", // Оператор ТК
    "address": "string" // Адрес АЗС
  }
Получение списка топливных карт
GET /api/v3/fuelcards
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/fuelcards?ownerId=ID_клиента // ID клиента у которого нужно запросить список
Ответ:
[
  {
    "Name": "string", // Определяет наименование карты.
    "OperatorGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Определяет идентификатор оператора.
    "Number": "string", // Определяет № карты.
    "Enabled": true, // Определяет признак активности карты.
    "Description": "string", // Определяет описание карты.
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID карты
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
    "deleted": true // Признак удаления
  }
]
Раздел: Методы публичного API для ретрансляторов
Получение полных данных о ретрансляторе
GET  /api/v3/retranslations/{id}
id - Идентификатор ретранслятора 
Пример ответа:
{  
"description": "",  // Поле описания ретранслятора
"subscriberId": "",  // Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
"protocolType": 0,  // Тип протокола ретрансляции
"isEnabled": true,  // Признак включения ретранслятора, Включен, true - включен, false - отключен
"address": "string",  // Адрес и порт принимающего сервера
"objects": [    // Объекты для ретрансляции
{      
"id": "",  // Идентификатор объекта ретрансляции
"name": "",   // Наименование объекта ретрансляции
"imei": "",     // IMEI объекта  ретрансляции
"isEnabled": true    // Признак включения объекта ретрансляции: true - включен, false - отключен
}
  ],  
"id": "",  // Идентификатор ретранслятора   
"parentId": "",  // Идентификатор родителя (вышестоящего клиента)
"deleted": "" // Признак удаления ретранслятора: true - включен, false - отключен
}
Удаление данных ретранслятора
DELETE /api/v3/retranslations/{id}
id - Идентификатор ретранслятора 
Создание ретранслятора
POST  /api/v3/retranslations/{id}
Запрос:
{  
"description": "",  // Поле описания ретранслятора
"subscriberId": "",  // Идентификатор подписчика
"protocolType": 0,  // Тип протокола ретрансляции
"address": "",  // Адрес и порт принимающего сервера
"isEnabled": "",  // Признак включения ретранслятора, true - включен, false - отключен
"objects": [    //Объекты для ретрансляции
{      
"id": "",  // Идентификатор ретранслятора     
"imei": "",     // IMEI объекта ретрансляции
"isEnabled":  ""  // Признак включения объекта  ретрансляции: true - включен, false - отключен
}
  ]
}
Ответ:
{  
"description": "",  // Поле описания ретранслятора
"subscriberId": "",  // Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
"protocolType": 0,  // Тип протокола ретрансляции
"isEnabled": true,  // Признак включения ретранслятора: true - включен, false - отключен
"address": "string",  // Адрес и порт принимающего сервера
"objects": [     // Объекты для ретрансляции
{      
"id": "",    // Идентификатор объекта ретрансляции     
"name": "string",  // Наименование объекта ретрансляции    
"imei": "",      // IMEI объекта ретрансляции
"isEnabled": true    // Признак включения объекта ретрансляции: true - включен, false - отключен  
}
  ],
"id": "",  // Идентификатор ретранслятора   
"parentId": "",  // Идентификатор родителя (вышестоящего клиента)
"deleted": true // Признак удаления ретранслятора: true - удален, false - не удален
}
Редактирование ретранслятора
PUT /api/v3/retranslations
Пример запроса:
{  
"id": "",  // Идентификатор ретранслятора   
"description": "string",  // Поле описания ретранслятора
"subscriberId": "",  // Идентификатор подписчика
"protocolType": 0,  // Тип протокола ретрансляции
"isEnabled": true,  // Признак включения ретранслятора: true - включен, false - отключен
"address": "string",   // Адрес и порт принимающего сервера
"objects":  // Объекты для ретрансляции
[    
{      
"id": "",  // Идентификатор объекта ретрансляции         
"imei": "",       // IMEI объекта  ретрансляции
"isEnabled": true    // Признак включения объекта ретрансляции: true - включен, false - отключен
}
  ]
}
Пример ответа:
{  
"description": "",  // Поле описания ретранслятора
"subscriberId": "",  // Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
"protocolType": 0,  // Тип протокола ретрансляции
"isEnabled": true,  // Признак включения ретранслятора: true - включен, false - отключен
"address": "string",  // Адрес и порт принимающего сервера
"objects": [     // Объекты для ретрансляции
{      
"id": "",    // Идентификатор объекта ретрансляции     
"name": "string",  // Наименование объекта ретрансляции    
"imei": "",      // IMEI объекта ретрансляции
"isEnabled": true    // Признак включения объекта ретрансляции: true - включен, false - отключен  
}
  ],
"id": "",  // Идентификатор ретранслятора   
"parentId": "",  // Идентификатор родителя (вышестоящего клиента)
"deleted": true // Признак удаления ретранслятора: true - удален, false - не удален
}
Получение списка ретранслятора клиента
POST /api/v3/retranslations/find
Пример запроса:
{  
"id": "",  // Идентификатор ретранслятора   
"search": "string",  // Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
"parentId": "" // Идентификатор родительского агента, для которого надо получить данные (обязательный параметр).
}
Ответ:
[   
{    
"description": "",    // Поле описания ретранслятора
"subscriberId": "",    // Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
"protocolType": 0,     // Тип протокола ретрансляции
"isEnabled": true,    // Признак включения ретранслятора: true - включен, false - отключен
"address": "string",    // Адрес и порт принимающего сервера
"id": "",    // Идентификатор ретранслятора   
"parentId": "",    // Идентификатор родителя (вышестоящего клиента)
"deleted": true   // Признак удаления ретранслятора: true - удален, false - не удален
}
]
Раздел: Отчеты
API для отчета по выгрузке комбайнов
POST /api/v3/Reports/harvesterUnloading
Пример запроса:
{
  "byTime": 0, // Объединение событий по времени
  "byDist": 0,  // Объединение событий по расстоянию
  "filterByTime": 0,   // Фильтрация событий по времени нахождения
  "filterByHalfPerimeter": true,  // Фильтрация событий по пробегу половины периметра
  "showNearestObjects": true,  //Показывать объекты рядом?
  "vehicleIds": [   // Список id объектов для анализа
    0
  ],
  "from": "", // Дата и время начало запроса
  "to": "",  // Дата и время окончания запроса
  "timezone": 0  // Временная зона. Если не указана, то по умолчанию UTC+3
}
Пример ответа:
[ 
  {
    "harvesterName": "",  //Комбайн, номер
    "harvesterId": 0, //Комбайн, id
"harvesterModel": "", // Модель комбайна
"hopperCapacity": 0, // Объем бункера м3
    "hopperDischargeSpeed": 0,  // Скорость выгрузки из бункера, л/сек
    "events": [  //Список событий в разрезе комбайна
      {
        "driverId": "",  //Идентификатор водителя
        "driverName": "", //Водитель комбайна, ФИО
        "RFID": "", // идентификатор карты-метки
        "rfidName": "", //Водитель комбайна, имя метки
        "vehicleId": 0, //идентификатор объекта
        "vehicleName": "string", // Имя объекта
        "modelName": "string", //  Имя модели объекта
        "nearestVehicles": [  //Объекты рядом
          {
            "vehicleId": 0, //идентификатор объекта
            "vehicleName": "string" // Имя объекта
          }
        ],
        "fields": [  //Поля, где происходила выгрузка
          {
            "id": 0, // идентификатор пользователя 
            "name": "string" // имя пользователя 
          }
        ],
        "event": "string", //Событие
        "start": "2024-07-19T06:41:57.821Z", // Начало периода
        "end": "2024-07-19T06:41:57.821Z", // Окончание периода
        "durationSeconds": 0,  //Продолжительность события, в секундах
        "cultureName": "string",  // название культуры
        "bunkerLowLevelStart": 0,  //Бункер, нижний уровень (на начало события)
        "bunkerLowLevelEnd": 0, // Бункер, нижний уровень (на конец события)
        "bunkerHighLevelStart": 0, //Бункер, верхний уровень (на начало события)
        "bunkerHighLevelEnd": 0, //Бункер, верхний уровень (на конец события)
        "reapingAggregateValueStart": 0, //Жатка (на начало события)
        "reapingAggregateValueEnd": 0, //Жатка (на конец события)
        "issued": 0, //Выдано, бункеров
        "issuedByBunkerSensors": 0, //Отдано бункеров (расчет по датчикам бункера)
        "latitude": 0,  //Широта
        "longitude": 0, // Долгота
        "litresAway": 0, //Отдано, л
        "m3Away": 0 //Отдано, м3
      }
    ]
  }
]
Отчет трек-датчики
POST /api/v3/Reports/sensorsWorks
Пример запроса:
{
  "vehicleIds": [ // Список ID объектов
    0
  ],
  "from": "2025-02-20T06:39:23.888Z",  // Начало периода (локальное время клиента)
  "to": "2025-02-20T06:39:23.888Z", //  Конец периода (локальное время клиента)
  "timezone": 0 // Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK
}
Пример ответа:
{
  "vehicleSensorWorks": [  // Интервалы работы оборудования для конкретного ТС
    {
      "vehicleId": 0, // Идентификатор ТС
      "sensorWorks": [ // Интервалы работы оборудования. 
        {
          "start": "2025-02-20T06:39:23.979Z", // Начало интервала работы оборудования.
          "end": "2025-02-20T06:39:23.979Z", // Конец интервала работы оборудования.
          "duration": 0, //  Продолжительность интервала в секундах.
          "name": "string", // Наименование оборудования.
          "mileage": 0, // Пробег за время работы оборудования.
          "totalMileage": 0, // Общий пробег.
          "avgSpeed": 0 // Средняя скорость.
        }
      ]
    }
  ]
}
Превышение скорости
POST /api/v3/Reports/overSpeedDuration
 Публичный API запрос о превышениях скорости по объекту в секундах с выбором способа определения нарушений (дорожное ограничение или фиксированное ограничение).
Пример запроса: 
{
  "vehicleId": 0, // идентификационный номер транспортного средства
  "from": "2025-04-21T10:45:25.258Z", // Начало периода (локальное время клиента)
  "to": "2025-04-21T10:45:25.258Z", // Конец периода (локальное время клиента)
  "timezone": 0, // Таймзона клиента, в часах (double). Если не передана - то считается как +3, MSK
  "overSpeedDetectionType": 0 // тип нарушения (1-дорожное ограничение, 2-фиксированный ) 
}
 
Пример ответа:
[
  {
    "eventDate": "2025-04-21T10:45:25.267Z", //  Дата и время события 
    "duration": 0, // Продолжительность события в секундах 
    "maxSpeed": 0, // Максимальная скорость 
    "speedLimit": 0 // Ограничение скорости 
  }
]
Раздел: Сельскохозяйственные поля 
Запрос списка полей
POST /api/v3/agroLands/find
Пример запроса:
{
  "year": 0, // Фильтр по году
  "name": "string", // Фильтр по названию
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" // Фильтр по подразделению
}
 
Пример ответа:
[
  {
    "sqPlan": 0, // Определяет площадь поля, Га.
    "year": 0, // Год поля
    "startDate": "2024-12-20T12:27:07.523Z", // Начало года урожая
    "endDate": "2024-12-20T12:27:07.523Z", // Конец года урожая
    "status": 0, // Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
    "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор культуры
    "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор технологии
    "counts": { // Счётчики с/х поля 
      "fieldOperations": 0, // Количество операций на поле
      "actualFieldOperations": 0, // Кол-во актуальных операций на поле
      "facts": 0 // Счётчик факта
    },
    "planState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
    "actualPlanState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
    "factState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
    "taskState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
    "fieldId": 0, // Ссылка на группирующее с/х поле
    "sourceId": 0, // Ссылка на участок прошлого года
    "planComment": "string", // Комментарий к полю
    "productivity": 0, // Урожайность.
    "id": 0, // Идентификатор объекта геозоны
    "name": "string", // Название объекта геозоны
    "type": 0, // Тип объекта геозоны
    "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Подразделение
    "fname": "string", // Имя файла
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агента
    "beginCalc": "2024-12-20T12:27:07.523Z", // Дата начала расчетов для геозоны
    "endCalc": "2024-12-20T12:27:07.523Z", // Дата окончания расчетов для геозоны
    "description": "string", // Описание объекта геозоны
    "area": 0, // Площадь, м2
    "perimetr": 0, // Периметр, м
    "createDate": "2024-12-20T12:27:07.523Z" // Дата создания в бд
  }
]
Создание нового поля 
POST /api/v3/agroLands
Если необходимо указывать конкретного клиента, в котором нужно создать поле, то в заголовке надо прописать 
X-agent  - ID клиента
Пример запроса:
{
  "extId": "string", 
  "shape": "{\"type\":\"Polygon\",\"coordinates\":[[[50.299112,54.769317],[50.299369,54.76691],[50.303702,54.767878],[50.299112,54.769317]]]}", // Форма поля
  "shapeFormat": "geojson", // Формат, в котором представлена форма поля
  "display": "string", // Настройки отображения
  "year": 0, // Год поля
  "name": "string", // Наименование
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Подразделение
  "startDate": "2024-12-20T08:19:59.635Z", // Начало года урожая
  "endDate": "2024-12-20T08:19:59.635Z", // Конец года урожая
  "planComment": "string", // Комментарий к полю
  "cropRotations": [ // Данные по севообороту
    {
      "landId": 0, // ID поля
      "landName": "string", // Название поля
      "year": 0, // Год урожая
      "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID культуры
      "cultureName": "string", // Название культуры
      "productivity": 0, // Урожайность
      "area": 0, // Площадь поля, Га
      "total": 0, // Валовый сбор
      "productivityFact": 0, // Фактическая урожайность
      "areaFact": 0, // Фактическая площадь поля, Га.
      "totalFact": 0, // Фактический валовый сбор
      "start": "2024-12-20T08:19:59.635Z", // Дата начала работ
      "sowing": "2024-12-20T08:19:59.635Z", // Дата сева
      "harvesting": "2024-12-20T08:19:59.635Z", // Дата уборки урожая
      "isyearplan": true, // Годовой план 
      "comment": "string" // Комментарий
    }
  ]
}
 
Пример ответа:
{
  "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // Идентификатор культуры
  "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор технологии
  "fieldId": 0, // Ссылка на группирующее с/х поле
  "sourceId": 0, // Ссылка на участок прошлого года
  "cropRotations": [ // Данные по севообороту
    {
      "landId": 0, // ID поля
      "landName": "string", // Название поля
      "year": 0, // Год урожая 
      "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID культуры
      "cultureName": "string", // Название культуры
      "productivity": 0, // Урожайность
      "area": 0, // Площадь поля, Га.
      "total": 0, // Валовый сбор
      "productivityFact": 0, // Фактическая урожайность
      "areaFact": 0, // Фактическая площадь поля, Га.
      "totalFact": 0, // Фактический валовый сбор
      "start": "2024-12-20T08:19:59.743Z", // Дата начала работ
      "sowing": "2024-12-20T08:19:59.743Z", // Дата сева
      "harvesting": "2024-12-20T08:19:59.743Z", // Дата уборки урожая
      "isyearplan": true, // годовой план 
      "comment": "string" // Комментарий
    }
  ],
  "cropVegetation": [ // История вегетации поля
    {
      "values": [  // Данные вегетации и состояния посева
        {
          "date": "2024-12-20T08:19:59.743Z", // Дата
          "ndvi": 0 // Индекс вегетации
        }
      ],
      "resources": [ // Данные о снимках для каждого значения NDVI
        {
          "date": "2024-12-20T08:19:59.743Z", // Дата
          "type": "string", // Тип
          "pictureid": "string" // Идентификатор ресурса
        }
      ],
      "states": [ // Ключевые даты развития поля
        {
          "date": "2024-12-20T08:19:59.743Z", // Дата
          "state": 0 // Статус  0 - Всходы, 1 - Вершина, 2 - Сбор урожая
        }
      ]
    }
  ],
  "endDate": "2024-12-20T08:19:59.743Z", // Дата закрытия года урожая
  "counts": {
    "fieldOperations": 0, // Количество операций на поле
    "actualFieldOperations": 0, // Кол-во актуальных операций на поле
    "facts": 0 // Счётчик факта
  },
  "planComment": "string", // Комментарий к полю
  "productivity": 0, // Урожайность.
  "sqPlan": 0, // Определяет площадь поля, Га.
  "startDate": "2024-12-20T08:19:59.743Z", // Дата открытия года урожая
  "year": 0, // Год поля
  "planState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "actualPlanState": 0, // Актуальный статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "factState": 0, // Фактический статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "taskState": 0, // Статус задачи годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "status": 0, // Статус с/х поля 0 - Нет, 1 - Открыто, 2 - Закрыто
  "id": 0, // Идентификатор объекта геозоны
  "name": "string", // Название объекта геозоны
  "type": 0, // Тип объекта геозоны
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Подразделение
  "fname": "string", // Имя файла
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агента
  "beginCalc": "2024-12-20T08:19:59.743Z", // Дата начала расчетов для геозоны
  "endCalc": "2024-12-20T08:19:59.743Z", // Дата окончания расчетов для геозоны
  "description": "string", // Описание объекта геозоны
  "area": 0, // Площадь, м2
  "perimetr": 0, // Периметр, м
  "createDate": "2024-12-20T08:19:59.743Z" // Дата создания в бд
}
 
Получение поля по id
GET /api/v3/agroLands/{id}
Пример запроса:
id  // Идентификатор поля
Пример ответа:
{
  "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // Идентификатор культуры
  "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор технологии
  "fieldId": 0, // Ссылка на группирующее с/х поле
  "sourceId": 0, // Ссылка на участок прошлого года
  "cropRotations": [ // Данные по севообороту
    {
      "landId": 0, // ID поля
      "landName": "string", // Название поля
      "year": 0, // Год урожая
      "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID культуры
      "cultureName": "string", // Название культуры
      "productivity": 0, // Урожайность
      "area": 0, // Площадь поля, Га
      "total": 0, // Валовый сбор
      "productivityFact": 0, // Фактическая урожайность
      "areaFact": 0, // Фактическая площадь поля, Га.
      "totalFact": 0, // Фактический валовый сбор
      "start": "2024-12-20T07:45:52.611Z", // Дата начала работ
      "sowing": "2024-12-20T07:45:52.611Z", // Дата сева
      "harvesting": "2024-12-20T07:45:52.611Z", // Дата уборки урожая
      "isyearplan": true, // План года 
      "comment": "string" // Комментарий
    }
  ],
  "cropVegetation": [ // История вегетации поля
    {
      "values": [ // Данные вегетации и состояния посева
        {
          "date": "2024-12-20T07:45:52.611Z", // Дата
          "ndvi": 0 // Индекс вегетации
        }
      ],
      "resources": [  // Данные о снимках для каждого значения NDVI
        {
          "date": "2024-12-20T07:45:52.611Z", // Дата
          "type": "string", // Тип 
          "pictureid": "string" // Идентификатор ресурса
        }
      ],
      "states": [ // Ключевые даты развития поля
        {
          "date": "2024-12-20T07:45:52.611Z", // Дата 
          "state": 0 // Статус 0 - Посев, 1 - Всходы, 2 - Сбор урожая
        }
      ]
    }
  ],
  "endDate": "2024-12-20T07:45:52.611Z", // Дата закрытия года урожая
  "counts": {
    "fieldOperations": 0, // Количество операций на поле
    "actualFieldOperations": 0,  // Кол-во актуальных операций на поле
    "facts": 0 // Счётчик факта
  },
  "planComment": "string", // Комментарий к полю
  "productivity": 0, // Урожайность.
  "sqPlan": 0, // Определяет площадь поля, Га.
 "startDate": "2024-12-20T07:45:52.611Z", // Дата открытия года урожая
  "year": 0, // Год поля
  "planState": 0, // Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой) 
  "actualPlanState": 0, // Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
  "factState": 0, // Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
  "taskState": 0, // Статус годового планирования участка (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
  "status": 0,  // Статус с/х поля (0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой)
  "id": 0, // Идентификатор объекта геозоны
  "name": "string", // Название объекта геозоны
  "type": 0, // Тип объекта геозоны 
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Подразделение
  "fname": "string", // Имя файла
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агента
  "beginCalc": "2024-12-20T07:45:52.611Z", // Дата начала расчетов для геозоны
  "endCalc": "2024-12-20T07:45:52.611Z", // Дата окончания расчетов для геозоны
  "description": "string", // Описание объекта геозоны
  "area": 0, // Площадь, м2
  "perimetr": 0, // Периметр, м
  "createDate": "2024-12-20T07:45:52.611Z" // Дата создания в бд
}
Удаление существующего поля
DELETE /api/v3/agroLands/{id}
Пример запроса:
id  // Идентификатор поля
Пример ответа:
200 // Успех

Изменение поля
PUT /api/v3/agroLands
Пример запроса:
{
  "id": 0, // Идентификатор поля
  "extId": "string", // ExtId
  "shape": "string", // Форма поля
  "shapeFormat": "string", // Формат, в котором представлена форма поля
  "display": "string", // Настройки отображения
  "year": 0, // Год поля
  "name": "string", // Наименование
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Подразделение
  "startDate": "2024-12-20T10:11:59.425Z", // Начало года урожая
  "endDate": "2024-12-20T10:11:59.425Z", // Конец года урожая
  "planComment": "string", //Комментарий к полю
  "cropRotations": [  // Данные по севообороту
    {
      "landId": 0, // ID поля
      "landName": "string", // Название поля
      "year": 0, // Год урожая
      "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID культуры
      "cultureName": "string", // Название культуры
      "productivity": 0, // Урожайность
      "area": 0, // Площадь поля, Га.
      "total": 0, // Валовый сбор
      "productivityFact": 0, // Фактическая урожайность
      "areaFact": 0, // Фактическая площадь поля, Га.
      "totalFact": 0, // Фактический валовый сбор
      "start": "2024-12-20T10:11:59.425Z", // Дата начала работ
      "sowing": "2024-12-20T10:11:59.425Z", // Дата сева
      "harvesting": "2024-12-20T10:11:59.425Z", // Дата уборки урожая
      "isyearplan": true, 
      "comment": "string" // Комментарий
    }
  ],
  "deleteStatistic": true // Нужно ли удалять статистику
}
 
Пример ответа:
{
  "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор культуры
  "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор технологии
  "fieldId": 0, // Ссылка на группирующее с/х поле
  "sourceId": 0, // Ссылка на участок прошлого года
  "cropRotations": [ // Данные по севообороту
    {
      "landId": 0, // ID поля
      "landName": "string", // Название поля
      "year": 0, //  Год урожая
      "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID культуры
      "cultureName": "string", // Название культуры
      "productivity": 0, // Урожайность
      "area": 0, // Площадь поля, Га
      "total": 0, // Валовый сбор
      "productivityFact": 0, // Фактическая урожайность
      "areaFact": 0, // Фактическая площадь поля, Га.
      "totalFact": 0, // Фактический валовый сбор
      "start": "2024-12-20T10:11:59.533Z", // Дата начала работ
      "sowing": "2024-12-20T10:11:59.533Z", // Дата сева
      "harvesting": "2024-12-20T10:11:59.533Z", // Дата уборки урожая
      "isyearplan": true, // 
      "comment": "string" // Комментарий
    }
  ],
  "cropVegetation": [ // История вегетации поля
    {
      "values": [ // Данные вегетации и состояния посева
        {
          "date": "2024-12-20T10:11:59.533Z", // Дата
          "ndvi": 0 // Индекс вегетации
        }
      ],
      "resources": [ // Данные о снимках для каждого значения NDVI
        {
          "date": "2024-12-20T10:11:59.533Z", // Дата
          "type": "string", // Тип
          "pictureid": "string" // Идентификатор ресурса
        }
      ],
      "states": [ // Ключевые даты развития поля 
        {
          "date": "2024-12-20T10:11:59.533Z", // Дата
          "state": 0 // Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
        }
      ]
    }
  ],
  "endDate": "2024-12-20T10:11:59.533Z", // Дата закрытия года урожая
  "counts": { 
    "fieldOperations": 0, // Количество операций на поле
    "actualFieldOperations": 0, // Кол-во актуальных операций на поле
    "facts": 0 // Счётчик факта
  },
  "planComment": "string", // Комментарий к полю
  "productivity": 0, // Урожайность.
  "sqPlan": 0, // Определяет площадь поля, Га.
  "startDate": "2024-12-20T10:11:59.533Z", // Дата открытия года урожая
  "year": 0, // Год поля
  "planState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "actualPlanState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "factState": 0,  // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "taskState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто Частично С ошибкой
  "status": 0, // Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто 
  "id": 0, // Идентификатор объекта геозоны
  "name": "string", // Название объекта геозоны
  "type": 0, // Тип объекта геозоны
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Подразделение
  "fname": "string", // Имя файла
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агента
  "beginCalc": "2024-12-20T10:11:59.533Z", // Дата начала расчетов для геозоны
  "endCalc": "2024-12-20T10:11:59.533Z", // Дата окончания расчетов для геозоны
  "description": "string", // Описание объекта геозоны
  "area": 0, // Площадь, м2
  "perimetr": 0, // Периметр, м
  "createDate": "2024-12-20T10:11:59.533Z" // Дата создания в бд
}
Редактирование года урожая 
POST /api/v3/agroLands/updateOpenCloseYear
Пример запроса:
{
  "agroLandIds": [  // Идентификаторы полей для которых меняется год урожая
    0
  ],
  "newStartDate": "2024-12-20T11:43:43.921Z", // Новая дата начала урожая
  "newEndDate": "2024-12-20T11:43:43.921Z" // Новая дата закрытия урожая
}
 
Пример ответа:
{
  "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор культуры
  "cultureTechnologyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор технологии
  "fieldId": 0, // Ссылка на группирующее с/х поле
  "sourceId": 0, // Ссылка на участок прошлого года
  "cropRotations": [ // Данные по севообороту
    {
      "landId": 0, // ID поля
      "landName": "string", // Название поля
      "year": 0, // Год урожая
      "cultureId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID культуры
      "cultureName": "string", // Название культуры
      "productivity": 0, // Урожайность
      "area": 0, // Площадь поля, Га.
      "total": 0, // Валовый сбор
      "productivityFact": 0, // Фактическая урожайность
      "areaFact": 0, // Фактическая площадь поля, Га.
      "totalFact": 0, // Фактический валовый сбор
      "start": "2024-12-20T11:43:44.091Z", // Дата начала работ
      "sowing": "2024-12-20T11:43:44.091Z", // Дата сева
      "harvesting": "2024-12-20T11:43:44.091Z", // Дата уборки урожая
      "isyearplan": true, // 
      "comment": "string" // Комментарий
    }
  ],
  "cropVegetation": [ // История вегетации поля
    {
      "values": [ // Данные вегетации и состояния посева
        {
          "date": "2024-12-20T11:43:44.091Z", // Дата
          "ndvi": 0 // Индекс вегетации
        }
      ],
      "resources": [ // Данные о снимках для каждого значения NDVI
        {
          "date": "2024-12-20T11:43:44.091Z", // Дата
          "type": "string", // Тип
          "pictureid": "string" // Идентификатор ресурса
        }
      ],
      "states": [ // Ключевые даты развития поля
        {
          "date": "2024-12-20T11:43:44.091Z", // Дата 
          "state": 0 // Статус 0 - Всходы, 1 - Вершина, 2 - Сбор урожая
        }
      ]
    }
  ],
  "endDate": "2024-12-20T11:43:44.091Z", // Дата закрытия года урожая
  "counts": { 
    "fieldOperations": 0, // Количество операций на поле
    "actualFieldOperations": 0, // Кол-во актуальных операций на поле
    "facts": 0 // Счётчик факта
  },
  "planComment": "string", // Комментарий к полю
  "productivity": 0, // Урожайность.
  "sqPlan": 0, // Определяет площадь поля, Га.
  "startDate": "2024-12-20T11:43:44.091Z", // Дата открытия года урожая
  "year": 0, // Год поля
  "planState": 0,  // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
  "actualPlanState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
  "factState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
  "taskState": 0, // Статус годового планирования участка 0 - Нет, 1 - Запланированная, 2 - Запланированная ошибка, 3 - Ошибка закрытия, 4 - Закрыто, 5 - Отменено, 6 - Закрыто частично, 7 - Закрыто частично с ошибкой
  "status": 0, // Статус с/х поля 0 - нет, 1 - открыто, 2 - закрыто
  "id": 0, // Идентификатор объекта геозоны
  "name": "string", // Название объекта геозоны
  "type": 0, // Тип объекта геозоны
  "unitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Подразделение
  "fname": "string", // Имя файла
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агента
  "beginCalc": "2024-12-20T11:43:44.091Z", // Дата начала расчетов для геозоны
  "endCalc": "2024-12-20T11:43:44.091Z", // Дата окончания расчетов для геозоны
  "description": "string", // Описание объекта геозоны
  "area": 0, // Площадь, м2
  "perimetr": 0, // ериметр, м
  "createDate": "2024-12-20T11:43:44.091Z" // Дата создания в бд
}
Раздел: Корзина
Запрос на получение списка всех объектов в корзине
GET api/v3/Vehicles/recyclebin/all
Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту
Параметр запроса: {parentId} - идентификатор агента
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
[ 
  {
    "recordTime": "",  //Время записи
    "userId": "", //Guid пользователя, добавившего объект в корзину
    "parentId": "", //Guid агента объекта, помещённого в корзину
    "objectId": 0, //ID объекта, помещённого в корзину
    "objectGuid": "", //Guid объекта, помещённого в корзину
    "objectType": 1, //Тип объекта, помещённого в корзину
    "details": { //Список деталей объекта, помещённого в корзину
      "items": [ // 
nullable: true  //Детали
        {
          "name": "string", //наименование столбца
          "value": "string" //содержание столбца
        }
      ]
    },
   "errors": [  //Список ошибок удаления/восстановления объекта
      "string"
    ]
  }
]
Запрос на удаление объектов из корзины
POST api/v3/Vehicles/recyclebin/erase
В заголовках запроса: X-Auth: Токен авторизации
Пример запроса:
[
0
]
 
Пример ответа:
[ 
{
    "recordTime": "", //Время записи
    "userId": "", //Guid пользователя, добавившего объект в корзину
    "parentId": "", //Guid агента объекта, помещённого в корзину
    "objectId": 0, //ID объекта, помещённого в корзин
    "objectGuid": "",  //Guid объекта, помещённого в корзину
    "objectType": 1, //Тип объекта, помещённого в корзину
    "details": { //Список деталей объекта, помещённого в корзину
      "items": [ //Детали
        {
          "name": "", //Имя свойства
          "value": "" //Значение свойства
        }
      ]
    },
    "errors": [  //Список ошибок удаления/восстановления объекта
      ""
    ]
  }
]
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Запрос на восстановление объектов из корзины
POST api/v3/Vehicles/recyclebin/restore
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON):
Восстанавливает объекты из корзины. Возвращает те объекты которые не получилось восстановить.
В заголовках запроса: X-Auth: Токен авторизации
Пример запроса:
[
  0
]
Пример ответа:
[
{
    "recordTime": "2024-07-19T07:58:19.305Z", //Время записи
    "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  //Guid пользователя, добавившего объект в корзину
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", //Guid агента объекта, помещённого в корзину
    "objectId": 0, //ID объекта, помещённого в корзину
    "objectGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", //Guid объекта, помещённого в корзину
    "objectType": 1, //Тип объекта, помещённого в корзину
    "details": { //Список деталей объекта, помещённого в корзину
      "items": [ //Детали
        {
          "name": "string",  //Имя свойства
          "value": "string" //Значение свойства
        }
      ]
    },
    "errors": [ //Список ошибок удаления/восстановления объекта
      "string"
    ]
  }
]
Раздел: Журнал заданий 
Создание задания в Журнале заданий
POST /api/v3/vehicletasks
Пример запроса: 
{
  "vehicleId": 0, // Идентификатор ТС
  "description": "string", // Описание
  "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агрегата
  "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
  "startDate": "2025-02-25T12:11:04.874Z", // Начало работы
  "endDate": "2025-02-25T12:11:04.874Z", // Окончание работы
  "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Вид работ
  "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Тех. операция
  "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Модель агрегата
  "minWidth": 0, // Минимальная ширина агрегата, м
  "maxWidth": 0, // Максимальная ширина агрегата, м
  "minSpeed": 0, // Минимальная скорость, км/ч
  "maxSpeed": 0, // Максимальная скорость, км/ч
  "cost": { 
    "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор
    "Name": "string", // Наименование
    "Type": 0, // Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection )
    "MeasureType": 0, // Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
    "Norm": 0 // Норма внесения
  },
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Id 
  "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
  "created": "2025-02-25T12:11:04.874Z", // Дата создания
  "updated": "2025-02-25T12:11:04.874Z", // Дата обновления
  "deleted": true, // Признак удаления
  "extId": "string", 
  "GeoIds": [ // Cвязанные поля
    0
  ]
}
Пример ответа: 
{
  "vehicleId": 0, // Идентификатор ТС
  "description": "string", // Описание
  "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агрегата
  "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
  "startDate": "2025-02-25T12:11:04.964Z", // Начало работы
  "endDate": "2025-02-25T12:11:04.964Z", // Окончание работы
  "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Вид работ
  "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Тех. операция
  "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Модель агрегата
  "minWidth": 0, // Минимальная ширина агрегата, м
  "maxWidth": 0, // Максимальная ширина агрегата, м
  "minSpeed": 0, // Минимальная скорость, км/ч
  "maxSpeed": 0, // Максимальная скорость, км/ч
  "cost": { 
    "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор
    "Name": "string", // Наименование
    "Type": 0, // Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
    "MeasureType": 0, // Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
    "Norm": 0 // Норма внесения
  },
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID
  "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
  "created": "2025-02-25T12:11:04.964Z", // Дата создания
  "updated": "2025-02-25T12:11:04.964Z", // Дата обновления
  "deleted": true, // Признак удаления
  "extId": "string", // ExtId
  "GeoIds": [ // Связанные поля
    0
  ]
}
Редактирование задания в Журнале заданий
PUT /api/v3/vehicletasks
Пример запроса: 
{
  "vehicleId": 0, // Идентификатор ТС
  "description": "string", // Описание
  "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агрегата
  "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
  "startDate": "2025-02-25T12:25:51.090Z", // Начало работы
  "endDate": "2025-02-25T12:25:51.090Z", // Окончание работы
  "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Вид работ
  "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Тех. операция
  "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Модель агрегата
  "minWidth": 0, // Минимальная ширина агрегата, м
  "maxWidth": 0, // Максимальная ширина агрегата, м
  "minSpeed": 0, // Минимальная скорость, км/ч
  "maxSpeed": 0, // Максимальная скорость, км/ч
  "cost": { 
    "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор
    "Name": "string", // Наименование
    "Type": 0, // Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
    "MeasureType": 0,  // Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
    "Norm": 0 // Норма внесения
  },
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID
  "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
  "created": "2025-02-25T12:25:51.090Z", // Дата создания
  "updated": "2025-02-25T12:25:51.090Z", // Дата обновления
  "deleted": true, // Признак удаления
  "extId": "string", // ExtId
  "GeoIds": [ // Связанные поля
    0
  ]
}
Пример ответа: 
{
  "vehicleId": 0, // Идентификатор ТС
  "description": "string", // Описание
  "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агрегата
  "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
  "startDate": "2025-02-25T12:11:04.964Z", // Начало работы
  "endDate": "2025-02-25T12:11:04.964Z", // Окончание работы
  "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Вид работ
  "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Тех. операция
  "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Модель агрегата
  "minWidth": 0, // Минимальная ширина агрегата, м
  "maxWidth": 0, // Максимальная ширина агрегата, м
  "minSpeed": 0, // Минимальная скорость, км/ч
  "maxSpeed": 0, // Максимальная скорость, км/ч
  "cost": { 
    "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор
    "Name": "string", // Наименование
    "Type": 0, // Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
    "MeasureType": 0, // Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
    "Norm": 0 // Норма внесения
  },
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID
  "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
  "created": "2025-02-25T12:11:04.964Z", // Дата создания
  "updated": "2025-02-25T12:11:04.964Z", // Дата обновления
  "deleted": true, // Признак удаления
  "extId": "string", // ExtId
  "GeoIds": [ // Связанные поля
    0
  ]
}
Удаление задания в Журнале заданий
DELETE /api/v3/vehicletasks
Пример запроса: 
[
  "3fa85f64-5717-4562-b3fc-2c963f66afa6" // Идентификатор 
]
 
Пример ответа: 
{
  "vehicleId": 0, // Идентификатор ТС
  "description": "string", // Описание
  "trailerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агрегата
  "driverId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор водителя
  "startDate": "2025-02-25T12:11:04.964Z", // Начало работы
  "endDate": "2025-02-25T12:11:04.964Z", // Окончание работы
  "techOperationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Вид работ
  "techOperationDataId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Тех. операция
  "trailerModelId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Модель агрегата
  "minWidth": 0, // Минимальная ширина агрегата, м
  "maxWidth": 0, // Максимальная ширина агрегата, м
  "minSpeed": 0, // Минимальная скорость, км/ч
  "maxSpeed": 0, // Максимальная скорость, км/ч
  "cost": { 
    "Guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор
    "Name": "string", // Наименование
    "Type": 0, // Тим ТМЦ (0 - Seed, 1 - Crop, 2 - Fertilizer, 3 - PlantProtection)
    "MeasureType": 0, // Единицы измерения (0 - Кг, 1 - Тонн, 2 - Центнеры, 3 - Литры) 
    "Norm": 0 // Норма внесения
  },
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID
  "owner": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Guid родителя
  "created": "2025-02-25T12:11:04.964Z", // Дата создания
  "updated": "2025-02-25T12:11:04.964Z", // Дата обновления
  "deleted": true, // Признак удаления
  "extId": "string", // ExtId
  "GeoIds": [ // Связанные поля
    0
  ]
}
Получение списка Журнала заданий
POST /api/v3/vehicletasks/getbyperiod
Пример запроса: 
{
  "Start": "2025-02-25T12:35:31.107Z", // Начало периода.
  "End": "2025-02-25T12:35:31.107Z", // Окончание периода.
  "TimeZone": 0, // Часовой пояс.
  "OperationsIds": [  // Идентификаторы видов работ для фильтрации журнала
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "GeoIds": [ // Идентификаторы полей для фильтрации журнала
    0
  ],
  "VehiclesIds": [ // Идентификаторы ТС для фильтрации журнала
    0
  ],
  "Offset": 0, // Смещение от начала результата. Количество записей журнала для пропуска.
  "Limit": 0 // Размер страницы (количество записей на странице) 
}
Пример ответа: 
{
  "total": 0,  // Общее количество записей
  "pages": 0,  // Общее количество страниц
  "currentPage": 0, // Текущая страница
  "items": [  // Записи 
    {
      "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор задания
      "isGroup": true,  // Вид задания (true - групповое, иначе - одиночное).
      "name": "string", // Название задания.
      "startDate": "2025-02-25T12:35:31.110Z", // Начало, utc
      "endDate": "2025-02-25T12:35:31.110Z", // Окончание, utc
      "workKind": "string", // Вид работ
      "techOp": "string", // Тех. операция
      "trailerModel": "string", // Модель агрегата
      "width": "string", // Ширина, м
      "speed": "string", // Тех. скорость
      "fields": "string", // Поля
      "fieldsInfo": "string", // Количество полей (суммарная площадь га)
      "vehicles": "string", // Объект-модель
      "vehiclesCount": 0, // Объектов (суммарное количество объектов)
      "drivers": "string", // Водители
      "tmc": "string", // ТМЦ
      "client": "string", //  Клиент
      "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор задания
      "dep": "string", // Подразделение
      "geoIds": [ //  Связанные поля
        0
      ]
    }
  ]
}
Раздел: Локатор 
Получение списка локаторов, доступных пользователю 
GET /api/v3/locators
В заголовках запроса: X-Auth: Токен авторизации
Пример ответа: 
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // Идентификатор локатора.
    "agentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор агента.
    "agentName": "string", // Наименование агента.
    "isEnabled": true, // Активен 
    "created": "2025-03-12T06:48:41.254Z", // Дата создания
    "updated": "2025-03-12T06:48:41.254Z", // Дата обновления
    "name": "string", // Наименование
    "status": 0, // 
    "activationMode": 0, // Определяет статус пользователя локатора (0 - Активный, 1 - Запланированный, 2 - Неактивный) 
    "activationTime": "2025-03-12T06:48:41.254Z", // Определяет вид активации локаторов. ( 0 - сейчас, 1 - время активации) 
    "validity": 0, // Срок действия в днях (1-90).
    "autoProlongation": true, // Автопродление срока действия.
    "creatorUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID пользователя, создавшего локатор.
    "creatorUserName": "string", // Имя пользователя, создавшего локатор.
    "url": "string", // Ссылка
    "language": 0, // Язык.
    "vehiclesCount": 0, // Количество объектов.
    "geozonesCount": 0, // Количество геозон.
    "fieldsCount": 0 // Количество полей.
  }
]
Создание локатора
POST /api/v3/locators
Пример запроса: 
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор локатора
  "isEnabled": true, // Активность
  "name": "string", // Наименование локатора
  "activationMode": 0, // Определяет вид активации локаторов (0 - Сейчас, 1 - Запустить ко времени)
  "activationTime": "2025-03-12T07:00:08.272Z", //  Время активации
  "validity": 0, // Срок действия в днях (1-90)
  "autoProlongation": true, // Автопродление срока действия.
  "url": "string", // Ссылка
  "language": 0 // Язык
}
Пример ответа:
3fa85f64-5717-4562-b3fc-2c963f66afa6 // Идентификатор локатора
Изменение локатора
PUT /api/v3/locators
Пример запроса:
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Идентификатор локатора
  "isEnabled": true, // Активность 
  "name": "string", // Наименование
  "activationMode": 0, // Определяет вид активации локаторов (0 - сейчас, 1 - Запустить ко времени ) 
  "activationTime": "2025-03-12T07:07:53.002Z", // Время активации
  "validity": 0, // Срок действия в днях (1-90)
  "autoProlongation": true, // Автопродление срока действия
  "url": "string", // Ссылка
  "language": 0 // Язык
}
Пример ответа:
200 // Success
Удалить локатор
DELETE /api/v3/locators
Пример запроса:
[
  "3fa85f64-5717-4562-b3fc-2c963f66afa6" // Идентификатор локатора
]
Раздел: Яндекс Маршруты
Возвращение списка маршрутов
GET /api/v3/TransportRoutes
Пример запроса:
Id  // Идентификатор поля
Пример ответа: 
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // id 
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Id записи к которой принадлежит маршрут
    "name": "string", // Наименование маршрута.
    "kind": 0,  // Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water)
    "vehicles": [  // Определяет список ТС для маршрута
      0
    ]
  }
]
Добавить маршрут
POST /api/v3/TransportRoutes
Пример запроса: 
{
  "name": "string",  //  Опредлеляет наименование маршрута.
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Id записи к которой принадлежит маршрут
  "kind": 0, // Определяет вид маршрута. (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water )
  "vehicles": [  // Определяет список ТС для маршрута
    0
  ]
}
Пример ответа:
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Id записи к которой принадлежит маршрут
  "name": "string", // Определяет наименование маршрута 
  "kind": 0,  // Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water ) 
  "vehicles": [ // Определяет список ТС для маршрута
    0
  ]
}
Обновление маршрута
PUT /api/v3/TransportRoutes
Пример запроса:
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Id записи к которой принадлежит маршрут
  "name": "string", // Опредлеляет наименование маршрута.
  "kind": 0, // Определяет вид маршрута (0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water)
  "vehicles": [ // Определяет список ТС для маршрута
    0
  ]
}
Пример ответа: 
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // ID
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Id записи к которой принадлежит маршрут
  "name": "string", // Определяет наименование маршрута 
  "kind": 0, // Определяет вид маршрута ( 0 - Bus, 1 - Trolley, 2 - Tram, 3 - Taxi, 4 - Water )
  "vehicles": [ // Определяет список ТС для маршрута
    0
  ]
}
Получить связки маршрутов ТС
POST /api/v3/TransportRoutes/getroutesvehicles
Пример запроса:
[
  "3fa85f64-5717-4562-b3fc-2c963f66afa6"  // идентификатор маршрута
]
Пример ответа: 
[
  {
    "vehicleId": 0, // Опредлеляет идентификатор ТС
    "routeGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6" // Определяет идентификатор маршрута
  }
]
Удалить маршрут
DELETE /api/v3/TransportRoutes/{id}
Пример запроса:
Id  // Идентификатор поля
Раздел: Управление доступа к машинам
Получение списка транспортных средств видимых пользователю
GET /api/v3/UserVisibleVehicles/{userId}
Пример ответа: 
{
  "vehicleIds": [  // Идентификаторы ТС
    0
  ]
}
Задает видимость транспортных средств пользователю
POST /api/v3/UserVisibleVehicles
Пример запроса: 
{
  "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",  // Идентификатор пользователя
  "vehicleIds": [ // Идентификаторы ТС
    0
  ]
}

Пример ответа :
 
200 // Success
По вопросам работы PUBLIC API 3.0 можно обращаться на support@glonasssoft.ru