Webhooks
Webhooks pozwalają Ci otrzymywać powiadomienia w czasie rzeczywistym o Twoich linkach — zarówno gdy są klikane, jak i gdy są tworzone, aktualizowane lub usuwane. Linkly wysyła żądanie POST na określony URL (adresy) z szczegółowymi informacjami o każdym zdarzeniu.
Przypadki użycia
- Platformy automatyzacji: Wyzwalaj przepływy pracy w Make lub Zapier gdy linki są klikane
- Niestandardowa analityka: Wysyłaj dane kliknięć do własnego systemu analityki
- Aktualizacje CRM: Aktualizuj rekordy klientów, gdy klikają na linki
- Powiadomienia Slack: Otrzymuj powiadomienia w Slack, gdy ważne linki są klikane
- Śledzenie leadów: Śledź, gdy potencjalni klienci angażują się z Twoimi linkami
Wskazówka: W większości przypadków automatyzacji nasza integracja Make lub integracja Zapier są łatwiejsze do skonfigurowania niż niestandardowe webhooks. Zawierają wyzwalacze kliknięć zasilane webhooks, bez konieczności pisania kodu.
Jak skonfigurować webhooks na poziomie linku
Przejdź do Links i kliknij na link, który chcesz skonfigurować.
Przewiń w dół do sekcji Webhooks.
Wpisz swoje adresy URL webhooks, jeden na linię.
Możesz dodać wiele adresów URL webhooks. Wszystkie adresy URL będą otrzymywać ten sam ładunek, gdy link zostanie kliknięty.

Kliknij Save Link.
Webhooks na poziomie linku są uruchamiane tylko wtedy, gdy ten konkretny link zostanie kliknięty.
Jak skonfigurować webhooks na poziomie obszaru roboczego
Przejdź do Settings (ikona koła zębatego na pasku bocznym).
Kliknij Workspace Settings
Wpisz swoje adresy URL webhooks, jeden na linię.
Możesz dodać wiele adresów URL webhooks. Wszystkie adresy URL będą otrzymywać ten sam ładunek, gdy dowolny link w Twoim obszarze roboczym zostanie kliknięty.

Kliknij Save Settings.
Webhooks na poziomie obszaru roboczego są uruchamiane przy każdym kliknięciu na dowolny link w Twoim obszarze roboczym.
Uwaga: Jeśli skonfigurujesz webhooks na obu poziomach, oba będą uruchamiane dla kliknięć na ten link.
Zdarzenia
Każdy webhook otrzymuje wszystkie typy zdarzeń dla swojego zakresu — webhook na poziomie linku otrzymuje zdarzenia dla tego linku, webhook na poziomie obszaru roboczego otrzymuje zdarzenia dla każdego linku w obszarze roboczym. Sprawdź pole event na najwyższym poziomie, aby je rozróżnić:
event | Wysyłane, gdy |
|---|---|
click | Krótki link jest kliknięty. Zawiera obiekt click z danymi żądania odwiedzającego. |
link.created | Nowy link jest tworzony w obszarze roboczym. |
link.updated | Ustawienia linku się zmieniają. Uruchamia się przy każdej aktualizacji, włączając w to automatyczne zapisywanie zmian, więc możesz otrzymać kilka w jednej sesji edytowania. |
link.deleted | Link jest usuwany. Obiekt link zachowuje slug i domenę, które miał przed usunięciem. |
Ładunek webhook
Ładunek kliknięcia
Gdy nastąpi kliknięcie, Linkly wysyła żądanie POST z następującym ładunkiem 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"
}
}
}
Pola ładunku
Informacje o zdarzeniu
| Pole | Opis |
|---|---|
event | click, link.created, link.updated, lub link.deleted |
timestamp | Znacznik czasu ISO 8601 kliknięcia |
Obiekt Link
| Pole | Opis |
|---|---|
id | Unikatowy identyfikator linku |
name | Nazwa pseudonimu linku |
url | Oryginalny docelowy URL |
full_url | Adres URL krótkiego linku |
domain | Domena niestandardowa (jeśli skonfigurowana) |
slug | Ścieżka/slug URL |
destination | Rzeczywiste miejsce docelowe dla tego kliknięcia (może różnić się od url, jeśli zastosowano reguły) |
workspace_id | Identyfikator obszaru roboczego |
enabled | Czy link jest aktywny |
rules | Tablica reguł przekierowania (geo, device, rotator) |
utm_* | Parametry UTM, jeśli skonfigurowane |
og_* | Ustawienia Open Graph, jeśli skonfigurowane |
Obiekt Click
| Pole | Opis |
|---|---|
id | Unikatowy identyfikator tego kliknięcia, 26-znakowy ULID. Początkowe znaki kodują czas kliknięcia, więc identyfikatory sortują się chronologicznie jako zwykłe ciągi |
country | Dwuliterowy kod kraju (np. "US", "GB") |
is_eu_country | Czy kliknięcie pochodzi z UE |
platform | Platforma urządzenia (desktop, ios, android, itp.) |
browser_name | Nazwa przeglądarki (Chrome, Safari, Firefox, itp.) |
referer | Adres URL źródła (jeśli dostępny) |
isp | Dostawca usług internetowych |
bot_name | Identyfikator bota (null dla kliknięć człowieka) |
destination | Ostateczny docelowy URL dla tego kliknięcia |
params | Parametry zapytania przekazane do linku |
Uwaga o prywatności: Adresy IP nigdy nie są zawarte w ładunkach webhook.
Ładunek cyklu życia linku
Zdarzenia link.created, link.updated i link.deleted mają jedną strukturę. Brak obiektu click — otrzymujesz event, timestamp i pełny link:
{
"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": []
}
}
Integracje platform automatyzacji
Aby ułatwić konfigurację bez niestandardowego kodowania, użyj naszych natywnych integracji:
- Integracja Make - Wizualna platforma automatyzacji z wyzwalaczami kliknięć w czasie rzeczywistym
- Integracja Zapier - Połącz Linkly z tysiącami aplikacji bez kodu
Obie integracje używają webhooks pod maską, ale obsługują całą konfigurację automatycznie.
Najlepsze praktyki
Wiele webhooks
Możesz dodać wiele adresów URL webhooks (jeden na linię). Wszystkie adresy URL będą otrzymywać ten sam ładunek, gdy nastąpi kliknięcie.
Obsługa błędów
- Webhooks to fire-and-forget - Linkly nie powtarza nieudanych dostaw
- Awarie webhook nigdy nie wpływają na przekierowanie - użytkownicy zawsze docierają do celu
- Upewnij się, że Twój endpoint webhook odpowiada szybko (< 5 sekund zalecane)
Bezpieczeństwo
- Używaj endpoints HTTPS dla adresów URL webhooks
- Waliduj przychodzące żądania w obsługiwanym webhook
- Rozważ dodanie parametru tajnego do adresu URL webhook dla weryfikacji
Testowanie
- 1Skonfiguruj adres URL webhook używając usługi takiej jak webhook.site lub RequestBin
- 2Kliknij swój link
- 3Zbadaj odebrany ładunek
- 4Po weryfikacji przejdź do produkcyjnego adresu URL webhook
Dostęp API
Możesz również zarządzać webhooks programowo za pośrednictwem 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
Szczegóły znajdują się w Dokumentacji API.
Webhooks — Najczęstsze pytania
Jakie zdarzenia mogą wysyłać webhooks?
Webhooks są uruchamiane na czterech zdarzeniach, identyfikowanych przez pole event w ładunku. Otrzymujesz click, gdy link jest kliknięty, plus link.created, link.updated i link.deleted, gdy linki się zmieniają. Każdy webhook otrzymuje wszystkie typy zdarzeń dla swojego zakresu, więc rozgałęź się na pole event, aby obsłużyć każdy z nich.
Dlaczego moje webhooks nie są uruchamiane?
Sprawdź, czy adres URL webhook jest prawidłowy i dostępny, oraz czy webhooks są zapisane na linku lub w obszarze roboczym. W przypadku zdarzeń kliknięcia pamiętaj, że webhooks są uruchamiane tylko wtedy, gdy kliknięcie jest rzeczywiście zarejestrowane — wykluczone adresy IP lub pominięte crawlery ich nie wyzwolą.
Dlaczego w ładunku webhook niektóre pola są puste (null)?
Niektóre pola mogą być puste (null), jeśli informacja nie była dostępna (np. brak źródła odniesienia), ustawienia prywatności uniemożliwiły zbieranie danych lub kliknięcie pochodzi od bota (w takim przypadku bot_name będzie wypełnione zamiast tego).
Czy Linkly ponawia nieudane dostawy webhook?
Nie. Webhooks to fire-and-forget. Nieudane dostawy nie są powtarzane, a Linkly nie śledzi stanu dostarczenia webhook. Żądania webhook wygasają po 5 sekundach.
Czy Linkly obsługuje postbacki do śledzenia konwersji?
Nie. Webhooks Linkly są tylko wychodzące i są uruchamiane, gdy nastąpiło kliknięcie. Nie możemy otrzymywać danych postback z sieci afiliacyjnych lub platform reklamowych. Aby śledzić konwersje, użyj natywnego śledzenia platformy docelowej, przekaż identyfikator kliknięcia za pośrednictwem przesyłania parametrów zapytania lub użyj naszej integracji BigQuery, aby połączyć dane kliknięć z danymi konwersji.
Czy powinienem używać webhooks czy Make/Zapier?
W większości przypadków automatyzacji nasze integracje Make lub Zapier są łatwiejsze do skonfigurowania. Używają webhooks pod maską, ale obsługują całą konfigurację automatycznie. Używaj niestandardowych webhooks, gdy musisz wysłać dane do własnych systemów lub potrzebujesz większej kontroli nad integracją.
Dostępność planu
Dostępne od planu Business
Śledź 500 kliknięć miesięcznie za darmo.