Provare a spiegare cosa sono le API in modo semplice e con un linguaggio accessibile a tutti è una sfida. Sfida che voglio cogliere, ovviamente.
Se bazzichi il mondo dei marketplace o dell’eCommerce o, ancora più in generale, dell’informatica avrai già sentito nominare il termine API e magari avrai già dovuto affrontare il loro utilizzo in circostanze di carattere tecnico. Oggi le API sono roba da sviluppatori, insomma. Aggeggi che usa chi ha un ruolo specialistico ed una “cassetta degli attrezzi” già bene fornita.
Tuttavia la loro diffusione, ed un uso che progressivamente si avvicina ad una utenza più vasta e costituita da tecnici sempre meno specializzati, ne fa un tema di portata rilevante per un pubblico in crescita.
Intanto è necessario offrire una definizione tecnica, per fare ordine.
API è un acronimo che significa Application Programming Interface dove:
API quindi è quel sistema che consente a due software di interagire tra di loro, scambiandosi dati o attivando funzioni reciprocamente, secondo la documentazione che regolamenta l’interfacciamento.
La documentazione API di un software, quindi, rappresenta una componente fondamentale per i tecnici che devono concretizzare una integrazione, perché è nella documentazione che si stabiliscono le regole del gioco ovvero quali dati possono essere richiesti o inviati (e quali funzioni possono essere attivate) ed in che modo.
Questa modalità di interazione tra software, relativamente recente e che è tipica delle architetture web, ha aperto opportunità davvero eccezionali a tutto il mondo degli sviluppatori. Mentre prima del concetto di API i software con le loro funzioni ed i dati contenuti rimanevano confinati in una scatola chiusa e sigillata (il computer sul quale il software veniva eseguito) ora i software ed i dati che contiene sono di facile accesso ed in una modalità self service*.
Per approfondire questo concetto, e semplificarlo, uso una metafora.
Immagina che il software di cui disponi corrisponda alla casa che hai appena finito di ristrutturare. Hai pensato a tutto, ad una cucina comoda e accessoriata, la camera da letto spaziosa e con gli armadi capienti, un bagno comodo e tutto il resto. Infine hai deciso di rimandare l’installazione dei condizionatori alla prossima stagione per una questione di cassa. L’estate è appena terminata e si avvicina un periodo in cui li useresti davvero poco.
Trascorso l’inverno decidi di chiamare il frigorista per essere pronto per l’estate. Scegli la marca ed il modello e piazzi l’ordine. Concordi il giorno dell’intervento e lo attendi con impazienza.
Il frigorista si presenta puntuale con tutta l’attrezzatura ma scopre che non c’è un solo tubo che esca dalle pareti. Gli assicuri che l’idraulico ha realizzato l’impianto ma lui ribadisce che se non c’è un allaccio predisposto non può installare i condizionatori. Carica il furgone con l’attrezzatura e torna in sede senza aver concluso l’opera. Rimani senza condizionatori.
Questo scenario, fatte le debite proporzioni, è quello in cui si trovavano gli sviluppatori prima della diffusione delle API. Nota che non è impossibile montare il tuo impianto di condizionamento. Ma gli ostacoli che il frigorista deve superare sono rilevanti. Serve un muratore che spacchi le pareti alla ricerca dei tubi lasciati dall’idraulico, le ripristini finito l’intervento ed ingaggi un imbianchino per completare l’opera. Allo stesso modo, prima dello standard che le API hanno creato, esisteva la possibilità di mettere in comunicazione software differenti ma secondo tempi e modi eccezionalmente differenti.
Oggi lo scenario, abilitato dalle API, sarebbe il seguente.
Il frigorista, giunto a casa tua in data e ora stabiliti, suona alla porta. Gli dai accesso aprendo il cancello da cui entra con il furgone. Entrato in casa, gli mostri uno schema dell’impianto. Trova i tubi che escono dalle pareti e che sono pronti per poter essere connessi ai suoi dispositivi. Completa l’opera e lascia la tua casa non prima di aver avviato l’impianto e verificato che tutto funzioni. La casa ora è raffrescata.
Nel primo scenario c’è una forma di “chiusura” che si traduce in uno sforzo operativo da parte di tutte le figure che partecipano a raggiungere lo scopo.
Nel secondo scenario c’è apertura anche se non indiscriminata. Se il frigorista non ha le chiavi del cancello non può entrare con il furgone. E se non gli apri la porta, non può entrare in casa per collegare i condizionatori all’impianto. Lo schema che gli fornisci rappresenta un accesso “self service” ai dati. Il che rende la cooperazione efficiente e scalabile su numeri ragguardevoli.
Domandati come potresti gestire la situazione in cui fossero molti i frigoristi a doversi collegare all’impianto. Nel primo scenario, probabilmente, diventerebbe impossibile, per te, organizzarti. Nel secondo scenario, le istruzioni che dai al primo frigorista (la documentazione delle API) restano valide per tutte le altre persone che dovessero avere lo stesso scopo. Se il numero di persone fosse molto alto, cambierebbe poco per te (dovresti avere abbastanza tempo per tutti e tenere monitorate le code che potrebbero venirsi a creare. Si tratta di questioni che puoi regolamentare sulla documentazione).
Usare le API
Esistono tecnicismi differenti per realizzare il set di API con cui uno sviluppatore “apre” il suo software al mondo esterno. Quello delle API REST (Representational State Transfer) è il più diffuso per le tecnologie web.
Le API di Amazon per operare sul Seller Central (che vengono denominate da Amazon SP API, ovvero Selling Partner API) sono API Rest che ti consentono ad esempio di:
e molto altro (qui puoi trovare la documentazione completa).
Nota come le operazioni cui hai accesso vanno oltre lo scambio di dati: puoi operare direttamente con il software di Amazon (il Seller Central) come se avessi fatto login e premessi i pulsanti che trovi sulle interfacce (ad esempio, per creare un nuovo prodotto).
Lo scambio di dati e di istruzioni avviene per tramite di file di testo, detti JSON (JavaScript Object Notation).
Il software che espone le sue API a sviluppatori terzi, prima di innescare lo scambio di dati dovrebbe verificare:
Nella metafora degli spaghetti, non è sufficiente dare a Mario i codici per entrare in casa ma verificare (ad esempio con l’impronta digitale) che sia davvero Mario ad entrare e non un soggetto malintenzionato che ha rubato il codice.
Inutile dire che i software prodotti oggi hanno uno spiccato orientamento all’apertura via API. eDock, ad esempio, è un software che si annovera nella categoria API First: ovvero vengono sviluppate prima le API e – solo dopo – le interfacce (vai alla documentazione di eDock).
Questa rivoluzione copernicana che consente di usare i software reperibili sul mercato come fossero tessere di un puzzle, costruendo software più complessi ed in minor tempo, ha dato corso ad una vera e propria economia. Lo stesso concetto di software cambia: non devo avere necessariamente una interfaccia grafica ma ti do accesso alle mie API, facendoti pagare in proporzione a quanto le consumi.
In conclusione le API sono ancora oggi strumenti tecnici che richiedono un grado di specializzazione evoluto nel loro impiego. Tuttavia offrono opportunità di integrazione che – per chi fa e-commerce – non possono essere ignorate. Conoscerne i principi base ti può aiutare a coglierne l’essenza del funzionamento ed approcciare un progetto avendo cognizione dei vincoli tecnici esposti.
———————————-
*Se sei uno sviluppatore potresti dissentire ma ti prego di accogliere questa semplificazione.
Parti dal corso gratuito, supera il test ed ottieni il coupon per i successivi
Se ti interessa l’argomento puoi iscriverti alla nostra newsletter. Con un paio di click verrai a conoscenza di tutto quello che pubblichiamo!
Hai individuato il tuo percorso online! Perfetto!
Compila il modulo sottostante per iniziare subito!
Bene, hai trovato l’Ecommerce Manager che fa per te! Compila il modulo sottostante per inviargli una richiesta di collaborazione.