Intégrer l'API ClicAven en PHP : guide complet avec exemples de code
Comment intégrer l'API de raccourcissement d'URL ClicAven en PHP avec cURL. Code complet, gestion des erreurs et exemples pratiques pour vos applications PHP.
Vous développez en PHP et souhaitez intégrer la création de liens courts dans votre application ? L'API REST ClicAven est conçue pour être simple à utiliser depuis n'importe quel langage. Voici un guide complet pour intégrer ClicAven dans votre projet PHP, avec du code de production prêt à l'emploi.
Prérequis et configuration
Pour utiliser l'API ClicAven depuis PHP, vous avez besoin de :
- PHP 7.4 ou supérieur
- L'extension cURL activée (vérifiez avec
phpinfo()ouphp -m | grep curl) - Votre clé API ClicAven (disponible dans Paramètres → API de votre compte)
Commencez par stocker votre clé API de manière sécurisée, idéalement dans une variable d'environnement ou un fichier de configuration non versionné :
<?php
// Chargement depuis une variable d'environnement (recommandé)
$apiKey = getenv('URLW_API_KEY');
// Ou depuis un fichier de config (jamais dans le code versionné !)
// $apiKey = 'votre_cle_api_ici';
define('URLW_API_BASE', 'https://clicaven.com/api/v1');
Raccourcir une URL en PHP
Voici une fonction PHP complète pour créer un lien court via l'API ClicAven :
<?php
function urlwShorten(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(URLW_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('Erreur cURL : ' . $curlError);
}
$data = json_decode($response, true);
if ($httpCode < 200 || $httpCode >= 300) {
$message = $data['message'] ?? 'Erreur inconnue';
throw new \RuntimeException("Erreur API ClicAven ({$httpCode}) : {$message}");
}
return $data;
}
// Utilisation
try {
$result = urlwShorten(
'https://exemple.com/ma-longue-page-produit?ref=newsletter',
getenv('URLW_API_KEY'),
'promo-ete',
'go.votre-marque.fr'
);
echo 'Lien court créé : ' . $result['short_url'] . PHP_EOL;
// Affiche : Lien court créé : https://go.votre-marque.fr/promo-ete
} catch (\RuntimeException $e) {
error_log('Erreur ClicAven : ' . $e->getMessage());
// Gérer l'erreur selon votre logique applicative
}
Récupérer les statistiques d'un lien
Pour afficher les statistiques de clic d'un lien dans votre application :
<?php
function urlwGetStats(string $linkId, string $apiKey): array
{
$ch = curl_init(URLW_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("Impossible de récupérer les stats (HTTP {$httpCode})");
}
return json_decode($response, true);
}
$stats = urlwGetStats('lnk_abc123', getenv('URLW_API_KEY'));
echo 'Clics totaux : ' . $stats['total_clicks'] . PHP_EOL;
echo 'Clics uniques : ' . $stats['unique_clicks'] . PHP_EOL;
Intégration dans un projet Symfony ou Laravel
Pour une intégration propre dans un projet Symfony ou Laravel, créez un service dédié :
- Symfony : créez une classe
ClicavenClientcomme service avec injection duHttpClientInterface(composantsymfony/http-client). Déclarez votre clé API dansservices.yamldepuis une variable d'environnementURLW_API_KEY. - Laravel : créez un
ClicavenServicedansapp/Services/et enregistrez-le dans le container IoC. Utilisezconfig('services.clicaven.key')pour la clé.
Dans les deux cas, encapsulez la logique HTTP dans ce service et ne l'appelez jamais directement depuis vos contrôleurs. Cela facilite les tests unitaires avec des mocks.
Consultez la documentation complète de l'API ClicAven pour la liste exhaustive des endpoints et des paramètres. Commencez par créer votre compte ClicAven pour obtenir votre clé API.
Testez ClicAven gratuitement
50 liens courts, API REST incluse, aucune carte bancaire requise.