o-que-e-uma-api

Saiba o que é e para que serve uma API

Imagine a situação: duas pessoas precisam ir de Belo Horizonte a São Paulo, e precisam de passagens de avião. Uma irá consultar os preços diretamente na página de sua companhia aérea predileta; a outra, utilizará um site terceirizado que compara e filtra os preços de diversas empresas. Como é possível que, por meio de um serviço que não tem nada a ver com a empresa, as duas pessoas tenham a chance de conseguir a mesma poltrona, no mesmo avião? A resposta está na API.

Mas o que é isso?

Uma API (Application Programming Interface) é um conjunto de comandos, funções, protocolos e objetos que os programadores podem usar para criar softwares ou interagir com sistemas externos. Ela fornece aos desenvolvedores comandos padrão para executar operações comuns para que eles não tenham que escrever um código do zero. Em suma, é o elemento responsável por garantir que você experimente uma fluidez perfeita de conexão, ou seja, sem interrupções: em nenhum momento o usuário percebe que está vinculado a várias redes e transferindo dados através de diversos servidores.

o que sao apis
Você já se perguntou como Spotify e Netflix, por exemplo, podem estar presentes em tantas plataformas, serem transportados entre diferentes telas, projetados em quaisquer dispositivos digitais? Essa integração só é possível porque essa informação já foi processada de forma centralizada, e pode ser distribuída através de muitos endpoints – é graças à API que os dispositivos podem dialogar e interagir uns com os outros. É como se um software dissesse ao outro: “dê a informação X para mim, formatada de maneira Y e eu te darei os dados ou função Z como resposta”.
As APIs podem ser Locais quando ocorrem entre um programa e outro (por exemplo, quando você copia um texto do Libre Office e consegue colá-lo em uma planilha do Excel) ou de Web quando em processo de conectividade, unindo endpoints para diferentes fins. Um endpoint, por sua vez, consiste em uma das extremidades comunicantes, e pode ser a URI ou URL para o qual os requerimentos HTTP são enviados.
Quando você utiliza um aplicativo no seu telefone celular, o app se conecta à Internet e envia dados para um servidor. O servidor então recupera esses dados, interpreta-os, executa as ações necessárias e os envia de volta ao seu aparelho. O aplicativo então interpreta esses dados novamente e apresenta ao servidor a informação que você queria de forma legível.
Só que não basta que as empresas ofereçam dados umas às outras, pois o processo de analisar todo o código de uma empresa, quando se quer um único dado ou acesso a uma única função, seria tão longo e custoso quanto desenvolver uma forma de conseguir essas informações por meios mais burocráticos. As APIs proporcionam que esse “recorte” seja possível, limitando acesso de programas externos a um conjunto específico de recursos. Os dados do seu telefone nunca estão totalmente expostos ao servidor e, da mesma forma, o servidor nunca está totalmente exposto ao seu telefone. Ao invés disso, cada um se comunica com pequenos pacotes de dados, compartilhando apenas o que é necessário.

Ainda não entendi…

Por exemplo: vamos supor que você seja dono de um aplicativo de delivery. Você precisa de dados de identificação para que o usuário entre no seu app e faça o pedido. Mas exigir que ele preencha um formulário enorme com nome completo, e-mail, telefone, etc. pode causar um impedimento desnecessário, podendo acarretar até no abandono do seu app pelo cliente. Isso pode ser evitado instalando um recurso de “Entrar com Facebook” ou “Entrar com Google”, por exemplo. O Google em si produz toneladas de dados diferentes, mas você irá requerir da empresa apenas os dados necessários referentes à função “login”. Isso é API.
As APIs permitem que a conectividade se torne fácil, rápida e conveniente, e os processos cada vez mais automatizados: planilhas, listas de nomes e e-mails, endereços e outros dados podem ser integrados em diferentes mídias e plataformas. Seguindo ainda com o exemplo do aplicativo de delivery: você pode oferecer promoções ou tickets de desconto para os usuários que curtirem sua página do Facebook ou seguirem o perfil do produto no Twitter, integrando os dados do app e das redes sociais por meio destes requerimentos.
Hoje em dia, novos recursos como realidade aumentada, entrega de conteúdo e wearables só são possíveis com o auxílio de APIs. Com as possibilidades da organização, armazenamento e compartilhamento de dados por nuvem, os modelos de API utilizados hoje cada vez mais se aproximam dos RESTful centrados na Web, e até mesmo dos voltados à “programação funcional” – um estilo que enfatiza a avaliação de expressões ao invés da execução de comandos.

E como API funciona?

A forma mais comum de se realizar API hoje é chamada de REST (Representational State Transfer), um estilo de arquitetura computacional voltada ao design de aplicações interligadas por rede. Ele depende de um protocolo de comunicação sem estado (ou seja, cada requisição conta como transação independente, sem relação com requisições prévias) e de um modelo cliente-servidor, quase sempre HTTP (que é basicamente a fundação da comunicação via Internet e Web). Toda vez que você insere uma URL no seu browser e carrega uma página, ele está fazendo um requerimento HTTP a algum servidor.
A REST foi concebida para tratar objetos originados do servidor como recursos que podem ser criados, atualizados ou destruídos. Exemplo: uma postagem de blog em um banco de dados. A postagem pode ser criada através da utilização de um requerimento para criação de postagem, atualizado com um requerimento de atualização ou deletada com um requerimento de eliminação, e por aí vai. O que torna a REST incrível é o fato dela conseguir realizar todas as suas operações só por meio de HTTP, mais algum tipo de padrão ou formato aberto como JSON ou XML. Ou seja, REST pode ser virtualmente utilizada por qualquer linguagem de programação. Isso porque a maioria das linguagens boas podem fazer requerimentos HTTP de alguma forma, seja PHP, Javascript, Python, etc.

Em resumo

A API funciona como o mensageiro, que leva a informação de um ponto a outro. Já a REST nos permite utilizar requerimentos HTTP para formatar essas mensagens. Quando uma interface permite a integração desse tipo de transferência, ela é chamada de RESTful.
Agora que estabelecemos a definição de uma API REST, podemos ver os principais métodos e requerimentos específicos que podem ser feitos a um servidor através de HTTP.
GET: o mais comum. Como citado acima, o cliente browser do seu computador realiza esse requerimento a todo instante, só pelo ato de visitar uma URL de certo servidor. Como o nome diz, ele serve para recuperar dados de um recurso específico.
POST: usado diariamente pela maioria dos usuários da Internet. Ele permite o envio de dados para serem processadas por um recurso específico. Toda vez que você preenche um formulário web, por exemplo, você está realizando um requerimento POST.
PUT: requerimento usado para atualizar um recurso específico. Normalmente, você precisa enviar requerimentos a uma das extremidades comunicantes (endpoints), para que o servidor saiba qual recurso você está tentando atualizar.
DELETE: como o próprio nome diz, consiste no requerimento direcionado a apagar um recurso específico.
Algumas APIs exigem autenticação para que determinados serviços sejam utilizados. Essa autenticação pode ser gratuita ou paga, de acordo com a vontade da empresa.
Neste link você pode encontrar um exemplo real de API, incluindo a documentação e os procedimentos necessários para solicitar dados de uma empresa. Esse tipo de arquivo normalmente contém informações sobre quais endpoints e métodos você precisa utilizar, exigências para autenticação, paginação, entre outros dados. No setor “HTTP Verbs”, por exemplo, é possível descobrir quais requerimentos podem ser feitos a determinado servidor ou recurso, e em determinados endpoints.

https verbs API

Concluindo:

As APIs vieram para ficar! Sua importância se estende além dos benefícios a empresas e desenvolvedores de aplicativos, onde podem efetivamente pular etapas burocráticas e processos desnecessariamente complexos. Mais que poupar tempo e dinheiro de produtores e consumidores, são elas que promovem a costura dos pedaços que formam experiência da conectividade, assimilando e mediando o compartilhamento de informações através da rede.
Ficou faltando alguma informação? Quer dar alguma dica sobre a melhor forma de obter uma API? Deixe seu comentário abaixo!

Saiba o que é e para que serve uma API
5 (100%) 2 votes

  • Caio Aniceto
  • Estudante de Jornalismo. Protótipo de artista. Gamer, cinéfilo e comediante nas horas vagas. Amante do marketing criativo, das campanhas virais e das narrativas transmídia. Praticante das ciências ocultas e defensor inveterado da Tecnocracia. Jura que foi um androide na vida anterior.