GLOSSARIO

Che cos'è un'API?

  Questa pagina è stata tradotta automaticamente da DeepL. Switch to English

Un'API (Application Programming Interface) è un insieme di regole che consente a un software di comunicare con un altro. Pensala come un menu: la tua app può "ordinare" dati o azioni e l'API comunica alla cucina (un servizio) esattamente cosa cucinare e come servirlo.

Le API standardizzano il modo in cui vengono effettuate le richieste e restituite le risposte, consentendo a sistemi diversi di funzionare insieme in modo affidabile anche se sono stati realizzati da team o aziende diverse o in linguaggi di programmazione diversi.

how-a-web-api-works

Cosa fa effettivamente un'API?

A livello pratico, un'API definisce gli endpoint (indirizzi che è possibile chiamare), i metodi che è possibile utilizzare (come GET per recuperare dati o POST per inviare dati), il formato di ciò che si invia (spesso JSON) e ciò che ci si deve aspettare in risposta (dati più un codice di stato come 200 per "OK" o 404 per "Non trovato"). Questa prevedibilità è il punto fondamentale.

API, SDK e UI: qual è la differenza?

  • API: Il contratto che puoi richiedere e come otterrai una risposta.
  • SDK (Software Development Kit): un toolkit che spesso racchiude un'API con codice già pronto, esempi e utilità per facilitare l'utilizzo dell'API.
  • Interfaccia utente (UI): ciò su cui gli esseri umani cliccano e toccano. Le API sono destinate al software-software; le UI sono destinate alle persone.

Per essere precisi, è possibile utilizzare un'API senza un SDK, ma l'uso di un SDK consente di risparmiare tempo e ridurre gli errori.

Esistono diversi "tipi" di API?

Sì, diversi stili, ciascuno con i propri compromessi:

  • REST: lo stile web più comune oggi. Basato sulle risorse, utilizza metodi HTTP (GET/POST/PUT/DELETE), in genere JSON.
  • GraphQL: i client specificano i campi esatti di cui hanno bisogno in un'unica richiesta, il che è ottimo per ridurre il recupero eccessivo o insufficiente dei dati.
  • SOAP: protocollo basato su XML più datato con contratti rigidi, ancora utilizzato in alcune aziende.
  • gRPC: protocollo binario ad alte prestazioni molto diffuso nei microservizi.
  • Webhook: non è una richiesta che fai, ma una richiamata che il fornitore ti invia quando succede qualcosa (come una notifica di consegna).
rest-api

Vale la pena utilizzare un'API?

Di solito sì. Invece di costruire tutto da zero, le API consentono di integrare pagamenti, mappe, e-mail, ricerca, analisi, intelligenza artificiale e altro ancora. Ciò consente di risparmiare tempo di progettazione, migliora l'affidabilità (il fornitore mantiene aggiornato il proprio servizio) e permette al vostro team di concentrarsi su ciò che rende unico il vostro prodotto.

I compromessi: erediti i limiti di velocità, i prezzi e le dipendenze dall'uptime dal tuo provider. Se il tuo prodotto non può funzionare senza quell'API, pianifica una ridondanza.

Ho bisogno di una "chiave" speciale per utilizzare un'API?

Spesso. Molte API richiedono l'autenticazione affinché il provider sappia chi sei e possa applicare autorizzazioni e limiti di velocità. Gli approcci più comuni includono:

  • Chiavi API: semplici token inviati con ogni richiesta.
  • OAuth: un metodo delegato più sicuro, ideale quando è necessario accedere per conto di un utente.
  • Richieste firmate / JWT: token firmati crittograficamente che scadono e possono contenere attestazioni (chi sei, cosa sei autorizzato a fare).

Quando possibile, non conservare chiavi e token nei repository pubblici e nel codice lato client.

Ho bisogno di strumenti speciali per chiamare un'API?

Non proprio. Un browser web, curl o qualsiasi client HTTP funzionano per molte API. Gli sviluppatori utilizzano spesso strumenti come Postman o librerie linguistiche integrate per effettuare richieste, controllare le risposte e salvare esempi. Per le app di produzione, utilizzerai la libreria HTTP del tuo linguaggio o l'SDK del provider.

Chi utilizza le API nel mondo reale?

Praticamente tutto ciò che è moderno: app mobili che recuperano profili, "Accedi con Google/Apple", negozi online che elaborano pagamenti, dispositivi domestici intelligenti che si sincronizzano, dashboard che recuperano analisi, persino il widget meteo. Se un software scambia dati, è probabile che dietro ci sia un'API.

client-server-architecture

Gergo che vedrai (e cosa significa)

  • Endpoint: l'URL che chiami (ad esempio, /users/123).
  • Richiesta/Risposta: ciò che invii rispetto a ciò che ricevi.
  • Payload / Corpo: i dati contenuti in una richiesta o risposta.
  • Codice di stato: risultato numerico (200 OK, 201 Creato, 401 Non autorizzato, 429 Troppe richieste, 500 Errore del server).
  • Limite di velocità: numero di chiamate che è possibile effettuare in un determinato intervallo di tempo.
  • Versioni: mantenere separati il comportamento delle API vecchie e nuove (ad esempio, /v1/ rispetto a /v2/).
  • Idempotente: eseguire la stessa richiesta più volte dà lo stesso risultato (ad esempio, GET).

CONTENUTI CORRELATI