O ip-api.com conquistou seguidores com um formato de resposta realmente simples: um objeto JSON plano por consulta, com campos como country, regionName, city, lat, lon, isp e query, este último com o endereço IP consultado, praticamente sem aninhamento. Essa estrutura plana fez dele uma primeira escolha comum para quem queria adicionar geolocalização de IP básica a um projeto sem precisar aprender um esquema mais elaborado.
A geolocalização de IP é uma das consultas em que os resultados podem de fato ser mostrados funcionando de ponta a ponta, ao contrário da geocodificação ou do preenchimento automático, em que só o formato é descrito. Uma requisição para um endereço IPv4 ou IPv6 retorna país, região, cidade, coordenadas e informações de rede obtidas de dados que se mantêm atualizados pelo nosso próprio pipeline de cache, e não de um conjunto de dados estático ou atualizado lentamente.
O host de compatibilidade com o ip-api do My Geocode reproduz exatamente a estrutura de campos plana, incluindo country, regionName, city, lat, lon, isp e query, sendo o texto de copyright, termos e privacidade a única diferença de conteúdo. Os detalhes de referência estão em /compatibility/ip-api/. O código que lê response.city ou response.isp diretamente, sem desempacotar nenhum objeto aninhado, deve continuar funcionando depois da troca de host e de chave.
O que muda especificamente nesta migração:
A autenticação passa a usar uma chave, enviada como cabeçalho X-API-Key, Authorization: Bearer, autenticação HTTP Basic ou parâmetro de consulta, em vez de uma consulta pública sem autenticação ou com limites leves
A cota agora fica visível diretamente em cada resposta por meio de cabeçalhos como X-Quota-Limit, X-Quota-Used e X-Quota-Reset, em vez de precisar ser deduzida de limitações ocasionais
Os campos extras opcionais (detalhes de ameaças de IP e informações de rede mais profundas) estão disponíveis adicionando mg_extras=1 ou um cabeçalho X-MG-Extras, sem alterar o formato plano que o seu código já interpreta
São 2.500 requisições gratuitas por dia sem nenhuma chave, e cada chave também recebe 2.500 requisições gratuitas por dia contadas por rede, seja IPv4 (por /24) ou IPv6 (por /48), compartilhadas entre o uso sem chave e com chave a partir dessa rede. Acima dessa cota, é crédito pré-pago a € 0,0001 por requisição ou uma chave Unlimited a € 50 por mês, e todos os endpoints, incluindo este host de compatibilidade, têm o mesmo preço.
Para aplicações que fazem redirecionamentos por país com base em IP, verificações de sinais de fraude ou enriquecimento básico de dados de análise, esta costuma ser uma das migrações mais simples de testar de ponta a ponta, já que os resultados são concretos e podem ser comparados diretamente com o que a integração atual retorna para o mesmo conjunto de endereços de teste.
Automações no-code construídas sobre uma etapa de geocodificação exigem uma abordagem de migração diferente da usada em código próprio. Veja como lidar com essa troca.
Trocar de fornecedor de dados de localização não é apenas uma decisão técnica. Veja o que revisar do lado do processamento de dados e da privacidade nessa mudança.
Desligar a chave de API de um provedor antigo cedo demais ou tarde demais traz riscos nos dois casos. Veja como aposentar credenciais corretamente quando uma migração estiver concluída.