API Потока координат объекта

Основная цель API потока координат объекта это информировать пользователя о изменениях в объекте. Данное API работает как поток информации. После того как пользователь выслал запрос API, с начала будут получены последние известные координаты всех объектов, далее новая информация будет отображаться пользователю как только будет зарегистрировано изменение. Нет необходимости повторно отправлять запрос API, только если не было прервано подключение.

Примечание
Т.к. данное API с начало выдает последние известные координаты, в случаях если был установлен поток данных и по какой либо причине произошло пере подключение потока, если новые координаты небыли получены в это время, то система выдаст повторно последнюю известную координату, которая уже ранее поступала. Таким образом запись будет дублирована. Это необходимо иметь ввиду, т.к. это может вызвать определённые неполадки в различных системах.

API Потока координат объекта может быть инициирована для одного конкретного объекта, либо для всех объектов пользователя.

Пример запроса для одного конкретного объекта:

GET /object-coordinates-stream?version=1&object_id=<…>&api_key=<…>
HOST:api.fm-track.com
Content-Type:text/event-stream;charset=UTF-8

Пример запроса для всех объектов клиента:

GET /object-coordinates-stream?version=1&api_key=<…>
HOST:api.fm-track.com
Content-Type:text/event-stream;charset=UTF-8

Для работы данного API, необходимы только два параметра:

Параметр Тип Пояснение
versionСтрокаВерсия API, в настоящее время только версия = 1 доступна
api_keyКлюч идентификации пользователя

И дополнительно доступен только один выборочны параметр:

Параметр Тип Пояснение
object_idСтрокаВнешний ID объекта

Пример ответа с сервера показан далее:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
data:{
"object_id" : "abc123",
"datetime" : "2017-04-13T06:58:48.090Z",
"ignition_status" : "UNKNOWN",
"position" : {
"altitude" : 0,
"direction" : 0,
"latitude" : 0,
"longitude" : 0,
"satellites_count" : 0,
"speed" : 0
},
"device_inputs" : {
"digital_input_1" : true,
"digital_input_2" : true,
"digital_input_3" : true,
"digital_input_4" : true,
"power_supply_voltage" : 0,
"ibutton" : "xxxxxxxxxx",
"first_driver_id" : "xxxxxxxxxx",
"second_driver_id" : "xxxxxxxxxx"
},
"calculated_inputs":{
"mileage" : 0
}
}

Все поля ответа которые могут быть получены с каждым типом параметров описаны далее в таблице:

NameTypeDescriptionUnits
object_idСтрокаОпределитель объекта в системе Текст
device_inputsКонтейнер для параметров полученных с устройств
calculated_inputsКонтейнер для параметров высчитанных системой с других параметров в соответствии с конфигурацией
datetimeДатаДата и момент во времени когда координата была зарегистрирована оборудованием. Формат : "yyyy-mm-ddThh:mm:ss.sssZ"в соответствии с ISO-8601
longitudeЧисло с плавающей запятойGPS координата – значение долготыГрадусы
latitudeЧисло с плавающей запятойGPS координата – значение широтыГрадусы
altitudeЦелое числоGPS координата – значение высотыЧисло
speedЦелое числоСкорость движения объектаКм/ч
directionЦелое числоНаправление движения в градусах0 = Север, увеличивается по часовой стрелке
ignition_statusEnumИндикацию включенного зажигания объекта.
"ON" – Зажигание включено
"OFF" – Зажигание выключено
"UNKNOWN" – Дата о зажигании не поступает
ON – OFF (Вкл – Выкл)
digital_input_1Логическое значениеСостояние сконфигурированного оборудования или его состояние
True – состояние = активное
False – состояние = неактивное
True – False (действительно /активно – недействительно / неактивно)
digital_input_2Логическое значениеСостояние сконфигурированного оборудования или его состояние
True – состояние = активное
False – состояние = неактивное
True – False (действительно /активно – недействительно / неактивно)
digital_input_3Логическое значениеСостояние сконфигурированного оборудования или его состояние
True – состояние = активное
False – состояние = неактивное
True – False (действительно /активно – недействительно / неактивно)
digital_input_4Логическое значениеСостояние сконфигурированного оборудования или его состояние
True – состояние = активное
False – состояние = неактивное
True – False (действительно /активно – недействительно / неактивно)
power_supply_voltageЦелое числоНапряжение источника питания объектаmV (милливольт)
ibuttonСтрокаКод iButton или RFID водителя который назначен транспортному средству.Текст
first_driver_idСтрокаTCO код первого водителяТекст
second_driver_idСтрокаTCO код второго водителяТекст
satellites_countЦелое числоЧисло видимых GPS или GLONASS спутников (зависит от конфигурации устройства) во время генерации записей.Число
mileageЧисло с плавающей запятойПройденное расстояние объектом (зависит от конфигурации)Км

Конечные точки API, запрашиваемые параметры а также примеры ответов могут быть просмотрены в “Swagger” через данную ссылку: https://api.fm-track.com

Примечание:
Необходимо учесть что все ответы с сервера это поток данных, те же самые данные которая поступают с устройства. Все данные предоставлены “Как есть”. Это означает что устройство может периодически отправить координаты предыдущей позиции между записями настоящей позиции. API не проверяет и не управляет последовательностью поступающих данных.