Watch-IP gebruiken met PHP
digitload/watch-ip-sdk (Packagist, v0.1.1) wrapt GET /v1/geo in een Composer-pakket gebouwd op cURL — zonder afhankelijkheid van Guzzle of een andere HTTP-client.
Installeren
Vereist PHP 8.1+ met de curl- en json-extensies, die vrijwel elke PHP-installatie standaard meelevert.
Composer
composer require digitload/watch-ip-sdkSnel starten
Net als bij de andere server-side SDK's betekent het aanroepen van GET /v1/geo vanuit PHP dat je het aanroept vanaf je eigen server in plaats van de browser van een bezoeker, dus geef een expliciete origin mee om aan de controle op toegestane origins van de sleutel te voldoen.
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'];Foutafhandeling en timeouts
Elke mislukking gooit een WatchIPError die \RuntimeException uitbreidt. PHP's Exception::getCode() is int-getypeerd, maar de foutcodes van de API zijn strings, dus lees ze uit met getErrorCode() in plaats van getCode(). Geef timeout (in seconden) mee naast include in de options-array.
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();
}Wat deze SDK niet dekt
Dit pakket roept alleen GET /v1/geo aan. IP-lookup, e-mailvalidatie en risicocontroles zijn afzonderlijke server-naar-server-endpoints waar nog geen PHP-client voor is — roep ze rechtstreeks aan met cURL, geauthenticeerd op dezelfde manier als de authenticatiehandleiding beschrijft.