Concrete Logo
Hamburger button

A Economia das APIs

  • Blog
  • 18 de Abril de 2014
Share

*Post de Edgar Silva, autor convidado

Introdução

No mercado acelerado de hoje em dia atender os clientes, ganhar diferenciais competitivos e promover novos canais de atendimentos são parte dos post-its de prioridades em muitas salas de CMOs, CIOs e até CEOs.

Com a velocidade das transformações dos negócios, a busca de inovação e por soluções disruptivas faz as empresas estarem cada vez mais presentes nos ecossistemas de alternativas de soluções ou, como conhecemos no jargão atual, Market Places.

Essa busca por promover maiores integrações e atender todos os post-its que viraram metas do planejamento estratégico de grandes organizações demanda o que chamamos de APIs (Application Programming Interface). Em resumo, uma API é especificada como as “partes” ou “elos” que se comunicam, sendo estas partes/elos: softwares, serviços, aplicativos, pessoas, etc. Uma API é uma porta de entrada para um mundo mais integrado e conectado.

Se você está na sua mesa, pode observar um plug de tomada. Ele tem um “formato” no qual seu serviço (laptop) precisa se comunicar/encaixar para consumir outro serviço chamado eletricidade. E é basicamente assim, ligando partes, que as APIs funcionam no mundo moderno.

Edgar1

De forma introdutória, assumimos que as APIs podem ser até mais importantes do que as partes. Afinal de contas, se você for passar férias em Paris e não levar seu adaptador você não conseguirá fazer com que seu serviço laptop consuma o serviço eletricidade de lá, uma vez que a interface (elo, ligação) não será compatível.

Neste post, vamos abordar sob a perspectiva de negócios porque a economia das APIs irá mudar a forma que as empresas, pessoas e aplicativos interagem.

APIs e o multicanalismo

Atualmente é impossível você não observar pessoas grudadas em seus devices, sejam smartphones, tablets, pulseiras que registram atividades, etc. Vivemos em uma era onde a computação “ubiquia” (onipresente) já é uma realidade. Muitas pessoas escolhem seus restaurantes e cafés com base na qualidade de seus serviços wireless, para que seus pequenos bichinhos virtuais possam ganhar vida. Afinal, eles podem informar ao café qual é o seu café preferido ou se você está de dieta ou não com base em seus últimos check-ins e pedidos, além de avisar seus colegas que você está neste recinto pedindo o lançamento do estabelecimento ou até mesmo avisar aos interessados que o engarrafamento naquele lugar está muito complicado.

Vamos tentar destacar do parágrafo acima os canais que interagimos em um simples café ou almoço com os amigos:

  • Wireless (Acesso/Pago/Freemium/Fidelidade/Cliente de outro serviço);
  • Smartphones, Tablets, Pulseiras Inteligentes;
  • Redes Sociais (Checkins, Produtos Consumidos e Avaliações);
  • Omni-Channel para reconhecimento do cliente que retornou;
  • Geolocalização (Tráfego, Estabelecimento);

Observe que muitas informações são empurradas (push) para nós, assim como também empurramos (push) para os serviços e estes, por sua vez, devem se virar para saber o que fazer com esse enorme volume de informações. Podemos concluir que podemos muitas vezes ter muito mais informações do que responsáveis por processá-las.

É nessas horas que as APIs começam a ganhar um papel importante, pois uma vez que você crie uma API para um determinado propósito, outras pessoas vão utilizar essa sua API e juntar mais outras APIs para formar um novo aplicativo ou até dar origem a uma nova .

A chegada das APIs nas Empresas

As APIs estão chegando de várias formas nas empresas, seja pela necessidade, pela busca de destaque no mercado ou, no que chamamos de governo eletrônico, para as agências de governo. Existem empresas que, antes mesmo de criarem seu site, estão pensando em seus serviços via API.

Imagine o número de possibilidades para um canal de e-commerce, por exemplo:

a) Empresa vende reservas em hotéis e pacotes de viagens: se ela disponibilizar uma API, esta pode ser utilizada em vários outros canais, como:

  • Sites de compras de passagens ou companhias aéreas
  • Sites de fidelização de clientes (Loyalty)
  • Premiação por compras diversas, cupons de presente, etc.
  • Totens de venda em shoppings, postos de gasolina, etc.

No cenário acima, imagine agora que a empresa fornecedora da API de hotéis, ao invés de ter um único canal de vendas no seu site, ganha no mínimo 5 novos canais. Se cada canal incrementar suas vendas em 10%, ela ganhará um aumento em faturamento de 50%. Imagine agora se o modelo for orgânico e exponencial. Ela poderá, em um determinado momento, “viver” somente de sua API.

Isso foi o que aconteceu com a Expedia (https://www.expedia.com), por exemplo.

Anatomia de uma API:

a) Quanto à localização e parâmetros

Uma API começa no seu ponto de partida, que é seu endereço/localização. Uma URL, por exemplo: https://www.minhaempresa.com.br/api/v1/ofertas

Vamos verificar a composição desta API:

  • Temos uma API da empresa hipotética: minhaempresa.com.br
  • Que tem uma API na versão 1.0: /api/v1/
  • Temos a API e/ou serviço: ofertas

Esta API pode devolver, por exemplo, as minhas ofertas de hoje, já que podemos assumir que nenhum parâmetro retornará esse resultado. Porém, podemos criar parâmetros em nossa API, por exemplo:

https://www.minhaempresa.com.br/api/v1/ofertas/{dia}/{mes}/{ano}/{categoria}/{regiao}

ou

https://www.minhaempresa.com.br/api/v1/ofertas/{categoria}/{regiao}/{cidade}

E, de acordo com o preenchimento, temos resultados diferentes. Para que você visualize:

https://www.minhaempresa.com.br/api/v1/ofertas/restaurantes/sudeste/saopaulo

Retornaria todas as ofertas de restaurantes de São Paulo.

b) Quanto a formatos

Uma API pode detectar de onde ela foi chamada (de um device ou de um browser, por exemplo) e, de acordo com essa chamada, devolver o formato mais interessante.

As APIs tiveram seus primeiros formatos de perguntas e respostas baseadas no SOAP (“Simple” Object Access Protocol), que basicamente enviava um envelope no formato XML com os parâmetros preenchidos e toda a semântica da mensagem obedecida e o retorno era também um envelope XML.

As APIs mais modernas utilizam mais o formato REST do que SOAP, por serem mais leves e simples, além de devolverem o formato JSON, que é menos pesado mas tão poderoso quanto o XML.

APIs como nova fonte de receita para as novas empresas

Se formos observar o API Bilionaires, perceberemos que existe um clube seleto de empresas que fazem parte dos seus negócios por meio de suas APIs, segundo a imagem abaixo:

Edgar2

Deste gráfico, se formos capturar o Netflix podemos observar um grande insight na estratégia deles. Quando eles decidiram abrir uma API, eles deram um golpe de misericórdia (em termos de negócios) no seu até então grande concorrente, pois com a API deles várias TVs, Games Consoles, Tablets e diversos dispositivos começaram a embarcar aplicativos que acessam o Netflix.

Edgar3

O Netflix tem uma história de sucesso que estimula várias empresas a buscarem essas iniciativas, uma vez que todos que transacionam algum serviço via web têm potencial para expor uma API de serviços.

APIs e o Governo Eletrônico

Barack Obama, presidente dos EUA, teve algumas iniciativas dignas de respeito em seu governo. Uma delas, sem dúvida, é a coragem de criar um goveno aberto e eletrônico (https://www.whitehouse.gov/open) que tenta engajar cidadãos e empresas a colaborar e criar melhores soluções para toda a sociedade.

No Brasil, vários orgãos tentam implantar essas iniciativas, seja começando com APIs privadas ou também com muitas APIs públicas, para que o cidadão possa decidir como usá-las, da maneira que preferir.

No governo, começamos bem com a competência de Dados Abertos, na qual muitas agências vêm expondo estes dados por meio de APIs a fim de implementar um conceito de transparência. Um exemplo é o Dataprev (https://api.dataprev.gov.br/doc/dadosDisp.htm), que expõe uma API para fornecer, por exemplo, os acidentes de trabalho do ano de 2009 em formato JSON:

https://api.dataprev.gov.br/previdencia/anuario/2009/acidentes-do-trabalho.json

Ou os acidentes de trabalho de 2003 em formato XML:

https://api.dataprev.gov.br/previdencia/anuario/2003/acidentes-do-trabalho.xml

Observação: Pelo que percebi, a base só está alimentada até 2009.

Como criar APIs consistentes e de forma ágil

É importante que você atente para o ciclo de desenvolvimento de uma API:

Edgar4

Vamos descrever resumidamente cada uma destas fases:

Design/Desenho

É importante que você valide a semântica da sua API, ou seja, que você crie um rascunho das URLs que vão representá-las, suas ideias, seus formatos, etc., nem que seja em um guardanapo (napkin) ou papel de pão, como abaixo:

Edgar5

É claro que você pode ter algo melhor que esse rascunho, que pode ser perdido, ou sem nenhuma execução. Para isso proponho o uso do RAML (Restful Modeling API Language) – https://raml.org/ , que é um padrão aberto, apoiado por várias empresas, que ajuda empresas a especificarem suas APIs usando uma notação próxima do YAML e em uma ferramenta visual na Web. Esta especificação da API inicia em formato texto mais ou menos assim:

Edgar6

Para tornar essa codificação, você pode usar uma ferramenta como o RAML Designer (https://api-portal.anypoint.mulesoft.com/raml/api-designer)

Edgar7

Engajamento

É importante que você chame a atenção dos seus consumidores de API criando portais com documentações, exemplos, colaboração dos desenvolvedores e usuários, como por exemplo o Extra.com.br fez com sua estratégia de APIs neste site:

https://desenvolvedores.extra.com.br/api-portal/docs/apilojistav1/apis/index.html

Edgar8

Sem audiência, sua API não se populariza, não cresce e, consequentemente, não se monetiza.

Implementação

É importante que a API possa ser implementada da melhor maneira possível. Agora é hora de dar vida e preenchimento às ações da API e de decidir qual tecnologia, plataforma, linguagem de programação você vai usar. Você pode até mesmo usar uma plataforma de integração que possa trazer mais agilidade nesta fase.

Gerenciamento

Como diz o dito popular: “velocidade não é nada sem controle”. É importante saber como vamos expor nossas APIs, quem e como vai consumir, quanto podemos cobrar por acesso ou por quantidade de acessos, ou o número máximo de acessos em um determinado tempo, etc. Imagine você adicionando políticas on-the-fly e tendo todas as informações analíticas, gráficos de acesso e alertas conforme alguma ação de mercado.

Conclusão

APIs vão mudar a forma como fazemos negócios e nossas experiências, assim como alguns aplicativos móveis já fazem hoje, muitos deles já usando APIs. Vamos poder chegar a uma era na qual as máquinas, carros, prédios e transportes vão interagir com APIs de uma maneira tão natural quanto você hoje deslizar os dedos para atender uma chamada telefônica.