Watch-IP

Utilize o Watch-IP com PHP

digitload/watch-ip-sdk (Packagist, v0.1.1) envolve GET /v1/geo num pacote Composer construído sobre cURL — sem Guzzle nem qualquer outra dependência de cliente HTTP.

Instalação

Requer PHP 8.1+ com as extensões curl e json, ambas incluídas em praticamente todas as instalações de PHP.

Composer

composer require digitload/watch-ip-sdk

Início rápido

Tal como com os outros SDKs do lado do servidor, chamar GET /v1/geo a partir de PHP significa chamá-lo a partir do seu próprio servidor e não do navegador de um visitante, por isso passe uma origin explícita para satisfazer a verificação de origens permitidas da chave.

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

Tratamento de erros e tempos limite

Toda a falha lança um WatchIPError que estende \RuntimeException. O Exception::getCode() do PHP é do tipo int, mas os códigos de erro da API são strings, por isso leia-os com getErrorCode() em vez de getCode(). Passe timeout (segundos) juntamente com include no array de opções.

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

O que este SDK não cobre

Este pacote apenas chama GET /v1/geo. A pesquisa de IP, a validação de e-mail e as verificações de risco são endpoints servidor-a-servidor separados, ainda sem cliente PHP — chame-os diretamente com cURL, autenticados da mesma forma descrita no guia de autenticação.

Páginas relacionadas