Objektų koordinačių istorijos API

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ų:

ParametrasTipasAprašymas
object_idTekstasIšorinio objekto ID
datetimeData ir laikasUžklaustas konkrečios datos ir laiko įrašas. Datos ir laiko pavyzdys pagal ISO-8601 standartą: “2017-04-13T06:58:48.090Z”
versionTekstasAPI versija, šiuo metu galima tik version=1
api_keyTekstasVartotojo 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ų:

ParametrasTipasAprašymas
objectIdTekstasIšorinio objekto ID
fromDatetimeData ir laikasRanda įrašus nuo konkrečios datos ir laiko. Datos ir laiko pavyzdys pagal ISO-8601 standartą: “2017-04-13T06:58:48.090Z”
versionTekstasAPI versija
api_keyTekstasVartotojo identifikacinis raktas

Pasirenkamieji parametrai, kurie nėra privalomi, tačiau juos galima įterpti į užklausą:

ParametrasTipasAprašymas
toDatetimeData ir laikasRanda į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”
continuationTokenData ir laikasĮterpia tęstinumo simbolį bei rodo sekantį duomenų komplektą, pasiekus praeitą įrašų limitą.
limitSveikasis skaičiusNustato įrašų limitą sistemos atsakyme (numatytoji vertė - 100 įrašų, maksimali vertė - 1000)
api_keyTekstasVartotojo 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:

ParametrasTipasAprašymasMatavimo vienetai
continuation_tokenTę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ščiasData ir laikas
itemsMasyvasTalpina visus parametrus, priklausomai nuo užklausos
object_idTekstasObjekto identifikatorius (išorinis)Tekstas
datetimeData ir laikasĮrangos sugeneruota koordinačių data ir laikas
Formatas: "yyyy-mm-ddThh:mm:ss.sssZ"
Pagal ISO-8601
ignition_statusEnumNurodo, ar objekto degimas įjungtas:
"ON" - degimas įjungtas
"OFF" - degimas išjungtas
"UNKNOWN" - nėra duomenų apie degimą
ON- OFF
positionMasyvasTalpina GPS įrašų parametrus
latitudeSlenkančio kablelioGPS koordinatė - platumos vertėLaipsniai
longitudeSlenkančio kablelioGPS koordinatė - ilgumos vertėLaipsniai
altitudeSveikasis skaičiusGPS koordinatė - aukščio vertėSkaičius
directionSveikasis skaičiusJudėjimo kryptis laipsniais0 = šiaurė, didėja pagal laikrodžio rodyklę
speedSveikasis skaičiusObjekto judėjimo greitiskm/h
satellites_countSveikasis skaičiusMatomų GPS ar GLONASS palydovų skaičius (priklauso nuo prietaiso konfigūracijos), prietaise vykstant įrašo generacijaiSkaičius
device_inputsMasyvasIš įrangos gautų parametrų talpykla
power_supply_voltageSveikasis skaičiusObjekto maitinimo šaltinio įtampamV
ibuttonTekstasVairuotojo, priskirto prie transporto priemonės, iButton arba RFID kortelės kodasTekstas
hdopSlenkančio kablelioGPS koordinatės tikslumasSkaičius
first_driver_idTekstasPirmojo vairuotojo tachografo kodasTekstas
second_driver_idTekstasAntrojo vairuotojo tachografo kodasTekstas
digital_input_1Loginė reikšmėSukonfigūruoto objekto ar jo įrangos būsena:
true - status = aktyvus
false - status = neaktyvus
True (Tiesa) - False (Netiesa)
digital_input_2Loginė reikšmėSukonfigūruoto objekto ar jo įrangos būsena:
true - status = aktyvus
false - status = neaktyvus
True (Tiesa) - False (Netiesa)
digital_input_3Loginė reikšmėSukonfigūruoto objekto ar jo įrangos būsena:
true - status = aktyvus
false - status = neaktyvus
True (Tiesa) - False (Netiesa)
digital_input_4Loginė reikšmėSukonfigūruoto objekto ar jo įrangos būsena:
true - status = aktyvus
false - status = neaktyvus
True (Tiesa) - False (Netiesa)
temperature_sensor_0Slenkančio kablelioTemperatūrinio jutiklio duomenys°C
temperature_sensor_1Slenkančio kablelioTemperatūrinio jutiklio duomenys°C
temperature_sensor_2Slenkančio kablelioTemperatūrinio jutiklio duomenys°C
temperature_sensor_3Slenkančio kablelioTemperatūrinio jutiklio duomenys°C
temperature_sensor_0_idTekstasTemperatūrinio jutiklio identifikatoriusTekstas
calculated_inputsMasyvasIš kitų parametrų pagal konfigūraciją apskaičiuotų parametrų talpykla
mileageSlenkančio kablelioObjekto 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