9.2 Tipos de APIs
Esta página apresenta os principais tipos de APIs, destacando suas características e aplicações. Você verá como diferentes APIs atendem a necessidades específicas no desenvolvimento de software.
🖐️Introdução
Agora que você já compreende o que é uma API e como ela funciona, é importante conhecer os diferentes tipos de APIs existentes. Cada tipo tem características específicas, sendo usadas em situações distintas, dependendo das necessidades do sistema e do nível de acesso desejado.
Nesta seção, vamos explorar os principais tipos de APIs e entender suas aplicações práticas.
☝️🤓 Sobre os Tipos de API

Uma API Web é uma interface que permite a comunicação entre um servidor web e um cliente (como um navegador ou aplicação). Seu objetivo principal é possibilitar a troca de dados entre sistemas diferentes por meio da internet, utilizando o protocolo HTTP.
Todos os serviços web são APIs, mas nem todas as APIs são, necessariamente, serviços web. O termo "API Web" se popularizou com o avanço da internet, embora as APIs existam desde antes da World Wide Web.
Atualmente, um dos tipos mais comuns e utilizados de API Web segue um estilo arquitetural específico — que será abordado a seguir.
⭐ Características:
Utilizadas em aplicações web, mobile e sistemas distribuídos.
Podem ser públicas (ex: API do Google Maps) ou privadas (ex: APIs internas de uma empresa).
Suportam diversos formatos de dados, como JSON e XML.
Exemplo: Uma aplicação de previsão do tempo acessando dados de uma API pública via HTTPS.

Embora todos os serviços web sejam APIs, nem toda API é um serviço web. A API REST (Representational State Transfer) é um exemplo comum de API Web que segue um estilo arquitetural baseado em recursos.
Nessa arquitetura, os recursos são representados por URLs e as operações sobre eles são feitas por meio dos métodos HTTP padrão (GET, POST, PUT, DELETE). As APIs REST são amplamente usadas em aplicações modernas por serem simples, leves e escaláveis.
Além disso, elas normalmente utilizam o formato JSON para troca de dados e são stateless, ou seja, cada requisição é independente e contém todas as informações necessárias para ser processada, sem depender de estados anteriores no servidor.
Por essas razões, as APIs REST são uma escolha popular para criar sistemas flexíveis e eficientes na web atual.
⭐ Peculiaridades:
Leve e simples de implementar.
Normalmente usa JSON como formato de dados.
Stateless: cada requisição carrega todas as informações necessárias (sem manter estado no servidor).
URLs bem definidas e padronizadas.
Exemplo: GET /users/45 retorna os dados do usuário com ID 45.

SOAP é um protocolo de comunicação para APIs que usa XML para formatar suas mensagens. É mais rígido e estruturado que outras APIs web, com regras definidas para segurança, transações e confiabilidade. Por isso, é bastante usado em sistemas empresariais que exigem maior segurança e controle, como bancos e serviços governamentais. ⭐ Peculiaridades:
Utiliza XML obrigatoriamente.
Segue um contrato (WSDL – Web Services Description Language).
Suporta transações, segurança avançada (WS-Security), e mensagens complexas.
Mais usado em ambientes corporativos que exigem padronização e controle estrito.
Exemplo: Integrações bancárias ou sistemas legados governamentais.

Essas APIs permitem que aplicativos interajam diretamente com o sistema operacional. Por exemplo, APIs do Windows ou do Linux fornecem funções para acessar arquivos, gerenciar processos e utilizar recursos do sistema, facilitando o desenvolvimento de softwares que dependem do ambiente do sistema operacional.
⭐ Peculiaridades:
Acesso a funções do sistema como gerenciamento de arquivos, memória, processos, entrada/saída, etc.
Geralmente são específicas para cada sistema (ex: API Win32 para Windows).
São fundamentais para softwares de baixo nível ou que interagem diretamente com o SO.
Exemplo: Um programa usando a API do Windows para abrir e manipular arquivos do sistema.

São conjuntos de funções e rotinas oferecidas por bibliotecas ou frameworks que os desenvolvedores podem usar para adicionar funcionalidades específicas aos seus aplicativos. Por exemplo, uma biblioteca de manipulação de imagens pode fornecer APIs para carregar, editar e salvar fotos.
⭐ Peculiaridades:
Envolvem bibliotecas gráficas, matemáticas, de rede, etc.
Simplificam o uso de funcionalidades complexas com chamadas simples.
Não dependem de rede: estão integradas ao projeto.
Exemplo: API do NumPy em Python para cálculos matemáticos, ou API do React para criação de interfaces.

Essas APIs permitem que o software se comunique diretamente com dispositivos de hardware, como impressoras, câmeras, sensores ou drivers de dispositivos. Elas facilitam o controle e a utilização do hardware pelo software, garantindo que as operações funcionem corretamente.
⭐ Peculiaridades:
Usam drivers e interfaces específicas fornecidas pelo fabricante.
Permitem leitura e controle direto de dispositivos físicos.
Muito utilizadas em aplicações embarcadas, jogos, sistemas de automação, etc.
Exemplo: Uma aplicação de webcam que acessa o vídeo em tempo real via API do driver da câmera.
🤔O que é HTTP/ HTPPS?
HTTP significa Hypertext Transfer Protocol (Protocolo de Transferência de Hipertexto).
É o protocolo usado para a comunicação entre navegadores e servidores web.
Quando você acessa um site (como http://exemplo.com), o navegador envia requisições HTTP ao servidor, que responde com páginas, imagens, vídeos, etc.
HTTPS é a versão segura do HTTP. O "S" significa Secure. Ele utiliza SSL/TLS (Secure Sockets Layer / Transport Layer Security) para criptografar os dados trocados entre o navegador e o servidor.
Isso protege as informações contra espionagem, alterações e roubo de dados — essencial para sites com login, senhas, cartões de crédito, etc.
🤓Exemplo de API REST
👉 Endpoint: https://api.exemplo.com/usuarios
GET https://api.exemplo.com/usuarios — Retorna lista de usuários.
POST https://api.exemplo.com/usuarios — Cria um novo usuário.
GET https://api.exemplo.com/usuarios/{id} — Retorna dados de um usuário específico.
PUT https://api.exemplo.com/usuarios/{id} — Atualiza dados de um usuário específico.
DELETE https://api.exemplo.com/usuarios/{id} — Deleta um usuário específico.
Atualizado


