Utiliser Watch-IP avec JavaScript et TypeScript
@digitload/watch-ip-sdk (npm, v0.1.1) encapsule GET /v1/geo dans un petit client avec des types TypeScript pour chaque champ de réponse et aucune dépendance à l'exécution.
Installation
Nécessite Node.js 18+ ou n'importe quel navigateur moderne — les deux fournissent le fetch global sur lequel ce paquet s'appuie.
npm
npm install @digitload/watch-ip-sdkDémarrage rapide
Construisez un client avec votre clé publiable et appelez getGeo(). Le GeoResponse renvoyé est entièrement typé ; tous les champs sauf ip et isEUCountry sont annulables (nullable), donc vérifiez un champ avant de l'afficher.
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);Gestion des erreurs et délais d'expiration
Chaque échec — une requête rejetée (clé invalide, origine non autorisée, limite de débit) ou une erreur réseau — lève une WatchIPError avec un status et un code stable. Il n'y a pas de délai d'expiration intégré ; passez le signal d'un AbortController pour annuler vous-même une requête trop lente.
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);
}
}Champs optionnels
Passez include: ["hostname"] pour ajouter une recherche DNS inversée pour l'IP connectée. C'est optionnel car cela ajoute un saut réseau supplémentaire, donc ne le demandez que si vous utilisez ce champ.
TypeScript
const geo = await client.getGeo({ include: ["hostname"] });Ce que ce SDK ne couvre pas
Ce paquet n'appelle que GET /v1/geo. Il n'a aucune méthode pour la recherche d'IP, la validation d'e-mail ou les vérifications de risque — des points de terminaison serveur à serveur authentifiés avec une clé secrète, pas la clé publiable autour de laquelle ce SDK est construit. Appelez-les directement en HTTP ; voir la référence de recherche d'IP et le guide d'authentification.
Pages associées
- Guide JavaScriptDemander la position du visiteur depuis JavaScript navigateur.
- Guide ReactAjouter la position du visiteur à un composant React.
- Référence de GET /v1/geoRéférence complète des champs pour le point de terminaison de géolocalisation du visiteur.
- AuthentificationClés publiables ou secrètes, restriction par origine et limites de débit.