O que é uma API?

Interfaces de programação de aplicativos (APIs) são amplamente adotadas em aplicativos de software e plataformas online, mas o que são? As APIs permitem a comunicação entre aplicativos de software e como eles compartilham dados. Eles suportam muitos aspectos da nossa tecnologia móvel, permitindo funcionalidade e integração perfeitas. Por exemplo, quando você visualiza a previsão do tempo no Google Pixel 9 Pro, ela é entregue por meio de uma API. Imagine se cada empresa que desejasse dados meteorológicos em seu aplicativo tivesse que construir um sistema de coleta de dados meteorológicos ou manter uma rede de sensores. Eles simplificam a comunicação entre sistemas, permitindo que os desenvolvedores aproveitem as ferramentas e os dados existentes em vez de reinventar a roda.



Relacionado

Os 10 melhores aplicativos de clima no Android em 2024

Nunca seja pego sem seu guarda-chuva


Conectando software por meio de APIs

Um gráfico com uma lupa sobre vários ícones de aplicativos.


Uma API define as regras e protocolos para software de terceiros, como um aplicativo móvel, interagir programaticamente com dados ou recursos de outro software. As APIs especificam os tipos de solicitações que os aplicativos do lado do cliente podem fazer, as linguagens de programação nas quais as solicitações podem ser feitas e quais dados o sistema do lado do servidor enviará de volta em resposta. É uma forma de um sistema compartilhar seus dados ou recursos com outro, seja pago ou gratuito, enquanto mantém o controle sobre o que é compartilhado.

O termo é anterior à Internet e foi introduzido pela primeira vez no campo acadêmico de bancos de dados em 1974. A maior parte do que ouvimos agora refere-se a APIs da Web, que permitiram a interação cliente/servidor pela Internet desde o início. Se imaginarmos uma sala de servidores físicos em uma instalação segura, não entraríamos simplesmente na sala de servidores para recuperar o que procuramos. Talvez precisemos enviar uma solicitação com vários formulários listando quais dados estão disponíveis para nós, entregá-los a alguém fora da sala do servidor e receber apenas o que solicitamos.


Relacionado

O que é codificação de URL?

Decifrando o código para uma navegação perfeita na web

Do ponto de vista programático, as APIs da web normalmente usam protocolos e padrões HTTP ou HTTPS como o formato JSON ou XML. Isso significa que os programadores não precisam aprender nada sobre o sistema do lado do servidor e podem usar uma linguagem de codificação familiar para interagir com ele. Isso também significa que o servidor pode manter dados confidenciais fora da vista com mais segurança e compartilhar apenas o que está disponível nesses formulários de envio.

Como as APIs fornecem dados para um aplicativo

A página de documentação do site da API de notícias


Vejamos um exemplo de como as APIs funcionam na prática. Imagine um desenvolvedor de aplicativos que está criando um novo aplicativo e deseja incluir um feed de notícias focado apenas em artigos Android. Eles optam por trabalhar com a API de notícias para ter um feed de artigos atualizado automaticamente. Eles descobrem que podem obter os dados que desejam consultando a documentação da News API.

O desenvolvedor deseja testar o feed em seu aplicativo buscando apenas artigos relacionados ao Android do dia anterior, classificados por popularidade. O processo começa com a inscrição do desenvolvedor para obter uma chave de API. A chave é um identificador exclusivo (UID), que permite que a News API saiba qual desenvolvedor está fazendo solicitações e garante que apenas usuários autorizados possam acessar os dados. Eles usam uma solicitação com os parâmetros fornecidos na documentação para buscar as notícias relacionadas ao Android:

https://newsapi.org/v2/everything?q=Android&from=2024-12-23&sortBy=popularity&apiKey=(USER_API_KEY)


Como esta API web usa protocolos HTTPS, uma URL é usada para solicitar os dados. O URL especifica o tópico q=Androido intervalo de datas de=23/12/2024o método de classificação sortBy = popularidadee sua chave de API apikey=(USER_API_KEY). A chave da API geralmente é uma longa sequência alfanumérica de letras e números. O desenvolvedor incorpora o URL no código do aplicativo, normalmente usando linguagens de programação como JavaScript ou Python.

Quando o aplicativo envia essa solicitação ao servidor da API de notícias, o servidor a processa verificando a validade da chave da API, recuperando os dados solicitados e formatando-os como uma resposta JSON. O desenvolvedor escreve o código para analisar a resposta JSON da API de notícias, extrair os campos relevantes e formatá-lo como o desenvolvedor deseja que apareça em seu aplicativo. Ao aproveitar a API de outra plataforma, o desenvolvedor evita a necessidade de construir e manter seu sistema de agregação de notícias.


Os logotipos do Spotify e do YouTube sobre uma imagem borrada de pilhas de CDs de música

As APIs permitem uma variedade de interações com diferentes plataformas. Serviços de pagamento online como o Stripe possuem uma API que permite às empresas aceitar pagamentos. Quando você vê a previsão do tempo em um aplicativo ou site, uma API provavelmente fornece informações atualizadas. O Spotify possui uma API para acessar nomes de artistas, músicas e outras informações. Aqui estão outras maneiras interessantes de usar APIs:

  • Remover respingo tem uma API que permite obter imagens gratuitas.
  • Clearbit possui uma API que permite buscar logotipos de empresas.
  • Discórdia possui uma API que permite criar e usar bots personalizados.
  • EuAmoPDF possui uma API que permite extrair texto, editar e realizar outras ações relacionadas ao PDF.
  • CloudConvert possui uma API que permite converter vários formatos de arquivo.
  • Ollama possui uma API que permite executar Large Language Models (LLM) em sua máquina local.
  • Noção possui uma API que permite criar e gerenciar conteúdo e sincronizar dados.
  • NASA tem uma API que dá aos desenvolvedores acesso a uma grande variedade de dados espaciais e científicos.


Ética e uso indevido de dados de API

Pessoa segurando uma lupa sobre o ícone do Facebook

Fonte: Pexels

Isso não significa que não haja vulnerabilidades de segurança e outros problemas com o acesso aos dados da API. Nosso próprio Chris Thomas nos lembrou do escândalo Cambridge Analytica, onde foi descoberto que uma empresa de análise e consultoria de dados enganou os consumidores e coletou dados do Facebook de 50 milhões de perfis usando a API do Facebook.

A Cambridge Analytica usou dados recolhidos ilegalmente através da API do Facebook para construir perfis “psicográficos” de utilizadores (realizando campanhas de marketing político direcionadas com mais de 1,5 mil milhões de impressões) para persuadi-los a votar em Trump nas eleições de 2016.


A Cambridge Analytica usou dados recolhidos ilegalmente através da API do Facebook para construir perfis “psicográficos” de utilizadores (realizando campanhas de marketing político direcionadas com mais de 1,5 mil milhões de impressões) para persuadi-los a votar em Trump nas eleições de 2016. A Comissão Federal de Comércio concordou que a Cambridge Analytica violou a Lei FTC através de conduta enganosa numa votação unânime de 5-0. Mark Zuckerberg pediu desculpas aos usuários pela “quebra de confiança”, prometendo restringir o acesso à API e aos dados disponíveis por meio dela.

Relacionado

A dúzia suja do Facebook Marketplace: os 15 golpes mais comuns e como evitá-los

Tenha cuidado antes de clicar no botão comprar no Facebook Marketplace


O Facebook não está sozinho quando se trata de problemas de API. Embora tenha implementado suas novas restrições de API em 2018, o TechCrunch relatou um bug na API do Twitter que combinava 17 milhões de números de telefone com as contas de seus usuários. No mesmo ano, isso foi ofuscado quando a API do Google+ expôs os dados privados de mais de 500 mil usuários a desenvolvedores terceirizados. Uma vulnerabilidade de endpoint da API TikTok em 2020 permitiu que o caçador de recompensas Muhammed Taskiran assumisse o controle de uma conta com um clique.

O futuro das APIs na tecnologia moderna

Um desenvolvedor sentado em frente a um computador que possui código na tela

Fonte: Pexels

As APIs continuarão a ser parte integrante do desenvolvimento de aplicativos, mas, como Chris Thomas observou em seu artigo, a era de ouro das APIs pode estar chegando ao fim. Violações de dados aparentemente constantes nos mostraram que nem mesmo nossos dados médicos estão seguros, com grandes corporações como o Google e companhias de seguros de saúde entregando-os a eles. Outros grandes nomes como Reddit, Twitter (X) e LinkedIn estão restringindo seu acesso à API ou, em alguns casos, cortando-o totalmente. Isso pode dificultar o desenvolvimento de aplicativos e firmware em um futuro próximo.