Zasílání souřadnic objektu pro API

Zasílání souřadnic objektů pro API informuje uživatele o změnách objektu. Toto konkrétní API funguje jako proud informací. Po odeslání požadavku API se nejprve zobrazí poslední známa souřadnice každého objektu, potom jakmile nastane změna budou odesílána nová data.   Pokud nedojde k přerušení spojení, není nutno posílat nový požadavek API.

Poznámka
Poté co API vrátí poslední známou souřadnici a nastane situace, že zasílání souřadnic bylo z nějakého důvodu znovuobnoveno a v mezičase nedošly žádné nové souřadnice, uživatel obdrží poslední známou souřadnici, kterou již jednou obdržel a záznam je tak duplicitní. Je třeba to vědět, protože v některých systémech to může působit problémy.

Zasílání souřadnic objektu pro API lze aktivovat pro jeden konkrétní objekt nebo pro všechny dostupné objekty uživatele.

Příklad požadavku pro 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

Příklad požadavku pro všechny 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 jsou povinné dva parametry:

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

Do požadavku lze včlenit pouze jeden volitelný parametr:

ParameterTypeDescription
object_idStringExternal object ID

Odpověď serveru:

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šechna odpovědní pole která lze přijmout s každým tapem parametru jsou popsány v následující tabulce:

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, parametry požadavků a odpovědi lze zhlédnout v  “Swagger” prostřednictvím odkazu: https://api.fm-track.com

Poznámka
Je třeba si uvědomit, že odpověď serveru je proud dat, stejných dat, jež přicházejí od objektů.  Všechna přijímána data jsou poskytována “jak jsou”. To znamená, že jednotka může periodicky posílat souřadnice předchozí pozice mezi záznamy aktuální pozice. API nekontroluje a neřídí kontinuitu přijímaných dat.