trackingram API
Url api
L'url pubblico delle nostre api è: https://api-production.trackingram.chat/apiPublic
Versioni
Versione corrente v1_0
Per utilizzare una versione specifica utilizzare l'url: https://api-production.trackingram.chat/apiPublic/v1_0
Per utilizzare l'ultima versione corrente utilizzare l'url: https://api-production.trackingram.chat/apiPublic/latest
oppure non specificare nulla https://api-production.trackingram.chat/apiPublic/
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
Oggetto di risposta delle api
Ogni api ritorna in risposta un oggetto JSON con i seguenti parametri:
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:
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:
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:
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