Utiliser Watch-IP avec PHP
digitload/watch-ip-sdk (Packagist, v0.1.1) encapsule GET /v1/geo dans un paquet Composer construit sur cURL — sans dépendance à Guzzle ni à un autre client HTTP.
Installation
Nécessite PHP 8.1+ avec les extensions curl et json, toutes deux intégrées à quasiment toutes les installations PHP.
Composer
composer require digitload/watch-ip-sdkDémarrage rapide
Comme pour les autres SDK côté serveur, appeler GET /v1/geo depuis PHP revient à l'appeler depuis votre propre serveur plutôt que depuis le navigateur d'un visiteur, donc passez une origin explicite pour satisfaire le contrôle des origines autorisées de la clé.
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'];Gestion des erreurs et délais d'expiration
Chaque échec lève une WatchIPError qui étend \RuntimeException. Exception::getCode() de PHP est typé en int, mais les codes d'erreur de l'API sont des chaînes, donc lisez-les avec getErrorCode() plutôt qu'avec getCode(). Passez timeout (en secondes) avec include dans le tableau d'options.
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();
}Ce que ce SDK ne couvre pas
Ce paquet n'appelle que GET /v1/geo. La recherche d'IP, la validation d'e-mail et les vérifications de risque sont des points de terminaison serveur à serveur distincts, sans client PHP pour l'instant — appelez-les directement avec cURL, authentifiés de la même façon que le décrit le guide d'authentification.