Desde seu começo humilde, há mais de 25 anos,a rede mundial de computadores evoluiu de maneiras que nem mesmo os melhores analistas poderiam prever. Do que era essencialmente uma ferramenta para ajudar os pesquisadores a compartilhar informações, ela evoluiu para uma ferramenta de consumo da qual muitos de nós simplesmente não podemos viver. Ele mudou muitos aspectos de nossas vidas e passamos a confiar nisso, talvez mais do que deveríamos. Tornou-se tão comum que está mudando o setor de varejo. De grandes cadeias de lojas físicas, os principais varejistas agora são mercados baseados na Web.
Para ter sucesso, os varejistas on-line precisam não apenaspara estar presente na Web, mas eles também precisam utilizar totalmente seus recursos. Um desses recursos é a geolocalização. Essa tecnologia pode permitir que um varejista conheça a localização do visitante do site, um recurso útil para exibir taxas de envio estimadas ou apresentar ofertas específicas da localização. Uma das maneiras mais fáceis de se beneficiar da geolocalização é usar uma API dedicada que possa ser alimentada com um endereço IP e que retornará qualquer informação pertinente sobre esse endereço. o API do ipstack é um desses produtos e estamos prestes a descobrircomo faz sua mágica e o que pode fazer por você. Vamos dar uma olhada na funcionalidade básica da ferramenta e em como usá-la. Vamos ver como ele funciona, que tipo de documentação e suporte está disponível para o produto e dar uma olhada em sua estrutura de preços bastante simples.

Apresentando o ipstack
Na sua essência, o ipstack é uma API de geolocalização queusa vários ISPs interconectados para fornecer dados geográficos precisos. Você chama a API a partir do código do seu site e ele retornará uma infinidade de dados geográficos sobre os usuários do seu site. Obviamente, você obterá a localização geográfica do usuário (esse não é o ponto principal?), Mas isso não é tudo. Por exemplo, a ferramenta retornará um link para uma imagem da bandeira do país do usuário ou para uma versão emoji dela. Além disso, você obterá informações sobre se o usuário está acessando seu site por meio de um proxy. Entraremos em detalhes mais detalhados sobre tudo isso, conforme analisamos em detalhes os módulos disponíveis.
O projeto, inicialmente chamado freegeoip.net, viu a luz em 2009 como uma iniciativa de código aberto para ajudar os desenvolvedores. Por meio da melhoria contínua com base no feedback do usuário, ela evoluiu oito anos depois para o produto completo que estamos vendo. Durante esse período, a base de usuários do produto cresceu para mais de cem mil clientes satisfeitos. E eles não são apenas clientes. Gigantes como Microsoft ou Samsung estão usando a API. O mesmo acontece com o Airbnb e o HubSpot.
A API do ipstack usa um esquema altamente dinâmicoque atualiza seu banco de dados várias vezes ao dia, garantindo a integridade dos resultados retornados. Para esse propósito, o ipstack fez parceria com vários grandes ISPs em todo o mundo. A ferramenta realiza toda a comunicação através do canal criptografado em SSL de 256 bits - usando HTTPS - para proteger todas as transferências de dados. Os resultados podem ser retornados pela API no formato XML ou JSON, dependendo de suas necessidades específicas.
Uma das melhores partes da API do ipstack é a suamodularidade. Vários módulos disponíveis retornam cada vez mais dados sobre a localização do usuário. Isso cria uma ferramenta muito flexível. A velocidade também é um dos pontos fortes do produto. Você chama a API com o (s) parâmetro (s) apropriado (s) e obtém os resultados solicitados super rápido. Atualmente, a API do ipstack lida com mais de dois bilhões de solicitações diariamente e ainda está respondendo quase instantaneamente. Através de uma parceria com vários ISPs, o produto pode cobrir cerca de 2 milhões de locais e mais de duzentas mil cidades em todo o mundo. Ele também suporta endereços IPv4 e IPv6.
Como funciona a geolocalização
Antes de prosseguirmos, vamos fazer uma breve pausa edê uma olhada rápida na aparência da localização geográfica. Como você deve imaginar pelo nome do ipstack, isso tem a ver com endereços IP. Os endereços IP podem ser comparados - em certa medida - aos endereços postais. Cada dispositivo conectado à Internet possui um endereço IP exclusivo. Mas esses endereços IP não são apenas atribuídos aleatoriamente a todos os dispositivos. Há algum sentido nisso. Parte de um endereço IP identifica o dispositivo conectado individual e parte dele identifica a rede à qual está conectado. E a parte da rede em si é hierarquicamente organizada, como uma árvore de diretórios de disco do computador. (Espero que os engenheiros entre nossos leitores me perdoem por essa simplificação excessiva.)
É semelhante a um endereço postal com uma ruanúmero, nome da rua, cidade e, eventualmente, país. E, assim como o correio britânico não tem idéia de onde está localizado qualquer endereço nos EUA, ele enviará correio para o USPS, que cuidará do roteamento do correio para o local certo. E, assim como você pode inserir praticamente qualquer endereço postal em uma ferramenta como o mapa do Google e obter o local exato exato, você pode consultar uma ferramenta como a API ipstack com um endereço IP para obter sua localização.
Isso tem algumas limitações, no entanto. Por exemplo, você não obtém a localização exata do endereço IP. O que você obterá é o que o ISP que fornece o endereço IP pode fornecer. Isso geralmente não é muito mais preciso do que a cidade ou a vizinhança geral, embora alguns fornecedores retornem mais informações do que outros. Além disso, se o usuário processa uma VPN para acessar seu site, o que você obtém dessa pesquisa é a localização do servidor VPN que está usando.
Principais recursos da API ipstack
Os desenvolvedores da API do ipstack optaram por usar umabordagem modular com este produto. Consiste em vários módulos, cada um retornando um tipo diferente de informação. Existem, por exemplo, módulos de fuso horário, moeda ou até segurança. Você escolhe qual módulo usar usando os parâmetros apropriados ao enviar a solicitação à API do ipstack.
Existem algumas vantagens nessa abordagem. Primeiro, facilita a resposta da resposta. Se houvesse apenas um tipo de solicitação retornando todos os dados disponíveis sobre um endereço IP, o código do seu site precisaria analisar a resposta inteira para buscar as informações necessárias. Além disso, o envio de solicitações menores - com respostas menores - pode melhorar o desempenho.
Vamos dar uma olhada mais profunda em cada um dos disponíveismódulo, como chamá-los e como é sua resposta típica. Isso lhe dará uma visão bastante clara do que esperar dessa ferramenta poderosa.
O módulo de localização

O módulo mais básico da API do ipstack é oMódulo de localização. Retorna detalhes sobre a localização física do endereço IP fornecido na consulta. Você receberá o país do endereço IP, seu idioma principal ou oficial, além de um emoji para a bandeira do país, que você pode usar para personalizar a experiência do usuário.
Aqui está uma resposta típica a uma consulta à API do ipstack. A primeira parte está incluída em qualquer consulta, independentemente do módulo solicitado:
ip: "142.243.254.224" hostname: "142.243.254.224" type: "ipv4" continent_code: "NA" continent_name: "North America" country_code: "CA" country_name: "Canada" region_code: "QC" region_name: "Quebec" city: "Montreal" zip: H2V latitude: 45.5178 longitude: -73.6046
A maioria dos atributos retornados é auto-explicativa, mas você possui documentação detalhada no site do ipstack, caso precise de mais ajuda.
Mas, como falamos sobre o módulo de localização, vamos dar uma olhada em quais informações extras são retornadas ao usá-las:
location: Object {} geoname_id: null capital: "Ottawa" languages: Object {} code: "en" name: "English" native: ""English"" code: "fr" name: "French" native: ""Français"" country_flag: "http://assets.ipstack.com/flags/ca.svg" country_flag_emoji: "??" country_flag_emoji_unicode: "U+1F1E8 U+1F1E6" calling_code: "1" is_eu: false
Como você pode ver, as informações extras que você recebe sãoprincipalmente a capital do país, os vários idiomas em uso nesse local, um link para uma imagem da bandeira do país e o unicode do emoji do país.
O módulo de moeda

O módulo Moeda pode ser usado para continuarmelhore a experiência do usuário do seu site. Isso é particularmente verdadeiro em um site de compras, pois permite exibir preços na moeda do usuário. Os detalhes fornecidos incluem o nome e o símbolo da moeda local, bem como seu nome no plural. A API não converterá os preços na moeda adequada, é claro, mas permitirá que você use outra API para converter seus preços na moeda certa para seus visitantes. Vamos dar uma olhada na aparência da saída do módulo de moeda:
currency: Object{} code: "CAD" name: "Canadian Dollar" plural: "Canadian dollars" symbol: "CA$" symbol_native: "$"
O módulo de segurança

Provavelmente não tão popular - ou útil - quanto a anteriormódulos, o módulo de segurança ainda é interessante. Ele retorna informações sobre vários aspectos de segurança da conexão de entrada. Por exemplo, ele informa se o site é acessado por meio de um proxy e, em caso afirmativo, o tipo de proxy ou se a solicitação foi recebida pela rede tor. Também pode dizer que uma solicitação é de um rastreador e não de um usuário real. Este tipo de informação pode ser usado para evitar raspagem. O módulo também retorna o nível de ameaça associado ao endereço IP fornecido, permitindo potencialmente proteção bruta contra solicitações maliciosas. Aqui está uma resposta típica do módulo de segurança:
security: Object{} is_proxy: false proxy_type: null is_crawler: false crawler_name: null crawler_type: null is_tor: false threat_level: "low" threat_types: null
O módulo de fuso horário

Outro módulo que pode ser útil parapersonalizar a experiência do usuário dos visitantes do seu site é o módulo Fuso horário. Ele retorna alguns detalhes extras sobre - você adivinhou - os visitantes do seu site. Um dos lugares onde você pode usar esse recurso em sites que lidam com informações sensíveis ao tempo. Ele permite que você exiba a hora correta com base na localização de seus usuários.
O módulo fornece informações como deslocamento GMT, hora atual do usuário, código de hora e local do fuso horário, como você pode ver nesta resposta de amostra:
time_zone: Object{} id: "America/Montreal" current_time: "2019-07-09T12:39:22-04:00" gmt_offset: -14400 code: "EDT" is_daylight_saving: true
O módulo de conexão

Por último, mas não menos importante, é o Módulo de Conexão. Este é bastante simplista. Tudo o que ele retorna é o número do sistema autônomo (AS) associado ao endereço IP de origem, bem como o nome do ISP. Bem, na verdade, é o nome do proprietário do AS, e não o ISP. Algumas organizações registram seu próprio sistema autônomo, como é o caso no exemplo abaixo:
connection: Object{} asn: 395399 isp: "City of Montreal"
Este é provavelmente o menos útil de todos os módulos, mas alguns o acharão útil para vários fins analíticos.
Trabalhando com a API ipstack
Vimos quais informações podem serretornado pela API ipstack, agora é a hora de dar uma olhada em como ela é chamada. A API do ipstack oferece três tipos diferentes de consultas, cada uma com parâmetros diferentes. Há a pesquisa padrão, a pesquisa em massa e a pesquisa do solicitante. Vamos ver como eles diferem. Esse é um recurso interessante, pois, por exemplo, a solicitação em massa permite combinar várias solicitações em uma, reduzindo assim a sobrecarga total e permitindo resultados mais rápidos. Vamos dar uma olhada mais profunda em cada tipo de solicitação.
Pesquisa padrão
Como você deve ter adivinhado, a Pesquisa padrão éo mais básico. Ele retorna os detalhes sobre um único endereço IP que você fornece ao chamar a API do ipstack. É muito simples de usar e funcionará com endereços IPv4 ou IPv6. Para facilitar ainda mais, a documentação do produto fornece um código de amostra para a solicitação padrão em PHP (cURL) e JavaScript (Jquery.ajax). Se o seu site for criado usando um desses, usar a API é realmente fácil. Aqui está um exemplo de uma chamada típica para a API usando um código HTML simples:
https://api.ipstack.com/123.123.123.123?access_key=YOUR_ACCESS_KEY
Neste exemplo, YOUR_ACCESS_KEY seria substituído pela chave de acesso real que vocêquando você se inscreveu no serviço. Você também incluiria o endereço IP real sobre o qual deseja obter informações, em vez do endereço fictício neste exemplo.
Os resultados de uma pesquisa padrão incluem todas asmódulos por padrão, mas parâmetros extras permitem ajustar a solicitação às suas necessidades exatas. Todos os detalhes sobre os parâmetros disponíveis são explicados claramente na documentação do produto. Da mesma forma, a resposta padrão é um objeto JSON, mas os parâmetros podem mudar isso para um formato XML.
Pesquisas em massa e solicitantes
A pesquisa em massa permite solicitar dados contravários endereços IP em uma única solicitação. Assim como a Pesquisa padrão, você pode obter dados nos endereços IPv4 e IPv6. Você pode até misturar os dois tipos de endereços em uma única solicitação. O formato da solicitação é o mesmo da Pesquisa padrão, exceto que você especifica vários endereços IP separados por vírgulas.
https://api.ipstack.com/123.123.123.123,124.124.124.124,125.125.125.125, 126.126.126.126?access_key=YOUR_ACCESS_KEY
O último tipo de solicitação oferecida pelo ipstackAPI é a pesquisa do solicitante. Ele retornará informações sobre o endereço IP do qual a solicitação está vindo. É o tipo de solicitação que você executou no script do lado do cliente. Para fazer uma chamada de Solicitação de Solicitação, tudo o que você faz é usar a palavra-chave "verificar" no lugar de um endereço IP. Os outros parâmetros de solicitação disponíveis são os mesmos que para outros tipos de solicitação.
https://api.ipstack.com/check?access_key=YOUR_ACCESS_KEY
Como a API ipstack é executada?
A API do ipstack é, mais do que provável, algovocê integrava um site em tempo real. Por exemplo, convém veicular conteúdo diferente com base na localização do cliente. Para conseguir isso, você precisa da API para executar incrivelmente rápido. Qualquer atraso na resposta da API se traduzirá em atrasos na exibição da página para o seu cliente, algo que você provavelmente evitará. O mesmo é verdade, não importa para o que você usa os dados de localização. É por isso que o tempo de resposta da ferramenta que você está usando é da maior importância. Embora uma API de geolocalização possa fornecer uma funcionalidade muito necessária, sua falha no desempenho pode ter um impacto desastroso.
Por esses motivos, você precisa escolher uma API combom tempo de resposta. Fizemos muito trabalho duro para testar vários cenários e executamos testes com um ou vários endereços IP, alguns com parâmetros mais opcionais, outros com menos. Ficamos bastante satisfeitos com os resultados e obtivemos um tempo de resposta bastante consistente de cerca de 100 ms, independentemente da solicitação. A resposta também foi consistente ao longo do tempo, sem "horas de ponta" aparentes quando o desempenho sofreria e também foi semelhante, não importa de onde lançamos os pedidos. Parece que os servidores ipstack foram criados para lidar com a carga que recebem. No geral, parece que o uso da API do ipstack quase não teve efeito na resposta do site visto da perspectiva de um usuário.
Documentação e suporte do produto
Costuma-se dizer que um produto é tão bom quantocomo sua documentação. Se isso for verdade, a API do ipstack não tem nada a temer, pois sua documentação é fácil de encontrar, usar e entender. A qualidade da documentação também fornece uma medida do quanto um editor de software se preocupa com seus usuários. Aqui, novamente, não há nada com que se preocupar.

Uma das melhores coisas sobre esse produtoa documentação é, curiosamente, quão pouco existe. Tudo se encaixa em uma única página da Web bem estruturada, onde você encontrará facilmente tudo o que precisa. E para tornar as coisas ainda mais fáceis, um painel de menu facilita o acesso a qualquer seção. A documentação abrange tudo, desde o uso dos vários tipos de solicitações até a personalização da resposta.
No caso altamente improvável em que você nãoencontre o que você precisa na documentação, o suporte também está disponível. Pode levar algum tempo para alcançar inicialmente o suporte técnico, mas, quando você o fizer, eles respondem rapidamente.
Preços
Vários planos de preços estão disponíveis para oAPI do ipstack. No nível mais baixo, há o plano gratuito. Como o próprio nome indica, este é gratuito. Também é um pouco limitado. Para iniciantes, você só pode executar até 10.000 consultas por mês. Ele também inclui apenas o Módulo de localização e o acesso ao suporte é limitado. No entanto, pode ser uma ótima maneira de testar o produto e ver como ele pode se integrar ao seu ambiente.
O próximo nível é o plano básico. Este é vendido por US $ 9,99 / mês ou US $ 95,90 / ano (um desconto de 20%) e o limite de solicitações é de até 50 000 / mês. Também permite usar os módulos Moeda, Fuso Horário e Conexão. Além disso, o suporte aprimorado também está incluído no plano, bem como a segurança aprimorada através do uso da criptografia SSL.
O plano mais popular é o profissionalvendido por US $ 49,99 / mês ou US $ 479,90 / ano. Ele fornece tudo o que está incluído no plano básico, mas aumenta o limite de solicitações mensais para 500 000 e também inclui a capacidade de fazer solicitações em massa.
No topo está o plano profissional mais. Custa US $ 99,99 / mês ou US $ 959,90 / ano. É idêntico ao plano profissional, mas permite até 2 milhões de solicitações por mês e é o único plano a incluir o módulo de segurança.
Se isso não for suficiente, há também umaplano corporativo personalizável que pode ser organizado entrando em contato com o ipstack. Pode incluir quantas solicitações mensais forem necessárias, bem como várias soluções personalizadas com base nas necessidades específicas de um cliente.
Em conclusão
A API do ipstack é um excelente produto que irápermite que você obtenha o máximo de dados possível de um endereço IP de maneira rápida e fácil. Tem um tempo de resposta incrível, excelente documentação e bom suporte, que se combinam para tornar este um excelente valor pelo dinheiro. Além disso, o fato de vários gigantes da Internet o usarem provavelmente é um bom testemunho do valor do produto.
Definitivamente, este é um produto que eu recomendaria sevocê está procurando explorar os dados que podem ser coletados para o endereço IP do visitante do site. E como um plano gratuito, embora limitado, está disponível, não há razão para você não tentar pelo menos tentar ver por si mesmo o que ele pode fazer por você.
Comentários