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!