Webhook
I webhook ti permettono di ricevere notifiche in tempo reale sui tuoi link — sia quando vengono cliccati che quando vengono creati, aggiornati o eliminati. Linkly invia una richiesta POST all'URL specificato con informazioni dettagliate su ogni evento.
Casi di utilizzo
- Piattaforme di automazione: Attiva flussi di lavoro in Make o Zapier quando i link vengono cliccati
- Analisi personalizzate: Invia i dati dei clic al tuo sistema di analisi
- Aggiornamenti CRM: Aggiorna i record dei clienti quando cliccano sui link
- Notifiche Slack: Ricevi notifiche in Slack quando importanti link vengono cliccati
- Tracciamento dei lead: Traccia quando i prospect interagiscono con i tuoi link
Suggerimento: Per la maggior parte dei casi di utilizzo dell'automazione, la nostra integrazione Make o integrazione Zapier sono più facili da configurare rispetto ai webhook personalizzati. Includono trigger di clic istantanei basati sui 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 Link.
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 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 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 eventi per quel link, un webhook a livello di workspace riceve eventi per ogni link nel workspace. Controlla il campo event di primo livello per distinguerli:
event | Inviato quando |
|---|---|
click | Un short link 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 gli edit salvati automaticamente, quindi potresti riceverne 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 del 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 del 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 dello short link |
domain | Dominio personalizzato (se configurato) |
slug | Percorso/slug dell'URL |
destination | Destinazione effettiva per questo clic (potrebbe differire da url se si applicano regole) |
workspace_id | Identificatore workspace |
enabled | Se il link è attivo |
rules | Array di regole di reindirizzamento (geo, device, rotator) |
utm_* | Parametri UTM se configurati |
og_* | Impostazioni Open Graph se configurate |
Oggetto Click
| Campo | Descrizione |
|---|---|
id | Identificatore univoco per questo clic, un ULID di 26 caratteri. I caratteri iniziali codificano l'ora del clic, quindi gli id si ordinano cronologicamente come stringhe semplici |
country | Codice paese di due lettere (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 | Internet Service Provider |
bot_name | Identificatore bot (null per 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'è un oggetto click — ottieni l'event, un 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ù facile senza codifica personalizzata, utilizza le nostre integrazioni native:
- Integrazione Make - Piattaforma di automazione visuale con trigger di clic istantanei
- Integrazione Zapier - Connetti Linkly a migliaia di app senza codice
Entrambe le integrazioni utilizzano i webhook sotto il cofano ma gestiscono tutta la configurazione automaticamente.
Migliori pratiche
Webhook multipli
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 riprova le consegne non riuscite
- Gli errori dei webhook non influiscono mai sul reindirizzamento - gli utenti raggiungono sempre la loro destinazione
- Assicurati che il tuo endpoint webhook risponda rapidamente (< 5 secondi consigliati)
Sicurezza
- Utilizza endpoint HTTPS per gli URL webhook
- Convalida le richieste in arrivo nel tuo gestore webhook
- Considera l'aggiunta di un parametro segreto all'URL webhook per la verifica
Testing
- 1Configura un URL webhook utilizzando un servizio come webhook.site o RequestBin
- 2Fai clic sul tuo link
- 3Ispeziona il payload ricevuto
- 4Una volta verificato, passa all'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.
Domande frequenti su Webhooks
Quali eventi possono inviare i webhook?
I webhook si attivano su quattro eventi, identificati dal campo event nel payload. Ottieni click quando viene cliccato un link, 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 effettua un branch sul campo event per gestire ognuno.
Perché i miei webhook non si attivano?
Verifica 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 (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 riprova le consegne di webhook non riuscite?
No. I webhook sono fire-and-forget. Le consegne non riuscite non vengono riprovate e Linkly non traccia lo stato di consegna dei webhook. Le richieste webhook scadono dopo 5 secondi.
Linkly supporta postback per il tracciamento delle conversioni?
No. I webhook Linkly sono solo in uscita e si attivano quando si verificano clic. Non possiamo ricevere dati di postback da reti affiliate o piattaforme pubblicitarie. Per il tracciamento delle conversioni, utilizza il tracciamento nativo della piattaforma di destinazione, passa un ID di clic tramite l'inoltro di parametri di query, o utilizza la nostra integrazione BigQuery per unire i dati dei clic con i tuoi dati di conversione.
Devo utilizzare i webhook o Make/Zapier?
Per la maggior parte dei casi di utilizzo dell'automazione, le nostre integrazioni Make o Zapier sono più facili da configurare. Utilizzano i webhook sotto il cofano ma gestiscono tutta la configurazione automaticamente. Utilizza i webhook personalizzati quando è necessario inviare dati ai tuoi sistemi o quando è necessario un maggiore controllo sull'integrazione.
Disponibilità del piano
Disponibile da Business
Traccia 500 clic mensili gratuitamente.