APIs para leigos: Tudo o que precisa de saber
Robert Munceanu em 03 de maio de 2021

Tal como os humanos comunicam uns com os outros através de palavras, cartas ou gestos, os outros seres vivos também têm a sua forma de comunicação. Mas alguma vez se perguntou como é que uma aplicação faz isso?
As aplicações comunicam entre si através de um software intermediário, por exemplo, uma Interface de Programação de Aplicações (API). Sempre que ouve música através do Spotify ou assiste a algo no Netflix, está a utilizar indiretamente uma API.
Este guia APIs for Dummies irá apresentar o grande impacto que as APIs têm nas nossas vidas, apesar de a maioria não saber absolutamente nada sobre elas. Vamos mergulhar!
O que é uma API
Uma API (Interface de Programação de Aplicações) é um conjunto de funções que permite às aplicações aceder a dados e interagir com componentes de software externos, sistemas operativos ou microsserviços. Para simplificar, uma API entrega um pedido do utilizador a um sistema e envia a resposta do sistema de volta a um utilizador.
As API são muito utilizadas porque podem facilitar muito as coisas e acelerar o processo de desenvolvimento de outros sistemas e aplicações. Por exemplo, se está a construir o seu próprio software e pretende integrar o reconhecimento facial ou o processamento de pagamentos, é melhor utilizar uma API. Só tem de ligar o seu software a outro. Estas são fornecidas com a documentação da API, um manual para os programadores ajudarem a implementar as funcionalidades pretendidas.
Ao utilizar uma API, não precisa de lidar com qualquer código-fonte nem de compreender o seu funcionamento. Parece-me bem, certo? Fixe, vamos ver como é que as APIs fazem isso.
Como funciona uma API
Pense numa API como o "intermediário" entre a sua aplicação e o servidor. Você diz à sua aplicação para fazer algo por si; depois, a aplicação utilizará uma API para comunicar com o servidor Web, dizendo-lhe o que fazer. Esta ação é designada por pedido. Posteriormente, o servidor enviará uma resposta a ser entregue pelo "intermediário" à sua aplicação.
Vejamos um exemplo menos abstrato. Entra num restaurante, escolhe uma mesa com vista e espera que o empregado receba o seu pedido. Neste caso, o empregado é o seu "intermediário" porque o cozinheiro não pode receber o seu pedido diretamente, pois tem outros pedidos para preparar na cozinha. Faz um pedido ao empregado de mesa, o empregado de mesa envia esse pedido para a cozinha, obtém uma resposta, neste caso, o seu pedido, e leva-o para a sua mesa. Desfrute da sua comida!
Mesmo a API é uma abstração do servidor Web, uma vez que a aplicação não sabe o que se passa na "cozinha", apenas qual será o resultado final. O utilizador final sabe que, se encomendar um bolo do menu, vai receber um bolo. Existem muitos tipos de APIs, dependendo do que são construídas para fazer ou da sua política de lançamento. Vamos dar uma olhadela a estes diferenciais.
APIs por casos de utilização
As API são úteis. Como referimos anteriormente, a comunicação entre vários softwares e aplicações é essencial para atingir um determinado objetivo, pelo que uma API é concebida com base no que se pretende atingir. Vejamos alguns exemplos:
- As API de bases de dados facilitam a comunicação entre uma aplicação e um sistema de gestão de bases de dados. Por exemplo, o Firebase é uma plataforma de aplicações Web móveis propriedade da Google que permite aos programadores sincronizar e armazenar dados em tempo real sem terem de gerir servidores ou escrever código do lado do servidor.
- APIs de sistemas operativos. Até os sistemas operativos têm um bom número de API, por exemplo, a API do Windows ou a API do espaço do utilizador do kernel do Linux. Também pode encontrar as API fornecidas pela Apple para macOS e iOS e apresentadas na sua documentação para programadores.
- As APIs remotas interagem através de uma rede de comunicações. A rede de comunicações mais comum é a Internet, pelo que as APIs são normalmente concebidas com base em normas Web. Mas isso não significa que todas as APIs remotas sejam APIs da Web. Ainda assim, as API da Web são geralmente remotas, utilizam normalmente HTTP para mensagens de pedido e definem a estrutura das mensagens de resposta. É preferível que estas mensagens estejam no formato XML ou JSON, uma vez que é mais fácil para outras aplicações analisarem as informações.
- As API mais utilizadas são as API Web, porque enviam pedidos de uma aplicação Web e respostas dos servidores utilizando HTTP (Hypertext Transfer Protocol). Os programadores utilizam essas API da Web nas suas aplicações ou sítios, aumentando a sua funcionalidade e tornando-os mais práticos para o utilizador, como a integração de um método de início de sessão através do Facebook ou do Google ou a adição de um mapa utilizando a API do Google Map.
APIs por política de lançamento
Algumas APIs são criadas apenas para uso interno. Isto é particularmente comum nas grandes empresas. Outras são concebidas como produtos destinados a integrar-se com qualquer software que os clientes utilizem. Estas são as principais categorias:
As APIs privadas são utilizadas principalmente dentro da própria organização, integrando-as em sistemas e aplicações utilizadas pelos seus funcionários e melhorando o funcionamento interno. Mesmo que pareçam abertas ao público, a interface permanece disponível apenas para quem está dentro da organização, que tem controlo total sobre a API. Isso também reduz alguns custos para a organização.
As API de parceiros podem proporcionar fluxos de receitas adicionais, uma vez que são partilhadas com um ou mais parceiros comerciais. É celebrado um acordo entre o referido parceiro e o editor. Uma API de parceiro também acrescenta valor ao serviço e abre um canal para vendas adicionais.
As API públicas estão disponíveis para todos os programadores terceiros. Estes tipos de APIs não precisam de ter uma relação estreita entre o utilizador e o editor, podem aumentar o fluxo de receitas, ajudar a alcançar públicos mais vastos e a criar tráfego, e apoiar muitas causas e uma variedade de iniciativas empresariais. As APIs públicas podem ser:
- Abertas: Estas APIs podem ser utilizadas por qualquer pessoa da forma que lhe aprouver, o que significa que não existem termos ou condições restritivos, não é necessário o consentimento do punidor para utilizar a API e não é necessário pagar por ela. Fornecem documentação pública para os programadores acederem e podem ser utilizadas para testar e criar aplicações.
- Comercial: para utilizar estas API, terá de pagar uma taxa de subscrição. Para que os utilizadores possam testar e analisar o produto, os editores oferecem frequentemente uma avaliação gratuita para que o cliente saiba se deve ou não adquirir uma subscrição.
De particular interesse são as API SOAP e as API REST, uma vez que estão muito difundidas. Vejamos os conceitos por detrás dos acrónimos:
APIs SOAP
As APIs SOAP ou Simple Object Access Protocol são protocolos de comunicação web e são utilizadas para o intercâmbio de informações e dados estruturados através de HTTP/HTTPS. Ao contrário das API REST, o SOAP suporta apenas o formato de dados XML. A maior parte da troca de dados na Web é efectuada através da troca REST, mas isso não significa que o SOAP vá cair em breve, uma vez que é altamente normalizado, mais seguro e, por vezes, permite a automatização.
XML ou eXtensible Markup Language é uma ferramenta independente de software ou hardware para armazenar e transportar dados. Tem um conjunto de regras para estruturar mensagens como registos legíveis por humanos e por máquinas. Como se pode ver abaixo, a sua estrutura é semelhante à do HTML, mas a linguagem XML não tem etiquetas predefinidas, pelo que o autor tem de definir tanto as etiquetas como a estrutura do documento.

APIs REST
O Representational State Transfer é um estilo de arquitetura criado por Roy Fielding em 2000 para conceber aplicações acopladas sobre HTTP e é frequentemente utilizado no desenvolvimento de API. Para que um serviço seja referido como RESTful, não deve violar estas restrições.
Os programadores preferem utilizar o REST como alternativa ao SOAP porque não implica a escrita de muito código para realizar tarefas simples, ao contrário do SOAP, que exige que se crie sempre a estrutura XML necessária. O serviço Web RESTful utiliza uma abordagem diferente. Trata a informação como um recurso representado por um URL único. Assim, se pretender solicitar um determinado recurso, terá de fornecer o respetivo URL utilizando métodos HTTP como GET, POST, PUT, HEAD, DELETE, PATCH e OPTIONS. Pode saber mais sobre estes métodos aqui! Por vezes, pode ser necessário enviar dados adicionais juntamente com o URL para obter o que precisa, como uma chave de acesso.
Ao contrário do SOAP, o REST não se limita a utilizar XML para fornecer a resposta. Pode obter as informações em diferentes formatos como JSON, XML, CSV, texto simples e HTML, que são analisados mais facilmente com base na linguagem que está a utilizar para a sua aplicação.
Eis uma comparação entre JSON e XML:

É frequente ouvir os programadores falarem sobre as funcionalidades das diferentes API, mas há outro aspeto importante e menos discutido: a documentação. Sem o conhecimento nela contido, uma API pode muito bem ser um monte de hieróglifos.
Documentação da API
A documentação de uma API não é um tutorial de um videojogo que se pode saltar com despreocupação e aprender a sua mecânica pelo caminho. A documentação contém instruções sobre como utilizar e integrar efetivamente essa API.
Mesmo que uma API seja revolucionária para os programadores, uma documentação deficiente ou a falta de conhecimento sobre o seu funcionamento torná-la-ia inútil.
Uma documentação bem escrita pode ajudar a poupar tempo e custos de apoio. A integração de novos utilizadores torna-se mais fácil e estes não necessitarão de apoio técnico para utilizar a API. Uma documentação mal escrita pode ser bastante frustrante para os programadores e para a equipa de apoio dos editores.
Alguma documentação pode fornecer uma secção de demonstração ou um playground onde pode testar coisas e ver resultados ao vivo. Isto ajuda os programadores a visualizarem o que a API faz e a compreenderem melhor.

Considerações finais
Espero que o nosso APIs for Dummies o tenha ajudado a compreender melhor o funcionamento das APIs e a sua importância no mundo da tecnologia da informação.
O número crescente de aplicações e produtos de software, tanto empresariais como para uso pessoal, necessita de métodos de comunicação e de troca de recursos. As API satisfazem essa necessidade e são fundamentais para ajudar à expansão da tecnologia.
Consulte este artigo sobre APIs de raspagem da Web para ver alguns exemplos de APIs da Web em ação!
Notícias e actualizações
Mantenha-se atualizado com os mais recentes guias e notícias sobre raspagem da Web, subscrevendo a nossa newsletter.
We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Artigos relacionados

Explore o poder transformador da recolha de dados da Web no sector financeiro. Desde dados de produtos a análises de sentimentos, este guia oferece informações sobre os vários tipos de dados da Web disponíveis para decisões de investimento.


Domine o web scraping com Python e Regex. Extraia dados de sites sem esforço. Aprenda técnicas avançadas e evite armadilhas comuns.


Maximize seu sucesso na raspagem da Web com o C# HttpClient e Proxies. Saiba como contornar restrições e aceder a dados com facilidade neste guia passo-a-passo.
