Para que serve uma API?

Imagine a situação: duas pessoas precisam ir de Belo Horizonte a São Paulo de avião. Uma irá consultar os preços das passagens diretamente na página da companhia de sua preferência, 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 terceiro, as duas pessoas tenham a chance de conseguir a mesma poltrona, no mesmo avião? A resposta está na API.

O que é API?

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 para executar operações comuns para que eles não tenham que escrever um código do zero.

Para facilitar, vamos supor uma situação. Você está num restaurante e gostaria de fazer um pedido, logo, seu primeiro contato será com o garçom para consultar o cardápio. Feita a escolha, você irá perguntar ao garçom a disponibilidade para aquela refeição. Assim, ele precisará ir até a cozinha checar a possibilidade com os responsáveis. Feita a consulta, ele retorna até você para confirmar o pedido.

Toda essa situação acontece também durante o uso de API. Quando usamos aplicativos de mobilidade urbana como a Uber, nós precisamos digitar o endereço de origem e destino, correto? Inserimos as informações na barra de busca e selecionamos as opções de endereço oferecidas pelo aplicativo.

Dessa forma, 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, isto é, os endereços. Portanto, dentro da analogia, a barra de pesquisa é o garçom e os responsáveis pela cozinha são as empresas de geolocalização, tal como o Google Maps e o Mapbox.

No entanto, as APIs são invisíveis aos usuários. Elas funcionam como pontes, integrando softwares. Elas são codificadas para trazer dados das consultas, viabilizando que os usuários experimentem uma fluidez de conexão sem interrupções.

Os tipos de API

Essa definição acima parece bastante genérica, mas é verdadeira. Isto porque existem diferentes tipos de API: para aplicativos de bicicleta e patinetes é necessária uma para a integração dos hardwares dos veículos; já para apps de streaming como a Netflix é necessária uma API para o conteúdo audiovisual; para realizar login numa plataforma através de contas de redes sociais também requer a integração; e por aí vai.

Portanto, APIs são diversas. Além disso, existem duas categorias nos exemplos acima: as pagas e as gratuitas. Precisamos assinar para ter acesso à Netflix, enquanto que o login por uma conta existente é gratuito. Cada um oferece um tipo de benefício, bem como a monetização, como veremos a seguir.

Como monetizar API

Como visto, existem APIs gratuitas e pagas. Ainda que não pareça, é possível ganhar dinheiro com ambas as formas.

As públicas geralmente são aquelas para cadastros, servindo como coletoras de dados que, por sua vez, poderão ser comercializados. Contudo, o tratamento de dados deve estar conforme a Lei Geral de Proteção de Dados (LGPD) para que os usuários tenham total controle sobre suas informações. A venda de dados não é proibida, porém existem alguns critérios para cumprir antes.

Quanto as APIs pagas, elas podem funcionar na lógica de assinatura e freemium como no caso da Netflix. Há um período free para testes num dado período. Passado ele, há cobranças de assinatura.

Como as APIs também fazem parte dos aplicativos mobile, existem também maneiras de monetização de apps.

Como criar uma API?

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, seja num tipo de padrão ou formato aberto como JSON ou XML. Isto é, REST pode ser virtualmente utilizada por qualquer linguagem de programação. Isso porque a maioria das boas linguagens podem fazer requerimentos HTTP de alguma forma, seja PHP, Javascript, Python, etc.

O que é API REST?

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 você está realizando um requerimento POST, por exemplo.
  • 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 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.

Para facilitar nesse processo de desenvolvimento de APIs, o Google Cloud Endpoints pode ser uma ferramenta excelente. Com ela será possível implementar, proteger e monitorar as APIs de forma simples e gratuita durante o período de testes. 

Conclusão

As APIs vieram para ficar! Sua importância se estende além dos benefícios a empresas e desenvolvedores de aplicativos, os quais 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.

Falar com consultor
Olá, como podemos ajudar?
Powered by

Desenvolvido por Controle Online - Desenvolvimento de aplicativos

Hospedado por Go Infinite