Public
Documentation Settings

trackingram API

Url api

L'url pubblico delle nostre api è: https://api-production.trackingram.chat/apiPublic

Versioni

Versione corrente v1_0

Autenticazione

L'autenticazione utilizzata per le Trackingram API è quella HTTP Basic Auth.

Come username verrà utilizzata l'email dell'account Trackingram, come password verrà utilizzato il tokenApi generato nel portale di localizzazione.

Esempio in Node.js

javascript
var https = require('https');
 
 var usename="la tua email dell'account trackingram";
 var password="il tokenApi generato nel portale di localizzazione trackingram"; 
 var options = {
   'method': 'GET',
   'hostname': 'api-production.trackingram.chat',
   'path': '/apiPublic/trackerGps',
   'headers': {
     'Authorization': "Basic "+Buffer.from(username+":"+password).toString('base64')
   }
 };
 
 var req = https.request(options, function (res) {
   var chunks = [];
 
   res.on("data", function (chunk) {
     chunks.push(chunk);
   });
 
   res.on("end", function (chunk) {
     var body = Buffer.concat(chunks);
     console.log(body.toString());
   });
 
   res.on("error", function (error) {
     console.error(error);
   });
 });
 
 req.end();

Oggetto di risposta delle api

Ogni api ritorna in risposta un oggetto JSON con i seguenti parametri:

Plain Text
{
    "object": "list",
    "data": [],
    "has_more": true,
    "count_api": 4,
    "reset_count_api": 45
}

dove:

  • "object" è una stringa che rappresenta la tipologia di dato ritornato nel campo "data"
  • "data" rappresenta il dato ritornato della tipologia espressa in "object" in funzione dell'api chiamata
  • "has_more" è un boolean che rappresenta la pagination ossia se esistono ancora dei dati da ritornare
  • "count_api" è un number che rappresenta il conteggio delle api effettuate (vedere sezione "Limiti di chiamate" per maggiori dettagli)
  • "reset_count_api" è un number che rappresenta i secondi rimanenti al reset del conteggio "count_api" (vedere sezione "Limiti di chiamate" per maggiori dettagli)

Pagination

Per api che ritornano liste di oggetti è possibile effettuare la paginazione dei risultati utilizzando i parametri in query url "limit" e "skip".
Esempio: immaginiamo di avere una lista di oggetti di 80 elementi, la prima api verrà effetuata richiedendo i primi 50 elementi "https://url-api?limit=50&skip=0" ossia con limit a 50 riceveremo i primi 50 elementi e con skip a 0 indichiamo il punto di partenza della lista. Il risultato dell'api sarà una lista di 50 elementi:

Plain Text
{
    "object": "list",
    "data": [ lista di 50 elementi],
    "has_more": true,
    "count_api": 4,
    "reset_count_api": 45
}

Se il campo di ritorno "has_more" è a true significa che ci sono ulteriori dati, e in "data" si troverà la lista dei primi 50 elementi. Per prelevare i successivi elementi si dovrà effettuare una nuova api nel formato "https://url-api?limit=50&skip=50" dove limit è il limite di elementi che vogliamo siano ritornati nella risposta e skip è a 50 perchè vogliamo ripartire dal cinquantunesimo elemento. Il risultato dell'api sarà una lista di 30 elementi con partenza dal cinquantunesimo elemento:

Plain Text
{
    "object": "list",
    "data": [ lista di 30 elementi],
    "has_more": false,
    "count_api": 5,
    "reset_count_api": 45
}

In questo caso si può notare che il campo "has_more" è a false e quindi significa che tutti gli elementi sono stati ritornati.

Limiti di chiamate

Esiste un limite massimo di 120 richieste al minuto. Il resoconto dei limiti è sempre espresso nel ritorno di ogni api:

Plain Text
{
    "object": "list",
    "data": [],
    "has_more": true,
    "count_api": 4,
    "reset_count_api": 45
}

Il conteggio delle api effettuato è presente nel campo "count_api" mentre nel campo "reset_count_api" verranno indicati i secondi rimanenti al reset del conteggio.
In caso di limite di chiamate api raggiunto verrà restituito un messaggio di errore con codice:400 e messaggio: "FLOOD_WAIT_x" dove X rappresenta i secondi di attesa prima di poter rieffettuare una nuova api.

Errori

Elenco di errori di autenticazioni:

  • codice:400
    messaggio: "AUTHENTICATION REQUIRED"
    spiegazione: verificare l'autenticazione delle api
  • codice:400
    messaggio: "AUTHENTICATION INCORRECT"
    spiegazione: verificare l'autenticazione delle api

Elenco di errori di limite di chiamate api raggiunto:

  • codice:400
    messaggio: "FLOOD_WAIT_x"
    spiegazione: X rappresenta i secondi di attesa prima di poter rieffettuare una nuova api siccome è stato raggiunto il numero massimo di api effettuabili

Elenco di errori generici:

  • codice:400
    messaggio: "API NOT ENABLE"
    spiegazione: utente non abilitato all'utilizzo delle api
  • codice:400
    messaggio: "USER NOT ENABLE"
    spiegazione: utente non abilitato
  • codice:400
    messaggio: "GENERIC ERROR"
    spiegazione: errore generico
AUTHORIZATIONBasic Auth
Username

<username>

Password

<password>