O que é uma API?

author
Author: Postman publicado em: 26 de março de 2024

Já parou para pensar como aplicativos se comunicam entre si e trocam informações? É graças às APIs (interfaces de programação de aplicativo)! Imagine uma API como um mensageiro que intermedia a comunicação entre diferentes partes de um software.

APIs, que significa interface de programação de aplicativo, são conjuntos de regras que permitem que softwares conversem entre si e troquem dados. Os programadores usam APIs para conectar pequenos trechos de código, possibilitando a criação de aplicativos poderosos, seguros e capazes de atender às necessidades dos usuários. Mesmo que você não as veja diretamente, as APIs estão por toda parte, trabalhando silenciosamente nos bastidores para fornecer as experiências digitais que usamos no nosso dia a dia.

Neste guia, vamos explorar o mundo das APIs:

  • A história e o funcionamento básico das APIs
  • Os diferentes tipos de APIs e como elas são usadas
  • Benefícios e casos de uso comuns para APIs
  • Exemplos concretos de APIs para te ajudar a entender melhor

Com esse conhecimento, você estará pronto para mergulhar no mundo das APIs!

A História das APIs: Uma Evolução para um Mundo Conectado

Para entendermos completamente o papel das APIs em nossas vidas, precisamos conhecer sua evolução. Elas existem há décadas, mas as APIs web modernas começaram a surgir no início dos anos 2000. Desde então, a história das APIs pode ser dividida em cinco fases principais:

Fase 1: APIs Comerciais

No início dos anos 2000, as APIs web emergiram como um novo método para startups inovadoras não apenas disponibilizarem produtos e serviços online, mas também permitirem que parceiros e revendedores estendessem o alcance de suas plataformas. Empresas como Salesforce, eBay e Amazon definiram essa era das APIs, e elas continuam dominando o cenário até hoje.

Fase 2: APIs de Redes Sociais

Em meados dos anos 2000, houve uma mudança no panorama das APIs. Empresas como Flickr, Facebook e Twitter perceberam que as APIs poderiam mudar a forma como compartilhamos informações. Embora essas APIs não estivessem tão diretamente ligadas à receita quanto suas predecessoras comerciais, elas agregavam valor significativo às suas organizações. Por exemplo, o Facebook lançou a versão 1.0 de sua API em 2006, permitindo que desenvolvedores acessassem dados de amigos, fotos, eventos e perfil dos usuários. Essa API desempenhou um papel crucial em estabelecer o Facebook como uma das redes sociais mais populares do mundo.

Fase 3: APIs em Nuvem

Em 2006, a Amazon introduziu o Amazon Simple Storage Service (S3), marcando outro ponto de virada na história das APIs. O S3 é um serviço básico de armazenamento em que os recursos são acessíveis via API. Seu modelo de pagamento por uso fornece uma maneira econômica para organizações monetizarem ativos digitais. Seis meses depois, a Amazon lançou o Amazon Elastic Compute Cloud (EC2), que permitia aos desenvolvedores usar APIs para implantar infraestrutura para a próxima geração de aplicativos. Tanto o S3 quanto o EC2 continuam sendo essenciais no desenvolvimento de aplicativos atualmente.

Fase 4: APIs para Aplicativos Mobile

Em 2007, o mundo conheceu o iPhone da Apple e o Android do Google. A capacidade de carregar a web no bolso mudou radicalmente nossas vidas e impulsionou um grande investimento em aplicativos mobile baseados em APIs.

Por exemplo, a Twilio lançou sua plataforma API como produto em 2007, permitindo que desenvolvedores fizessem e recebessem chamadas telefônicas de qualquer aplicativo em nuvem. O Instagram, lançado em 2010, alcançou um milhão de usuários em apenas três meses. Inicialmente, o Instagram não oferecia uma API, mas começou a desenvolvê-la em 2011 devido à demanda dos usuários. Essas empresas que priorizaram APIs desde o início desempenharam um papel essencial na criação do modelo de entrega de APIs utilizado hoje.

Fase 5: APIs para Dispositivos Conectados

Por volta de 2010, alguns desenvolvedores começaram a usar APIs para conectar objetos do cotidiano à nuvem, como câmeras, termostatos, alto-falantes, microfones e sensores. Essa nova geração de dispositivos, que inclui Fitbit, Nest e Alexa, pode enviar e receber dados, conteúdo, mídia e outros recursos digitais, mudando ainda mais a forma como interagimos com o mundo ao nosso redor.

diagrama o que é uma api

Como as APIs funcionam? Trocando mensagens para obter dados

Imagine duas pessoas conversando para trocar informações. É basicamente assim que as APIs funcionam! Elas possibilitam que aplicativos, sistemas e dispositivos conversem entre si e compartilhem dados.

Essa conversa acontece por meio de um ciclo de solicitação e resposta. Vamos ver cada etapa desse processo:

1. Cliente API (API client)

  • É como se fosse a pessoa que inicia a conversa. Ela envia uma solicitação para o servidor da API, informando o que deseja.
  • Essa solicitação pode ser iniciada de várias maneiras. Por exemplo, você pode fazer uma pesquisa na internet ou clicar em um botão em um aplicativo, disparando uma solicitação para a API.
  • Solicitações de API também podem ser iniciadas por eventos externos, como uma notificação de outro aplicativo.

2. Solicitação da API (API request)

  • O formato e o conteúdo da solicitação da API variam de acordo com o tipo de API, mas geralmente ela inclui o seguinte:
    • Endereço (Endpoint): É como um endereço específico dentro da API, que fornece acesso a um recurso determinado. Por exemplo, em um aplicativo de blog, o endpoint "/artigos" incluiria a lógica para processar todas as solicitações relacionadas a artigos.
    • Método: Define o tipo de operação que o cliente deseja realizar em um determinado recurso. As APIs REST usam métodos HTTP padrão, como GET, POST, PUT e DELETE, que realizam ações comuns como obter, criar, atualizar e excluir dados.
    • Parâmetros: São variáveis enviadas para um endpoint da API para fornecer instruções específicas sobre como a API deve processar a solicitação. Esses parâmetros podem estar incluídos na URL, na string de consulta ou no corpo da solicitação. Por exemplo, o endpoint "/artigos" de uma API de blog pode aceitar um parâmetro "tema", que seria usado para filtrar e retornar artigos sobre um tema específico.
    • Cabeçalhos da solicitação: São pares chave-valor que fornecem detalhes adicionais sobre a solicitação, como seu tipo de conteúdo ou credenciais de autenticação.
    • Corpo da solicitação: É a parte principal da solicitação e inclui os dados necessários para criar, atualizar ou excluir um recurso. Por exemplo, se você estivesse criando um novo artigo em um aplicativo de blog, o corpo da solicitação provavelmente incluiria o conteúdo, título e autor do artigo.

3. Servidor da API (API server)

  • É como a cozinha do restaurante. Assim que recebe a solicitação do cliente (API client), o servidor da API entra em ação:
    • Verifica a autenticidade da solicitação.
    • Valida os dados enviados.
    • Recupera ou manipula os dados solicitados.

4. Resposta da API (API response)

  • Por fim, o servidor da API envia uma resposta de volta ao cliente. A resposta da API geralmente inclui o seguinte:
    • Código de status: São códigos de três dígitos que indicam o resultado da solicitação da API. Alguns dos códigos de status mais comuns incluem: 200 OK (sucesso, dado retornado com êxito), 201 Created (recurso criado com êxito) e 404 Not Found (recurso não encontrado).
    • Cabeçalhos da resposta: Semelhantes aos cabeçalhos da solicitação, fornecem informações adicionais sobre a resposta do servidor.
    • Corpo da resposta: Inclui os dados ou conteúdo solicitados pelo cliente, ou uma mensagem de erro, caso algo tenha dado errado.

Para facilitar a compreensão, podemos pensar em APIs como restaurantes. O cliente é o usuário, que informa ao garçom o que deseja pedir. O garçom é como um cliente API, recebendo o pedido do cliente e traduzindo-o em instruções fáceis de seguir para a cozinha (às vezes usando códigos ou abreviações específicas que os cozinheiros entendem). A cozinha é como o servidor da API, pois prepara o pedido de acordo com as especificações do cliente e o entrega ao garçom, que então o leva ao cliente.

Benefícios das APIs: inovação, automação e muito mais!

APIs funcionam como pontes de comunicação entre diferentes softwares, aplicativos e dispositivos. Elas possibilitam a troca de dados e trazem diversas vantagens, desde uma melhor experiência do usuário até uma maior eficiência empresarial. Veja alguns dos principais benefícios das APIs:

  • Automação: APIs podem automatizar tarefas repetitivas e demoradas, liberando o tempo de profissionais para atividades mais complexas. Isso aumenta a produtividade, principalmente para equipes de desenvolvimento e teste.
  • Inovação: APIs públicas podem ser usadas por equipes de desenvolvimento externas, o que estimula a inovação e acelera o processo de criação de novos aplicativos. Desenvolvedores conseguem reutilizar funcionalidades já existentes para criar novas experiências digitais.
  • Segurança: APIs podem fornecer uma camada adicional de proteção contra acessos indevidos. Elas exigem autenticação e autorização para qualquer solicitação que busque dados confidenciais.
  • Redução de custos: APIs dão acesso a ferramentas e infraestrutura valiosas de terceiros. Isso evita que empresas precisem desenvolver sistemas complexos internamente, reduzindo custos.

Variedade de APIs: atendendo a diferentes necessidades

Existem muitos tipos de APIs e formas de categorizá-las. Uma maneira comum é classificá-las por quem tem acesso a elas:

  • APIs privadas: Também conhecidas como APIs internas, elas conectam diferentes componentes de software dentro de uma única organização e não estão disponíveis para uso externo. Por exemplo, um aplicativo de mídia social pode ter uma API privada para gerenciar o login, outra para o feed de notícias e outra para facilitar a comunicação entre usuários. Alguns aplicativos podem ter dezenas ou centenas de APIs privadas.
  • APIs públicas: Concedem acesso público aos dados, funcionalidades ou serviços de uma organização. Desenvolvedores externos podem integrá-las em seus próprios aplicativos. Algumas APIs públicas são gratuitas, enquanto outras são oferecidas como produtos pagos. Por exemplo, um aplicativo de e-commerce pode incorporar uma API pública de pagamento, como o Stripe, para processar transações sem precisar construir essa funcionalidade do zero.
  • APIs de parceiro: Permitem que duas ou mais empresas compartilhem dados ou funcionalidades para colaborar em um projeto. Elas não estão disponíveis para o público geral e, por isso, utilizam mecanismos de autenticação para garantir que sejam usadas apenas por parceiros autorizados.

tipos de apis

Estilos de Arquitetura de API: Definindo a melhor estrutura

Vimos que APIs podem ser categorizadas de acordo com quem tem acesso a elas. Outra forma de classificá-las é pelo seu estilo de arquitetura, e existem vários por aí. Os estilos de arquitetura mais utilizados são:

  1. REST (Representational State Transfer)
  • Conforme já discutido anteriormente, REST é o estilo de arquitetura de API mais popular para transferência de dados pela internet. Em um contexto RESTful, os recursos são acessíveis por meio de endpoints, e as operações são realizadas nesses recursos com métodos HTTP padrão como GET, POST, PUT e DELETE.
  1. SOAP (Simple Object Access Protocol)
  • SOAP usa XML para transferir mensagens altamente estruturadas entre um cliente e servidor. SOAP é frequentemente utilizado em ambientes corporativos ou sistemas legados e, embora inclua recursos avançados de segurança, pode ser mais lento que outras arquiteturas de API.
  1. GraphQL
  • GraphQL é uma linguagem de consulta open source que permite aos clientes interagir com um único endpoint de API para recuperar exatamente os dados que precisam, sem precisar encadear várias solicitações juntas. Essa abordagem reduz o número de trocas de dados entre o cliente e o servidor, o que pode ser útil para aplicativos que podem ser executados em conexões de rede lentas ou instáveis.
  1. Webhooks
  • Webhooks são usados para implementar arquiteturas orientadas a eventos, nas quais as solicitações são enviadas automaticamente em resposta a gatilhos baseados em eventos. Por exemplo, quando um evento específico ocorre em um aplicativo, como a realização de um pagamento, o aplicativo pode enviar uma solicitação HTTP para uma URL de webhook pré-configurada com os dados do evento relevantes no corpo da solicitação. O sistema que recebe o webhook pode então processar o evento e tomar a ação apropriada.
  1. gRPC (gRPC Remote Procedure Call)
  • gRPC é um protocolo de comunicação de alto desempenho originalmente desenvolvido pelo Google. Em arquiteturas gRPC, um cliente pode chamar um servidor como se fosse um objeto local, o que facilita a comunicação entre aplicativos e sistemas distribuídos.
public partner apis

Casos de uso de APIs: ampliando as possibilidades

APIs são extremamente versáteis e suportam uma ampla variedade de casos de uso, incluindo:

  1. Integração com sistemas internos e externos
    • Um dos motivos mais comuns pelos quais os desenvolvedores recorrem às APIs é para integrar um sistema a outro. Por exemplo, você pode usar uma API para integrar seu sistema de CRM (Gerenciamento de Relacionamento com o Cliente) ao seu sistema de automação de marketing. Isso permite enviar automaticamente um e-mail de marketing quando um representante de vendas adiciona um novo cliente em potencial ao CRM.

  1. Adicionando ou aprimorando funcionalidades
    • As APIs permitem incorporar funcionalidades adicionais ao seu aplicativo, o que pode melhorar a experiência do seu cliente. Por exemplo, se você estiver trabalhando em um aplicativo de entrega de comida, pode incorporar uma API de mapeamento de terceiros para permitir que os usuários rastreiem seu pedido enquanto ele está a caminho.

  1. Conectando dispositivos IoT
    • As APIs são essenciais para o ecossistema da Internet das Coisas (IoT), que inclui dispositivos como smartwatches, rastreadores de fitness, campainhas e eletrodomésticos. Sem APIs, esses dispositivos não seriam capazes de se conectar à nuvem - ou uns aos outros - o que os tornaria inúteis.

  1. Criando sistemas mais escaláveis
    • As APIs são usadas para implementar arquiteturas baseadas em microsserviços, nas quais os aplicativos são criados como um conjunto de pequenos serviços que se comunicam entre si por meio de APIs privadas. Microsserviços são gerenciados, implantados e provisionados independentemente uns dos outros, o que permite que as equipes dimensionem seus sistemas de maneira confiável e econômica.

  1. Reduzindo custos
    • As APIs ajudam as organizações a reduzir custos operacionais automatizando tarefas demoradas, como envio de e-mails, geração de relatórios e compartilhamento de dados entre sistemas. Elas também podem reduzir custos de desenvolvimento permitindo que as equipes reutilizem funcionalidades existentes, em vez de reinventar a roda.

  1. Melhorando a segurança e a governança organizacional
    • As APIs potencializam muitos fluxos de trabalho essenciais para a segurança da organização. Por exemplo, o single sign-on (SSO), que permite aos usuários usar um nome de usuário e senha para vários sistemas, é possível graças às APIs. As APIs também são usadas para aplicar e automatizar regras e políticas de governança corporativa, como a exigência de aprovação de despesas antes do reembolso dos funcionários.

Esta lista está longe de ser exaustiva e continuará crescendo à medida que os desenvolvedores criam soluções inovadoras que mudam a maneira como vivemos, trabalhamos e interagimos uns com os outros.

catalogo de apis

Exemplos do mundo real de APIs: possibilitando inovações em diversos setores

Se você está procurando exemplos concretos de APIs, um bom começo é consultar um catálogo público de APIs, como o Postman's Public API Network. Esse catálogo é uma biblioteca pesquisável e altamente organizada de APIs, que conta com o suporte de uma comunidade de mais de 30 milhões de desenvolvedores. Ela facilita a busca pela API certa para a sua necessidade. Você pode usar a funcionalidade de pesquisa da rede se estiver procurando algo específico ou navegar por categoria para se inspirar.

Aqui estão algumas empresas que publicaram ótimos exemplos de APIs no Postman's Public API Network:

  • Salesforce: É um software CRM baseado em nuvem que permite aos clientes encontrar e se conectar com outros clientes, fechar negócios e fornecer serviços em escala. O workspace público da Salesforce inclui muitos recursos de API para desenvolvedores em todos os produtos e nuvens da Salesforce.

  • Notion: É um aplicativo de anotações que fornece um espaço único para pensar, escrever e planejar. A equipe do Notion publicou uma coleção simples para ajudar os desenvolvedores a começar a interagir com a API do Notion. Eles fornecem soluções práticas e atualizadas, facilitando a conexão e automação de suas tarefas no Notion.

  • Discord: É uma plataforma social que permite comunicação por voz, vídeo, mensagens de texto, compartilhamento de mídia e arquivos. A equipe do Discord publicou coleções que ajudam os desenvolvedores a criar aplicativos Discord para personalizar seus servidores. Eles também incluíram uma introdução útil para auxiliar no início do processo.

  • Pinterest: Permite que os usuários compartilhem imagens, conectem-se uns com os outros e se inspirem. A API do Pinterest aumenta significativamente o escopo do que você pode fazer como desenvolvedor de sites ou aplicativos, e eles publicaram coleções para ajudá-lo a começar.

  • DoorDash: É uma plataforma de pedidos e entrega de alimentos, e o DoorDash Drive permite que você use a plataforma logística sob demanda do DoorDash e sua frota de entregadores para entregar seus produtos com rapidez e facilidade. A equipe do DoorDash publicou coleções que facilitam o início do trabalho com as APIs do DoorDash.

FAQ sobre APIs:

Aqui estão algumas perguntas comuns adicionais sobre APIs:

Quem trabalha com APIs?

Embora os desenvolvedores sejam os que mais provavelmente trabalham com APIs como parte de sua função, o relatório State of the API da Postman descobriu que muitos não desenvolvedores também trabalham com APIs, como gerentes de produto, analistas de negócios e profissionais de suporte ao cliente.

Quais setores usam APIs?

As APIs são amplamente utilizadas no setor de tecnologia, pois são os blocos de construção principais de aplicativos e outros serviços digitais. As instituições financeiras também contam com APIs para facilitar as transações de seus clientes, e os provedores de saúde usam APIs para gerenciar dados de pacientes e mantê-los seguros.

O que é a estratégia API-first?

A estratégia API-first é uma abordagem para o desenvolvimento de software na qual os aplicativos são projetados e construídos como um conjunto de serviços internos e externos fornecidos por meio de APIs. As APIs são os blocos de construção desses aplicativos, e a estratégia API-first ajuda as equipes a priorizar sua qualidade, segurança e desempenho.

Quais são algumas ferramentas que podem ajudar a construir e integrar APIs?

O desenvolvimento de API é um processo iterativo e colaborativo. Por isso, é importante aproveitar as ferramentas apropriadas para garantir que tudo funcione da maneira mais tranquila possível. Por exemplo, as equipes devem usar uma ferramenta de controle de versão como GitHub ou BitBucket para acompanhar as alterações da API, e um pipeline de CI/CD como Jenkins ou CircleCI as ajudará a automatizar os processos de teste e implantação da API. Também é essencial que as equipes usem uma plataforma de API que se integre a essas ferramentas, o que reduzirá o atrito e aumentará os fluxos de trabalho existentes.

Como você constrói uma API?

O processo de desenvolvimento de API pode variar amplamente de acordo com a finalidade, linguagem e escopo da API. No entanto, toda nova API precisará ser projetada, implementada com uma estrutura de desenvolvimento de API e totalmente testada para garantir que esteja funcionando conforme o esperado. Saiba mais sobre como construir uma API aqui: link how to build an API.

O que é gerenciamento de API?

O gerenciamento de API é a prática de estabelecer processos padronizados e eficientes para trabalhar com APIs. As organizações que priorizam o gerenciamento de API normalmente utilizam uma plataforma de API como Postman, que pode ajudá-las a projetar, desenvolver, testar, proteger, implantar e monitorar APIs em escala. Isso melhora a colaboração ao reduzir o trabalho redundante, aumenta a visibilidade em projetos relacionados a API e apoia um maior alinhamento organizacional.

Qual é a diferença entre APIs SOAP e APIs REST?

SOAP (Simple Object Access Protocol) e REST (Representational State Transfer) são dois dos estilos arquitetônicos mais comuns para a criação de APIs. As APIs SOAP usam XML e incluem recursos integrados para segurança e tratamento de erros, o que as torna adequadas para ambientes corporativos com padrões rígidos. Por outro lado, as APIs REST usam JSON para representação de recursos, o que é menos verboso que XML. As APIs REST geralmente são mais fáceis de entender, consumir e integrar do que as APIs SOAP, mas carecem de alguns dos recursos avançados do SOAP. Saiba mais sobre as diferenças entre SOAP e REST.

Qual é a diferença entre APIs e webhooks?

Webhooks são funções de callback leves que facilitam a comunicação baseada em eventos entre APIs. No ciclo tradicional de solicitação-resposta, um cliente de API envia ativamente uma solicitação a um servidor de API para recuperar dados ou realizar ações. Por outro lado, um webhook escuta por um evento específico, como a criação de uma nova conta de usuário ou a realização de um pagamento, e executa uma ação pré-configurada em resposta. Isso elimina a necessidade de o cliente API consultar o servidor, pois o servidor executará automaticamente a ação apropriada ou retornará os dados relevantes quando o evento especificado ocorrer.

Qual é a diferença entre arquitetura orientada a serviço (SOA) e arquitetura de micro-serviços?

As arquiteturas orientadas a serviço (SOAs) e as arquiteturas de microsserviços são compostas por serviços modulares que executam funções de negócios específicas, mas possuem várias diferenças principais. Por exemplo, microsserviços se comunicam entre si por meio de APIs, enquanto serviços SOA dependem de um barramento de serviço corporativo (ESB) para roteamento, transformação e gerenciamento de mensagens. Além disso, os serviços SOA tendem a usar SOAP, enquanto os microsservi