example.phpphp/example.php · 55 líneas
<?php
declare(strict_types=1);
/*
* 10Q00.4.1: una solicitud HTTP directa debe mostrar el visor seguro en lugar
* de ejecutar este archivo. Los usos por CLI o mediante require/include no se
* modifican.
*/
if (
PHP_SAPI !== 'cli'
&& isset($_SERVER['SCRIPT_FILENAME'])
&& realpath((string)$_SERVER['SCRIPT_FILENAME']) === __FILE__
) {
header('Cache-Control: no-store');
header('Location: /api/sdk/view.php?file=php%2Fexample.php', true, 302);
exit;
}
require __DIR__ . '/PietroCalClient.php';
use PietroCal\Sdk\PietroCalApiException;
use PietroCal\Sdk\PietroCalClient;
$token = getenv('PIETROCAL_API_TOKEN');
if (!$token) {
fwrite(STDERR, "Definí PIETROCAL_API_TOKEN.\n");
exit(1);
}
$client = new PietroCalClient($token);
try {
$profile = $client->profile();
print_r($profile['data']);
$events = $client->events(page: 1, perPage: 25);
printf(
"Eventos: %d de %d\n",
count(is_array($events['data']) ? $events['data'] : []),
$events['pagination']['total'] ?? 0
);
printf(
"Clave idempotente disponible: %s\n",
PietroCalClient::generateIdempotencyKey()
);
} catch (PietroCalApiException $exception) {
fwrite(STDERR, "API {$exception->status}: {$exception->getMessage()}\n");
exit(1);
}