Watch-IP

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-sdk

Dé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.

Pages associées