As APIs permitem que os aplicativos troquem informações enviando e recebendo chamadas de API.
Após ler este artigo, você será capaz de:
Conteúdo relacionado
Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.
Copiar o link do artigo
As Interfaces de programação de aplicativos (APIs) permitem que os programas de software se comuniquem entre si enviando e recebendo chamadas de API ou solicitações de informações. Essas solicitações são iniciadas por um cliente de API e aceitas por um endpoint de API.
Para trocar informações entre APIs, os desenvolvedores devem fornecer a documentação da API que descreve os tipos de solicitações que uma API pode aceitar, os casos de uso para os quais ela foi projetada e quaisquer outras condições (por exemplo protocolos, esquemas e requisitos de segurança) que terceiros devem seguir.
As chamadas de API permitem que as APIs compartilhem funcionalidades sem exigir que os desenvolvedores reescrevam funções do zero para cada aplicativo individual. Sem elas, os desenvolvedores não conseguiriam replicar facilmente funções em vários aplicativos ou solicitar dados de outros aplicativos, serviços e provedores.
Uma API é uma interface que permite que os programas de software compartilhem dados e funções. Esse método de comunicação ajuda a aprimorar as funcionalidades da maioria dos aplicativos web modernos.
Por exemplo, imagine que a Alice desenvolva um aplicativo que personalize listas de reprodução de música clássica de acordo com o humor dos ouvintes. Em vez de inserir manualmente milhares de faixas para preencher essas listas de reprodução, ela pode usar uma API que se conecta a um repositório de músicas externo, economizando tempo, dinheiro e desafios de desenvolvimento.
Os casos de uso de APIs são praticamente ilimitados. Elas conectam serviços em nuvem, consultam bancos de dados, atualizam automaticamente aplicativos móveis, transmitem conteúdo para vários dispositivos, agregam preços de voos e opções de entrega de alimentos e muito mais.
Um cliente de API, às vezes chamado de "usuário", é o software que inicia uma chamada de API.
Antes de poder interagir com um endpoint de API, um cliente de API precisa verificar sua identidade. Isso ajuda a evitar que os invasores explorem as APIs para realizar ataques de negação de serviço distribuída (DDoS) ou outras ações maliciosas.
Normalmente, a autenticação é realizada por meio de um dos quatro métodos: uma sequência de caracteres exclusiva (chave de API), uma combinação de nome de usuário e senha, um token OAuth, ou mutual TLS. O uso de um método de autenticação forte é uma das maneiras pelas quais os desenvolvedores podem proteger as APIs contra ataques. (Saiba mais sobre segurança deAPIs .)
Um endpoint de API aceita a chamada de API e retorna as informações solicitadas.
Tanto os clientes quanto os endpoint de API referem-se a programas de software hospedados em servidores em vez de dispositivos de hardware diferentes. Os servidores de API podem hospedar vários endpoints, sendo que cada um deles recebe um Uniform Resource Identifier (URI) que permite que seja localizado por um cliente de API. Na maioria dos casos, esse URI é um localizador uniforme de recursos (URL), que aponta para locais baseados na internet (por exemplo, um site).
Um esquema de API é um metadado que define as especificações que uma solicitação de API deve atender para ser considerada válida. Essas especificações podem incluir detalhes como o endpoint de destino, o método HTTP e outros requisitos estabelecidos pelos desenvolvedores.
Quando uma chamada de API é enviada de um cliente, ela deve atender às condições descritas no esquema. Só então um endpoint de API pode retornar as informações solicitadas. Para colocar isso em perspectiva, imagine que o Bob esteja planejando uma festa. No convite, ele especifica que somente os convidados que trouxerem margaridas amarelas receberão cartões de agradecimento após a festa. Dessa forma, se a Carol decidir levar rosas vermelhas para a festa, ela não vai receber um cartão de agradecimento depois.
Da mesma forma, uma chamada de API que não atenda aos requisitos definidos pelo esquema da API não vai receber uma resposta.
Assim como as próprias APIs, as chamadas de API variam de acordo com as especificações descritas na documentação de API. De modo geral, no entanto, uma chamada de API segue três etapas básicas:
Para obter uma explicação mais detalhada de chamadas de API, leia O que é uma chamada de API?
As APIs são compatíveis com vários protocolos diferentes. Um protocolo é um método de comunicação em uma rede; ele informa à API como formatar solicitações e respostas. O tipo de protocolo de API usado depende da finalidade para a qual a API foi desenvolvida, dos casos de uso a que ela serve e das restrições que ela apresenta.
Os dois protocolos de API mais comuns são o simple object access protocol (SOAP) e o remote procedural call (RPC). A representational state transfer (REST) é uma arquitetura de software que é frequentemente comparada a esses protocolos.
O SOAP fornece um método padronizado de envio e recebimento de chamadas entre APIs que usam diferentes sistemas operacionais e arquiteturas. Também é compatível com o protocolo de transferência de hipertexto (HTTP), protocolo de transferência de arquivos (FTP), protocolo de transferência de correio simples (SMTP)e outros protocolos da camada de aplicação. Ele só pode retornar dados aos clientes de API usando a linguagem de marcação extensível (XML).
O RPC é um dos métodos mais simples e antigos de comunicação entre APIs. Ele funciona iniciando uma chamada de procedimento remoto, durante a qual um cliente solicita uma função de um servidor remoto. A principal diferença entre o RPC e o SOAP/REST é que o RPC ajuda a executar ações (ou funções) específicas, enquanto o SOAP/REST é usado para recuperar recursos (ou dados).
O REST refere-se a uma arquitetura REST, que determina parcialmente como as chamadas de API são formatadas. Simplificando, o REST permite que um cliente solicite recursos de um servidor, que retorna as informações ao cliente em seu estado atual. As APIs REST geralmente usam o protocolo HTTP para formatar solicitações e respostas, mas também são compatíveis com o protocolo (FTP), SMTP e outros. Elas podem retornar dados aos clientes de API usando vários formatos diferentes, incluindo XML, notação de objeto JavaScript (JSON) e linguagem de marcação de hipertexto (HTML).
Como qualquer coisa conectada a uma rede, as APIs são vulneráveis à exploração e ao abuso. Os ataques comuns à API incluem:
O Cloudflare API Gateway ajuda a mitigar esses ataques fornecendo autenticação forte, verificando cargas úteis em busca de dados confidenciais, validando esquemas de API e detectando e evitando o abuso de APIs. Saiba mais sobre o Cloudflare API Gateway.