← Todos os termos

Programação

API

API é uma interface que define como um componente de software pode ser usado por outro. Descreve operações, entradas e resultados. Pode existir dentro de um programa, no sistema operacional ou entre serviços pela rede; não é sinônimo de serviço web.

Escrito pela equipe Compuzilla

Publicado em . Atualizado em .

Siglas: API

Também chamado de: Application Programming Interface, interface de programação

Neste verbete
Compuzilla sorrindo ao lado de um diagrama: API.

API

  1. Operação solicitada
  2. Contrato da interface
  3. Resultado interpretado
O contrato pode ser local ou remoto e precisa definir significado além do formato. Ilustração: equipe Compuzilla.

Um contrato de uso

A documentação de math.sqrt em Python indica uma operação e como chamá-la. Isso é uma interface de programação mesmo sem conexão de rede. Interfaces do sistema operacional permitem outras operações, como trabalhar com diretórios.

Uma API remota pode expor pedidos HTTP e respostas de dados. O protocolo de transporte é parte da comunicação; o contrato também precisa definir o significado dos campos e dos resultados.

Usar sem depender de todos os detalhes

A interface permite que um programa use uma função sem conhecer toda sua implementação. Isso não elimina a necessidade de conhecer limites, erros e compatibilidade. Se o contrato muda, o código chamador pode precisar de atualização.

Uma resposta em JSON não constitui, sozinha, uma API completa. Ainda faltam regras sobre quais pedidos são válidos e o que cada resposta significa. Autenticação e autorização também podem fazer parte do contrato.

Próxima leitura

Acompanhe como uma API conecta sistemas numa consulta de catálogo.

Na prática

  • A chamada math.sqrt(9) utiliza uma API local; uma consulta de catálogo por HTTP utiliza uma interface remota.

Continue aprendendo

  • Verbete Função — Função é uma unidade de código que pode ser chamada para realizar uma operação. Pode receber argumentos, produzir um resultado e alterar estado, conforme sua definição. Ajuda a nomear tarefas e reutilizar comportamento dentro de um programa.
  • Verbete Biblioteca — Biblioteca é um conjunto reutilizável de código oferecido a outros programas por uma interface. Pode reunir funções, tipos e outros recursos. Ajuda a executar operações já implementadas, mas exige compatibilidade e uso conforme o contrato documentado.
  • Verbete HTTP — HTTP é um protocolo de aplicação que define pedidos e respostas para acessar recursos. Métodos, campos e códigos de estado descrevem a interação entre cliente e servidor. É usado na web e também em interfaces de comunicação entre programas.
  • Verbete JSON — JSON é um formato textual para representar e trocar dados estruturados. Usa valores como números, textos, booleanos, listas e objetos. Sua sintaxe é independente de uma linguagem específica, apesar da origem associada a JavaScript.
  • Guia Como uma API conecta sistemas? — Uma API define operações e significado de entradas e respostas para outro programa. Num serviço remoto, o cliente precisa seguir o contrato, tratar estados e interpretar dados. Usar HTTP e JSON ajuda a comunicação, mas não define sozinho esse contrato.

Fontes para aprofundar