O que é API?

API, é a sigla para Application Programming Interface, que em português significa Interface de Programação de Aplicações. APIs podem ser entendidas como pontes digitais, pois, elas são recursos que servem para conectar (ou integrar) diferentes sistemas e aplicações, independentemente, das tecnologias utilizadas em seu desenvolvimento.

As APIs permitem que diferentes sistemas e aplicações “conversem” entre si de forma padronizada, ao estabelecer padrões de comunicação chamados de contratos. Nesses contratos, estão definidos quais dados podem ser transacionados, sua obrigatoriedade ou não, e suas respectivas estruturas, tanto de requisições quanto de respostas da API.

As APIs são parte da rotina de trabalho de desenvolvedores e um importante recurso de integração de sistemas. Imagine a seguinte situação: um desenvolvedor recebe a tarefa de criar um sistema de e-commerce. Entre suas responsabilidades, uma delas é implementar o sistema de processamento de pagamentos, a qual é uma funcionalidade crítica para o sistema.

Nesse cenário, sem o auxílio das APIs, certamente, desenvolver essa funcionalidade do zero demandaria muito tempo e um enorme esforço, pois seria necessário:

  • Criar todo o sistema de segurança
  • Integrar com bancos e operadoras
  • Lidar com regulamentações financeiras
  • Garantir conformidade com PCI DSS

Com as APIs? O desenvolvedor pode simplesmente se conectar ao sistema de pagamentos de uma empresa como a Stripe, PayPal ou PagSeguro e pronto! Com apenas algumas linhas de código, é possível implementar um sistema de pagamentos robusto e seguro, sendo necessário apenas encaminhar os dados solicitados por esse serviço e processar a resposta recebida. Tudo isso sem precisar construir a funcionalidade do zero.

E essa é uma das grandes vatangens das APIs: permitir a integração de diferentes serviços, reaproveitando soluções já prontas e otimizadas. Os ganhos estão na aceleração do processo de desenvolvimento, na redução de custos e na maior qualidade das entregas.

1 – APIs e a arquitetura cliente-servidor

As APIs funcionam baseadas na arquitetura cliente-servidor, onde:

  1. O cliente realiza solicitações (geralmente requisições HTTP) para um servidor;
  2. O servidor recebe as solicitações e é responsável por processar cada uma delas e retornar uma resposta para o cliente.

Para compreender melhor essa relação entre a arquitetura cliente-servidor e as APIs imagine que um usuário acessa o aplicativo ou site de um e-commerce e faz uma compra. Para que esse pedido seja gerado com sucesso, o pagamento precisa ser processado e aprovado. Na arquitetura cliente-servidor, um processo semelhante a esse acontecerá:

  1. Cliente faz a requisição: o sistema de e-commerce realiza uma requisição de pagamento para a API do fornecedor.
  2. Servidor recebe e processa: o servidor do fornecedor do sistema de pagamento, irá validar os dados recebidos, consultar bases de dados, executar regras de negócio, entre outros.
  3. Servidor responde: por fim, o servidor irá retornar uma resposta de sucesso ou falha para essa requisição.

No final desse processo o usuário receberá um retorno, positivo ou negativo, conforme o resultado da requisição realizada entre cliente (no caso, o sistema de e-commerce) e servidor (o fornecedor do sistema de pagamentos).

2 – Tipos de APIs 

Podemos classificar as APIs pelo seu tipo de acesso e tipo de arqtuitetura, da seguinte forma:

2.1 – Por tipo de acesso

  • API Pública: são APIs abertas ao público em geral, podendo ser acessadas e usadas por qualquer pessoa ou organização.  São exemplos as APIs do Twitter, GitHub ou Google Maps. Elas democratizam o acesso a dados e funcionalidades.
  • API Privada: são APIs restritas ao uso interno de uma organização ou instituição.  Podemos imaginar como exemplo, uma API que conecta o sistema de vendas com o sistema de logística da empresa.
  • API de Parceiros: são APIs usadas entre organizações parceiras, conforme contratos comerciais e interesses mútuos.

2.2 – Por tipo de arquitetura

  • API SOAP (Simple Object Access Protocol – Protocolo de Acesso a Objetos Simples):  é um protocolo de construção de APIs mais tradicional, onde cliente e servidor trocam mensagens usando XML. É um protocolo altamente estruturado sendo, geralmente, utilizado em APIs legadas e privadas. As APIs SOAP transmitem mensagens maiores em comparação com as outras arquiteturas, o que torna a comunicação mais lenta e dificulta a escalabilidade.
  • API RPC (Remote Procedure Call – Chamada de Procedimento Remoto):  são APIs baseadas na chamada de funções em servidores remotos. Algumas informações são transmitidas para o servidor e a função é executada, remotamente, retornando ao cliente o resultado, como se a função tivesse sido executada localmente. O RPC se mostra muito útil quando é necessário executar uma função complexa sem comprometer os recursos locais, usando os recursos de um servidor remoto. 
  • API REST (Representational State Transfer – Transferência Representacional de Estado): é a arquitetura de design de APIs mais utilizada na atualidade. Caracterizada pela simplicidade e flexibilidade, utiliza o protocolo HTTP para comunicação e transfere os dados, geralmente, em formato JSON. As requisições das APIs REST são baseadas nos verbos HTTP, os quais formam o chamado CRUD (Create (GET), Read (POST), Update (PUT), Delete (DELETE)). 
  • GraphQL: trata-se de uma linguagem de consulta desenvolvida especificamente para APIs. As APIs desenvolvidas em GraphQL tem como principal diferencial fornecer exatamente os dados solicitados pelo cliente e nada além disso. Essa característica evita o tráfego desnecessário de dados e aumenta a eficiência e performance dos sistemas. APIs baseadas em GraphQL podem ser alternativas para as APIs REST, ou podem ser usadas em conjunto com esta arquitetura, dependendo das necessidades de cada projeto.

3 – Documentação de APIs 

A documentação de uma API é crucial para o seu sucesso e nunca deve ser negligenciada. Ela fornece aos desenvolvedores as informações necessárias para interagir corretamente com a API, compreendendo suas funcionalidades, requisitos de autenticação, limitações e padrões de erro.

Para ser eficaz, a documentação deve ser:

  • Clara e Concisa: procure utilizar textos diretos e detalhados o suficiente para que qualquer desenvolvedor possa entender.
  • Atualizada: sempre que houverem atualizações na API, atualize a documentação.
  • Estruturada: siga uma lógica clara, incluindo endpoints, métodos, exemplos de requisições e respostas, e parâmetros.
  • Interativa: utilize diagramas, exemplos de código e sandboxes para facilitar a compreensão.
  • Acessível: facilite o acesso à documentação, mantendo-a disponível online e incorporando recursos de pesquisa e navegação.

Para facilitar seu trabalho não deixe de utilizar ferramentas específicas para documentação de APIs, como o Swagger e o Postman. Essas ferreamentas são essenciais no processo de documentação e permitem realizar entregas de maior qualidade:

  • Swagger: baseado no OpenAPI, permite criar, descrever e visualizar APIs RESTful. Seu editor interativo e o Swagger UI facilitam o teste de endpoints diretamente no navegador.
  • Postman: mais do que uma ferramenta de teste, oferece funcionalidades robustas de documentação. Permite criar documentações interativas, compartilhar coleções de requisições e integrar testes automatizados para manter a documentação alinhada ao comportamento da API.

Por fim, lembre-se que além das ferramentas, a equipe deve adotar uma abordagem contínua e colaborativa na criação e manutenção dos documentos. Uma cultura de documentação contínua permite manter o conteúdo relevante e útil ao longo do tempo..


Gostou do conteúdo? Compartilhe com seus amigos e aproveite para conhecer mais termos da área de TI aqui!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *