Référence API REST
Base URL : https://clicaven.com
Toutes les requêtes retournent du JSON. L'authentification utilise des clés API (Bearer).
Endpoints
Authentification
L'API ClicAven utilise des clés API pour l'authentification. Chaque requête doit inclure votre clé dans l'en-tête Authorization.
Comment obtenir une clé API
- Connectez-vous à votre compte ClicAven et accédez à la page Clés API
- Donnez un nom à votre clé et cliquez sur Créer
- Copiez la clé affichée — elle ne sera plus visible ensuite
Headers requis
Authorization: Bearer uw_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
POST/api/links
Créer un nouveau lien court. Nécessite une clé API valide.
Headers requis
Authorization: Bearer uw_votre_cle_api
Content-Type: application/json
Corps de la requête
{
"url": "https://example.com/une-url-tres-longue"
}
Réponse (201 Created)
{
"id": 42,
"short_code": "aB3xYz",
"short_url": "https://clicaven.com/aB3xYz",
"original_url": "https://example.com/une-url-tres-longue",
"clicks": 0,
"created_at": "2026-04-18T12:00:00+00:00"
}
Exemple curl
curl -s -X POST https://clicaven.com/api/links \
-H "Authorization: Bearer uw_votre_cle_api" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/page-longue?utm_source=api"}'
GET/api/links
Lister tous vos liens courts. Nécessite une clé API valide.
Exemple curl
curl -s https://clicaven.com/api/links \
-H "Authorization: Bearer uw_votre_cle_api" | jq .
Réponse (200 OK)
[
{
"id": 42,
"short_code": "aB3xYz",
"short_url": "https://clicaven.com/aB3xYz",
"original_url": "https://example.com/page-longue",
"clicks": 14,
"created_at": "2026-04-18T12:00:00+00:00"
}
]
GET/api/links/{id}
Récupérer les détails d'un lien spécifique, y compris le compteur de clics.
Exemple curl
curl -s https://clicaven.com/api/links/42 \
-H "Authorization: Bearer uw_votre_cle_api" | jq .
Réponse (200 OK)
{
"id": 42,
"short_code": "aB3xYz",
"short_url": "https://clicaven.com/aB3xYz",
"original_url": "https://example.com/page-longue",
"clicks": 14,
"created_at": "2026-04-18T12:00:00+00:00"
}
DELETE/api/links/{id}
Supprimer définitivement un lien. La redirection sera immédiatement inactive. Cette action est irréversible.
Exemple curl
curl -s -X DELETE https://clicaven.com/api/links/42 \
-H "Authorization: Bearer uw_votre_cle_api"
# → 204 No Content (succès, aucun corps)
6. Codes d'erreur
| Code HTTP | Signification | Cause fréquente |
|---|---|---|
400 | Bad Request | URL manquante ou invalide dans le corps |
401 | Unauthorized | Clé API manquante, expirée ou invalide |
403 | Forbidden | Accès à un lien appartenant à un autre utilisateur |
404 | Not Found | L'ID du lien n'existe pas |
429 | Too Many Requests | Quota mensuel de liens atteint (rate limit) |
500 | Server Error | Erreur interne — contactez le support via /contact |
Format d'erreur
{
"error": "authentication_failed",
"message": "Invalid or expired API key."
}
Exemples PHP & JavaScript
Vous n'avez pas besoin de SDK : l'API est une simple API REST JSON. Voici des exemples copier-coller pour les langages les plus courants.
PHP
<?php
// ClicAven API — PHP example (no SDK needed)
$apiKey = 'uw_votre_cle_api';
$url = 'https://example.com/une-url-tres-longue';
$ch = curl_init('https://clicaven.com/api/links');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['url' => $url]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $response['shortUrl'];
// => https://clicaven.com/aB3xYz
JavaScript (Node.js / fetch)
const API_KEY = 'uw_votre_cle_api';
const res = await fetch('https://clicaven.com/api/links', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ url: 'https://example.com/une-url-tres-longue' }),
});
const link = await res.json();
console.log(link.shortUrl);
// => https://clicaven.com/aB3xYz
Lien avec slug personnalisé (Pro+)
curl -s -X POST https://clicaven.com/api/links \
-H "Authorization: Bearer uw_votre_cle_api" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/promo","customSlug":"ma-promo"}'
{
"id": 43,
"short": "rT9kWm",
"customSlug": "ma-promo",
"shortUrl": "https://clicaven.com/ma-promo",
"url": "https://example.com/promo",
"clickCount": 0,
"createdAt": "2026-04-25T14:00:00+00:00"
}
Les slugs personnalisés nécessitent un plan Pro ou supérieur. 3 à 60 caractères, lettres, chiffres et tirets.
Des questions sur l'API ? Contactez-nous. Voir aussi la documentation générale.