← Todos os guias

Guia · Programação

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.

Escrito pela equipe Compuzilla

Publicado em . Atualizado em .

Nesta leitura
Compuzilla sorrindo ao lado de um diagrama: Como uma API conecta sistemas.

Como uma API conecta sistemas

  1. Pedido conforme contrato
  2. Tratamento do serviço
  3. Resposta interpretada
HTTP e JSON transportam e estruturam informações; a API define o significado das operações. Ilustração: equipe Compuzilla.

Imagine um aplicativo que precisa mostrar o nome de um produto. O catálogo oferece uma operação de consulta por identificador. O cliente não acessa diretamente todas as estruturas internas do catálogo; usa a interface que o serviço disponibiliza.

A mesma ideia existe em bibliotecas locais. Chamar uma função documentada também é usar uma API. Aqui, o exemplo remoto permite observar pedidos e respostas.

Formular um pedido válido

O contrato precisa indicar como fornecer o identificador, qual operação chamar e quais condições de acesso são exigidas. Numa interface HTTP, um GET pode consultar um recurso como /produtos/42.

Esse caminho é apenas ilustrativo. Não é uma regra universal para APIs. Cabeçalhos, parâmetros e autenticação dependem do serviço. O cliente precisa distinguir consultar de pedir uma mudança, respeitando a semântica da operação.

Interpretar a resposta

O servidor pode responder com um estado de sucesso e dados como {“id”:42,“nome”:“Caderno”}. O JSON organiza valores; o contrato explica o que id e nome significam e quais campos podem faltar.

Uma resposta de erro também faz parte da interface. Recurso ausente, entrada inválida e falta de permissão são situações diferentes. Não basta tratar toda resposta recebida como dados de sucesso.

Falhas e evolução

O cliente pode ficar sem resposta por um problema de comunicação. Isso é diferente de receber uma resposta válida de erro. Ao repetir operações que alteram dados, também é necessário conhecer as regras para não duplicar efeitos.

Mudanças de interface podem exigir adaptação. Um servidor pode reorganizar sua implementação mantendo o contrato; mudar nomes ou significados de campos pode afetar os consumidores mesmo que o formato JSON continue válido.

Próxima leitura

Leia HTTP para aprofundar métodos, estados e a separação entre pedido e resultado.

Continue aprendendo

  • Verbete 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.
  • 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.
  • Verbete Autenticação — Autenticação é o processo de verificar uma alegação de identidade por meio de evidências, como o controle de um autenticador associado a uma conta. Ela é diferente de autorização, que determina quais ações aquele participante pode realizar.

Fontes para aprofundar