Chamada de API

Por que confiar em nós

Uma chamada de API (Interface de Programação de Aplicativos) é uma solicitação feita por um aplicativo de software a outro serviço ou sistema, geralmente para obter, enviar ou manipular dados. É como diferentes aplicativos se comunicam entre si. Sabendo disso, entenda o que é e como funciona uma chamada de API no artigo a seguir.

A Techopedia explica

Por exemplo, imagine que você está em um restaurante e está pronto para fazer o pedido. Em vez de gritar seu pedido diretamente para o chef na cozinha, você diz ao garçom o que deseja, e ele transmite seu pedido ao chef. Nesse cenário, o garçom atua como intermediário, certificando-se de que sua solicitação seja atendida. Uma chamada de API funciona de maneira semelhante, mas no mundo digital.

As chamadas de API permitem a integração perfeita de vários sistemas, permitindo que eles compartilhem funcionalidades e dados sem precisar se fundir em uma única plataforma. É por isso que, ao usar uma plataforma de mídia social como o X (anteriormente Twitter) ou o Facebook, você pode compartilhar facilmente um vídeo do YouTube ou um artigo de um site de notícias.

Nos bastidores, as chamadas de API estão sendo feitas para garantir que as diferentes plataformas possam entender e transmitir informações umas às outras.

Como funciona uma chamada de API?

Entender como funcionam as chamadas de API é essencial para compreender como os aplicativos de software interagem e compartilham dados. A base de uma chamada de API é o modelo de solicitação-resposta:

  • Solicitação: Um aplicativo de software, conhecido como “cliente”, envia uma solicitação a outro sistema ou serviço, que é chamado de “servidor”.
  • Resposta: Ao receber a solicitação, o servidor a processa, obtém as informações necessárias ou executa a ação desejada e, em seguida, envia uma resposta de volta ao cliente.

Os pontos de extremidade desempenham uma função importante na interação com a API. Um endpoint é um URL específico em que uma API pode ser acessada para realizar uma operação específica. Basicamente, é um endereço que direciona o cliente a um conjunto específico de dados ou funcionalidades no servidor.

Ao fazer uma chamada de API, o endpoint escolhido ajuda a determinar qual ação o servidor deve executar e em qual conjunto de dados.

Métodos de chamada de API, explicados

As chamadas de API permitem que diversos aplicativos de software se comuniquem e transfiram dados. Um dos elementos fundamentais dessas interações é o método usado na chamada.

Esses métodos, também conhecidos como métodos HTTP, determinam o tipo de ação que precisa ser executada, como obter, criar, atualizar ou excluir dados.

Solicitação GET

Uma solicitação GET é um método que solicita dados de um recurso específico. Ela obtém informações sem causar efeitos colaterais, ou seja, não altera nem modifica os dados no servidor.

A solicitação GET é um dos métodos HTTP mais comuns. Quando você está navegando na Web e clica em um link para visitar uma página, geralmente está iniciando uma solicitação GET. Essa solicitação pede ao servidor que forneça a página da Web ou os dados específicos nos quais você está interessado.

Exemplos de solicitações Get

  • Quando você digita o URL de um site na barra de endereços do navegador e pressiona Enter, está enviando uma solicitação GET ao servidor que hospeda esse site, pedindo que ele forneça a página da Web associada ao URL.
  • Imagine usar um aplicativo de previsão do tempo. Quando você pergunta sobre o clima em uma cidade específica, o aplicativo envia uma solicitação GET ao seu servidor para buscar os dados meteorológicos atuais para esse local.
  • Os mecanismos de pesquisa, como o Google, enviam uma solicitação GET sempre que você digita uma consulta na barra de pesquisa. A solicitação recupera todos os resultados relevantes para seu termo de pesquisa.

Solicitação POST

Uma solicitação POST é usada para enviar dados a um recurso ou servidor específico, geralmente causando uma alteração no estado ou efeitos colaterais no servidor. É o método escolhido quando a intenção é criar ou atualizar os dados armazenados no servidor.

Diferentemente das solicitações GET, as solicitações POST não anexam dados ao URL. Em vez disso, elas incluem os dados no corpo da solicitação.

Exemplos de solicitações Post

  • Pense em quando você se inscreve em uma nova conta de mídia social. Você preenche um formulário com seus dados, como nome de usuário, senha e e-mail. Quando você pressiona o botão “Sign Up” (Inscrever-se), uma solicitação POST é enviada, enviando suas informações ao servidor para criar sua nova conta.
  • Quando você está fazendo compras on-line e decide comprar um item, ao inserir seus detalhes de envio e informações de pagamento e clicar em “Purchase” (Comprar), é gerada uma solicitação POST. Isso envia seus detalhes para o servidor, levando à criação de um pedido.
  • Você está jogando em uma plataforma de jogos na nuvem. Quando você decide salvar seu progresso, seu aplicativo de jogos envia uma solicitação POST para o servidor de jogos na nuvem. Em seguida, ele cria um novo registro de salvamento.

Solicitações PUT e PATCH

O método PUT é usado para atualizar um recurso existente ou criá-lo se ele não existir. Ao usar o PUT, você fornece uma versão completa e atualizada do recurso. É uma abordagem do tipo “tudo ou nada”: se uma parte específica do recurso for deixada de fora na solicitação PUT, presume-se que a parte omitida não é necessária e ela é removida ou redefinida.

O método PATCH, por outro lado, é usado para fazer atualizações parciais em um recurso existente. Em vez de enviar uma versão completa e atualizada como no PUT, com o PATCH você envia apenas as alterações específicas que deseja aplicar ao recurso. Trata-se mais de ajustar os dados existentes.

Exemplos de solicitações PUT e PATCH

  • PUT: Você tem um perfil em um site de rede profissional, como o Linkedin, e ele tem campos para seu nome, cargo e endereço. Se você usar uma solicitação PUT para atualizar apenas seu nome e cargo, deixando de fora o endereço, o sistema presumirá que você não quer mais um endereço listado e o removerá.
  • PATCH: Usando o mesmo exemplo de perfil de rede profissional: se você mudou recentemente seu cargo e deseja atualizar apenas isso, você usaria uma solicitação PATCH. Você envia o novo cargo sem incluir o nome ou o endereço. O sistema atualizaria apenas o cargo, deixando os outros detalhes inalterados.

Solicitação DELETE

A solicitação DELETE é usada para solicitar a remoção de um recurso ou de dados específicos do servidor. Quando usada, o servidor processa a solicitação, excluindo os dados especificados.

Após uma operação DELETE bem-sucedida, o servidor geralmente retorna um status indicando a conclusão bem-sucedida, embora o recurso real não esteja mais disponível.

Exemplos de solicitação de exclusão

  • Você já publicou algo nas mídias sociais e depois decidiu removê-lo mais tarde? Quando você clica na opção “excluir”, uma solicitação DELETE é enviada ao servidor, garantindo que a publicação seja removida da plataforma.
  • Ao decidir sair de um serviço ou plataforma e escolher a opção de desativar ou excluir sua conta, uma solicitação DELETE é iniciada. Essa solicitação garante que os detalhes de sua conta e os dados associados sejam removidos do servidor.
  • Você está fazendo compras na Amazon e adiciona itens ao seu carrinho de compras on-line, mas depois decide remover um item. Quando você clica no botão “remover” ao lado de um item, uma solicitação DELETE é feita ao servidor, removendo esse item do carrinho.

A importância dos limites de taxa de API

Os limites de taxa de API especificam o número de chamadas de API que um usuário final ou um sistema pode fazer em um período de tempo definido, seja um minuto, uma hora ou um dia. Esses limites podem ser definidos por usuário, por endereço IP ou até mesmo com base no tipo de serviço que acessa a API.

Eles funcionam como medidas de controle, garantindo que a API possa atender a muitos usuários sem ser sobrecarregada por um número excessivo de solicitações.

Veja por que os limites de taxa são implementados:

  • Manutenção do desempenho: O alto tráfego pode sobrecarregar os servidores, levando a tempos de resposta mais lentos ou até mesmo a falhas. Os limites de taxa garantem que as APIs funcionem de forma otimizada e consistente, oferecendo um serviço confiável a todos os usuários.
  • Alocação de recursos: Os provedores de API podem querer garantir que os recursos não sejam monopolizados por um único usuário ou serviço. Ao definir limites, os recursos são distribuídos de forma justa entre vários usuários.
  • Segurança: Os limites de taxa podem funcionar como uma proteção contra ataques mal-intencionados, como ataques de negação de serviço distribuído (DDoS), em que os invasores tentam inundar o sistema com solicitações.
  • Controle de custos: O processamento de grandes volumes de dados pode ser caro. Os limites de taxa podem ajudar os provedores de API a gerenciar e prever os custos operacionais.

O resultado final

As APIs funcionam como pontes entre diversos sistemas de software, permitindo que eles conversem sem problemas, compartilhem dados e aumentem as funcionalidades.

Desde a alimentação das integrações de mídia social em nossos aplicativos favoritos até as transações bancárias que fazemos diariamente, as chamadas de API estão no centro dessas interações. Em essência, elas desempenham um papel fundamental na formação da maneira como experimentamos e interagimos com as plataformas digitais.

Marshall Gunnell
Technology Writer
Marshall Gunnell
Especialista em TI e Segurança cibernética

Marshall, natural do Mississippi, é um especialista dedicado em TI e segurança cibernética com mais de uma década de experiência. Junto com a Techopedia, seus artigos podem ser encontrados em Business Insider, PCWorld, VGKAMI, How-To Geek, and Zapier. Seus artigos alcançaram um público massivo de mais de 100 milhões de pessoas. Marshall atuou anteriormente como Chief Marketing Officer (CMO) e redator técnico da StorageReview, fornecendo cobertura de notícias abrangente e análises detalhadas de produtos em matrizes de armazenamento, discos rígidos, SSDs e muito mais. Ele também desenvolveu estratégias de vendas com base em pesquisas de mercado regionais e globais para…