API ClicAven in PHP: guida con esempi di codice
Integrate l'API ClicAven in PHP con cURL: codice completo, gestione degli errori ed esempi pratici per le vostre applicazioni.
Sviluppate in PHP e volete integrare la creazione di link brevi nella vostra applicazione? L'API REST ClicAven è progettata per essere semplice da usare da qualsiasi linguaggio. Ecco una guida completa per integrare ClicAven nel vostro progetto PHP, con codice di produzione pronto all'uso.
Prerequisiti e configurazione
Per utilizzare l'API ClicAven da PHP, avete bisogno di:
- PHP 7.4 o superiore
- L'estensione cURL attivata (verificate con
phpinfo()ophp -m | grep curl) - La vostra chiave API ClicAven (disponibile in Impostazioni → API del vostro account)
Iniziate archiviando la vostra chiave API in modo sicuro, idealmente in una variabile d'ambiente o in un file di configurazione non versionato:
<?php
// Caricamento da variabile d'ambiente (raccomandato)
$apiKey = getenv('CLICAVEN_API_KEY');
// O da file di config (mai nel codice versionato!)
// $apiKey = 'la_vostra_chiave_api_qui';
define('CLICAVEN_API_BASE', 'https://clicaven.com/api/v1');
Abbreviare un URL in PHP
Ecco una funzione PHP completa per creare un link breve tramite l'API ClicAven:
<?php
function clicavenShorten(string $url, string $apiKey, string $slug = '', string $domain = ''): array
{
$payload = ['url' => $url];
if (!empty($slug)) {
$payload['slug'] = $slug;
}
if (!empty($domain)) {
$payload['domain'] = $domain;
}
$ch = curl_init(CLICAVEN_API_BASE . '/links');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
'Accept: application/json',
],
CURLOPT_TIMEOUT => 10,
CURLOPT_SSL_VERIFYPEER => true,
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curlError = curl_error($ch);
curl_close($ch);
if ($curlError) {
throw new \RuntimeException('Errore cURL: ' . $curlError);
}
$data = json_decode($response, true);
if ($httpCode < 200 || $httpCode >= 300) {
$message = $data['message'] ?? 'Errore sconosciuto';
throw new \RuntimeException("Errore API ClicAven ({$httpCode}): {$message}");
}
return $data;
}
// Utilizzo
try {
$result = clicavenShorten(
'https://esempio.com/la-mia-lunga-pagina-prodotto?ref=newsletter',
getenv('CLICAVEN_API_KEY'),
'promo-estate',
'go.vostro-brand.it'
);
echo 'Link breve creato: ' . $result['short_url'] . PHP_EOL;
// Output: Link breve creato: https://go.vostro-brand.it/promo-estate
} catch (\RuntimeException $e) {
error_log('Errore ClicAven: ' . $e->getMessage());
// Gestire l'errore secondo la logica applicativa
}
Recuperare le statistiche di un link
Per visualizzare le statistiche di clic di un link nella vostra applicazione:
<?php
function clicavenGetStats(string $linkId, string $apiKey): array
{
$ch = curl_init(CLICAVEN_API_BASE . '/links/' . urlencode($linkId) . '/stats');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Accept: application/json',
],
CURLOPT_TIMEOUT => 10,
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 200) {
throw new \RuntimeException("Impossibile recuperare le statistiche (HTTP {$httpCode})");
}
return json_decode($response, true);
}
$stats = clicavenGetStats('lnk_abc123', getenv('CLICAVEN_API_KEY'));
echo 'Clic totali: ' . $stats['total_clicks'] . PHP_EOL;
echo 'Clic unici: ' . $stats['unique_clicks'] . PHP_EOL;
Integrazione in un progetto Symfony o Laravel
Per un'integrazione pulita in un progetto Symfony o Laravel, create un servizio dedicato:
- Symfony: create una classe
ClicavenClientcome servizio con iniezione diHttpClientInterface(componentesymfony/http-client). Dichiarate la vostra chiave API inservices.yamlda una variabile d'ambienteCLICAVEN_API_KEY. - Laravel: create un
ClicavenServiceinapp/Services/e registratelo nel container IoC. Utilizzateconfig('services.clicaven.key')per la chiave.
In entrambi i casi, incapsulate la logica HTTP in questo servizio e non chiamatelo mai direttamente dai vostri controller. Questo facilita i test unitari con mock.
Consultate la documentazione completa dell'API ClicAven per l'elenco esaustivo degli endpoint e dei parametri. Iniziate creando il vostro account ClicAven per ottenere la vostra chiave API.
Prova ClicAven gratuitamente
50 link brevi, API REST inclusa, nessuna carta di credito richiesta.