Come funzionano le richieste, le risposte e i payload delle API?
Una richiesta API è un messaggio inviato da un'applicazione a un'altra per recuperare informazioni o eseguire un'operazione supportata.
L'applicazione ricevente elabora la richiesta e generalmente restituisce una risposta HTTP.
Comprendere le richieste e le risposte aiuta le aziende a configurare, testare e risolvere problemi delle integrazioni esterne.
Cosa contiene una richiesta API?
A seconda del fornitore, una richiesta può includere:
1. Un URL di endpoint.
2. Un metodo HTTP.
3. Informazioni di autenticazione.
4. Intestazioni della richiesta.
5. Parametri di query.
6. Un corpo della richiesta.
7. Identificatori per i record o le risorse coinvolte.
Non tutte le richieste richiedono tutti questi componenti.
Metodi HTTP comuni
GET
Tipicamente utilizzato per recuperare informazioni.
POST
Comunemente utilizzato per inviare informazioni o avviare un'operazione.
PUT
Comunemente utilizzato per sostituire o aggiornare una risorsa.
PATCH
Comunemente utilizzato per applicare modifiche parziali.
DELETE
Comunemente utilizzato per rimuovere una risorsa.
Il comportamento effettivo è definito dall'API esterna.
Cos'è un payload API?
Un payload è i dati trasportati in una richiesta o risposta.
Molte API utilizzano JSON, anche se sono possibili altri formati.
Un payload JSON può contenere campi come identificatori di clienti, stati di registrazione, timestamp o parametri operativi.
Cos'è una risposta API?
Una risposta contiene tipicamente un codice di stato HTTP e può includere un corpo di risposta.
Il corpo della risposta può contenere informazioni richieste, conferma di un'operazione o dettagli sugli errori.
Codici di risposta HTTP comuni
200 — La richiesta è stata completata con successo.
201 — È stata creata una risorsa.
202 — La richiesta è stata accettata per l'elaborazione, ma l'elaborazione potrebbe non essere completa.
204 — La richiesta è riuscita senza un corpo di risposta.
400 — La richiesta non è valida.
401 — L'autenticazione è mancante o non valida.
403 — L'accesso è vietato.
404 — La risorsa richiesta non è stata trovata.
409 — Si è verificato un conflitto.
429 — La richiesta è stata limitata per frequenza.
500 — Il servizio esterno ha riscontrato un errore interno.
503 — Il servizio è temporaneamente non disponibile.
Questi sono significati HTTP comuni. Le API individuali possono fornire dettagli aggiuntivi.
HTTP 200 significa sempre che l'operazione commerciale è stata completata correttamente?
Non necessariamente.
Una risposta HTTP di successo conferma che il server ha gestito la richiesta secondo il suo contratto API.
I dati restituiti e il risultato commerciale successivo devono comunque essere convalidati.
Cosa succede se un'API restituisce informazioni incomplete?
Esaminare la struttura della risposta del fornitore, le autorizzazioni, i campi richiesti, le regole di paginazione e la disponibilità dei dati.
Alcune API restituiscono solo campi selezionati o un numero limitato di record per richiesta.
Cos'è la paginazione?
La paginazione è un meccanismo che divide grandi collezioni di record in gruppi più piccoli.
Un'integrazione potrebbe dover richiedere più pagine per recuperare un'intera collezione.
Cos'è il mapping dei dati?
Il mapping dei dati definisce come i campi di un sistema corrispondono ai campi di un altro.
Ad esempio, due sistemi possono rappresentare le stesse informazioni aziendali utilizzando nomi di campo o strutture diverse.
Come dovrei convalidare un'operazione API?
Passo 1: Confermare l'endpoint e il metodo HTTP.
Passo 2: Verificare l'autenticazione.
Passo 3: Controllare i parametri richiesti.
Passo 4: Inviare una richiesta controllata.
Passo 5: Ispezionare la risposta HTTP.
Passo 6: Convalidare le informazioni restituite.
Passo 7: Confermare il risultato commerciale atteso.
Passo 8: Rivedere la gestione degli errori prima dell'uso in produzione.
Approccio raccomandato
Trattare la comunicazione di successo e l'elaborazione commerciale di successo come requisiti di convalida separati.
Entrambi dovrebbero essere confermati prima di fare affidamento su un'integrazione API per operazioni importanti.