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!