Gli endpoint API si trovano solitamente nella documentazione di un'API, che è il luogo in cui gli sviluppatori inseriscono le informazioni API, ad esempio il tipo di richieste che un'API accetterà e il modo in cui le richieste devono essere formattate. Idealmente, questa documentazione include anche un elenco di tutti gli endpoint API disponibili e una breve descrizione delle loro funzionalità.
Nel contesto di un' API REST (uno stile di architettura software frequentemente utilizzato per le applicazioni web), il processo si presenta in questo modo:
Il processo inizia quando un client API invia una richiesta di risorse (chiamata API) all'endpoint API corrispondente. L'accesso agli endpoint avviene tramite metodi di richiesta HTTP, ad esempio POST, GET, PUT, PATCH e DELETE. Questi metodi indicano l'azione che il client sta cercando di eseguire sulla risorsa specificata.
Ad esempio, se un client sta cercando di recuperare un elenco delle medaglie olimpiche totali per un determinato anno dall'ipotetico database OlympicFacts.com, viene inviata una richiesta GET all'URL dell'endpoint seguente:
https://api.olympicfacts.com/v1/{year}
Questa richiesta restituirà un elenco di medaglie olimpiche per paese. (v1 nel nostro ipotetico endpoint indica la versione dell'API, una pratica comune nel versioning delle API). Se il client desiderasse un totale per un paese specifico in un determinato anno, verrebbe aggiunto un identificatore all'URL di base:
https://api.olympicfacts.com/v1/year/{id}
In questo esempio, l'identificatore {id} viene utilizzato per indicare il paese su cui il cliente sta cercando di ricevere informazioni.
Inoltre, una richiesta potrebbe includere:
- Intestazioni: le intestazioni possono fornire informazioni aggiuntive sulla richiesta, come l'intestazione Accept che specifica i tipi di media accettati
- Parametri: i parametri della query possono essere aggiunti all'URL di base o nel corpo della richiesta per filtrare ulteriormente i criteri di ricerca o aggiungere altre specifiche.
- Corpo della richiesta: un corpo della richiesta include i dati necessari per creare o modificare una risorsa. Ad esempio, se la richiesta è quella di creare un nuovo blog (richiesta POST), il contenuto del nuovo blog verrà incluso nel corpo della richiesta.
Una volta che il server ha autenticato la richiesta e convalidato l'input, recupera i dati richiesti e restituisce la risposta al cliente. Molte organizzazioni utilizzano gli API gateway per eseguire queste funzioni e gestire il flusso del traffico API.