Webhook
I webhook ti permettono di ricevere notifiche in tempo reale sui tuoi link — sia quando vengono cliccati sia quando vengono creati, aggiornati o eliminati. Linkly invia una richiesta POST al tuo URL specificato con informazioni dettagliate su ogni evento.
Casi d'uso
- Piattaforme di automazione: Attiva i flussi di lavoro in Make o Zapier quando i link vengono cliccati
- Analytics personalizzati: Invia i dati dei clic al tuo sistema di analytics
- Aggiornamenti CRM: Aggiorna i record dei clienti quando cliccano sui link
- Notifiche Slack: Ricevi notifiche in Slack quando i link importanti vengono cliccati
- Tracciamento dei lead: Traccia quando i potenziali clienti interagiscono con i tuoi link
Suggerimento: Per la maggior parte dei casi d'uso di automazione, la nostra integrazione Make o integrazione Zapier sono più facili da configurare rispetto ai webhook personalizzati. Includono trigger di clic istantanei basati su webhook, senza necessità di codifica.
Come configurare i webhook a livello di link
Vai a Link e fai clic sul link che desideri configurare.
Scorri verso il basso fino alla sezione Webhook.
Inserisci i tuoi URL webhook, uno per riga.
Puoi aggiungere più URL webhook. Tutti gli URL riceveranno lo stesso payload quando il link viene cliccato.

Fai clic su Salva.
I webhook a livello di link si attivano solo quando quel link specifico viene cliccato.
Come configurare i webhook a livello di workspace
Vai a Impostazioni (icona dell'ingranaggio nella barra laterale).
Fai clic su Impostazioni workspace
Inserisci i tuoi URL webhook, uno per riga.
Puoi aggiungere più URL webhook. Tutti gli URL riceveranno lo stesso payload quando un qualsiasi link nel tuo workspace viene cliccato.

Fai clic su Salva impostazioni.
I webhook a livello di workspace si attivano per ogni clic su qualsiasi link nel tuo workspace.
Nota: Se configuri i webhook a entrambi i livelli, entrambi si attiveranno per i clic su quel link.
Eventi
Ogni webhook riceve tutti i tipi di evento per il suo ambito — un webhook a livello di link riceve gli eventi per quel link, un webhook a livello di workspace riceve gli eventi per ogni link nel workspace. Controlla il campo event di primo livello per distinguerli:
event | Inviato quando |
|---|---|
click | Un link breve viene cliccato. Include un oggetto click con i dati della richiesta del visitatore. |
link.created | Un nuovo link viene creato nel workspace. |
link.updated | Le impostazioni di un link cambiano. Si attiva ad ogni aggiornamento, inclusi i salvataggi automatici, quindi potresti ricevere diversi per sessione di modifica. |
link.deleted | Un link viene eliminato. L'oggetto link mantiene lo slug e il dominio che aveva prima dell'eliminazione. |
Payload webhook
Payload clic
Quando si verifica un clic, Linkly invia una richiesta POST con il seguente payload JSON:
{
"event": "click",
"timestamp": "2025-01-15T10:30:00Z",
"link": {
"id": 12345,
"name": "My Campaign Link",
"url": "https://example.com/landing-page",
"full_url": "https://yourdomain.com/abc123",
"domain": "yourdomain.com",
"slug": "/abc123",
"destination": "https://example.com/landing-page",
"workspace_id": 1,
"enabled": true,
"cloaking": false,
"forward_params": true,
"block_bots": true,
"public_analytics": false,
"utm_source": "newsletter",
"utm_medium": "email",
"utm_campaign": "spring-sale",
"og_title": "Special Offer",
"og_description": "Check out our spring sale!",
"rules": [
{
"what": "country",
"matches": "US",
"url": "https://example.com/us-landing"
}
]
},
"click": {
"id": "01KYPGEEPJSPR3S564QRBDGA1W",
"country": "US",
"is_eu_country": false,
"platform": "desktop",
"browser_name": "Chrome",
"referer": "https://twitter.com/",
"isp": "Comcast",
"bot_name": null,
"destination": "https://example.com/landing-page",
"params": {
"utm_source": "twitter"
}
}
}
Campi payload
Info evento
| Campo | Descrizione |
|---|---|
event | click, link.created, link.updated o link.deleted |
timestamp | Timestamp ISO 8601 del clic |
Oggetto link
| Campo | Descrizione |
|---|---|
id | Identificatore univoco del link |
name | Nickname del link |
url | URL di destinazione originale |
full_url | L'URL del link breve |
domain | Dominio personalizzato (se configurato) |
slug | Percorso/slug dell'URL |
destination | Destinazione effettiva per questo clic (potrebbe differire da url se applicate regole) |
workspace_id | Identificatore del workspace |
enabled | Se il link è attivo |
rules | Array di regole di reindirizzamento (geo, dispositivo, rotatore) |
utm_* | Parametri UTM se configurati |
og_* | Impostazioni Open Graph se configurate |
Oggetto clic
| Campo | Descrizione |
|---|---|
id | Identificatore univoco per questo clic, un ULID di 26 caratteri. I caratteri iniziali codificano il tempo del clic, quindi gli id vengono ordinati cronologicamente come stringhe normali |
country | Codice paese a due lettere (ad es., "US", "GB") |
is_eu_country | Se il clic proviene dall'UE |
platform | Piattaforma del dispositivo (desktop, ios, android, ecc.) |
browser_name | Nome del browser (Chrome, Safari, Firefox, ecc.) |
referer | URL di provenienza (se disponibile) |
isp | Provider di servizi Internet |
bot_name | Identificatore del bot (null per i clic umani) |
destination | URL di destinazione finale per questo clic |
params | Parametri di query passati al link |
Nota sulla privacy: Gli indirizzi IP non sono mai inclusi nei payload dei webhook.
Payload del ciclo di vita del link
Gli eventi link.created, link.updated e link.deleted condividono una forma. Non c'è oggetto click — otterrai event, timestamp e il link completo:
{
"event": "link.created",
"timestamp": "2026-06-20T10:30:00Z",
"link": {
"id": 12345,
"name": "My Campaign Link",
"url": "https://example.com/landing-page",
"full_url": "https://yourdomain.com/abc123",
"domain": "yourdomain.com",
"slug": "/abc123",
"workspace_id": 1,
"enabled": true,
"rules": []
}
}
Integrazioni con piattaforme di automazione
Per una configurazione più semplice senza codifica personalizzata, usa le nostre integrazioni native:
- Integrazione Make - Piattaforma di automazione visiva con trigger di clic istantanei
- Integrazione Zapier - Collega Linkly a migliaia di app senza codice
Entrambe le integrazioni utilizzano i webhook dietro le quinte ma gestiscono automaticamente tutta la configurazione.
Buone pratiche
Più webhook
Puoi aggiungere più URL webhook (uno per riga). Tutti gli URL riceveranno lo stesso payload quando si verifica un clic.
Gestione degli errori
- I webhook sono fire-and-forget - Linkly non ritenta le consegne non riuscite
- I guasti dei webhook non influiscono mai sul reindirizzamento — gli utenti raggiungono sempre la loro destinazione
- Assicurati che il tuo endpoint webhook risponda rapidamente (< 5 secondi consigliato)
Sicurezza
- Usa endpoint HTTPS per gli URL webhook
- Convalida le richieste in entrata nel tuo gestore webhook
- Considera di aggiungere un parametro segreto all'URL del tuo webhook per la verifica
Test
- 1Configura un URL webhook usando un servizio come webhook.site o RequestBin
- 2Fai clic sul tuo link
- 3Ispeziona il payload ricevuto
- 4Una volta verificato, passa al tuo URL webhook di produzione
Accesso API
Puoi anche gestire i webhook a livello di programmazione tramite l'API:
POST /api/v1/link/:link_id/webhooks
DELETE /api/v1/link/:link_id/webhooks/:hook_id
GET /api/v1/link/:link_id/webhooks
POST /api/v1/workspace/:workspace_id/webhooks
DELETE /api/v1/workspace/:workspace_id/webhooks/:hook_id
GET /api/v1/workspace/:workspace_id/webhooks
Consulta la Documentazione API per i dettagli.
Webhook - Domande frequenti
Quali eventi possono inviare i webhook?
I webhook si attivano su quattro eventi, identificati dal campo event nel payload. Ottieni click quando un link viene cliccato, più link.created, link.updated e link.deleted quando i link cambiano. Ogni webhook riceve tutti i tipi di evento per il suo ambito, quindi esegui un branch sul campo event per gestire ciascuno.
Perché i miei webhook non si attivano?
Controlla che l'URL webhook sia valido e accessibile e che i webhook siano salvati sul link o sul workspace. Per gli eventi di clic, tieni presente che i webhook si attivano solo quando un clic viene effettivamente registrato - gli IP esclusi o i crawler saltati non li attiveranno.
Perché alcuni campi sono null nel payload webhook?
Alcuni campi possono essere null se le informazioni non erano disponibili (ad es., nessun referer), le impostazioni sulla privacy hanno impedito la raccolta o il clic proveniva da un bot (nel qual caso bot_name sarà compilato).
Linkly ritenta le consegne dei webhook non riuscite?
No. I webhook sono fire-and-forget. Le consegne non riuscite non vengono ritentate e Linkly non traccia lo stato di consegna del webhook. Le richieste webhook scadono dopo 5 secondi.
Linkly supporta i postback per il tracciamento delle conversioni?
No. I webhook di Linkly sono solo in uscita e si attivano quando si verificano i clic. Non possiamo ricevere dati di postback dalle reti affiliate o dalle piattaforme pubblicitarie. Per il tracciamento delle conversioni, usa il tracciamento nativo della piattaforma di destinazione, passa un ID di clic tramite l'inoltro dei parametri di query o usa la nostra integrazione BigQuery per unire i dati dei clic con i tuoi dati di conversione.
Devo usare i webhook o Make/Zapier?
Per la maggior parte dei casi d'uso di automazione, le nostre integrazioni Make o Zapier sono più facili da configurare. Utilizzano i webhook dietro le quinte ma gestiscono automaticamente tutta la configurazione. Usa i webhook personalizzati quando hai bisogno di inviare dati ai tuoi sistemi o richiedi un maggiore controllo sull'integrazione.
Disponibilità del piano
Disponibile da Business
Traccia 500 clic mensili gratuitamente.