Os endpoints de APIs geralmente são encontrados na documentação de uma API, que é onde os desenvolvedores colocam informações da API, como que tipo de solicitações uma API aceitará e como as solicitações devem ser formatadas. O ideal é que essa documentação também inclua uma lista de todos os endpoints de APIs disponíveis e uma breve descrição de suas funcionalidades.
Em um contexto de API REST (um estilo arquitetônico de software frequentemente usado para aplicações da web), o processo tem a seguinte aparência:
O processo começa quando um cliente de API envia uma solicitação de recurso (chamada de API) para o endpoint da API correspondente. Os endpoints são acessados usando métodos de solicitação HTTP, como POST, GET, PUT, PATCH e DELETE. Esses métodos indicam a ação que o cliente deseja realizar no recurso especificado.
Por exemplo, se um cliente deseja recuperar uma lista de totais de medalhas olímpicas para um determinado ano do banco de dados hipotético Olympicfacts.com, uma solicitação GET é enviada para o seguinte URL de endpoint:
https://api.olympicfacts.com/v1/{year}
Essa solicitação retornaria uma lista do total de medalhas olímpicas por país. (v1 em nosso endpoint hipotético indica a versão da API, uma prática comum no controle de versões de APIs.) Se o cliente quisesse um total para um país específico em um determinado ano, um identificador seria adicionado ao URL base:
https://api.olympicfacts.com/v1/year/{id}
Neste exemplo, o identificador {id} é usado para indicar de qual país o cliente deseja receber informações.
Além disso, uma solicitação pode incluir:
- Cabeçalhos: os cabeçalhos podem fornecer informações adicionais sobre a solicitação, como um cabeçalho Aceitar, que especifica os tipos de mídias aceitos
- Parâmetros: os parâmetros de consulta podem ser adicionados ao URL de base ou ao corpo da solicitação para filtrar ainda mais os critérios de pesquisa ou adicionar outras especificações.
- Corpo da solicitação: um corpo da solicitação inclui os dados necessários para criar ou modificar um recurso. Por exemplo, se a solicitação for para criar um novo blog (solicitação POST), o conteúdo do novo blog será incluído no corpo da solicitação.
Depois que o servidor autentica a solicitação e valida a entrada, ele recupera os dados solicitados e retorna a resposta ao cliente. Muitas organizações usam API Gateways para executar essas funções e gerenciar o fluxo de tráfego de APIs.