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:
Parameter | Type | Description |
---|---|---|
version | String | Version of the API, currently only version=1 is available |
api_key | User identification key |
Do požadavku lze včlenit pouze jeden volitelný parametr:
Parameter | Type | Description |
---|---|---|
object_id | String | External 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:
Name | Type | Description | Units |
---|---|---|---|
object_id | String | Object identifier in our system | Text |
device_inputs | Container for parameters received from hardware | ||
calculated_inputs | Container for parameters calculated in system from other parameters according configuration | ||
datetime | Date | Date and time point of coordinate generated in hardware Format: "yyyy-mm-ddThh:mm:ss.sssZ" | According ISO8601 |
longitude | Float | GPS coordinate - longitude value | Degrees |
latitude | Float | GPS coordinate - latitude value | Degrees |
altitude | Integer | GPS coordinate - altitude value | Number |
speed | Integer | Object moving speed | km/h |
direction | Integer | Moving direction in degrees | 0 = north, increasing clock-wise |
ignition_status | Enum | Indicating if object has ignition on. "ON" - Ignition on "OFF" - Ignition off "UNKNOWN" - No data about ignition | ON - OFF |
digital_input_1 | Boolean | Configured object or its equipment status true - status = active false - status = inactive | True - False |
digital_input_2 | Boolean | Configured object or its equipment status true - status = active false - status = inactive | True - False |
digital_input_3 | Boolean | Configured object or its equipment status true - status = active false - status = inactive | True - False |
digital_input_4 | Boolean | Configured object or its equipment status true - status = active false - status = inactive | True - False |
ibutton | String | iButton or RFID card code of a driver assigned to a vehicle | Text |
first_driver_id | String | TCO code of the first driver | Text |
second_driver_id | String | TCO code of the second driver | Text |
satellites_count | Integer | Number of visible GPS or GLONASS satellites(depends on device configuration) while generating record in device | Number |
mileage | float | Object driven distance (depends on object configuration) | km |
power_supply_voltage | Integer | Object power supply voltage | mV |
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.