APIs: Como Funciona a Comunicação Entre Sistemas

Introdução

O conteúdo desta publicação é de interesse de todos que se gostam de tecnologia. Se você deseja entender como softwares se comunicam uns com os outros, continue essa leitura.

O modo como softwares são desenvolvidos nos dias de hoje, permitem a comunicação entre sistemas de forma muito simplificada e nós que estamos envolvidos com tecnologia, podemos nos beneficiar muito disso.

Índice desta publicação

O que são APIs?

Vamos imaginar que você vai pegar um carro para dirigir. As ações que você executa para se locomover de um lugar para outro, não te obrigam a saber como um carro funciona.

Você liga o carro, as vezes engata a marcha, acelera, vira o volante algumas vezes e o processo se repete até você chegar no seu destino. O volante do carro poderia ser comparado a uma API no nosso exemplo, pois te permite virar o carro, sem que você entenda toda a parte mecânica envolvida.

As APIs permitem que desenvolvedores possam integrar funcionalidades de diferentes sistemas em suas próprias aplicações, sem precisar se preocupar com os detalhes técnicos de cada sistema. Isso facilita o desenvolvimento de novos aplicativos e serviços, tornando o processo mais rápido e eficiente.

Uma aplicação cliente consome os recursos e uma API

Uma Application Programming Interface, ou apenas API, é um conjunto de instruções e padrões de programação que permitem que diferentes softwares se comuniquem entre si. É uma espécie de ponte de comunicação entre sistemas.

Como as APIs funcionam?

Um exemplo prático de API é o Google Maps. Quando você utiliza o Google Maps em um aplicativo, como o Uber ou o Waze, o aplicativo se comunica com a API do Google Maps para obter informações sobre rotas, tráfego, locais próximos, entre outros.

A integração entre esses sistemas permite que os desenvolvedores dos aplicativos possam oferecer recursos avançados de geolocalização sem precisar desenvolver tudo do zero.

Quando você utiliza um aplicativo para fazer uma compra online, por exemplo, a transação envolve uma série de sistemas diferentes, como o site da loja, o banco que processa o pagamento, a transportadora que entrega o produto, entre outros.

E esses sistemas são desenvolvidos por empresas diferentes e podem ter linguagens de programação distintas. Para que tudo funcione corretamente, é preciso que haja uma forma padronizada de comunicação entre eles, e é isso que a API faz.

Como consumir dados de uma API?

Cada API tem sua política de acessos aos recursos e muitas delas possuem limitações muito claras sobre o quanto você pode requisitar alguma coisa. A maioria possui formas de autenticação e você só consegue buscar algum dado se gerar algum tipo de autorizaçao antes.

Nós vamos pular essa complexidade por agora e vamos consumir uma API pública apenas para ilustração. Vamos utilizar a API do Github para recuperar informações de um usuário.

A API do Gihtub permite buscar diversas informações, mas para este momento vamos fazer algo mais simples para entender como um sistema pode se beneficiar das informações de outro, sem conhecer a lógica ou a tecnologia por trás de quem está fornecendo os dados.

Vamos utilizar o CodePen.io para hospedar nosso script. Crie um novo Pen e insira os códigos abaixo em sua respectiva aba:

HTML

<div id="root">
  <img id="photo" src="path/to/photo.jpg" alt="Foto do usuário" />
  <ul>
    <li id="login">Login: </li>
    <li id="name">Nome: </li>
    <li id="website">Site: </li>
  </ul>
</div>

CSS

#root{
  border: 2px solid #efefef;
  float: left;
}

img{
  width: 250px;
  border: 0;
  padding: 0;
  border-bottom: 2px solid #efefef;
}

ul{
  padding: 0 0 0 15px;
  margin: 0;
  text-decoration: none;
}

            
ul li {
  list-style: none;
  text-align: left;
  font-family: arial, sans-serif;
  font-size: 12px;
}

Javascript

const username = "tiagosabadini"; //coloque seu nome de usuário aqui

async function getData() {
  const response = await fetch(`https://api.github.com/users/${username}`, {
    method: "GET"
  });
  return response.json(); 
}

getData().then((data) => {
  let photo = document.getElementById("photo");
  let login = document.getElementById("login");
  let name = document.getElementById("name");
  let website = document.getElementById("website");
  
  photo.src = data.avatar_url;
  login.innerHTML = `Login: <b>${data.login}</b>`;
  name.innerHTML = `Nome: <b>${data.name}</b>`;
  website.innerHTML = `Nome: <b>${data.blog}</b>`;
});

Conhecendo o retorno da API, podemos escolher quais informações vamos exibir na nossa aplicação. Veja abaixo como ficou o resultado (navegue entre as abas para ver o código de cada etapa):

Outras APIs públicas

GitHub: Permite acessar dados do GitHub, como informações de usuários, repositórios, commits, entre outros. É muito útil para desenvolvedores que trabalham com Git e GitHub.

Twitter: Permite acessar dados do Twitter, como tweets, seguidores, trends, entre outros. É muito útil para quem trabalha com análise de dados em redes sociais.

Google Maps: Permite acessar dados de mapas, como rotas, localização de lugares, informações de trânsito, entre outros. É muito útil para aplicativos baseados em geolocalização.

OpenWeatherMap: Permite acessar dados meteorológicos de cidades em todo o mundo, como temperatura, pressão, umidade, entre outros. É muito útil para desenvolvedores que trabalham com aplicativos de clima e previsão do tempo.

Stripe: Permite integrar pagamentos com cartão de crédito e débito em aplicativos e sites. É útil para e-commerce e pagamentos online.

Twilio: Permite enviar e receber mensagens SMS e chamadas telefônicas em aplicativos e sites. É útil para aplicativos que precisam de comunicação em tempo real.

YouTube: Permite acessar dados do YouTube, como vídeos, canais, comentários, entre outros. É útil para desenvolvedores que trabalham com análise de dados em vídeos e canais do YouTube.

Conclusão

Espero que sua cabeça esteja borbulhando de novas ideias nesse momento. Agora você sabe que pode se beneficiar de recursos de outras aplicações para criar novos projetos ou melhorar os que você já possui.

Se quiser avançar um pouco mais no conteúdo de APIs, veja nossa publicação: Como conectar uma aplicação NodeJS com Firebase Firestore.

E o melhor, não precisa de códigos muito complexos para utilizar as APIs disponíveis no mercado.

Um comentário

Os comentários estão fechados.