Menggunakan Watch-IP dengan PHP
digitload/watch-ip-sdk (Packagist, v0.1.1) membungkus GET /v1/geo dalam paket Composer yang dibangun di atas cURL — tanpa dependensi Guzzle atau HTTP client lain.
Instalasi
Membutuhkan PHP 8.1+ dengan ekstensi curl dan json, keduanya sudah tersedia di hampir setiap instalasi PHP.
Composer
composer require digitload/watch-ip-sdkMulai cepat
Sama seperti SDK sisi server lainnya, memanggil GET /v1/geo dari PHP berarti memanggilnya dari server Anda sendiri, bukan dari browser pengunjung, jadi kirim origin secara eksplisit untuk memenuhi pemeriksaan allowed-origins key tersebut.
PHP
use Digitload\WatchIP\WatchIP;
$client = new WatchIP('wip_pub_xxxxxxxx', origin: 'https://example.com');
$geo = $client->getGeo();
echo $geo['country'], ' ', $geo['city'], ' ', $geo['timezone'];Penanganan error dan timeout
Setiap kegagalan melempar WatchIPError yang meng-extend \RuntimeException. Exception::getCode() milik PHP bertipe int, tapi kode error API-nya berupa string, jadi baca dengan getErrorCode(), bukan getCode(). Kirim timeout (detik) bersama include di dalam array opsi.
PHP
use Digitload\WatchIP\WatchIP;
use Digitload\WatchIP\WatchIPError;
$client = new WatchIP('wip_pub_xxxxxxxx', origin: 'https://example.com');
try {
$geo = $client->getGeo(['timeout' => 5.0]);
} catch (WatchIPError $err) {
echo $err->getErrorCode(), ' ', $err->getStatus(), ' ', $err->getMessage();
}Yang tidak dicakup SDK ini
Paket ini hanya memanggil GET /v1/geo. Pencarian IP, validasi email, dan pemeriksaan risiko adalah endpoint server-ke-server terpisah yang belum punya klien PHP — panggil langsung dengan cURL, diautentikasi dengan cara yang sama seperti yang dijelaskan panduan autentikasi.