Zasielanie súradníc objektu pre API

Zasielanie súradníc objektov pre API informuje užívateľa o zmenách objektu. Toto konkrétne API funguje ako prúd informácií. Po odoslaní požiadavky API sa najprv zobrazí posledná známa súradnice každého objektu, potom akonáhle nastane zmena budú odosielané nové dáta. Pokiaľ nedôjde k prerušeniu spojenia, nie je nutné posielať novú požiadavku API.

Poznámka
Potom čo API vráti poslednú známu súradnicu a nastane situácia, že zasielanie súradníc bolo z nejakého dôvodu znovuobnovenie a v medzičase nie sú žiadne nové súradnice, užívateľ dostane poslednú známu súradnicu, ktorú už raz dostal a záznam je tak duplicitné. Treba to vedieť, pretože v niektorých systémoch to môže spôsobiť problémy.

Zasielanie súradníc objektu pre API možno aktivovať pre jeden konkrétny objekt alebo pre všetky dostupné objekty užívateľa.

Príklad požiadavke pre jeden objekt:

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

Príklad požiadavke pre všetky objekty:

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

Aby toto API fungovalo sú povinné dva parametre:

ParameterTypeDescription
versionStringVersion of the API, currently only version=1 is available
api_keyUser identification key

Do požiadavky možno včleniť iba jeden voliteľný parameter:

ParameterTypeDescription
object_idStringExternal object ID

Odpoveď servera:

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
data:{
"object_id" : "abc123",
"datetime" : "2017-04-13T06:58:48.090Z",
"ignition_status" : "UNKNOWN",
"position" : {
"altitude" : 0,
"direction" : 0,
"latitude" : 0,
"longitude" : 0,
"hdop" : 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",
"temperature_sensor_0" : 0,
"temperature_sensor_1" : 0,
"temperature_sensor_2" : 0,
"temperature_sensor_3" : 0
},
"calculated_inputs":{
"mileage" : 0
}
}

Všetky zodpovední polia ktoré možno prijať s každým tapom parametra sú popísané v nasledujúcej tabuľke:

NameTypeDescriptionUnits
object_idStringObject identifier in our systemText
device_inputsContainer for parameters received from hardware
calculated_inputsContainer for parameters calculated in system from other parameters according configuration
datetimeDateDate and time point of coordinate generated in hardware
Format: "yyyy-mm-ddThh:mm:ss.sssZ"
According ISO8601
longitudeFloatGPS coordinate - longitude valueDegrees
latitudeFloatGPS coordinate - latitude valueDegrees
altitudeIntegerGPS coordinate - altitude valueNumber
speedIntegerObject moving speedkm/h
directionIntegerMoving direction in degrees0 = north, increasing clock-wise
ignition_statusEnumIndicating if object has ignition on.
"ON" - Ignition on
"OFF" - Ignition off
"UNKNOWN" - No data about ignition
ON - OFF
digital_input_1BooleanConfigured object or its equipment status
true - status = active
false - status = inactive
True - False
digital_input_2BooleanConfigured object or its equipment status
true - status = active
false - status = inactive
True - False
digital_input_3BooleanConfigured object or its equipment status
true - status = active
false - status = inactive
True - False
digital_input_4BooleanConfigured object or its equipment status
true - status = active
false - status = inactive
True - False
ibuttonStringiButton or RFID card code of a driver assigned to a vehicleText
first_driver_idStringTCO code of the first driverText
second_driver_idStringTCO code of the second driverText
satellites_countIntegerNumber of visible GPS or GLONASS satellites(depends on device configuration) while generating record in deviceNumber
mileagefloatObject driven distance (depends on object configuration)km
power_supply_voltageIntegerObject power supply voltagemV

Koncové body API, parametre požiadaviek a odpovede možno sledovať v “Swagger” prostredníctvom odkazu: https://api.fm-track.com

Poznámka
Je potrebné si uvedomiť, že odpoveď servera je prúd dát, rovnakých dát, ktoré prichádzajú od objektov. Všetky prijímané dáta sú poskytované “ako sú”. To znamená, že jednotka môže periodicky posielať súradnice predchádzajúcej pozície medzi záznamami aktuálnej pozície. API nekontroluje a neriadi kontinuitu prijímaných dát.