O que é API?
programador utilizando uma interface de gerenciamento de API
O que é API?

Uma API (interface de programação de aplicativos) é um conjunto de normas que possibilitam a comunicação segura entre diferentes aplicativos e sistemas. Ela auxilia a empresa a compartilhar dados e funcionalidades de seus aplicativos com desenvolvedores externos, parceiros de negócios e departamentos internos.

As definições e protocolos dentro de uma API ajudam as empresas a conectar as muitas aplicações diferentes que utilizam em suas operações diárias, economizando tempo dos funcionários e eliminando barreiras que dificultam a colaboração e a inovação. Para os desenvolvedores, a documentação de API oferece a interface para a comunicação entre aplicativos, tornando a integração de aplicativos mais simples.

 

Como funciona uma API

Uma maneira simples de entender como as APIs funcionam é analisar um exemplo comum: o processamento de pagamentos de terceiros. Quando um usuário compra um produto em um site de comércio eletrônico, ele pode ser solicitado a "Pagar com o PayPal" ou outro tipo de sistema de terceiros. Essa função depende de APIs para fazer a conexão.

  • Quando o comprador clica no botão de pagamento, uma API é chamada para recuperar as informações, também conhecida como solicitação. Essa solicitação é processada de um aplicativo para o servidor web por meio do Uniform Resource Identifier (URI) da API e inclui um verbo de solicitação, cabeçalhos e, às vezes, um corpo de solicitação.
     

  • Depois de receber uma solicitação válida da página do produto, a API efetua uma chamada para o programa externo ou servidor web, que, neste caso, é o sistema de pagamento de terceiros.
     

  • O servidor envia uma resposta à API com as informações solicitadas.
     

  • A API transfere os dados de volta para o aplicativo que fez a solicitação inicial, neste caso, o site do produto.

Embora a transferência de dados possa variar dependendo do serviço da web em uso, todas as solicitações e respostas ocorrem por meio de uma API.Não há visibilidade na interface do usuário, o que significa que as APIs trocam dados dentro do computador ou do aplicativo e aparecem para o usuário como uma conexão contínua.

Benefícios da API

APIs simplificam o design e o desenvolvimento de novos aplicativos e serviços, além da integração e gerenciamento de aplicativos existentes. Mas oferecem outros benefícios significativos para desenvolvedores e organizações em geral.

Colaboração aprimorada. A empresa média usa quase 1.200 aplicativos de nuvem (link reside fora do ibm.com), muitos dos quais estão desconectados. APIs habilitam a integração para que essas plataformas e aplicativos possam se comunicar perfeitamente entre si. Por meio dessa integração, as empresas podem automatizar fluxos de trabalho e melhorar a colaboração no local de trabalho. A ausência de APIs deixaria muitas empresas sem conectividade, criando silos de informação que prejudicam a produtividade e o desempenho.

Inovação acelerada. As APIs oferecem flexibilidade, permitindo que as empresas estabeleçam conexões com novos parceiros de negócios, ofereçam novos serviços ao seu mercado existente e, em última análise, acessem novos mercados que podem gerar retornos maciços e impulsionar a transformação digital.Por exemplo, a empresa Stripe começou como uma API com apenas sete linhas de código. Desde então, a empresa fez uma parceria com muitas das maiores empresas do mundo, diversificada para oferecer empréstimos e cartões corporativos, e foi recentemente avaliada em USD 36 bilhões (link reside fora de ibm.com).

Monetização de dados. Muitas empresas optam por oferecer APIs gratuitamente, pelo menos inicialmente, para que possam criar um público de desenvolvedores em torno de sua marca e estabelecer relacionamentos com potenciais parceiros de negócios. Se a API conceder acesso a ativos digitais valiosos, a empresa a monetiza vendendo acesso. Isso é chamado de economia de API. Quando a AccuWeather (link externo ao site ibm.com) lançou seu portal de desenvolvedor de autoatendimento para vender uma ampla gama de pacotes de API, levou apenas 10 meses para atrair 24.000 desenvolvedores, vendendo 11.000 chaves de API e construindo uma comunidade próspera no processo.

Segurança do sistema. As APIs separam o aplicativo solicitante da infraestrutura do serviço de resposta e oferecem camadas de segurança entre os dois à medida que se comunicam. Por exemplo, as chamadas de API normalmente exigem credenciais de autenticação; cabeçalhos HTTP, cookies ou cadeias de caracteres de consulta podem fornecer segurança adicional durante a troca de dados e um gateway de API pode controlar o acesso para minimizar ainda mais as ameaças à segurança.

Segurança e privacidade do usuário final. Assim como as APIs fornecem proteção adicional dentro de uma rede, elas também podem fornecer outra camada de proteção para usuários pessoais. When a website requests a user’s location, which is provided via a location API, the user can then decide whether to allow or deny this request. Muitos navegadores da Web e sistemas operacionais móveis, como iOS, têm estruturas de permissão incorporadas quando as APIs solicitam acesso a aplicativos e seus dados. Quando o aplicativo deve acessar arquivos por meio de uma API, sistemas de arquivos como Windows, Mac e Linux usam permissões para esse acesso.

Como utilizar uma API? Exemplos comuns

Como as APIs permitem que as empresas abram o acesso a seus recursos e, ao mesmo tempo, mantenham a segurança e o controle, elas se tornaram um aspecto valioso dos aplicativos comerciais e pessoais modernos. Aqui estão alguns exemplos populares de usos de API que os usuários encontram quase todos os dias:

  • Logins universais: um exemplo de API popular é a função que permite que as pessoas façam login em sites usando seus detalhes de login de perfil do Facebook, Twitter ou Google. Essa característica conveniente permite que qualquer site utilize uma API de um dos serviços mais populares para autenticação rápida, economizando tempo e eliminando a necessidade de criar um novo perfil para cada aplicativo da web ou nova associação.
     

  • Internet das Coisas (IoT): Esses "dispositivos inteligentes" oferecem funcionalidades adicionais, como telas sensíveis ao toque habilitadas para internet e coleta de dados, por meio de APIs. Por exemplo, uma geladeira inteligente pode se conectar a aplicativos de receita ou fazer e enviar anotações para celulares por mensagem de texto. As câmeras internas se conectam a vários aplicativos para que os usuários possam ver o conteúdo da geladeira de qualquer lugar.
     

  • Comparações de reservas de viagens: os sites de reserva de viagens agregam milhares de voos, apresentando as opções mais baratas para cada data e destino. Esse serviço é possível graças às APIs que permitem aos usuários do aplicativo acessar as informações mais atualizadas sobre a disponibilidade de hotéis e companhias aéreas, seja por meio de um navegador web ou do aplicativo próprio da empresa de reserva de viagens.Com uma troca autônoma de dados e solicitações, as APIs reduzem drasticamente o tempo e o esforço envolvidos na verificação de voos ou acomodações disponíveis.
     

  • Aplicativos de mapeamento: além das APIs principais que exibem mapas estáticos ou interativos, esses aplicativos utilizam outras APIs e recursos para fornecer aos usuários direções, limites de velocidade, pontos de interesse, avisos de trânsito e muito mais. Os usuários se comunicam com uma API ao traçar rotas de viagem ou rastrear itens em movimento, como um veículo de entrega.
     

  • Twitter: cada tweet contém atributos principais descritivos, incluindo um autor, um ID exclusivo, uma mensagem, um carimbo de data/hora quando foi publicado e metadados de geolocalização. O Twitter disponibiliza os principais atributos dos Tweets e respostas públicos aos desenvolvedores e permite que eles publiquem Tweets em outras páginas da Web por meio da API da empresa.
     

  • Aplicativos SaaS: APIs são parte integrante do crescimento dos produtos de software como serviço (SaaS). Plataformas como CRMs (ferramentas de gerenciamento de relacionamento com o cliente) geralmente incluem uma série de APIs integradas que permitem que as empresas se integrem aos aplicativos que elas já usam, como mensagens, redes sociais e aplicativos de e-mail. Isso reduz drasticamente o tempo gasto alternando entre aplicativos para tarefas de vendas e marketing. Ele também ajuda a reduzir ou evitar silos de dados que possam existir entre departamentos que usam aplicativos diferentes.

Tipos de APIs

Atualmente, a maioria das APIs são APIs da web que expõem os dados e a funcionalidade de um aplicativo pela internet. Aqui estão os quatro tipos principais de API da web:

  • APIs abertas são interfaces de programação de aplicativos de código aberto que você pode acessar com o protocolo HTTP. Também conhecidas como APIs públicas, elas definiram endpoints de API e formatos de solicitação e resposta.
     

  • As APIs de parceiros conectam parceiros comerciais estratégicos. Normalmente, os desenvolvedores acessam essas APIs no modo de autoatendimento por meio de um portal público de desenvolvedores de APIs. Ainda assim, eles precisam concluir um processo de integração e obter credenciais de login para acessar APIs de parceiros.
     

  • APIs internas permanecem ocultas de usuários externos. Essas APIs privadas não são acessíveis para usuários externos à empresa e, em vez disso, são destinadas a aprimorar a produtividade e a comunicação entre diferentes equipes de desenvolvimento internas..
     

  • APIs compostas combinam vários dados ou APIs de serviço. Eles permitem que os programadores acessem vários endpoints em uma única chamada. APIs compostas são úteis na arquitetura de microsserviços, onde executar uma única tarefa pode exigir informações de várias fontes.

Protocolos de API

Como o uso de APIs da web aumentou, determinados protocolos foram desenvolvidos para fornecer aos usuários um conjunto de regras definidas, ou especificações de API, que criam tipos de dados, comandos e sintaxe aceitos. Em vigor, esses protocolos de API facilitam a troca de informações padronizada.

  • SOAP (Simple Object Access Protocol): criado com XML, o SOAP permite que os endpoints enviem e recebam dados por SMTP e HTTP. As APIs SOAP facilitam o compartilhamento de informações entre aplicativos ou componentes de software que estão em ambientes diferentes ou escritos em diferentes idiomas.
     

  • XML-RPC (XML-Remote Procedure Call): o protocolo XML-RPC depende de um formato XML específico para transferir dados. O XML-RPC é mais antigo que o SOAP, mas muito mais simples e relativamente leve, pois usa largura de banda mínima.
     

  • JSON-RPC: como XML-RPC, JSON-RPC é uma chamada de procedimento remoto, mas JSON (JavaScript Object Notation) é usado em vez de XML para transferir os dados.

  • REST (Representational State Transfer): REST é um conjunto de princípios de arquitetura da API da web. APIs REST— também conhecidas como API RESTful) — são APIs que aderem a certas restrições arquitetônicas REST. É possível criar APIs RESTful com protocolos SOAP, mas os dois padrões são geralmente vistos como especificações concorrentes.

Tradicionalmente, a API se refere a uma interface conectada a um aplicativo criado com qualquer uma das linguagens de programação de baixo nível, como o Javascript. As APIs modernas, entretanto, aderem aos princípios REST e ao formato JSON. Normalmente, eles são criados para HTTP, resultando em interfaces amigáveis ao desenvolvedor que são facilmente acessíveis e amplamente compreendidas por aplicativos escritos em Java, Ruby, Python e muitas outras linguagens.

APIs vs. serviços da Web

Um serviço web é um elemento de software que pode ser acessado e permite a transferência de dados por meio de um endereço na web.Uma vez que um serviço web torna os dados e funcionalidades de uma aplicação acessíveis para outras aplicações, podemos dizer que, essencialmente, todo serviço web é uma API.No entanto, nem toda API é um serviço web.

APIs são qualquer componente de software que serve como intermediário entre dois aplicativos desconectados. Enquanto os serviços da web também conectam aplicativos, eles exigem uma rede para fazer isso. Quando algumas APIs são de código aberto, os serviços web são normalmente privados e somente parceiros aprovados podem acessá-los.

APIs, microsserviços e desenvolvimento nativo na nuvem

Microsserviços é um estilo arquitetônico que divide uma aplicação em componentes menores e independentes (também chamados de microserviços), conectados por meio de APIs REST. A construção de uma aplicação como um conjunto de serviços separados permite que os desenvolvedores trabalhem em um componente da aplicação independentemente dos outros, tornando as aplicações mais fáceis de testar, manter e dimensionar.

A arquitetura de microsserviços se tornou mais predominante com o surgimento da computação em nuvem, junto com os contêineres e Kubernetes, é fundamental para o desenvolvimento de aplicativos nativos em nuvem.

Soluções relacionadas
Automação em Nuvem IBM

Escolha automação inteligente para lidar com operações de negócios e TI em escala para toda a sua organização.

Explore a automação na nuvem
IBM® API Connect

Gerencie seu ciclo de vida de API em várias nuvens, aumente a socialização e otimize os esforços de monetização em todo o ecossistema de negócios.

Explore o IBM API Connect®
IBM Cloud Pak® for Integration

Use a automação de IA de circuito fechado para oferecer suporte a vários estilos de integração.

Conheça o Cloud Pak for Integration
Soluções de integração

Conecte, automatize e libere o potencial de negócios com soluções de integração

Explore as soluções de integração
Recursos O que é SSO (Single Sign On)?

Saiba como a conexão única simplifica a autenticação, melhora a experiência do usuário, fortalece a segurança e oferece suporte a uma abordagem zero trust.

O que é o Kubernetes?

O Kubernetes é uma plataforma de orquestração de contêineres de código aberto que automatiza os processos de implantação, gerenciamento e dimensionamento de aplicações conteinerizadas.

Relatório Gartner 2023 sobre capacidades críticas

Leia o motivo pelo qual a IBM foi considerada líder em capacidades críticas na gestão de API.

Dê o próximo passo

O IBM® API Connect® é uma solução segura de API Management que utiliza uma experiência intuitiva para ajudar a criar, gerenciar, proteger, socializar e monetizar APIs de forma consistente, ajudando a impulsionar a transformação digital no local e na nuvem. Isso significa que você e seus clientes podem potencializar aplicações digitais e estimular a inovação em tempo real. O IBM API Connect também está disponível com outros recursos como parte do IBM Cloud Pak for Integration, que pode ajudá-lo a automatizar a modernização de aplicações e o API Management como parte de sua jornada para a nuvem.

Explore o IBM API Connect®