Dalla chat ai sistemi AIGratis13 min di lettura

Che cos'è un'API, senza programmare

Il cameriere non ti fa entrare in cucina, e non ti serve entrarci. All'Autoscuola Bandini di Ferrara due programmi si ignoravano da sei anni mentre Silvia ricopiava 46 richieste al mese: tre pagine di documentazione, lette con l'AI, dicono che cosa si può chiedere e che cosa no.

Cosa saprai fare
  • Spiegare a voce che cos'è un'API con l'immagine del cameriere, e capire perché la parola che conta è «concordato»
  • Leggere una documentazione tecnica vera, in inglese, e ricavarne due soli elenchi: che cosa si può chiedere e che cosa no
  • Sapere che cos'è una chiave, perché vale come una password e chi in azienda può crearla
  • Sapere in anticipo che cosa succede quando il programma dall'altra parte è fermo, ti dice di rallentare o cambia le regole

Capire

Sei seduto in sala. Non entri in cucina, non sai come si cucina, e soprattutto non ti serve saperlo: dici al cameriere che cosa vuoi, in un modo che lui capisce, e dopo un po' ti arriva il piatto. Un'API è esattamente questo: il modo concordato in cui due programmi si parlano. Uno chiede, l'altro risponde, e nessuno dei due deve sapere com'è fatto l'altro dentro.

La parola che conta è concordato, e quasi nessuno ci si ferma abbastanza. Il menù non lo scrivi tu: lo scrive chi cucina. Chi risponde decide che cosa gli si può chiedere e come. Se sul menù non c'è, non c'è — puoi chiederlo con tutta la gentilezza del mondo e la risposta sarà no. È la differenza fra «questo software si collega» e «questo software si collega per fare queste sei cose e nessun'altra», ed è tutta la lezione in una riga.

Che cosa vuol dire «chiedere» a un programma? Due cose molto diverse, e conviene tenerle separate fin da subito. Ci sono le richieste che chiedono e basta — dammi l'elenco dei clienti, dammi questa scheda — che non cambiano niente e si possono ripetere all'infinito senza danni. E ci sono le richieste che fanno succedere qualcosa — crea questa scheda, cambia questo stato — che invece lasciano un segno. Ripetere per sbaglio una richiesta del primo tipo non fa niente. Ripetere per sbaglio una del secondo crea due schede, due ordini, due appuntamenti.

Perché esiste un formato fisso? Perché il cameriere non deve interpretare. Se ordinassi «una cosa leggera, non troppo salata», dovrebbe indovinare; se ordini «tavolo 4, coperti 2, primo numero 12, senza glutine», non c'è niente da indovinare. Fra programmi vale lo stesso, ed è il motivo per cui i dati viaggiano scritti sempre allo stesso modo. Quel modo si chiama JSON ed è la lezione dopo: quando ti comparirà a schermo saprai già che cos'è.

Poi c'è la chiave. È la tessera che ti fa entrare: non dice chi sei come persona, dice che a te è permesso entrare e fare quelle certe cose. Chi ce l'ha in mano vale quanto te, verso quel programma. Per questo una chiave non si dà a nessuno, non si incolla in una chat, non si manda per email, non finisce in uno screenshot allegato a un ticket. Se è passata da un posto che non controlli, si butta e se ne fa un'altra: costa trenta secondi e non ha conseguenze.

E quando dall'altra parte qualcosa non va? Succedono tre cose, tutte e tre normali. La cucina è chiusa: il programma non risponde, e chi lo chiama deve accorgersene e riprovare più tardi. Il cameriere ti dice di aspettare: hai chiesto troppe cose troppo in fretta e c'è un limite, quasi sempre scritto nero su bianco. Il menù è cambiato: hanno aggiunto un piatto, o tolto un ingrediente, e quello che chiedevi ieri oggi torna diverso. Nessuna delle tre è un guasto: sono condizioni di lavoro, e chi le conosce prima non si spaventa quando arrivano.

Vedere

Claudio Bandini ha l'Autoscuola Bandini a Ferrara: tre istruttori, Silvia in segreteria, circa 240 allievi l'anno. Sul sito c'è un modulo «richiedi informazioni» e dal modulo arrivano 46 richieste al mese: quanto costa la patente B, quando comincia il prossimo corso, si può pagare a rate.

Silvia le legge, risponde, e poi le ricopia una per una nel gestionale delle pratiche: nome, cognome, telefono, email, che patente interessa. Sette minuti l'una: 322 minuti al mese, cioè cinque ore e ventidue. E c'è un secondo travaso, in senso opposto: ogni lunedì mattina apre il gestionale, guarda le date d'esame della settimana e le ricopia a mano nel calendario condiviso e nei promemoria agli allievi. Un'altra ora.

Sono due programmi che si ignorano da sei anni, e nel mezzo c'è una persona che fa da cameriere fra loro. Claudio era convinto che il gestionale «non si collegasse a niente»: gliel'aveva detto qualcuno, tempo prima, e non ci aveva più pensato. Quando lo ha chiesto all'assistenza, la risposta è arrivata in due giorni: la porta di servizio esiste, è documentata, e la chiave la genera lui stesso perché l'amministratore dell'account è lui.

Qui la storia si ferma, ed è giusto così: Claudio non ha costruito niente. Ha fatto una cosa sola — si è letto la documentazione — e ne è uscito con due elenchi e una decisione. Sapere che cosa si può chiedere a un programma, e che cosa no, vale già le tre pagine che costa.

Facciamolo insieme

La documentazione del gestionale di Claudio non posso dartela: è la sua. Ti do quella di un altro gestionale — quello di un'agenzia immobiliare — tre pagine vere di documentazione tecnica, in inglese, come sono quasi tutte. Il mestiere non conta: le cose da cercare sono identiche. E leggere la documentazione di un software che non è il tuo è anche il modo migliore per imparare a leggerla, perché non ti distrai a pensare a quello che vorresti farci.

Tre pagine di documentazione vera
È il tipo di documento che ti troverai davanti: scritto per programmatori, in inglese, e pieno di cose che a te non servono. Non c'è niente da collegare e non serve nessun account: si legge e basta. Il tuo lavoro è tirarne fuori due elenchi in italiano.
  1. Scarica il documento e aprilo. Guardalo per trenta secondi senza leggerlo: serve solo a farti l'occhio a com'è fatto. Tabelle, riquadri grigi, sigle. Fa paura da lontano e molto meno da vicino.
  2. Non leggerlo tutto. Non si legge tutto una documentazione, mai: si va a cercare due cose sole — che cosa si può chiedere e che cosa non si può chiedere. Tutto il resto, per adesso, non ti riguarda.
  3. Allega il documento all'assistente e usa la richiesta qui sotto. Chiede quattro cose e nessuna di queste è «come si fa»: che programma è, i due elenchi, che cosa serve per entrare, quali regole impone a chi lo chiama.
  4. Leggi per primo l'elenco di quello che non si può fare. È la parte che nessuno guarda e l'unica che ti risparmia mesi: qui dentro, per esempio, c'è scritto che questo programma non cancella niente e non manda email per conto tuo.
  5. Controlla che ci siano dei numeri. «Ci sono dei limiti» non è un'informazione; «120 richieste al minuto» lo è.
  6. Cerca la riga sui doppioni. In questo documento c'è, e dice una cosa che vale per quasi tutte le API: la stessa richiesta mandata due volte crea due schede, perché nessuno controlla se è già arrivata. Tienila a mente: nella lezione sui flussi torna.
  7. Stampa la scheda che ti è uscita, o salvala. Non serve a costruire: serve il giorno in cui parlerai con l'assistenza, o con chi il collegamento te lo costruisce, e ti servirà sapere di che cosa state parlando.
La richiesta di Claudio, compilata sulle tre pagine
Ti allego tre pagine di documentazione tecnica di un gestionale. Io non programmo: ho un'autoscuola a Ferrara con tre istruttori e una persona in segreteria, e voglio soltanto capire che cosa si può chiedere a un programma attraverso quella che mi hanno chiamato «la sua API».

Il documento è in inglese: rispondimi in italiano.

CHE COSA VOGLIO DA TE
1) In tre righe: che programma è, e a che cosa serve questa porta di servizio.
2) Due elenchi, uno sotto l'altro:
   - QUELLO CHE SI PUÒ CHIEDERE: una riga per voce, scritta come la direi a voce, e accanto se quella cosa si limita a leggere oppure cambia qualcosa.
   - QUELLO CHE NON SI PUÒ CHIEDERE: una riga per voce, e accanto in che punto del documento c'è scritto.
3) Per entrare che cosa serve? Chi lo crea, che cosa succede se lo perdo, e dove non va messo mai.
4) Quali regole impone a chi lo chiama: quante richieste posso fare e in quanto tempo, che cosa succede se esagero, e che cosa succede se mando due volte per sbaglio la stessa identica richiesta.
5) Se un giorno cambiassero qualcosa in questo programma, che cosa dice il documento? Guarda che cosa c'è scritto sulle versioni.

REGOLE
- Usa soltanto il documento allegato. Se una cosa non c'è scritta, dimmi «non è documentato» invece di dedurla da come funzionano di solito le API.
- Non scrivermi codice e non darmi indirizzi da copiare: voglio capire che cosa è possibile, non collegare niente oggi.
- Spiegami ogni sigla la prima volta che la usi.
- Se una cosa nel documento è scritta in modo ambiguo, dimmi che è ambigua invece di scegliere tu.
Le due regole in fondo sono quelle che tengono la risposta dentro il livello giusto: niente codice, niente indirizzi da copiare. Servono a capire, non a collegare.
text
CHE PROGRAMMA È
Il gestionale di un'agenzia immobiliare: tiene il catalogo degli immobili,
le richieste di informazioni che arrivano dai clienti e l'elenco degli
agenti. La porta di servizio serve a far parlare questo gestionale con un
altro programma — per esempio il modulo di un sito — senza che una persona
ricopi niente a mano.

QUELLO CHE SI PUÒ CHIEDERE
- l'elenco degli immobili, un po' per volta (massimo 100 per richiesta)  · legge
- un singolo immobile, a partire dal codice che l'agenzia usa già         · legge
- creare una nuova richiesta di informazioni, agganciata a un immobile    · CAMBIA
- rileggere una richiesta già creata                                     · legge
- aggiornare una richiesta: lo stato, l'agente assegnato, le note interne · CAMBIA
- l'elenco degli agenti attivi                                           · legge

QUELLO CHE NON SI PUÒ CHIEDERE (sta a pagina 1, sezione «What this API
does not do»)
- contratti, atti, provvigioni e dati contabili: restano nel modulo
  Amministrazione e da qui non si vedono
- cancellare qualcosa: si può archiviare, non eliminare
- caricare tutto insieme: una richiesta per volta, niente elenchi in blocco
- mandare email o SMS al posto tuo: le notifiche si impostano dentro il
  prodotto, non da qui

PER ENTRARE
Serve una chiave. La crea un amministratore dell'account. Si vede UNA VOLTA
SOLA, nel momento in cui nasce, e dopo non è più recuperabile: se si perde
non si ritrova, si revoca e se ne fa un'altra. Non scade da sola. La revoca
ha effetto entro sessanta secondi. Conviene farne una per ogni collegamento,
con un nome che dica a che cosa serve. Non va mai messa dentro una pagina
del sito o dentro un'applicazione per telefono: lì sarebbe pubblica.

LE REGOLE CHE IMPONE A CHI LO CHIAMA
- 120 richieste al minuto per ogni chiave, contate sugli ultimi sessanta
  secondi
- oltre il limite risponde «troppe richieste» e dice quanti secondi
  aspettare; se si insiste il blocco si allunga
- tre minuti di fila fuori limite e la chiave viene sospesa, con un'email
  all'amministratore
- ATTENZIONE: la stessa richiesta mandata due volte crea DUE schede. Il
  documento lo dice esplicitamente: non c'è nessun controllo dei doppioni

SE UN GIORNO CAMBIANO QUALCOSA
Il documento dice che la versione 1 è stabile e che possono aggiungere campi
nuovi alle risposte senza avvisare: chi le riceve deve ignorare quelli che
non conosce, invece di fermarsi. Che cosa succederebbe se un giorno uscisse
una versione 2 non è documentato.
La scheda che è uscita, accorciata. Sta in una pagina e si stampa.

Perché ha funzionato

  • Chiedere due elenchi invece di una spiegazione ha reso leggibile un documento che nessuno in autoscuola avrebbe aperto. Una spiegazione di un'API produce un riassunto che si legge e si dimentica; due elenchi producono una decisione, perché il secondo elenco ti dice subito che cosa non chiedere mai.
  • «E accanto se quella cosa si limita a leggere oppure cambia qualcosa» è la colonna che vale di più. Sono due mestieri diversi: le prime sei si possono riprovare cento volte senza conseguenze, le altre due lasciano un segno nel gestionale di qualcuno. È anche la distinzione che spiega, tre righe più in basso, perché i doppioni sono un problema.
  • «Se una cosa non c'è scritta, dimmi non è documentato» ha prodotto l'ultima riga della scheda. Le API si assomigliano tutte, e un assistente che non trova un dettaglio tende a completarlo con il modo in cui funzionano di solito: ottieni una risposta plausibile e inventata, e non hai nessun modo di distinguerla dalle altre.
  • «Non darmi indirizzi da copiare e non scrivermi codice» ha tenuto la risposta al livello giusto. Senza quella riga arriva un blocco di testo tecnico che sembra utilissimo e che non sai né leggere né verificare: sarebbe stata una risposta a una domanda che Claudio non aveva fatto.
  • La riga sui doppioni non l'aveva chiesta nessuno esplicitamente, ed è la più preziosa delle tre pagine. Dice che se qualcosa manda due volte la stessa richiesta, nel gestionale nascono due schede identiche e nessuno se ne accorge. È il tipo di dettaglio che si scopre da un cliente arrabbiato, e qui è costato una riga di lettura.
  • Il tempo. Diciotto minuti in tutto, di cui otto per leggere la scheda uscita e controllare due punti nel documento. E il risultato non è un collegamento: è che Claudio adesso sa che cosa è possibile e che cosa no — e non lo saprebbe nemmeno dopo tre riunioni con un consulente.

Prova tu

Esercizio

Il programma senza il quale non lavori

Obiettivo: Sapere, per lo strumento che sta al centro della tua giornata, se ha una porta di servizio documentata e che cosa ci si può chiedere — su un foglio, senza collegare niente e senza generare nessuna chiave.

  1. Fai prima l'esercizio sulle tre pagine qui sopra, anche se non fai l'agente immobiliare: è il collaudo del metodo su un documento in cui la risposta giusta te la dice il riquadro «Devi ottenere questo».
  2. Poi scegli il tuo: il gestionale, il negozio online, il programma di fatturazione, l'agenda, il magazzino. Uno solo, quello senza cui non lavori.
  3. Cerca in rete il suo nome seguito da «API» o da «documentazione». Dieci minuti, non di più: se non salta fuori niente, la risposta è già un'informazione.
  4. Se non trovi niente, scrivi sul foglio «non documentata» e fermati qui. Non è un fallimento: è il vincolo più importante della tua attrezzatura, e ti servirà al prossimo rinnovo più di qualsiasi sconto.
  5. Se la trovi, salva o copia soltanto le pagine che riguardano la cosa che vorresti far succedere, e chiedi i due elenchi con il modello qui sotto.
  6. Chiudi il foglio con una riga sola, quella del travaso: qual è il punto preciso in cui, tutte le settimane, una persona legge una cosa su uno schermo e la riscrive su un altro — chi lo fa, quante volte, quanto ci mette.
  7. Non generare nessuna chiave e non provare niente. Questa lezione finisce qui apposta: quello che viene dopo è un mestiere, e ha bisogno di un corso suo.

💡 Se la documentazione è solo in inglese non è un ostacolo: allegala e chiedi la scheda in italiano. Se invece è riservata ai clienti, chiedila all'assistenza — di solito la mandano senza fare storie.

Se ti blocchi, apri qui

Su un campione di piccole imprese l'esercizio finisce quasi sempre in uno di questi tre modi.

  1. La porta c'era e nessuno lo sapeva. È il caso più frequente in assoluto, e quasi sempre l'informazione «non si collega a niente» arriva da una conversazione di anni prima con qualcuno che non aveva guardato. Costa una email all'assistenza scoprirlo.
  2. La porta c'è ma è più stretta di come te la immaginavi. Legge tutto e scrive poco, oppure fa esattamente le tre cose che a te non servono. Anche questo è un ottimo risultato: hai appena evitato di pagare qualcuno per scoprirlo al posto tuo.
  3. La porta non c'è. Allora quel programma continuerà a farti ricopiare i dati a mano per tutti gli anni in cui lo terrai. Non si risolve con l'AI e non si aggira: si scrive sul foglio e si tira fuori il giorno in cui si valuta il cambio.

E in tutti e tre i casi ti resta la riga del travaso in fondo al foglio, con dentro chi lo fa e quanto gli costa alla settimana. Quella riga, da sola, vale l'esercizio: è il punto esatto in cui, se un giorno vorrai, si comincia.

Devi ottenere questo

Se hai lavorato sulle tre pagine del gestionale immobiliare, la scheda si controlla voce per voce con il documento aperto accanto. Sulla documentazione del tuo software valgono la forma e i controlli, non i valori.

  • Sei cose che si possono chiedere: l'elenco degli immobili, un singolo immobile a partire dal suo codice, creare una richiesta di informazioni, rileggere una richiesta, aggiornarne stato o agente o note, l'elenco degli agenti attivi. Due di queste sei cambiano qualcosa (creare e aggiornare); le altre quattro si limitano a leggere.
  • Quattro cose che non si possono chiedere, scritte nero su bianco nella prima pagina: contratti, atti, provvigioni e contabilità (restano nel modulo Amministrazione); cancellare (si archivia, non si elimina); caricare in blocco; mandare email o SMS al posto tuo. Se questo elenco manca o è generico, l'assistente ha letto l'indice e non il documento.
  • La chiave: la crea un amministratore, si vede una volta sola e non è più recuperabile, non scade e si revoca con effetto entro sessanta secondi, meglio una per ogni collegamento, e mai dentro una pagina web o un'applicazione per telefono.
  • Numeri, non aggettivi, sui limiti: 120 richieste al minuto per chiave, contate sugli ultimi sessanta secondi; oltre il limite arriva un «aspetta tot secondi»; tre minuti consecutivi fuori limite e la chiave viene sospesa con avviso all'amministratore.
  • La riga sui doppioni: la stessa richiesta mandata due volte crea due schede, perché non c'è nessun controllo. È l'unica frase del documento che ti tornerà utile in tutte e tre le lezioni seguenti.
  • Almeno un «non è documentato». Su queste tre pagine il buco più evidente riguarda che cosa succederebbe se uscisse una versione 2: il documento dice solo che la versione 1 è stabile e che possono aggiungere campi nuovi senza avvisare.
Controlla
  • Hai i due elenchi (sei cose che si possono chiedere, quattro che no), la chiave che si vede una volta sola e non scade, e le 120 richieste al minutoÈ il risultato giusto. Adesso rileggi una riga sola, quella sui doppioni: la stessa richiesta mandata due volte crea due schede e nessuno se ne accorge. Tienila da parte — nella lezione su come nasce un'automazione è una delle tre domande che si pagano se non ci si pensa prima
  • L'elenco di quello che NON si può fare è vuoto, oppure dice cose vaghe tipo «ci sono delle limitazioni»Torna al passo 4 di «Facciamolo insieme»: quelle quattro voci stanno tutte nella prima pagina, sotto il titolo «What this API does not do», ed è la parte da leggere per prima. Se l'assistente le ha saltate, chiedigli quel solo punto citando il titolo della sezione
  • Ti risponde con indirizzi da copiare, pezzi di codice o esempi di chiamataHai ottenuto una cosa che non sai né leggere né verificare, e che a questo punto del percorso non ti serve. Torna al passo 3 di «Facciamolo insieme» e rimetti la regola del prompt: «non scrivermi codice e non darmi indirizzi da copiare: voglio capire che cosa è possibile». Quello che ti serve in mano è una pagina in italiano
  • Dice che la chiave scade dopo un certo periodo, oppure che si può ritrovare nel pannelloIl documento dice il contrario di entrambe le cose: la chiave si vede una volta sola e non è più recuperabile, e non scade — si revoca. Sono i due dettagli che decidono dove andrai a cercare la causa il giorno in cui qualcosa si ferma. Torna al passo 3 di «Facciamolo insieme» e chiedi il punto 3 del prompt da solo, dicendo di citare la sezione sull'autenticazione
  • Sui limiti c'è scritto «ci sono limiti di frequenza» senza nessun numeroIl numero c'è ed è 120 al minuto per chiave. Torna al passo 5 di «Facciamolo insieme»: un limite senza numero non è un'informazione, perché non ti permette di rispondere alla sola domanda che conta — il mio volume ci sta dentro oppure no?
  • Compaiono cose che nel documento non ci sono: un modo per cancellare, un invio di email automatico, un caricamento di tutto l'archivio in una voltaSta completando con il modo in cui funzionano di solito le API, e sono esattamente le quattro cose che questo documento esclude. Torna al passo 3 di «Facciamolo insieme» e rimetti la regola «se una cosa non c'è scritta, dimmi non è documentato»: una possibilità immaginata non dà errore oggi, te lo dà il giorno in cui ci costruisci sopra una promessa

Il modello pronto

Da riusare su qualsiasi documentazione tecnica
Ti allego la documentazione tecnica di {{NOME DEL SOFTWARE}}. Io non programmo: ho {{ATTIVITÀ}} a {{CITTÀ}}, siamo in {{QUANTI SIETE}}, e voglio soltanto capire che cosa si può chiedere a questo programma dall'esterno.

{{SE IL DOCUMENTO È IN INGLESE: il documento è in inglese, rispondimi in italiano.}}

CHE COSA VOGLIO DA TE
1) In tre righe: che programma è, e a che cosa serve questa porta di servizio.
2) Due elenchi, uno sotto l'altro:
   - QUELLO CHE SI PUÒ CHIEDERE: una riga per voce, scritta come la direi a voce, e accanto se quella cosa si limita a leggere oppure cambia qualcosa.
   - QUELLO CHE NON SI PUÒ CHIEDERE: una riga per voce, e accanto in che punto del documento c'è scritto.
3) Per entrare che cosa serve? Chi lo crea, che cosa succede se lo perdo, e dove non va messo mai.
4) Quali regole impone a chi lo chiama: quante richieste posso fare e in quanto tempo, che cosa succede se esagero, e che cosa succede se mando due volte per sbaglio la stessa identica richiesta.
5) Che cosa dice il documento sulle versioni e sui cambiamenti futuri.

IN FONDO
Scrivimi le due cose che, secondo questo documento, questo programma NON potrà mai fare per me. Voglio poterle rileggere fra sei mesi.

REGOLE
- Usa soltanto il documento allegato. Se una cosa non c'è scritta, dimmi «non è documentato» invece di dedurla da come funzionano di solito le API.
- Non scrivermi codice e non darmi indirizzi da copiare: voglio capire che cosa è possibile, non collegare niente oggi.
- Spiegami ogni sigla la prima volta che la usi.
- Se una cosa nel documento è scritta in modo ambiguo, dimmi che è ambigua invece di scegliere tu.
Le ultime due regole valgono più di tutto il resto: «se non c'è scritto, dimmi che non è documentato» e «non darmi indirizzi da copiare». La prima ti evita le risposte verosimili e false, la seconda ti tiene sulla domanda che ti serve adesso — che cosa è possibile, non come si fa.

Errore comune

Livello successivo

Trasformare quei due elenchi in un collegamento che funziona davvero — la chiave, la chiamata, i dati che vanno avanti e che cosa fare quando torna un errore — è il mestiere del corso «Automazioni con l'AI».

In sintesi
  • Un'API è il modo concordato in cui due programmi si parlano: tu ordini al cameriere, non entri in cucina.
  • La parola che conta è «concordato»: chi risponde decide che cosa gli si può chiedere e come. Se sul menù non c'è, non c'è.
  • Le richieste sono di due tipi: quelle che leggono e basta, ripetibili senza danni, e quelle che cambiano qualcosa — e ripetute per sbaglio creano doppioni.
  • La chiave è la tessera che ti fa entrare, vale come una password e non si incolla da nessuna parte.
  • Prima di collegare qualsiasi cosa si legge la documentazione, e se ne tirano fuori due elenchi soli: che cosa si può chiedere, e che cosa no.