Objektų koordinačių istorijos API pagrindinis tikslas yra išvesti klientų objektų istorinius duomenis (koordinates). Objektų koordinačių istorijos API turi du galutinius taškus, todėl yra du užklausų tipai. Pirmasis užklausos tipas yra vienam objektui su konkrečia data ir laiku. Rodomi tik duomenys, įrašyti nurodytu laiku.
Konkrečios datos užklausos pavyzdys:
GET /objects/{object_id}/coordinates/{datetime}?version=1&api_key=<…>
HOST:api.fm-track.com
Content-Type:application/json;charset=UTF-8
Šiam užklausos tipui reikia trijų parametrų (neskaitant API rakto), kuriuos reikia nurodyti, kad API prašymas veiktų:
Parametras | Tipas | Aprašymas |
---|---|---|
object_id | Tekstas | Išorinio objekto ID |
datetime | Data ir laikas | Užklaustas konkrečios datos ir laiko įrašas. Datos ir laiko pavyzdys pagal ISO-8601 standartą: “2017-04-13T06:58:48.090Z” |
version | Tekstas | API versija, šiuo metu galima tik version=1 |
api_key | Tekstas | Vartotojo identifikacinis raktas |
Pastaba
Rekomenduojama naudoti datetime parametrą iš antrojo objektų koordinačių istorijos API galinio taško, sistema neieško duomenų aplink nurodytą datą, o pateikia koordinatę nurodytu laiku.
Užklausos pavyzdys, kai įtraukiami visi parametrai, o API raktas galiojantis:
{ "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, "temperature_sensor_0_id": "xxxxxxxxxx" }, "calculated_inputs":{ "mileage" : 0 } }
Jei parametras arba API raktas įvestas neteisingai, sistema pateiks klaidos kodą, visi klaidų kodai aprašyti API skyriuje. Parametrai aprašyti šio skyriaus pabaigoje.
Antrojo istorijos API galinio taško atveju rodomi nurodyto laikotarpio duomenys. Kiekvienas duomenų komplektas turi nurodytą laikotarpį, kurį galima naudoti siunčiant pirmojo tipo istorijos API užklausą.
Konkretaus laikotarpio užklausos pavyzdys:
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
Šiam užklausos tipui reikia trijų parametrų (neskaitant API rakto), kuriuos reikia nurodyti, kad API užklausa veiktų:
Parametras | Tipas | Aprašymas |
---|---|---|
objectId | Tekstas | Išorinio objekto ID |
fromDatetime | Data ir laikas | Randa įrašus nuo konkrečios datos ir laiko. Datos ir laiko pavyzdys pagal ISO-8601 standartą: “2017-04-13T06:58:48.090Z” |
version | Tekstas | API versija |
api_key | Tekstas | Vartotojo identifikacinis raktas |
Pasirenkamieji parametrai, kurie nėra privalomi, tačiau juos galima įterpti į užklausą:
Parametras | Tipas | Aprašymas |
---|---|---|
toDatetime | Data ir laikas | Randa įrašus iki konkrečios datos ir laiko. Jei konkrečiai nenurodyta, sistema ieško įrašų iki dabartinės datos, kol nepasiektas įrašų limitas. Datos ir laiko pavyzdys pagal ISO-8601 standartą: “2017-04-13T06:58:48.090Z” |
continuationToken | Data ir laikas | Įterpia tęstinumo simbolį bei rodo sekantį duomenų komplektą, pasiekus praeitą įrašų limitą. |
limit | Sveikasis skaičius | Nustato įrašų limitą sistemos atsakyme (numatytoji vertė - 100 įrašų, maksimali vertė - 1000) |
api_key | Tekstas | Vartotojo identifikacinis kodas |
Atsakymo pavyzdys pateikiamas žemiau:
{ "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, "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, "temperature_sensor_0_id": "xxxxxxxxxx" }, "calculated_inputs":{ "mileage" : 0 } } ] }
Visi atsakymų, kuriuos galima gauti su kiekvienu parametro tipu, laukeliai yra aprašyti šioje lentelėje:
Parametras | Tipas | Aprašymas | Matavimo vienetai |
---|---|---|---|
continuation_token | Tęstinumo simbolis gaunamas, kai užklausiamas didelis įrašų kiekis ilgam laikotarpiui, kuomet viršijamas nustatytas įrašų limitas. Tuomet atsakymo gale rodomas tęstinumo simbolis. Jį po to galima naudoti norint atvaizduoti sekantį duomenų komplektą pasirinktam laikotarpiui. Jei po simbolio nebėra daugiau duomenų, atsakymas bus tuščias | Data ir laikas | |
items | Masyvas | Talpina visus parametrus, priklausomai nuo užklausos | |
object_id | Tekstas | Objekto identifikatorius (išorinis) | Tekstas |
datetime | Data ir laikas | Įrangos sugeneruota koordinačių data ir laikas Formatas: "yyyy-mm-ddThh:mm:ss.sssZ" | Pagal ISO-8601 |
ignition_status | Enum | Nurodo, ar objekto degimas įjungtas: "ON" - degimas įjungtas "OFF" - degimas išjungtas "UNKNOWN" - nėra duomenų apie degimą | ON- OFF |
position | Masyvas | Talpina GPS įrašų parametrus | |
latitude | Slenkančio kablelio | GPS koordinatė - platumos vertė | Laipsniai |
longitude | Slenkančio kablelio | GPS koordinatė - ilgumos vertė | Laipsniai |
altitude | Sveikasis skaičius | GPS koordinatė - aukščio vertė | Skaičius |
direction | Sveikasis skaičius | Judėjimo kryptis laipsniais | 0 = šiaurė, didėja pagal laikrodžio rodyklę |
speed | Sveikasis skaičius | Objekto judėjimo greitis | km/h |
satellites_count | Sveikasis skaičius | Matomų GPS ar GLONASS palydovų skaičius (priklauso nuo prietaiso konfigūracijos), prietaise vykstant įrašo generacijai | Skaičius |
device_inputs | Masyvas | Iš įrangos gautų parametrų talpykla | |
power_supply_voltage | Sveikasis skaičius | Objekto maitinimo šaltinio įtampa | mV |
ibutton | Tekstas | Vairuotojo, priskirto prie transporto priemonės, iButton arba RFID kortelės kodas | Tekstas |
hdop | Slenkančio kablelio | GPS koordinatės tikslumas | Skaičius |
first_driver_id | Tekstas | Pirmojo vairuotojo tachografo kodas | Tekstas |
second_driver_id | Tekstas | Antrojo vairuotojo tachografo kodas | Tekstas |
digital_input_1 | Loginė reikšmė | Sukonfigūruoto objekto ar jo įrangos būsena: true - status = aktyvus false - status = neaktyvus | True (Tiesa) - False (Netiesa) |
digital_input_2 | Loginė reikšmė | Sukonfigūruoto objekto ar jo įrangos būsena: true - status = aktyvus false - status = neaktyvus | True (Tiesa) - False (Netiesa) |
digital_input_3 | Loginė reikšmė | Sukonfigūruoto objekto ar jo įrangos būsena: true - status = aktyvus false - status = neaktyvus | True (Tiesa) - False (Netiesa) |
digital_input_4 | Loginė reikšmė | Sukonfigūruoto objekto ar jo įrangos būsena: true - status = aktyvus false - status = neaktyvus | True (Tiesa) - False (Netiesa) |
temperature_sensor_0 | Slenkančio kablelio | Temperatūrinio jutiklio duomenys | °C |
temperature_sensor_1 | Slenkančio kablelio | Temperatūrinio jutiklio duomenys | °C |
temperature_sensor_2 | Slenkančio kablelio | Temperatūrinio jutiklio duomenys | °C |
temperature_sensor_3 | Slenkančio kablelio | Temperatūrinio jutiklio duomenys | °C |
temperature_sensor_0_id | Tekstas | Temperatūrinio jutiklio identifikatorius | Tekstas |
calculated_inputs | Masyvas | Iš kitų parametrų pagal konfigūraciją apskaičiuotų parametrų talpykla | |
mileage | Slenkančio kablelio | Objekto nuvažiuotas atstumas (priklauso nuo objekto konfigūracijos) | km |
API rezultatus, užklausų parametrus ir atsakymus galima peržiūrėti „Swagger“ programoje, naudojantis šia nuoroda:https://api.fm-track.com