Você está na página 1de 3

O que API?

Conectividade algo incrvel. A tecnologia unificou o mundo, hoje


podemos acessar dados a qualquer hora de qualquer lugar do mundo,
de nossos computadores pessoais ou aparelhos mveis. Do seu
smartphone, por exemplo, voc pode checar horrios de voos,
consultar o clima da sua regio, postar em redes sociais e at mesmo
realizar comprar, com apenas alguns cliques. Tudo est de alguma
forma conectado, mas voc sabe como isso funciona? Como uma
informao do outro lado do mundo chegam at o seu celular? Como
diferentes plataformas, dispositivos e aplicaes conseguem se
comunicar? Como podemos realizar tarefas antes to complicadas em
apenas alguns passos? A resposta para essas perguntas uma
ferramenta chamada de API (EPiAi) ou tambm Application
Programming Interface. Chamada no Brasil de Interface de
Programao de Aplicao, a API a ferramenta responsvel pela
conectividade e interao presente no mundo atualmente. Mas o que
exatamente uma API? Qual a sua definio? Como funciona?
Segundo o Free Online Dictionary of Computing (1994) API uma
ferramenta que que realiza comunicao entre aplicaes que
desejam compartilhar suas rotinas, ferramentas, padres e
protocolos. uma de mensageiro entre sistemas, exemplificando de
maneira familiar, a API como um garom de um restaurante. O
cliente, neste caso a aplicao que deseja receber os servios,
recebe do garom o menu com todos os itens daquele restaurante. Ao
escolher uma opo o garom leva este pedido at a cozinha onde
por sua vez o cozinheiro, que neste caso a aplicao que
compartilha seus servios, realizando o pedido como foi descrito pelo
cliente. Ao concluir o pedido o cozinheiro avisa o garom, este por sua
vez entrega o pedido ao cliente completando o processo.
API uma interface software-to-software, isso quer dizer que o
usurio no v o processo de pedido ou de resposta. Tudo que o
usurio v uma integrao entre sistemas diferentes, de modo que
ele consegue realizar vrias aes em um nico lugar. Por exemplo,
todos nos alguma vez j procuramos por passagens reas. Existem
muitas companhias e cada uma possui seu prprio site em que
podemos procurar por assentos em seus voos de acordo com nossas
preferencias. Mas alguns sites renem pesquisa de diversas
companhias reas ao redor do mundo em um s lugar. Esses sites
usam APIs de diversos sites para consultar os melhores assentos e
preos entre diversas companhias.
O que REST API?
Ns programadores escutamos muito falar de Google API, Facebook
API, Twitter API e muitas outras. Essas API so chamadas de REST API,
Representative State Transfer, so os tipos de API mais conhecidas,

funcionando basicamente como um servio web, um cliente realiza


uma chamada a um servidor e este por sua vez entrega uma resposta
via protocolo HTTP. Para exemplificar um pouco melhor este tipo de
API vamos realizar um exemplo prtico utilizando o Graph API do
Facebook:

Ao acessar via navegador o domnio:


https://www.google.com.br/maps/place/Curitiba+-+PR/
Somos redirecionados a uma pgina que qualquer usurio de Google
Maps est familiarizado, onde vemos o mapa da cidade de Curitiba,
em que podemos ver dados como nome de ruas e bairros. Deste
mesmo modo agora, se acessarmos o link abaixo estaremos fazendo
uma requisio ao Google Maps para a API Geocode com formato
de resposta JSON, JavaScript Object Notation, do endereo da cidade
de Curitiba. Estes dados so chamados de parmetros e so
essenciais para se obter um resultado durante uma chamada de API.
http://maps.googleapis.com/maps/api/geocode/json?
address=curitiba&sensor=false
Realizando a requisio acima, o servidor ir responder no formato
JSON com todos os principais dados sobre o endereo. A resposta
pode tambm ser vista abaixo:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Curitiba",
"short_name" : "Curitiba",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Curitiba",
"short_name" : "Curitiba",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Paran",
"short_name" : "PR",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Brasil",
"short_name" : "BR",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Curitiba, Curitiba - PR, Brasil",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : -25.346995,
"lng" : -49.1897636
},
"southwest" : {
"lat" : -25.6432382,
"lng" : -49.38983289999999
}
},
"location" : {
"lat" : -25.4289541,
"lng" : -49.267137
},

"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : -25.346995,
"lng" : -49.1897636
},
"southwest" : {
"lat" : -25.6432382,
"lng" : -49.38983289999999
}
}
},
"place_id" : "ChIJ3bPNUVPj3JQRCejLuqVrL20",
"types" : [ "locality", "political" ]
}
],
"status" : "OK"
}

Com o resultado da nossa requisio, podemos analisar esses dados


de maineira melhor. Primeiramente temos os dados chaves que esto
entre aspas e antes de dois pontos, quando existir. As chaves servem
para nos mostrar qual o tipo de dado que vir, da mesma maneira
que as variveis em um cdigo, que recebem um tipo ao serem
declaradas. E posteriormente os dados em si. Por exemplo, para
sabermos as coordenadas desta cidade basta olharmos para a chave
results, depois geometry e por ultimo location.
Alexandre Gouveia