Guida introduttiva

Questa sezione descrive la Web API della piattaforma, implementata come REST-API con scambio di dati in formato json.

Principi generali

  • Formato di trasferimento dei dati La Web API è implementata come REST-API con scambio di dati in formato json.
  • Procedura di autenticazione L’autenticazione si basa su un token aggiornato dinamicamente, che garantisce la sicurezza dei dati ricevuti e impedisce la fuga del token.
  • Formato delle variabili contenenti data e ora La Web API restituisce i dati di tipo data e ora nella codifica UNIX time o POSIX time, nel formato UTC: 1613376963. Per convertire il valore Unix time in una data leggibile è necessario indicare il fuso orario.
  • Paginazione La Web API implementa la paginazione per il caricamento dei dati pagina per pagina. Si trasmette tramite il parametro: page="page number" (page=1). Il numero di record restituiti dalla richiesta può essere indicato con il parametro per_page, ma non oltre 1000 record.

URL di base

Tutti gli esempi di queste pagine utilizzano il seguente URL di base:

bash
https://api.vadsro.eu/api/v1

Autenticazione

L’autenticazione si basa su un token aggiornato dinamicamente. In pratica funziona così:

  • L’autenticazione primaria viene eseguita con un indirizzo e-mail e una password esistenti nel sistema; in risposta si ricevono un token dinamico e i relativi attributi.
  • Si compone la richiesta effettiva per ottenere i dati, aggiungendo alle intestazioni della richiesta HTTP il token ricevuto al passaggio precedente.
  • Si invia la richiesta al server. Se la richiesta è composta correttamente, il server restituisce i dati nel corpo della risposta e un nuovo token nelle intestazioni della risposta, mentre il token precedente perde validità. Con il nuovo token possiamo ripetere il passaggio precedente e così via.
  • Al termine delle operazioni, l’ultimo token può essere invalidato prima della sua data di scadenza (SignOut).

L’autenticazione iniziale utilizza l’indirizzo e-mail e la password di un utente esistente. A tal fine è necessario inviare una richiesta POST all’indirizzo:

bash
https://api.vadsro.eu/api/v1/auth/sign_in

Esempio di richiesta in formato Curl:

bash
curl -i --header "Content-Type: application/json" \
     --request POST \
     --data '{"email":"api-user@example.com","password":"Str0ngPas$"}'\
     https://api.vadsro.eu/api/v1/auth/sign_in

In risposta riceveremo il seguente messaggio:

In questa risposta ci interessano le seguenti intestazioni:

IntestazioneDescrizione
access_tokenIl valore di questa intestazione funge da password per ogni richiesta. Il valore cambia a ogni richiesta.
clientQuesta intestazione è univoca per la connessione corrente. Consente più sessioni attive contemporaneamente.
expiryIl momento in cui questo token scadrà. Per impostazione predefinita, 2 settimane dalla sua ricezione. In alternativa, SignOut per la scadenza anticipata. Non serve per la richiesta successiva.
uidUn valore univoco che identifica l’utente. Nel nostro caso, l’indirizzo e-mail.
token-typeIl tipo di token utilizzato.

Esempio di richiesta che utilizza il token della risposta precedente:

bash
curl -i --header "access-token: EXAMPLE-ACCESS-TOKEN-1" \
 --header "token-type: Bearer" \
 --header "client: EXAMPLE-CLIENT-ID" \
 --header "uid: api-user@example.com" \
 --request GET \
 --header "Content-Type: application/json" \
 --data '{"page":"2"}' \
 https://api.vadsro.eu/api/v1/stations

In risposta riceveremo il seguente messaggio:

Per concludere le operazioni è possibile utilizzare la procedura SignOut, oppure salvare le intestazioni necessarie dell’ultima richiesta e riutilizzarle la volta successiva, se il token non è ancora scaduto.

Chiusura di una sessione:

Passaggi successivi

Ora che sai come autenticarti, esplora le risorse principali dell’API:

Ultimo aggiornamento il

Questa pagina è stata utile?