Watch-IP

Watch-IP'yi JavaScript ve TypeScript ile Kullanma

@digitload/watch-ip-sdk (npm, v0.1.1), GET /v1/geo'yu her yanıt alanı için TypeScript türleri içeren ve çalışma zamanı bağımlılığı olmayan küçük bir istemcide sarmalar.

Kurulum

Node.js 18+ veya herhangi bir modern tarayıcı gerektirir — her ikisi de bu paketin üzerine kurulduğu global fetch'i sağlar.

npm

npm install @digitload/watch-ip-sdk

Hızlı başlangıç

Yayınlanabilir anahtarınızla bir istemci oluşturun ve getGeo()'yu çağırın. Döndürülen GeoResponse tamamen tiplendirilmiştir; ip ve isEUCountry dışındaki her alan null olabilir, bu yüzden render etmeden önce bir alanı kontrol edin.

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

Hata işleme ve zaman aşımları

Her başarısızlık — reddedilen bir istek (geçersiz anahtar, izin verilmeyen origin, hız sınırı) veya bir ağ hatası — bir status ve kararlı bir code içeren bir WatchIPError fırlatır. Yerleşik bir zaman aşımı yoktur; yavaş bir isteği kendiniz iptal etmek için bir AbortController'ın signal'ini geçirin.

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

İsteğe bağlı alanlar

Bağlanan IP için bir ters DNS sorgusu eklemek üzere include: ["hostname"] geçirin. Fazladan bir ağ atlaması eklediği için isteğe bağlıdır (opt-in); bu yüzden yalnızca alanı kullanacaksanız isteyin.

TypeScript

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

Bu SDK'nın kapsamadıkları

Bu paket yalnızca GET /v1/geo'yu çağırır. IP sorgulama, e-posta doğrulama veya risk kontrolleri için metotları yoktur — bunlar, bu SDK'nın etrafında inşa edildiği yayınlanabilir anahtar değil, gizli bir anahtarla kimliği doğrulanan sunucudan sunucuya endpoint'lerdir. Bunları doğrudan HTTP üzerinden çağırın; IP sorgulama referansına ve kimlik doğrulama kılavuzuna bakın.

İlgili sayfalar