Saber onde o visitante da Web está localizado é uma vantagem incrível para qualquer site; o senhor pode mostrar conteúdo relativo, como mapas, preços e disponibilidade, exibir seu conteúdo no idioma provável, etc. – não posso exagerar o quanto essas informações são úteis. É claro que temos a API de geolocalização HTML5, mas ela é baseada em permissões e, mesmo que seu serviço não negligencie sua finalidade, o pop-up de geolocalização do navegador pode parecer assustador.
Se a geolocalização for essencial para o seu aplicativo, a API de geolocalização do HTML5 não é confiável o suficiente; em vez disso, o senhor desejará usar, como opção principal ou secundária, um serviço de localização baseado em IP, e eu realmente gostei de experimentar o ipstack!
Resultados rápidos
- O ipstack permite que o senhor registrar-se gratuitamente
- A única informação necessária é o endereço IP – o ipstack faz o resto
- Receba o nome e o código do país, país, região, código postal e muito mais
- O JSON de resposta é pequeno, simples e personalizável
- Receba a preferência de moeda do local
- Com a confiança da Airbnb, Microsoft, Samsung, Activision e muito mais
- O ipstack é da apilayer, o mesmo provedor de serviços para o currencylayer, eversigne streetlayer
- O ipstack permite que o senhor use JSONP
Usando o ipstack
Com base em minha experiência anterior com as APIs do apilayer, eu sabia que o ipstack seria fácil de usar, e ele não decepcionou. Para obter as informações básicas sobre um determinado endereço IP de visitante, faça uma chamada para o seguinte URL:
http://api.ipstack.com/75.135.72.123
?access_key=MY_API_KEY
&format=1
Uma resposta simples da API seria semelhante a:
{
"ip":"75.135.72.123",
"type":"ipv4",
"continent_code":"NA",
"continent_name":"North America",
"country_code":"US",
"country_name":"United States",
"region_code":"WI",
"region_name":"Wisconsin",
"city":"Madison",
"zip":"53711",
"latitude":43.0208,
"longitude":-89.36,
"location":{
"geoname_id":5261457,
"capital":"Washington D.C.",
"languages":[
{
"code":"en",
"name":"English",
"native":"English"
}
],
"country_flag":"http:\/\/assets.ipstack.com\/flags\/us.svg",
"country_flag_emoji":"\ud83c\uddfa\ud83c\uddf8",
"country_flag_emoji_unicode":"U+1F1FA U+1F1F8",
"calling_code":"1",
"is_eu":false
}
}
O senhor também pode enviar IPs em massa, separando os IPs por vírgula:
http://api.ipstack.com/75.135.72.123,75.135.72.124
?access_key=MY_API_KEY
&format=1
## Result: [{ }, { }]
O ipstack também permite que o desenvolvedor especifique os campos de saída, incluindo mais informações, como a moeda da região:
http://api.ipstack.com/75.135.72.123
?access_key=MY_API_KEY
&fields=ip,location,security
{
"ip":"75.135.72.123",
"location":{
"geoname_id":5261457,
"capital":"Washington D.C.",
"languages":[
{
"code":"en",
"name":"English",
"native":"English"
}
],
"country_flag":"http:\/\/assets.ipstack.com\/flags\/us.svg",
"country_flag_emoji":"\ud83c\uddfa\ud83c\uddf8",
"country_flag_emoji_unicode":"U+1F1FA U+1F1F8",
"calling_code":"1",
"is_eu":false
}
}
O senhor pode até mesmo usar JSONP, sem necessidade de servidor:
https://api.ipstack.com/75.135.72.123
?access_key=MY_API_KEY
&callback=MY_FUNCTION_NAME
Não precisar de um proxy de servidor para a funcionalidade de front-end é um futuro muito útil para desenvolvedores como eu.
Fechamento
A única surpresa que tenho ao usar os serviços IP do apilayer é a quantidade de informações que posso obter com base em tão poucas informações; o URL da chamada é sempre previsível e a resposta é sempre tão simples quanto eu esperava. Atualmente, fiquei surpreso com o fato de o ipstack fornecer informações sobre a moeda e permitir que os desenvolvedores especifiquem as informações de resposta desejadas – as APIs normalmente não permitem que o senhor faça isso. No final das contas, ipstack é exatamente o que o senhor deseja em uma API: fornece o máximo de informações que desejar, é fácil de usar e flexível!
