Entendendo como funcionam as chamadas API
E o potencial de integrar seu aplicativo com outros serviços
Quando comecei a desenvolver no-code eu ainda não entendia o poder das chamadas API. À medida que fui descobrindo, vi que eu poderia integrar meu aplicativo com outros grandes serviços e fornecer soluções mais robustas, expandindo os meus horizontes de desenvolvimento. Eu poderia subir nos ombros de gigantes.
Mas para entender melhor o que é uma chamada API, vou tentar resumir em uma frase:
Uma chamada API é um método padrão de comunicação entre programas.
API: Application Programming Interface
Como assim?
Para facilitar a troca de informações, é conveniente que os programas tenham um ponto de contato para interagir. E esse ponto de contato precisa ser de fácil conexão, com métodos de solicitação e métodos de respostas padronizadas.
A palavra “chamada” não é à toa. É como se você fizesse uma ligação para o número de um aplicativo para solicitar uma informação ou um serviço. A diferença é que essa ligação pode ser feita de forma programada e pode ser executada não só por usuários, mas entre os próprios aplicativos.
Aprender como fazer chamadas API é como aprender a falar a linguagem dos robôs.
Pensa só, ao contrário de nós, os computadores não precisam de uma interface bonita para trocar informações, eles são bem direto ao ponto. Basta executar a chamada API com uma estrutura padrão e com as autenticações necessárias para você acessar os dados de outro aplicativo.
Aprender como fazer essas requisições significa transmitir o valor gerado por grandes serviços para os usuários do seu aplicativo.
Nesse artigo, quero responder às seguintes perguntas:
Quais exemplos de chamadas API que posso integrar no meu app?
Como é a estrutura dessas chamadas? E das respostas?
Como fazer chamadas com ferramentas no-code?
Como saber se uma aplicativo tem uma API aberta?
Por que um aplicativo liberaria a sua API para o público?
Erro 404, o que significa?
Vamos nessa.
Nota: Nesse artigo vou focar apenas em chamadas API do tipo REST, um modelo de chamada mais comum na web.
Exemplos de uso de API’s
Alguns exemplos específicos:
Conectar seu app com uma planilha Google Sheets
Enviar um SMS para o usuário
Pegar dados de previsão do tempo
Analisar a cotação do dólar em tempo real
Criar um evento no Google Calendar
Assinar um documento no DocuSign
Criar um post no Instagram
Disparar mensagens no Telegram
Analisar dados de campanhas do Facebook Ads
Entre muitos outros…
O Zapier é a ferramenta no-code que entendeu o poder integrar múltiplos apps e simplificou esse processo ao máximo. Se está buscando ideias de integrações, sugiro clicar aqui.
API’s pagas vs API’s gratuitas
As API’s públicas gratuitas são ideais para aprendizado e projetos pessoais. Porém, costumam ser limitadas tanto no volume de chamadas quanto na velocidade de resposta, o que pode te deixar na mão dependendo da sua demanda.
Por outro lado, alguns grandes serviços liberam sua API gratuitamente, como Slack, Telegram, Spotify, Instagram, Notion entre muitos outros.
(Mas podem ser burocráticas para liberar, como é o caso da API da Meta)
Mas, por que um aplicativo liberaria a sua API de forma gratuita?
O principal motivo é que assim é possível expandir a presença desse aplicativo em múltiplos outros aplicativos. Isso também cria mercados paralelos que orbitam em cima do uso de suas API’s, que aumentam ainda mais a sua visibilidade. Por exemplo, a partir da API do Instagram, surgiram vários serviços de análise de dados de engajamento, automações de posts e integrações para replicar o conteúdo com outras redes sociais.
Client & Server
Em uma chamada API você pode assumir uma das duas posições:
Client : Quem solicita informações ou serviços
Server : Quem processa a solicitação e decide se vai executar aquilo que foi solicitado
Se você está usando um serviço, você é o Client. Se você está fornecendo o serviço, você é o Server. Perceba que o seu aplicativo pode assumir ambas as posições dependendo da situação.
Cada API é única. Todas precisam de uma configuração específica, mas provavelmente elas possuem uma estrutura parecida. Depois que você pega o costume de configurar a primeira API de uma fonte, as outras ficam mais tranquilas.
Vamos entender a estrutura de uma chamada API.
Estrutura de uma chamada API
Um chamada API é composta dos seguintes elementos:
De forma sucinta:
Endpoint
É o endereço URL da API
Algumas API’s fazem o controle da versão da sua API no próprio endpoint
O recurso indica o serviço específico que você quer acessar
Aqui podem ser passados parâmetros como instrução para o Server
Method
O método deixa claro ação que você quer executar:
GET : Pegar dados POST : Enviar dados PUT : Atualizar dados DELETE : Excluir dados
Header
Aqui é comum você colocar a sua chave de autenticação no “Authorization”. Cuidado para não confundir: a sua chave é de autenticação, mas você solicita autorização para o Server.
Também é possível informar o Server quais tipos de dados você está enviando no “Content-type”
Body
As informações passadas no body são mais utilizadas em chamadas do tipo POST, onde você envia dados ao Server
Pode haver alguma variação de estrutura entre as API’s, que podem pedir mais informações do Client. Por isso, cada serviço precisa elaborar uma documentação da sua API que precisa deixar bem claro o que configurar para a integração dar certo.
Felizmente, com ferramentas no-code, você não vai precisar se preocupar com todo o código para montar essa chamada API.
No Bubble, o API Connector te proporciona um ambiente de testes de API com configuração descomplicada. No Flutterflow, você possui um ambiente semelhante. Perceba o quanto ambos são parecidos:
Nos próximo artigos, quero mostrar na prática como configurar as chamadas a partir de uma documentação API para integrar no seu app no-code.
Autenticação vs Autorização
Nomes muito parecidos, mas possuem funções de controle de segurança diferentes.
Autenticação é um protocolo de segurança que determina quem pode acessar a API. A autenticação se preocupa em identificar exatamente quem está fazendo a chamada.
Já a autorização determina quais serviços poderão ser acessados pelo usuário já autenticado.
Em muitas API’s, é comum você gerar uma chave (ou token) API para autenticação. Assim, o servidor sabe identificar quem está fazendo as chamadas e também medir os níveis de uso. Alguns serviços permitem você criar múltiplas chaves para você ter um controle melhor sobre as chamadas se está chamando em diferentes locais.
Código de status
Você provavelmente já se deparou com alguma página que mostrava o “Erro 404 - Não encontrado”. Essa numeração é uma padronização no modelo de respostas das API’s para que o status da chamada seja facilmente assimilado.
O código de status segue um padrão de três digitos, em que:
Status começando com “2”: A chamada foi bem sucedida
200 : Chamada OK 202 : Chamada aceita mas ainda em processamento 204 : Chamada OK, mas o servidor não vai retornar nada
Status começando com “4” : Houve erro na chamada por parte do Client
400 : Erro na sintax da chamada 401 : Não autorizado 404 : Não encontrado 405 : Método não permitido 429 : Limite de chamadas excedido
Status começando com “5”: Houve erro no próprio Server
500 : Erro interno do servidor 503 : Serviço indisponível 504 : Timeout - demorou demais
Conhecer os códigos de status é importante para prever possíveis erros em chamadas API do seu app. Para diferentes códigos de status, você pode definir diferentes ações.
Limite de chamadas
Alguns provedores de API definem um limite para a taxa de chamadas API. Isso é uma forma de evitar o sobrecarregamento do sistema e também de segmentar planos para usuários com diferentes necessidades de volume de requisições.
Na resposta da chamada, a API pode te informar sobre como está o seu saldo de chamadas, por exemplo:
{
X-Rate-Limit: 700 (número de solicitações permitidas no período atual),
X-Rate-Limit-Remaining: 699 (número de solicitações restantes no período atual),
X-Rate-Limit-Reset: 92 (número de segundos restantes no período atual até que o limite de taxa seja redefinido)
}
Aqui, você pode monitorar essas informações nas suas chamadas API e criar condicionais para evitar que seu aplicativo exceda esse limite.
Alguns serviços de API mais robustos te oferecem um analytics com histórico de custo das suas chamadas, é o caso da API do Chat GPT:
Referências
Algumas referência que usei para elaborar esse artigo e que você pode acessar para se aprofundar mais no tema:
Conclusão
O meu objetivo foi mostrar como funcionam e qual o potencial das integrações API para o seu aplicativo no-code. Espero que tenha te proporcionado alguns insights para montar essas integrações :) .
Enquanto escrevia esse artigo, tive a ideia de mostrar mais a fundo alguns exemplos de integrações na prática, de serviços específicos. Sei que algumas chamadas API podem ser mais complicadas de configurar do que outras.
O que você acha dessa ideia?
Obrigado por ler até aqui!
Se você quer me dar algum feedback, sugestão ou bater um papo, clique aqui e me chame no WhatsApp.
Se você se interessa por desenvolvimento no-code, automações, gambiarras e fazer mais com menos, se inscreve aí para receber as próximas edições. ⬇️
See ya.
🖐️