API История координат объекта

Основная цель API истории координат объекта это выдача исторических данных (координаты) об объекте клиента. API Истории координат объекта имеет две конечные точки, это означает что есть два типа запроса. Первый тип запроса это для одного конкретного объекта по определённой дате и времени. Только данные которые были записаны в указанные дату и время будут отображены.

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

GET /objects/{object_id}/coordinates/{datetime}?version=1&api_key=<…>
HOST:api.fm-track.com
Content-Type:application/json;charset=UTF-8

Для данного типа запроса необходимы три параметра ( не считая ключа API), которые нужно указать для работы API:

Параметр ТипПояснение
object_idСтрокаВнешний ID объекта
datetimeДата и времяЗапрос записи по конкретной дате и времени. Пример формата даты и времени: “2017-04-13T06:58:48.090Z” в соответствии с ISO-8601 стандартом
versionСтрокаВерсия API, в настоящее время только версия = 1 доступна
api_keyСтрокаКлюч идентификации пользователя

Примечание
Рекомендуется использовать параметр даты и время с второй конечной точки API истории координат объекта, т.к. дата и время указано с точностью до секунды. Система не выполняет поиск координат по близлежащему времени, только по точно указанному моменту.

Пример ответа с сервера если все параметры были введены а также был введён действительный ключ API:

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
{
"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
}
}

Если какой либо параметр или ключ API был введён неправильно, то система ответит кодом ошибки, все возможные коды ошибок описаны в разделе API. Параметры описаны в конце данного раздела.

Вторая конечная точка данного API это массив исторических данных  за указанный период времени. Каждый набор данных имеет конкретную дату и время, которые могут быть использованы для первого типа  данного API который описан ранее.

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

GET /objects/{object_id}/coordinates?version=1{&from_datetime,to_datetime,continuation_token,limit}&api_key=<…>
HOST:api.fm-track.com
Content-Type:application/json;charset=UTF-8

Для данного типа запроса необходимы три параметра ( не считая ключа API), которые нужно указать для работы API:

Параметр Тип Пояснение
objectIdСтрокаВнешний ID объекта
fromDatetimeДата и времяЗапрос записей начиная от указанной даты и времени. Пример формата даты и времени: “2017-04-13T06:58:48.090Z” в соответствии с ISO-8601 стандартом
versionСтрокаВерсия API
api_keyСтрокаКлюч идентификации пользователя

Другие выборочны параметры которые не обязательны но могут быть включены в запрос:

Параметр Тип Пояснение
toDatetimeДата и времяНайти записи до указанной даты и времени. Если дата и время не указаны, то система будет искать записи до настоящей даты до тех пор пока небудет достигнут лимит записей. Пример формата даты и времени: “2017-04-13T06:58:48.090Z” в соответствии с ISO-8601 стандартом
continuationTokenДата и времяВключая и жетон продолжения, будет отображать следующий набор записей, по истечению предыдущего лимита на записи.
limitЦелое числоОграничение на число записей в одном ответе с системы (значение по умолчанию – 100 записей, максимальное число – 1000)
api_keyСтрокаКлюч идентификации пользователя

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

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
27
28
29
30
31
{
"continuation_token": "2017-04-13T06:58:48.121Z",
"items": [
{
"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
}
}
]
}

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

NameТипОписаниеИзмерение
continuation_tokenЖетон продолжения получается при запросе большого объёма записей, которые превышают установленный лимит записей. Жетон продолжения будет указан в конце ответа. Данный жетон может быть использован после для отображения следующего набора записей за указанный период времени. Если после жетона больше записей нет, то ответ вернётся пустойДата и время
device_inputsМассивКонтейнер для параметров полученных с устройств
calculated_inputsМассивКонтейнер для параметров высчитанных системой с других параметров в соответствии с конфигурацией
itemsМассивСодержит все параметры в соответствии с запросом.
object_idСтрокаОпределитель объекта (внешний)Текст
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 (действительно /активно – недействительно / неактивно)
ibuttonСтрокаКод iButton или RFID водителя который назначен транспортному средству.Текст
first_driver_idСтрокаTCO код первого водителяТекст
second_driver_idСтрокаTCO код второго водителяТекст
satellites_countЦелое числоЧисло видимых GPS или GLONASS спутников (зависит от конфигурации устройства) во время генерации записей.Число
mileageЧисло с плавающей запятойПройденное расстояние объектом (зависит от конфигурации)Км
power_supply_voltageЦелое числоНапряжение источника питания объектаmV (милливольт)

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