Introduzione compatibilità API Trackingram
Questa guida è riservata agli utenti provenienti da Trackingram che sono stati migrati in Flotta in Cloud e che vogliono continuare ad usare la vecchia versione APi in uso in Trackingram.
API Endpoint
https://api.flottaincloud.it/apiPublic/v1_0/
Flotta in Cloud mette a disposizione un servizio REST API, per integrazioni nelle vostre applicazioni.
Questa documentazione fornisce informazioni sugli endpoint disponibili e su come interagire con essi.
Endpoint REST API: https://api.flottaincloud.it/apiPublic/v1_0/
Migrazione da Trackingram
L'unica azione da fare per continuare ad usare le API di Trackingram su Flotte in Cloud consiste nel cambiare l'url base delle chiamate da
https://api-production.trackingram.chat
al nuovo ENDPOINT:
https://api.flottaincloud.it
Non sono richieste altre modifiche per continuare ad usare le REST API nella stessa modalità che usavi in Trackingram
Attivazione API
Per attivare il servizo di REST API di Flotta in Cloud bisogna andare sulle impostazioni del proprio profilo utente in Flotta in Cloud.
Dove sarà possibile abilitare/disabilitare il servizio REST API e ottenere api_token da usare per l'autenticazione.
Autenticazione
Example header Basic Auth
--header 'Authorization: Basic <your_btoa_token>'
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
var token = <email> + ":" + <api_token>
var hash = btoa(token);
xhr.setRequestHeader("Authorization", "Basic " + hash);
var request = require('request');
var token = <email> + ":" + <api_token>>
var hash = btoa(token);
var options = {
'method': 'GET',
'url': 'https://api.flottaincloud.it/apiPublic/v1_0/<api_path>',
'headers': {
'Authorization': 'Basic ' + hash
}
};
import http.client
import base64
conn = http.client.HTTPSConnection("api.flottaincloud.it")
hash = base64.b64encode(b'<email>:<api_token>>')
payload = ''
headers = {
'Authorization': 'Basic ' + hash
}
conn.request("GET", "/apiPublic/v1_0/<api_path>", payload, headers)
Dopo aver attivato il servizio API dal portale, si potrà utilizzare l'api_token in associazione all'email dell'account per autenticare le richieste HTTP.
Questi parametri andranno inseriti all'interno dell'header delle richieste HTTP come Basic Athentication:
- Username - your email
- Password - api_token
Se l'autenticazione fallisce, sarà restituito un JSON object di tipo Error e con HTTP status 401.
Versioning
Tutte le chiamate API dovrebbero includere nel path la versione con cui desideri effettuare la richiesta. La versione attuale è la v1_0.
Se non viene passata alcuna versione, verrà utilizzata l'ultima versione dell'API.
Se di usa come versione /latest verrà sempre utilizzata l'ultima versione disponibile.
Example path: https://api.flottaincloud.it/apiPublic/v1_0/<requested_path>
Paginazione
Example request
curl --location --request GET 'https://api.flottaincloud.it/apiPublic/v1_0/<api_path>&skip=0&limit=1500' \
--header 'Authorization: Basic <your_btoa_token>'
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
var token = <email> + ":" + <api_token>
var hash = btoa(token);
xhr.open("GET", "https://api.flottaincloud.it/apiPublic/v1_0/<api_path>&skip=0&limit=1500");
xhr.setRequestHeader("Authorization", "Basic " + hash);
xhr.send();
var request = require('request');
var token = <email> + ":" + <api_token>
var hash = btoa(token);
var options = {
'method': 'GET',
'url': 'https://api.flottaincloud.it/apiPublic/v1_0/<api_path>&skip=0&limit=1500',
'headers': {
'Authorization': 'Basic ' + hash
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import http.client
import base64
conn = http.client.HTTPSConnection("api.flottaincloud.it")
hash = base64.b64encode(b'<email>:<api_token>>')
payload = ''
headers = {
'Authorization': 'Basic ' + hash
}
conn.request("GET", "/apiPublic/v1_0/<api_path>&skip=0&limit=1500", payload, headers)
res = conn.getresponse()
data = res.read()
Tutti gli endpoint GET che restituiscono un elenco di oggetti supportano la paginazione.
Ciò significa che per ottenere tutti gli oggetti, è necessario impaginare i risultati utilizzando sempre gli stessi parametri con il valore di skip che indica quanti elementi saltare nell'elenco.
Tutti i risultati sono reperiti quando has_more della risposta è false.
Il numero di elementi massimo in lista è specificato tramite limit ed è impostato su 1500 ma sono consentiti valori fino a 15000. Se non si specifica skip il valore di default è 0 mentre il default di limit è 1500.
Parametri
| Parameter | Description |
|---|---|
limit optional |
Numero di elementi per chiamata. Valori accettati: 1500 - 15000. Default 1500 |
skip optional |
Numero di elementi da saltare ricevuti da chiamata precedente. Default 0 |
Example response
{
"object": "list,
"data": [...] /** 100 elements **/,
"has_more": true
}
Risposta
| Parameter | Description |
|---|---|
object string |
Tipo di oggetto ritornato, essendo in paginazione sarà sempre list |
has_more boolean |
true se ci sono ancora elementi nella lista richiesta ed è quindi necessaria una chiamata successiva di paginazione. |
data array |
Lista di oggetti nella pagina. |
Errori
Error response with HTTP error code
"GENERIC ERROR"
Tutti gli errori includono una stringa che ne identifica il tipo e la descrizione dell'errore.
Per ogni chiamata descritta in questa documentazione vengono forniti i codici dei relativi errori ad esclusione di quelli comuni a tutte le chiamate API, che sono:
Errori comuni
Example common error
"AUTHENTICATION INCORRECT"
| Error code | Message | Descrizione |
|---|---|---|
400 |
AUTHENTICATION REQUIRED |
verificare l'autenticazione delle api, manca email o api_token |
400 |
AUTHENTICATION INCORRECT |
verificare l'autenticazione delle api, email o api_token invalidi |
400 |
API NOT ENABLE |
utente non abilitato all'utilizzo delle API |
400 |
GENERIC ERROR |
Errore generico |
TrackerGps
Oggetto che descrive il dispositivo di localizzazione GPS.
TrackerGps resource
{
"_id": "63cabdfd235c2800139f2427",
"status": 4,
"name": "Vehicle 1",
"label_number": 1,
"label_string": "Vehicle 1",
"imei": "359633109558000",
"last_position": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "359633109558000",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12609533000,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_position_stop": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "359633109558000",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12538300,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_can_bus": null,
"last_connection": 1701682437
}
| Field | Type | Description |
|---|---|---|
_id |
string | ID dell'oggetto |
serial |
string | Codice seriale del localizzatore GPS |
status |
numeric, integer | Indica lo stato del localizzatore (sempre uguale a 4) |
name |
string | nome associato al localizzatore |
label_number |
numeric, integer | label numerica assegnata al localizzatore |
label_string |
string | label testuale assegnata al localizzatore (uguale a name) |
imei |
string | numero imei del localizzatore |
last_position |
object, TrackerGpsData | oggetto di tipo TrackerGpsData che rappresenta l'ultima posizione geografica acquisita dal localizzatore |
last_position_stop |
object, TrackerGpsData | oggetto di tipo TrackerGpsData che rappresenta l'ultima posizione geografica acquisita dal localizzatore quando era fermo |
last_can_bus |
null | Oggetto utiilizzato in vecchia versione, ora sempre null |
last_connection |
numberic, integer | UNIX timestamp (in secondi) dell'ultima connessione del localizzatore ai server |
Ottenere i trackerGps
Example request
curl --location --request GET 'https://api.flottaincloud.it/apiPublic/v1_0/trackerGps' \
--header 'Authorization: Basic <your_btoa_token>'
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
var token = <email> + ":" + <api_token>
var hash = btoa(token);
xhr.open("GET", "https://api.flottaincloud.it/apiPublic/v1_0/trackerGps");
xhr.setRequestHeader("Authorization", "Basic " + hash);
xhr.send();
var request = require('request');
var token = <email> + ":" + <api_token>
var hash = btoa(token);
var options = {
'method': 'GET',
'url': 'https://api.flottaincloud.it/apiPublic/v1_0/trackerGps',
'headers': {
'Authorization': 'Basic ' + hash
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import http.client
import base64
hash = base64.b64encode(b'<email>:<api_token>>')
conn = http.client.HTTPSConnection("api.flottaincloud.it")
payload = ''
headers = {
'Authorization': 'Basic ' + hash
}
conn.request("GET", "/apiPublic/v1_0/trackerGps", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Tramite questa API è possibile ottenere l'elenco dei localizzatori GPS disponibili come lista di oggetti JSON di tipo TrackerGps.
HTTP Request
Questa richiesta necessita di autenticazione e la paginazione è opzionale, quindi non specificando skip e limit viene ritornata tutta la lista di localizzatori.
GET https://api.flottaincloud.it/apiPublic/v1_0/trackerGps
Parametri
| Parameter | Location | Description |
|---|---|---|
limit numeric, integer, optional |
query url | Dettagli in Paginazione, se non passato ritorna tutti i localizzatori |
skip numeric, integer, optional |
query url | Dettagli in Paginazione, se non passato ritorna tutti i localizzatori |
HTTS Response
Example response
{
"object": "list",
"has_more": false,
"count_api": 0,
"reset_count_api": 0,
"data": [
{
"_id": "63cabdfd235c2800139f2427",
"status": 4,
"name": "358887097374084",
"label_number": 1,
"label_string": "358887097374084",
"imei": "358887097374084",
"last_position": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12609533000,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_position_stop": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12538300,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_can_bus": null,
"last_connection": 1701687058
},
{
"_id": "63cff73a6cdd6d00120f9ac3",
"status": 4,
"name": "358887097388530",
"label_number": 2,
"label_string": "358887097388530",
"imei": "358887097388530",
"last_position": {
"_id": null,
"id_trackerGps": "63cff73a6cdd6d00120f9ac3",
"imei": "359633109558000",
"type": 1,
"gps_timestamp": 1701668882000,
"rtc_timestamp": 1701668882000,
"send_timestamp": 1701668882000,
"longitude": 9.056886,
"latitude": 48.538906,
"heading": 284,
"odometer": 100,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.5,
"backup_battery": 3.5,
"gsm_signal": 30,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_position_stop": {
"_id": null,
"id_trackerGps": "63cff73a6cdd6d00120f9ac3",
"imei": "359633109558001",
"type": 1,
"gps_timestamp": 1701668882000,
"rtc_timestamp": 1701668882000,
"send_timestamp": 1701668882000,
"longitude": 9.056886,
"latitude": 48.538906,
"heading": 284,
"odometer": 100,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.5,
"backup_battery": 3.5,
"gsm_signal": 30,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_can_bus": null,
"last_connection": 1701687409
}
]
}
| Parameter | Description |
|---|---|
object string |
Tipo di oggetto ritornato, sarà fisso a list |
has_more boolean |
true se ci sono ancora elementi nella lista richiesta ed è quindi necessaria una chiamata successiva di paginazione, se non vengono specificati skip e limit sarà sempre false perchè viene ritornata tutta la lissta di localizzatori. |
data array di TrackerGps |
Lista di localizzatori in formato TrackerGps. |
HTTP Errors
Oggetto di tipo Error:
| Error code | Message | Descrizione |
|---|---|---|
400 |
GENERIC ERROR |
Errore generico |
Ottenere un trackerGps
Example request
curl --location --request GET 'https://api.flottaincloud.it/apiPublic/v1_0/trackerGps/63cabdfd235c2800139f2427' \
--header 'Authorization: Basic <your_btoa_token>'
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
var token = <email> + ":" + <api_token>
var hash = btoa(token);
xhr.open("GET", "https://api.flottaincloud.it/apiPublic/v1_0/trackerGps/63cabdfd235c2800139f2427");
xhr.setRequestHeader("Authorization", "Basic " + hash);
xhr.send();
var request = require('request');
var token = <email> + ":" + <api_token>
var hash = btoa(token);
var options = {
'method': 'GET',
'url': 'https://api.flottaincloud.it/apiPublic/v1_0/trackerGps/63cabdfd235c2800139f2427',
'headers': {
'Authorization': 'Basic ' + hash
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import http.client
import base64
hash = base64.b64encode(b'<email>:<api_token>>')
conn = http.client.HTTPSConnection("api.flottaincloud.it")
payload = ''
headers = {
'Authorization': 'Basic ' + hash
}
conn.request("GET", "/apiPublic/v1_0/trackerGps/63cabdfd235c2800139f2427", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Ritorna un singolo localizzatore, identificato dal suo id_trackerGps.
HTTP Request
Questa richiesta necessita di autenticazione.
GET https://api.flottaincloud.it/apiPublic/v1_0/trackerGps/:id_trackerGps
Parametri
| Parameter | Location | Description |
|---|---|---|
id_trackerGps string, required |
params | è il campo _id del trackerGps che si vuole ottenere |
HTTS Response
| Parameter | Description |
|---|---|
object string |
Tipo di oggetto ritornato, sarà fisso a trackerGps |
data object, TrackerGps |
Localizzatore in formato TrackerGps. |
Example response
{
"object": "trackerGps",
"count_api": 0,
"reset_count_api": 0,
"data": {
"_id": "63cabdfd235c2800139f2427",
"status": 4,
"name": "358887097374084",
"label_number": 1,
"label_string": "358887097374084",
"imei": "358887097374084",
"last_position": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12609533000,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_position_stop": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12538300,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_can_bus": null,
"last_connection": 1701688319
}
}
HTTP Errors
Oggetto di tipo Error:
| Error code | Message | Descrizione |
|---|---|---|
400 |
GENERIC ERROR |
Errore generico |
400 |
TRACKER GPS NOT FOUND |
trackerGps non trovato, controllare il parametro id_trackerGps |
TrackerGpsData
Oggetto che descrive la posizione GPS di un localizzatore.
TrackerGpsData resource
{
"_id": "656967995c67728ebbcedfa3",
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "359633109558000",
"type": 1,
"gps_timestamp": 1701406616000,
"rtc_timestamp": 1701406616000,
"send_timestamp": 1701406616000,
"longitude": 14.085879,
"latitude": 49.836496,
"heading": 150,
"odometer": 12466800,
"input0": 1,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 1,
"satellite": 12,
"main_power": 11.7,
"backup_battery": 3.5,
"gsm_signal": 17,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
}
| Field | Type | Description |
|---|---|---|
_id |
string | ID dell'oggetto |
id_trackerGps |
string | ID dell'oggetto trackerGps a cui è riferita la posizione geografica |
imei |
string | imei del localizzatore a cui è riferita la posizione geografica |
type |
numeric, integer | numero che identifica la tipologia di posizione GPS (valore sempre 1) |
gps_timestamp |
number, integer | UTC UNIX timestamp in secondi dell'ora fornita dal gps |
rtc_timestamp |
number, integer | UTC UNIX timestamp in secondi dell'ora fornita dal clock interno del localizzatore |
send_timestamp |
number, integer | UTC UNIX timestamp in secondi dell'ora di invio della posizione gps ai server Trackingram |
longitude |
numeric, decimal | Longitudine della posizione |
latitude |
numeric, decimal | Latitudine della posizione |
heading |
numeric, integer | direzione di marcia tra 0 a 360 gradi |
odometer |
numeric, decimal | valore in 0.1 km dell'odometro settato dal localizzatore |
input0 |
numeric, integer (solo 0 | 1) | valore dell'ingresso 0 digitale |
input1 |
numeric, integer | valore sempre 0 |
input2 |
numeric, integer | valore sempre 0 |
input3 |
numeric, integer | valore sempre 0 |
output1 |
numeric, integer (solo 0 | 1) | valore dell'output 1 |
output2 |
numeric, integer | valore sempre 0 |
output3 |
numeric, integer | valore sempre 0 |
speed_gps |
numeric, decimal | velocità in km/h |
satellite |
numeric, integer | numero di satelliti gps/glonass |
main_power |
numeric, decimal | valore in 0,1V della tensione di alimentazione del localizzatore |
backup_battery |
numeric, decimal | valore in 0,1V della tensione della batteria interna di backup del localizzatore |
gsm_signal |
numeric, integer |
valore del segnale gsm:
- da 2 a 9 segnale scarso - da 10 a 14 segnale buono - da 15 a 19 segnale ottimo - sopra 20 segnale eccellente |
cell_id |
numeric, integer | valore sempre 0 |
cell_lac |
numeric, integer | valore sempre 0 |
mcc_mnc |
numeric, integer | valore sempre 0 |
can_bus |
object | valore sempre null |
Storico posizioni
Example request
curl --location --request GET 'https://api.flottaincloud.it/apiPublic/v1_0/trackerGpsData/359633109558000?start=1637756247000&stop=1637842647000&skip=0&limit=1500&filter_type=1&filter_type=2' \
--header 'Authorization: Basic <your_btoa_token>'
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
var token = <email> + ":" + <api_token>
var hash = btoa(token);
xhr.open("GET", "https://api.flottaincloud.it/apiPublic/v1_0/trackerGpsData/359633109558000?start=1637756247000&stop=1637842647000&skip=0&limit=1500&filter_type=1&filter_type=2");
xhr.setRequestHeader("Authorization", "Basic " + hash);
xhr.send();
var request = require('request');
var token = <email> + ":" + <api_token>
var hash = btoa(token);
var options = {
'method': 'GET',
'url': 'https://api.flottaincloud.it/apiPublic/v1_0/trackerGpsData/359633109558000?start=1637756247000&stop=1637842647000&skip=0&limit=4&filter_type=1&filter_type=2',
'headers': {
'Authorization': 'Basic ' + hash
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import http.client
import base64
hash = base64.b64encode(b'<email>:<api_token>>')
conn = http.client.HTTPSConnection("api.flottaincloud.it")
payload = ''
headers = {
'Authorization': 'Basic ' + hash
}
conn.request("GET", "/apiPublic/v1_0/trackerGpsData/359633109558000?start=1637756247000&stop=1637842647000&skip=0&limit=1500&filter_type=1&filter_type=2", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Ritorna un oggetto di tipo Paginazione con una lista di TrackerGpsData, registrate dal dispositivo, in un determinato intervallo temporale ed eventualmente filtrate per tipologia.
I limiti della richiesta sono al massimo 15000 posizioni a chiamata e l'intervallo temporale di richiesta posizioni deve essere minore di 5 giorni.
HTTP Request
Questa richiesta necessita di autenticazione.
GET https://api.flottaincloud.it/apiPublic/v1_0/trackerGpsData/:id_trackerGps
Parametri
| Parameter | Location | Description |
|---|---|---|
id_trackerGps string, required |
params | è il campo _id del trackerGps di cui si vuole ottenere lo storico posizioni |
timestampStart numeric, integer, required |
query url | Indica l'UTC UNIX timestamp in secondi della data di inizio della ricerca |
timestampStop numeric, integer, required |
query url | Indica l'UTC UNIX timestamp in secondi della data di fine della ricerca |
type numeric, integer, optional |
query url | indica il tipo di dato che si vuole reperire, possibili valori: 1 - tutte le posizioni (default) 2 - solo posizioni con eventi di input |
limit numeric, integer, optional |
query url | Dettagli in Paginazione (default: 1500, massimo valore consentito: 15000) |
skip numeric, integer, optional |
query url | Dettagli in Paginazione (default: 0) |
HTTS Response
| Parameter | Description |
|---|---|
object string |
Tipo di oggetto ritornato, sarà fisso a list essendo paginata |
has_more boolean |
Dice se ci sono ancora elementi da scaricare per la ricerca effettuata come specificato nella paginazione |
data arrai di oggetti TrackerGpsData |
Lista di posizione del localizzatore in formato TrackerGpsData. |
Example response
{
"object": "list",
"has_more": true,
"count_api": 0,
"reset_count_api": 0,
"data": [
{
"_id": "656967995c67728ebbcedfa3",
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701406616000,
"rtc_timestamp": 1701406616000,
"send_timestamp": 1701406616000,
"longitude": 14.085879,
"latitude": 49.836496,
"heading": 150,
"odometer": 12466800,
"input0": 1,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 1,
"satellite": 12,
"main_power": 11.7,
"backup_battery": 3.5,
"gsm_signal": 17,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
{
"_id": "656967e15c67728ebbcedfa9",
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701406628000,
"rtc_timestamp": 1701406628000,
"send_timestamp": 1701406628000,
"longitude": 14.085877,
"latitude": 49.836483,
"heading": 150,
"odometer": 12466800,
"input0": 1,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 11,
"main_power": 14.6,
"backup_battery": 3.5,
"gsm_signal": 17,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
{
"_id": "656967e45c67728ebbcedfab",
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701406658000,
"rtc_timestamp": 1701406658000,
"send_timestamp": 1701406658000,
"longitude": 14.085768,
"latitude": 49.836474,
"heading": 150,
"odometer": 12466800,
"input0": 1,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 14.6,
"backup_battery": 3.5,
"gsm_signal": 17,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
}
]
}
{
"object": "trackerGps",
"count_api": 0,
"reset_count_api": 0,
"data": {
"_id": "63cabdfd235c2800139f2427",
"status": 4,
"name": "358887097374084",
"label_number": 1,
"label_string": "358887097374084",
"imei": "358887097374084",
"last_position": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12609533000,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_position_stop": {
"_id": null,
"id_trackerGps": "63cabdfd235c2800139f2427",
"imei": "358887097374084",
"type": 1,
"gps_timestamp": 1701667733000,
"rtc_timestamp": 1701667733000,
"send_timestamp": 1701667733000,
"longitude": 13.982689,
"latitude": 49.907796,
"heading": 48,
"odometer": 12538300,
"input0": 0,
"input1": 0,
"input2": 0,
"input3": 0,
"output1": 0,
"output2": 0,
"speed_gps": 0,
"satellite": 12,
"main_power": 12.2,
"backup_battery": 3.5,
"gsm_signal": 18,
"cell_id": 0,
"cell_lac": 0,
"mcc_mnc": 0,
"can_bus": null
},
"last_can_bus": null,
"last_connection": 1701688319
}
}
HTTP Errors
Oggetto di tipo Error:
| Error code | Message | Descrizione |
|---|---|---|
400 |
timestampStart REQUIRED |
Assicurarsi di aver inserito il parametro timestampStart in query url |
400 |
timestampStop REQUIRED |
Assicurarsi di aver inserito il parametro timestampStop in query url |
400 |
TRACKER GPS NOT FOUND |
Il trackerGps in analisi non è corretto |
400 |
GENERIC ERROR |
Intervallo di richiesta posizioni superiore a 5 giorni o errore generico |