Watch-IP

Watch-IP mit JavaScript und TypeScript verwenden

@digitload/watch-ip-sdk (npm, v0.1.1) umschließt GET /v1/geo in einem kleinen Client mit TypeScript-Typen für jedes Antwortfeld und ohne Laufzeitabhängigkeiten.

Installation

Erfordert Node.js 18+ oder einen beliebigen modernen Browser — beide stellen das globale fetch bereit, auf dem dieses Paket aufbaut.

npm

npm install @digitload/watch-ip-sdk

Schnellstart

Erstellen Sie einen Client mit Ihrem veröffentlichbaren Schlüssel und rufen Sie getGeo() auf. Die zurückgegebene GeoResponse ist vollständig typisiert; jedes Feld außer ip und isEUCountry ist nullable, prüfen Sie also ein Feld, bevor Sie es rendern.

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);

Fehlerbehandlung und Timeouts

Jeder Fehlschlag — eine abgelehnte Anfrage (ungültiger Schlüssel, nicht erlaubter Origin, Ratenlimit) oder ein Netzwerkfehler — wirft eine WatchIPError mit einem status und einem stabilen code. Es gibt kein eingebautes Timeout; übergeben Sie das Signal eines AbortControllers, um eine langsame Anfrage selbst abzubrechen.

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);
  }
}

Optionale Felder

Übergeben Sie include: ["hostname"], um eine Reverse-DNS-Abfrage für die verbundene IP hinzuzufügen. Es ist optional, weil es einen zusätzlichen Netzwerk-Hop verursacht, fordern Sie es also nur an, wenn Sie das Feld verwenden.

TypeScript

const geo = await client.getGeo({ include: ["hostname"] });

Was dieses SDK nicht abdeckt

Dieses Paket ruft nur GET /v1/geo auf. Es hat keine Methoden für IP-Abfrage, E-Mail-Validierung oder Risikoprüfungen — das sind Server-zu-Server-Endpoints, die mit einem geheimen Schlüssel authentifiziert werden, nicht mit dem veröffentlichbaren Schlüssel, um den dieses SDK herum aufgebaut ist. Rufen Sie sie direkt per HTTP auf; siehe die IP-Abfrage-Referenz und den Authentifizierungsleitfaden.

Verwandte Seiten