Riferimento API REST
URL base: https://clicaven.com
Tutte le richieste restituiscono JSON. L'autenticazione usa chiavi API (Bearer).
Endpoint
Autenticazione
L'API ClicAven usa chiavi API per l'autenticazione. Ogni richiesta deve includere la tua chiave nell'header Authorization.
Come ottenere una chiave API
- Accedi al tuo account ClicAven e vai alla pagina Chiavi API
- Assegna un nome alla tua chiave e clicca su Crea
- Copia la chiave visualizzata — non sarà più visibile in seguito
Header richiesti
Authorization: Bearer ca_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
POST/api/links
Crea un nuovo link breve. Richiede una chiave API valida.
Header richiesti
Authorization: Bearer ca_votre_cle_api
Content-Type: application/json
Body della richiesta
{
"url": "https://example.com/une-url-tres-longue",
"title": "Promo Noël LinkedIn",
"customSlug": "promo-noel",
"domainHostname": "go.mon-domaine.com",
"permanent": true
}
Il campo title è opzionale (massimo 120 caratteri). Serve a ritrovare il link nella dashboard e nell'esportazione CSV; non viene mai mostrato pubblicamente.
Campi del link
| Campo | Tipo | Accesso | Descrizione |
|---|---|---|---|
url | string | lettura / scrittura | URL di destinazione. Obbligatorio. |
title | string|null | lettura / scrittura | Etichetta per ritrovare il link nella dashboard e nell'esportazione. Massimo 120 caratteri, mai mostrata pubblicamente. |
customSlug | string|null | lettura / scrittura | Codice breve personalizzato. Piani Pro e superiori. Generato automaticamente se omesso. |
domainHostname | string|null | lettura / scrittura | Uno dei tuoi domini personalizzati verificati. Se omesso viene usato il dominio predefinito. |
permanent | boolean | lettura / scrittura | true restituisce un reindirizzamento 301 (permanente), false un 302 (temporaneo). Predefinito true. |
id | uuid | sola lettura | Identificativo UUID del link. |
short | string | sola lettura | Codice breve generato. |
shortUrl | string | sola lettura | URL breve completo, pronto da condividere. |
clickCount | integer | sola lettura | Totale dei clic dalla creazione. |
createdAt | date-time | sola lettura | Data di creazione. |
Lo schema completo e aggiornato è pubblicato in formato OpenAPI 3.1: /api/openapi.json e /api/openapi.yaml. È generato dal codice, quindi fa fede.
Risposta (201 Created)
{
"@context": "/api/contexts/Link",
"@id": "/api/links/01a08b81-78ad-7720-a4c8-3133c7752bb9",
"@type": "Link",
"id": "01a08b81-78ad-7720-a4c8-3133c7752bb9",
"url": "https://example.com/une-url-tres-longue",
"short": "aB3xYz",
"shortUrl": "https://clicaven.com/aB3xYz",
"title": "Promo Noël LinkedIn",
"clickCount": 0,
"createdAt": "2026-04-18T12:00:00+00:00",
"permanent": true,
"domainHostname": null
}
Esempio curl
curl -s -X POST https://clicaven.com/api/links \
-H "Authorization: Bearer ca_votre_cle_api" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/page-longue?utm_source=api","title":"Campagne API"}'
GET/api/links
Elenca tutti i tuoi link brevi. Richiede una chiave API valida.
Esempio curl
curl -s https://clicaven.com/api/links \
-H "Authorization: Bearer ca_votre_cle_api" | jq .
Risposta (200 OK)
{
"@context": "/api/contexts/Link",
"@id": "/api/links",
"@type": "Collection",
"totalItems": 1,
"member": [
{
"@id": "/api/links/01a08b81-78ad-7720-a4c8-3133c7752bb9",
"@type": "Link",
"id": "01a08b81-78ad-7720-a4c8-3133c7752bb9",
"url": "https://example.com/page-longue",
"short": "aB3xYz",
"shortUrl": "https://clicaven.com/aB3xYz",
"title": "Promo Noël LinkedIn",
"clickCount": 14,
"createdAt": "2026-04-18T12:00:00+00:00",
"permanent": true,
"domainHostname": null
}
]
}
GET/api/links/{id}
Recupera i dettagli di un link specifico, incluso il contatore di clic.
Esempio curl
curl -s https://clicaven.com/api/links/01a08b81-78ad-7720-a4c8-3133c7752bb9 \
-H "Authorization: Bearer ca_votre_cle_api" | jq .
Risposta (200 OK)
{
"@context": "/api/contexts/Link",
"@id": "/api/links/01a08b81-78ad-7720-a4c8-3133c7752bb9",
"@type": "Link",
"id": "01a08b81-78ad-7720-a4c8-3133c7752bb9",
"url": "https://example.com/page-longue",
"short": "aB3xYz",
"shortUrl": "https://clicaven.com/aB3xYz",
"title": "Promo Noël LinkedIn",
"clickCount": 14,
"createdAt": "2026-04-18T12:00:00+00:00",
"permanent": true,
"domainHostname": null
}
DELETE/api/links/{id}
Elimina definitivamente un link. Il reindirizzamento sarà immediatamente inattivo. Questa azione è irreversibile.
Esempio curl
curl -s -X DELETE https://clicaven.com/api/links/01a08b81-78ad-7720-a4c8-3133c7752bb9 \
-H "Authorization: Bearer ca_votre_cle_api"
# → 204 No Content (successo, nessun body)
6. Codici di errore
| Codice HTTP | Significato | Causa frequente |
|---|---|---|
400 | Bad Request | URL mancante o non valido nel body |
401 | Unauthorized | Chiave API mancante, scaduta o non valida |
403 | Forbidden | Accesso a un link di un altro utente |
404 | Not Found | L'ID del link non esiste |
429 | Too Many Requests | Quota mensile di link raggiunta (rate limit) |
500 | Server Error | Errore interno — contatta il supporto via /contact |
Formato errore
{
"error": "authentication_failed",
"message": "Invalid or expired API key."
}
Esempi PHP & JavaScript
Non è necessario alcun SDK: l'API è una semplice API REST JSON. Ecco esempi copia-incolla per i linguaggi più comuni.
PHP
<?php
// ClicAven API — PHP example (no SDK needed)
$apiKey = 'ca_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 = 'ca_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
Link con slug personalizzato (Pro+)
curl -s -X POST https://clicaven.com/api/links \
-H "Authorization: Bearer ca_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"
}
Gli slug personalizzati richiedono un piano Pro o superiore. Da 3 a 60 caratteri, lettere, cifre e trattini.
Domande sull'API? Contattateci. Vedi anche la documentazione generale.