Watch-IP

Usa Watch-IP con PHP

digitload/watch-ip-sdk (Packagist, v0.1.1) incapsula GET /v1/geo in un pacchetto Composer costruito su cURL — senza dipendenze da Guzzle o altri client HTTP.

Installazione

Richiede PHP 8.1+ con le estensioni curl e json, entrambe incluse praticamente in ogni installazione di PHP.

Composer

composer require digitload/watch-ip-sdk

Avvio rapido

Come per gli altri SDK lato server, chiamare GET /v1/geo da PHP significa chiamarlo dal tuo server anziché dal browser di un visitatore, quindi passa un'origin esplicita per soddisfare il controllo delle origini consentite della chiave.

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'];

Gestione degli errori e timeout

Ogni fallimento genera un WatchIPError che estende \RuntimeException. Exception::getCode() di PHP è tipizzato come int, ma i codici di errore dell'API sono stringhe, quindi leggili con getErrorCode() anziché con getCode(). Passa timeout (in secondi) insieme a include nell'array delle opzioni.

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

Cosa non copre questo SDK

Questo pacchetto chiama solo GET /v1/geo. La ricerca IP, la validazione email e i controlli di rischio sono endpoint separati da server a server, per cui non esiste ancora un client PHP — chiamali direttamente con cURL, autenticandoti nello stesso modo descritto nella guida all'autenticazione.

Pagine correlate