Методы API для работы с ГЛОНАССSoft
- Формировать не более 3 отчётов одновременно.
- Ограничить количество активных сессий одного пользователя с одного IP-адреса до 50.
В случае нарушения этих правил, ГЛОНАССSoft оставляет за собой право принудительно остановить выполнение запросов с определенных IP адресов.
Содержание страницы:
- Действующие ограничения
- Раздел: Авторизация
- Раздел: Клиенты
- Раздел: Пользователи
- Раздел: Модель объекта
- Раздел: Транспортные средства (объекты)
- Получение информации об объекте
- Отправить команду на терминал
- Получить ответ на отправленную на ТС команду
- Список отправленных объекту команд с ответами
- Добавление объекта
- Импортировать историю ТС (Асинхронный запрос)
- Возвращает статус асинхронного запроса импорта истории ТС
- Получение списка объектов с основными параметрами
- Изменение статуса объекта
- API
- Редактирование объекта
- Удаление объекта
- Раздел: Устройства
- Раздел: Датчики
- Раздел: Сообщения
- Раздел: Запрос данных об объекте за период
- Раздел: Запрос посещений геообъектов
- Раздел: Уведомления
- Раздел: Водители
- Раздел: Журнал назначений
- Раздел: Назначения агрегатов
- Раздел: Карты-метки
- Раздел: Биллинг
- Раздел: Импорт и Экспорт
- Раздел: Экодрайвинг
- Раздел: Топливные карты
- Раздел: Методы публичного API для ретрансляторов
- Раздел: Отчеты
- Раздел: Сельскохозяйственные поля
Действующие ограничения
− Между запросами должна быть пауза в 1 секунду (превышение отвергается системой с уведомлением о превышении частоты запросов).
− Для работы со всеми методами API необходимо в заголовок добавлять X-Auth (токен авторизации, получаемый методом auth/login).
Пример: X-Auth: 34f4919a-099b-4b7d-8aa1-f478ec2062de.
− При редактировании любой записи (пользователь, объект и т.д) необходимо передавать все параметры записи в теле запроса! Те параметры, значения которых не будут переданы - будут стерты!
Рекомендации
- Для запросов по API рекомендуется наделить пользователя ролью Администратора партнера, в противном случае при выполнении некоторых запросов у него не будет хватать прав (чаще всего сталкиваются с отсутствием прав при запросах сообщений от терминала за период).
Раздел: Авторизация
Метод позволяет получить токен авторизации, который необходимо добавлять в заголовок для работы со всеми методами 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
URL запроса: https://hosting.glonasssoft.ru/api/v3/auth/check
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае если сессия активна HTTP ответ «200». В случае если сессия разорвана HTTP ответ «401».
Раздел: Клиенты
Получение информации о клиенте
Метод позволяет получить параметры выбранного клиента: наименование, полное наименование, тип, статус и идентификатор клиента-родителя и т.д. Метод возвращает информацию о клиентах с учетом настроек авторизованного пользователя, указанного в запросе:
− информация о клиенте предоставляется при наличии права «Просмотр клиентов»;
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/agents/{id}
Запрос должен содержать данные параметра "agentId"
Ответ:
{
"agentId": "",
"parentId": "",
"parentName": "string",
"name": "string",
"fullName": "string",
"agentInfoType": 0,
"isForeign": true/false,
"district": "string",
"region": "string",
"city": "string",
"inn": "string",
"kpp": "string",
"address": "string",
"addressFact": "string",
"email": "string",
"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 | Фактический адрес |
Электронная почта | |
director | ФИО руководителя |
bankName | Банк |
bankBIK | БИК |
bankRS | Номер счета |
bankKS | Корр. счет |
Получение параметров дочерних клиентов
Метод позволяет получить параметры всех дочерних клиентов: наименование, полное наименование, тип, статус и идентификатор клиента-родителя и т.д. Метод возвращает информацию о клиентах с учетом настроек авторизованного пользователя, указанного в запросе:
− информация о клиентах предоставляется при наличии права «Просмотр клиентов»;
− возвращается информация о клиенте, которому принадлежит авторизованный пользователь, и его дочерних клиентах;
− информация о клиенте типа «Партнер» и его клиентов возвращается при наличии права «Доступ к партнёрским клиентам».
Метод запроса: 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
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 | Фактический адрес |
Электронная почта | |
director | ФИО руководителя |
bankName | Банк |
bankBIK | БИК |
bankRS | Номер счета |
bankKS | Корр. счет |
Редактирование клиента
Метод позволяет отредактировать клиента, указанного в запросе.
Метод запроса: 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
URL запроса: https://hosting.glonasssoft.ru/api/v3/agents/{clientId}
Параметр запроса: {clientId} - Guid пользователя
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Смена статуса клиента (активация/блокировка)
Метод позволяет изменить статус клиента, указанного в запросе.
В пути указывается GUID клиента и статус клиента.
status - значение 0 - заблокирован, 1 - активен.
Ответ: Code 204
Раздел: Пользователи
Добавление пользователя
Метод позволяет добавить пользователя. Метод позволяет добавить пользователя, указанного в запросе.
Метод запроса: 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
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
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
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
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
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/disable
В теле запроса перечисляете массив id пользователей (JSON):
[
"8ed730d3-c61c-4c3a-ae4f-f41d9e710abc",
"415f9ea3-8bc0-4e87-8d78-0852b0c0a4f1"
]
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200»
Разблокировка пользователей
Метода позволяет выполнить массовую разблокировку пользователей.
Метод запроса: 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
URL запроса: https://hosting.glonasssoft.ru/api/v3/users/{id}
Параметр запроса: {id} - Guid пользователя
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Раздел: Модель объекта
Получение информации о модели объекта
Метод возвращает полную информацию о модели объекта.
Метод запроса: 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
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
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
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
URL запроса: https://hosting.glonasssoft.ru/api/v3/models/{Id}
Параметр запроса: {id} - id модели
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успеха Success 200
Раздел: Транспортные средства (объекты)
Получение информации об объекте
Метод позволяет получить всю информацию из карточки объекта: ID, имя объекта, imei, тип устройства, SIM1, SIM2, ID клиента, название клиента, ID модели, наименование модели объекта, ID подразделения, водители, ТО, текущий пробег, моточасы, нормы расхода, полную историю статусов со всеми комментариями, список датчиков (тип, наименование, тип входа, номер входа, псевдоним, тип датчика, тип тарировки, тарировка, состояние чекбоксов «отображается в подсказке» и «отображать последнее валидное значение».
Метод возвращает информацию об объекте с учетом настроек авторизованного пользователя, указанного в запросе:
− возвращается информация об объекте клиента-родителя авторизованного пользователя и объекте его дочерних клиентов;
− информация о ТО предоставляется с учётом прав на «Просмотр заданий на техобслуживание».
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/{vehicleID}
Параметр запроса: {vehicleid} - идентификатор объекта (integer($int32))
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
"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, // Отображать последнее валидное значение
"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"
}
]
}
Параметр «status» содержит id статуса объекта в системе, соответствие id и текстовое названия статуса приведены ниже:
0 - «Блокировка» 1 - «Активен», 2 - «Отменен», 3 - «Оборудован», 4 - «Диагностика», 5 - «Сервис», 6 - «Демонтаж», 7 - «Монтаж», 8 - «Дозаказ», 9 - «Обслужен», 10 - «Списан», 11 - «Неисправен», 12 - «Проверен», 13 - «Не эксплуатируется».
Отправить команду на терминал
Команда для отправки на тс.
{
"id": "", //идентификатор объекта (он же идентификатор ТС: vehicleId)
"command": "", // Текст отправляемой команды
"retries": "", // Количество попыток отправки на терминал
"idTemplate": "" // ID шаблона команды (при использовании ранее созданных шаблонов).
}
В ответ получаем cmdid
Получить ответ на отправленную на ТС команду
Идентификатор команды: cmdId
Запрос от терминала на ответ команды
Пример ответ от терминала:
ID= "" // идентификатор объекта
Soft="" // версия софта
GPS=4 // тип трекера
Time=11:05:43 28.06.24 // время запроса
Lat=45.056221 // широта
Lon=39.035938 // долгота
Speed=0.0 // скорость
Course=181.4 //направление
Список отправленных объекту команд с ответами
Идентификатор ТС: vehicleId
В ответе приходит список команд с их ID, временем отправки, количестве попыток отправки и ответами терминала.
Пример ответа терминала
[
{
"id": "", // идентификатор пользователя
"commandText": "", //Текст команды.
"templateId": "", //Идентификатор шаблона
"updated": "", // Время отправки
"tryCount": 0, // Количество попыток отправки команды
"answer": "", // Ответ терминала.
"status": "" // Статус отправки
}
]
Добавление объекта
Метод позволяет добавить объект, указанный в запросе.
Метод запроса: POST
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles
В заголовках запроса: X-Auth: Токен авторизации
Параметры в теле запроса (JSON): Обязательные параметры наименование и модель объекта В теле запроса - объект JSON
{
"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, // Отображать последнее валидное значение
"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 // Отобразить произвольное поле в отчете
}
]
}
Ответ:
{
"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, // Отображать последнее валидное значение
"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
}
Валидация:
- сезонный параметр может быть задан только если задана соответствующая обычная норма;
- сезонные начало и окончание могут быть заданы только если задана соответствующая сезонная норма;
- при задании сезонной нормы обязательны соответствующие даты начала/окончания.
Импортировать историю ТС (Асинхронный запрос)
Метод запроса: 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
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" // Данные
}
Получение списка объектов с основными параметрами
Метод позволяет получить список доступных объектов мониторинга (транспортных средств) с их основными параметрами: наименование, 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
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
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": [ // Водители
{
"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, // Отображать последнее валидное значение
"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 // Отобразить произвольное поле в отчете
}
]
}
Ответ:
{
"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, // Отображать последнее валидное значение
"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
URL запроса: https://hosting.glonasssoft.ru/api/v3/vehicles/{vehicleId}
Параметр запроса: {id} - Guid объекта
В заголовках запроса: X-Auth: Токен авторизации
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Раздел: Устройства
Получение списка типов устройств
Метод позволяет получить список типов устройств. Метод возвращает информацию о типах устройств с учетом настроек авторизованного пользователя, указанного в запросе.
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/devices/types
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
"deviceTypeId" : "", // ID типа устройства
"deviceTypeName" : "" // Название типа устройства
}
Раздел: Датчики
Получение списка типов датчиков
Метод позволяет получить список типов датчиков. Метод возвращает информацию о типах датчиков с учетом настроек авторизованного пользователя, указанного в запросе.
Метод запроса: GET
URL запроса: https://hosting.glonasssoft.ru/api/v3/sensors/types
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
{
"id": "", // ID типа датчика
"name": "", // Название
"description": "", // Описание
}
Раздел: Сообщения
Данные об активности объекта
Метод возвращает количество сообщений отправленных терминалом на сервер за указанный период.
Метод запроса 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 // количество сообщений за период
}
]
Получить тип и номер входа сырого параметра
Запрос позволяет узнать тип и номер входа для сырого параметра, приходящего по указанному протоколу.
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
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
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 // Моточасы на окончание периода, секунды
}
]
}
]
Получение данных о расходе транспортного средства
Метод запроса: 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 // Расход топлива в движении
}
]
}
]
Получение данных о заправках и сливах транспортного средства
Метод запроса: 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, // Тип события 20 - TankFuelIn - заправка, 21 - TankFuelOut - слив
"startDate": "2023-08-09T14:27:44.773Z", // Начало
"endDate": "2023-08-09T14:27:44.773Z", // Окончание
"valueFuel": 0, // Количество
"fuelStart": 0, // Уровень топлива на начало события
"fuelEnd": 0 // Уровень топливо на конец события
}
]
}
]
Получение данных по событиям движения и стоянок у объектов
Метод запроса: 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
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
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
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
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" // Имя объекта
}
]
Раздел: Уведомления
Запрос списка уведомлений клиента
Метод возвращает информацию об уведомлениях переданного клиента и его клиентов ниже по иерархии.
Метод запроса 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
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
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
URL запроса: https://hosting.glonasssoft.ru/api/v3/notifications/prolongation
В заголовках запроса: X-Auth: Токен авторизации.
Тело запроса:
[
0
]
где 0 идентификатор ids.
Удаление уведомления
Метод позволяет удалить выбранное уведомление.
Метод запроса DELETE
URL запроса: https://hosting.glonasssoft.ru/api/v3/notifications/{id}
Передаваемый параметр: {id} - id уведомления
В заголовках запроса: X-Auth: Токен авторизации
Ответ:
Success
Раздел: Водители
Получить список водителей клиента
Передается параметр: 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 // Признак удаления
}
]
Получить данные о водителе
Передается параметр: 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 // Признак удаления
}
Добавить водителя
Запрос:
{
"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
}
Редактировать водителя
Запрос:
{
"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
}
Удалить водителя
Передается параметр: ID водителя
Ответ:
Success
Раздел: Журнал назначений
Назначение водителя на объект
Получить назначения водителей запросом к водителю
Запрос:
{
"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"
}
]
Получить назначения водителей запросом к объекту
Запрос:
{
"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"
}
]
Создать назначение водителя на объект
Передается массив назначений
Запрос:
[
{
"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"
}
]
Изменить назначения водителей на объекты
Запрос:
[
{
"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"
}
]
Удалить назначения водителей на объекты
Запрос:
[
"3fa85f64-5717-4562-b3fc-2c963f66afa6",
]
Ответ:
Success
Назначение карты-метки водителю
Получить назначения меток запросом к водителю
Запрос:
{
"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"
}
]
Получить назначения меток запросом к карте-метке
Запрос:
{
"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"
}
]
Добавить назначения меток на водителей
Запрос:
[
{
"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"
}
]
Изменить назначения меток на водителей
Запрос:
[
{
"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"
}
]
Удалить назначения меток на водителей
Запрос:
[
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
Ответ:
Success
Назначение топливной карты водителю
Получить назначения топливных карт запросом к водителю
Запрос:
{
"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"
}
]
Получить назначения топливных карт запросом к топливной карте
Запрос:
{
"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"
}
]
Добавить назначение топливной карты водителю
Запрос:
[
{
"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"
}
]
Редактировать назначение топливной карты водителю
Запрос:
[
{
"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"
}
]
Удалить назначение топливной карты водителю
Запрос:
[
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
Ответ:
Success
Раздел: Назначения агрегатов
Получить список назначений агрегатов на выбранные объекты
Пример запроса:
{
"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 | Текст примечания агрегата |
Раздел: Карты-метки
Получить список карт-меток определенного клиента
Запрос:
{
"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 карты-метки |
Получить данные карты-метки
Передаем параметр 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 клиента |
Добавить карту-метку
Запрос:
{
"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 клиента |
Редактировать карту-метку
Запрос:
{
"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 клиента |
Удалить карту-метку
Передаем параметр rfidGuid - идентификатор карты-метки
Ответ:
Success
Раздел: Биллинг
Узнать баланс клиента
Параметр запроса: clientId - идентификатор клиента.
Ответ:
{
"ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Balance": 0
}
Параметр | Описание |
---|---|
ClientId | Идентификатор клиента |
Balance | Значение баланса |
Узнать ограничения клиента
Параметр запроса: 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 | Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом |
Узнать состояние тарифного плана клиента
Параметры запроса:
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 - Месяцы |
Получить тарифные планы принадлежащие клиенту
Параметр запроса: 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 - Месяцы |
Получить список доступных тарифных планов
Параметр запроса: 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 - Месяцы |
Изменить баланс
Устанавливает указанное значение баланса не создавая операции пополнение/снятие.
Тело запроса:
{
"ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Balance": 0
}
Ответ: Success
Параметр | Описание |
---|---|
ClientId | Идентификатор клиента |
Balance | Значение баланса |
Пополнить баланс
Создает операцию Пополнение с указанной суммой
Тело запроса:
{
"ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Balance": 0
}
Ответ: Success
Параметр | Описание |
---|---|
ClientId | Идентификатор клиента |
Balance | Значение баланса |
Списать с баланса
Создает операцию Списание с указанной суммой
Тело запроса:
{
"ClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Balance": 0
}
Ответ: Success
Параметр | Описание |
---|---|
ClientId | Идентификатор клиента |
Balance | Значение баланса |
Изменить ограничения клиента
Тело запроса:
{
"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 | Признак, определяющий, являются ли параметры ограничений частными т.е. персональными для клиента, либо определяются тарифным планом |
Изменить тариф клиента
Тело запроса:
{
"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 - Месяцы |
Раздел: Импорт и Экспорт
Импорт объектов
Запрос позволяет загрузить объекты в систему из файла. Импортируемый файл может быть в формате 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 | Ошибки и их описание |
Импорт сообщений
Позволяет импортировать сообщения в выбранный объект. Сообщения должны иметь формат 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 | Кол-во обработанных сообщений всего |
Статус импорта сообщений
Запрос статуса импорта истории. Может потребоваться в случае импорта истории за большой период.
Ответ:
{
"activity": true,
"progress": 0,
"message": "string"
}
Параметр | Описание |
---|---|
activity | Активен ли экспорт/импорт истории сейчас, true - да, false - нет |
progress | Guid ТС |
Экспорт объектов
Запрос позволяет экспортировать файлы с настройками объектов. В запросе передается массив id объектов.
Тело запроса:
[
id
]
Ответ: Success 200, получаете файлы с настройками.
Экспорт сообщений
Метод возвращает список сообщений терминала объекта за выбранный период.
Тело запроса:
{
"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 | Дата и время окончания запроса |
Статус экспорта сообщений
Метод возвращает список сообщений терминала объекта за выбранный период.
Ответ:
{
"activity": true,
"progress": 0,
"message": "string"
}
Параметр | Описание |
---|---|
activity | Статус экспорта, где true - экспорт в процессе выполнения, false - в данный момент ничего не экспортируется. |
progress | Прогресс экспорта, от 0 до 100% |
message | Текст описывающий статус |
Раздел: Экодрайвинг
Запрос рейтинга качества вождения
Позволяет получить данные рейтинга нарушений выбранных объектов за указанный период времени. Данные, выдаваемые этим запросом аналогичны тем, что вы можете увидеть в окне Качество вождения в мониторинге. В массиве 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
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" // Адрес АЗС
}
Раздел: Методы публичного API для ретрансляторов
Получение полных данных о ретрансляторе
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 - отключен
}
Удаление данных ретранслятора
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 - не удален
}
Редактирование ретранслятора
Пример запроса:
{
"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 - не удален
}
Получение списка ретранслятора клиента
Пример запроса:
{
"id": "", // Идентификатор ретранслятора
"search": "string", // Строка поиска. Поиск производится по имени подписчика, описанию, типу протокола и адресу
"parentId": "" // Идентификатор родительского агента, для которого надо получить данные (обязательный параметр).
}
Ответ:
[
{
"description": "", // Поле описания ретранслятора
"subscriberId": "", // Идентификатор подписчика (клиента, чьи объекты будут ретранслироваться)
"protocolType": 0, // Тип протокола ретрансляции
"isEnabled": true, // Признак включения ретранслятора: true - включен, false - отключен
"address": "string", // Адрес и порт принимающего сервера
"id": "", // Идентификатор ретранслятора
"parentId": "", // Идентификатор родителя (вышестоящего клиента)
"deleted": true // Признак удаления ретранслятора: true - удален, false - не удален
}
]
Раздел: Отчеты
API для отчета по выгрузке комбайнов
Пример запроса:
{
"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
}
]
}
]
Раздел: Сельскохозяйственные поля
Запрос списка полей
Пример запроса:
{
"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" // Дата создания в бд
}
]
Создание нового поля
Пример запроса:
{
"extId": "string",
"shape": "string", // Форма поля
"shapeFormat": "string", // Формат, в котором представлена форма поля
"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
Пример запроса:
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" // Дата создания в бд
}
Удаление существующего поля
Пример запроса:
id // Идентификатор поля
Пример ответа:
200 // Успех
Изменение поля
Пример запроса:
{
"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" // Дата создания в бд
}
Редактирование года урожая
Пример запроса:
{
"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" // Дата создания в бд
}
Раздел: Корзина
Запрос на получение списка всех объектов в корзине
Метод возвращает полную информацию о списках всех объектов в корзине по пользователям, доступным агенту
Параметр запроса: {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"
]
}
]
Запрос на удаление объектов из корзины
В заголовках запроса: X-Auth: Токен авторизации
Пример запроса:
[
0
]
Пример ответа:
[
{
"recordTime": "", //Время записи
"userId": "", //Guid пользователя, добавившего объект в корзину
"parentId": "", //Guid агента объекта, помещённого в корзину
"objectId": 0, //ID объекта, помещённого в корзин
"objectGuid": "", //Guid объекта, помещённого в корзину
"objectType": 1, //Тип объекта, помещённого в корзину
"details": { //Список деталей объекта, помещённого в корзину
"items": [ //Детали
{
"name": "", //Имя свойства
"value": "" //Значение свойства
}
]
},
"errors": [ //Список ошибок удаления/восстановления объекта
""
]
}
]
Ответ: В случае успешного выполнения запроса вернется HTTP ответ «200».
Запрос на восстановление объектов из корзины
В заголовках запроса: 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"
]
}
]
По вопросам работы PUBLIC API 3.0 можно обращаться на support@glonasssoft.ru