API Web

L'API Web è un'interfaccia che facilita la comunicazione tra applicazioni software. Consente di sviluppare e integrare il dominio in applicazioni proprietarie o sistemi di terze parti. Le invocazioni API RESTful sono costituite da una richiesta inviata dal client e da una risposta restituita dal server.

Richiesta del client

Una richiesta API RESTful include tre componenti principali:

  1. Azione HTTP: definisce l'azione da eseguire sulla risorsa endpoint URL.
    Azione HTTP

    GET

    Leggere

    POST

    Creare

    PUT

    Aggiornare/Sostituire

    PATCH

    Aggiornamento/modifica parziale

    DELETE

    Eliminare

  2. Endpoint URL: consiste in un collegamento URL che rappresenta le risorse a cui si desidera accedere, ad esempio testo, immagini, documenti o dati. L'endpoint radice (o indirizzo di base) è il punto di partenza dell'API da cui si invia la richiesta, mentre il percorso determina la risorsa richiesta. Ogni API ha il proprio percorso (ad esempio, il percorso per recuperare un elenco di dispositivi è: /api/devices, mentre il percorso per recuperare l'elenco di un utente è: /api/utenti). L'endpoint radice dell'API è https://uniqloud.asem.it
  3. Messaggio del corpo: Include proprietà e valori per creare o aggiornare una determinata risorsa. Un messaggio del corpo può includere intestazioni. Le intestazioni sono coppie proprietà-valore separate da due punti e utilizzate per immettere informazioni sul contenuto del corpo. L'esempio seguente mostra un'intestazione che informa il server di aspettarsi del contenuto JSON:

    Tipo di contenuto: application/json

Risposta del server

Una volta che il server ha ricevuto una richiesta http da un client, inviare una risposta composta da due parti:

  1. Il codice di stato HTTP:
    • 200: La richiesta è stata accolta.
    • 300: La richiesta viene reindirizzata a un altro URL.
    • 400: Si è verificato un errore originato dal client.
    • 500: Si è verificato un errore originato dal server.
  2. Il corpo: Il corpo della risposta viene fornito facoltativamente e il relativo messaggio può variare a seconda della risposta del server.

Autenticazione e autorizzazione

I tentativi di connessione possono essere accettati o negati, a seconda che l'autenticazione o l'autorizzazione non riescano o abbiano esito positivo.

  • L'Autenticazione è un processo utilizzato per verificare le credenziali di accesso durante il tentativo di connessione. Le credenziali vengono inviate dal client al server in formato testo normale o crittografato tramite un protocollo di autenticazione.
  • L'Autorizzazione è un processo utilizzato per confermare che il tentativo di connessione che si sta tentando di stabilire è consentito. Un'autorizzazione può verificarsi solo dopo un'autenticazione riuscita.

Prima di accedere alle API che richiedono l'autenticazione, richiamare l'API di autenticazione per ottenere il Bearer token in risposta. L''Authorization': Il'Bearer <token>' consente di invocare altre API per specificare il token nell'intestazione http.

Protocollo OData v4

L'OData (Open Data Protocol) è un protocollo aperto che consente la creazione e l'utilizzo di API RESTful, in quanto gestiscono risorse di dominio (dispositivi, utenti, gruppi e così via). OData è conforme agli standard OASIS che definiscono un set di procedure per la creazione e l'utilizzo di API RESTful.

Sono accettate le seguenti clausole: $select, $expand, $filter, $top, $orderby, $count.

Implementazione

Le API UBIQUITY sono elencate al link: https://ubiquity.asem.it/api/, in cui le richieste vengono ordinate in base al tipo di funzionalità.
Nota: La documentazione dell'API UBIQUITY fornita è conforme alla specifica OpenAPI.

UBIQUITY Tools SDK

UBIQUITY Tools SDK è un kit di sviluppo software versatile progettato per integrare perfettamente la connettività VPN e le funzionalità di trasferimento file tra un dispositivo e Runtime, e viceversa, all'interno dell'applicazione personalizzata, sfruttando le API Web fornite.
Nota: Per accedere alla libreria SDK, fare riferimento alla documentazione fornita con UBIQUITY Tools SDK.