Uma API (Interface de Programação de Aplicações) é um conjunto de regras que permite que um software comunique com outro. Pense nisso como um menu: a sua aplicação pode «encomendar» dados ou ações, e a API diz à cozinha (um serviço) exatamente o que cozinhar e como será servido.
As APIs padronizam a forma como as solicitações são feitas e as respostas são devolvidas, para que diferentes sistemas possam funcionar juntos de forma confiável, mesmo que tenham sido criados por equipas, empresas ou em linguagens de programação diferentes.
Em termos práticos, uma API define pontos finais (endereços que pode chamar), os métodos que pode usar (como GET para obter dados ou POST para enviar dados), o formato do que envia (geralmente JSON) e o que deve esperar em troca (dados mais um código de estado como 200 para «OK» ou 404 para «Não encontrado»). Essa previsibilidade é o ponto principal.
Se quiser ser exato, pode usar uma API sem um SDK, mas usar um SDK pode economizar tempo e reduzir erros.
Sim, vários estilos, cada um com vantagens e desvantagens:
Normalmente, sim. Em vez de construir tudo sozinho, as APIs permitem-lhe integrar pagamentos, mapas, e-mail, pesquisa, análises, IA e muito mais. Isso poupa tempo de engenharia, melhora a fiabilidade (o fornecedor mantém o seu serviço atualizado) e permite que a sua equipa se concentre no que torna o seu produto único.
As desvantagens: você herda limites de taxa, preços e dependências de tempo de atividade do seu provedor. Se o seu produto não puder funcionar sem essa API, planeje uma redundância.
Frequentemente. Muitas APIs exigem autenticação para que o fornecedor saiba quem você é e possa aplicar permissões e limites de taxa. As abordagens comuns incluem:
Mantenha as chaves e os tokens fora dos repositórios públicos e do código do lado do cliente sempre que possível.
Na verdade, não. Um navegador da Web, curl ou qualquer cliente HTTP funciona para muitas APIs. Os programadores costumam usar ferramentas como Postman ou bibliotecas de linguagem integradas para fazer solicitações, inspecionar respostas e salvar exemplos. Para aplicações de produção, você usará a biblioteca HTTP da sua linguagem ou o SDK do fornecedor.
Praticamente tudo que é moderno: aplicações móveis que extraem perfis, «Iniciar sessão com Google/Apple», lojas online que processam pagamentos, dispositivos domésticos inteligentes que sincronizam, painéis que extraem análises, até mesmo o seu widget meteorológico. Se o software está a trocar dados, é provável que haja uma API por trás disso.