Utilize o Watch-IP com JavaScript e TypeScript
@digitload/watch-ip-sdk (npm, v0.1.1) envolve GET /v1/geo num cliente pequeno com tipos TypeScript para cada campo da resposta e sem dependências em tempo de execução.
Instalação
Requer Node.js 18+ ou qualquer navegador moderno — ambos disponibilizam o fetch global sobre o qual este pacote é construído.
npm
npm install @digitload/watch-ip-sdkInício rápido
Construa um cliente com a sua chave publicável e chame getGeo(). O GeoResponse devolvido é totalmente tipado; todos os campos exceto ip e isEUCountry são anuláveis, por isso verifique um campo antes de o apresentar.
TypeScript
import { WatchIP } from "@digitload/watch-ip-sdk";
const client = new WatchIP("wip_pub_xxxxxxxx");
const geo = await client.getGeo();
console.log(geo.country, geo.city, geo.timezone);Tratamento de erros e tempos limite
Toda a falha — um pedido rejeitado (chave inválida, origem não permitida, limite de taxa) ou um erro de rede — lança um WatchIPError com um status e um código estável. Não existe um tempo limite incorporado; passe o signal de um AbortController para cancelar você próprio um pedido lento.
TypeScript
import { WatchIP, WatchIPError } from "@digitload/watch-ip-sdk";
const client = new WatchIP("wip_pub_xxxxxxxx");
const controller = new AbortController();
setTimeout(() => controller.abort(), 5000);
try {
const geo = await client.getGeo({ signal: controller.signal });
} catch (err) {
if (err instanceof WatchIPError) {
console.error(err.code, err.status, err.message);
}
}Campos opcionais
Passe include: ["hostname"] para acrescentar uma pesquisa de DNS inverso para o IP em ligação. É opcional (opt-in) porque acrescenta um salto de rede extra, por isso só o peça se utilizar o campo.
TypeScript
const geo = await client.getGeo({ include: ["hostname"] });O que este SDK não cobre
Este pacote apenas chama GET /v1/geo. Não tem métodos para pesquisa de IP, validação de e-mail, ou verificações de risco — esses são endpoints servidor-a-servidor autenticados com uma chave secreta, não com a chave publicável em torno da qual este SDK é construído. Chame-os diretamente via HTTP; consulte a referência de pesquisa de IP e o guia de autenticação.
Páginas relacionadas
- Guia de JavaScriptPeça a localização do visitante a partir de JavaScript no navegador.
- Guia de ReactAcrescente a localização do visitante a um componente React.
- Referência de GET /v1/geoReferência completa de campos para o endpoint de geolocalização de visitante.
- AutenticaçãoChaves publicáveis vs. secretas, bloqueio por origem, e limites de taxa.