Usa Watch-IP con JavaScript y TypeScript
@digitload/watch-ip-sdk (npm, v0.1.1) envuelve GET /v1/geo en un cliente pequeño con tipos de TypeScript para cada campo de la respuesta y sin dependencias en tiempo de ejecución.
Instalación
Requiere Node.js 18+ o cualquier navegador moderno: ambos ofrecen el fetch global sobre el que se construye este paquete.
npm
npm install @digitload/watch-ip-sdkInicio rápido
Crea un cliente con tu clave publicable y llama a getGeo(). El GeoResponse devuelto está completamente tipado; todos los campos excepto ip e isEUCountry son anulables, así que comprueba un campo antes de renderizarlo.
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);Manejo de errores y tiempos de espera
Cada falla —una solicitud rechazada (clave no válida, origen no permitido, límite de tasa) o un error de red— lanza un WatchIPError con un status y un code estable. No hay tiempo de espera integrado; pasa la señal de un AbortController para cancelar tú mismo una solicitud lenta.
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 opcionales
Pasa include: ["hostname"] para añadir una consulta DNS inversa para la IP que se conecta. Es opcional porque agrega un salto de red adicional, así que solicítalo solo si usas el campo.
TypeScript
const geo = await client.getGeo({ include: ["hostname"] });Lo que este SDK no cubre
Este paquete solo llama a GET /v1/geo. No tiene métodos para IP lookup, validación de correo o comprobaciones de riesgo: esos son endpoints de servidor a servidor autenticados con una clave secreta, no con la clave publicable en torno a la cual está construido este SDK. Llámalos directamente por HTTP; consulta la referencia de IP lookup y la guía de autenticación.
Páginas relacionadas
- Guía de JavaScriptSolicita la ubicación del visitante desde JavaScript en el navegador.
- Guía de ReactAñade la ubicación del visitante a un componente de React.
- Referencia de GET /v1/geoReferencia completa de campos para el endpoint de geolocalización de visitantes.
- AutenticaciónClaves publicables vs. secretas, restricción por origen y límites de tasa.