Webhooks
Webhooks umożliwiają otrzymywanie powiadomień w czasie rzeczywistym dotyczących twoich linków — zarówno gdy są klikane, jak i gdy są tworzone, aktualizowane lub usuwane. Linkly wysyła żądanie POST na podany(e) adres(y) URL ze szczegółowymi informacjami o każdym zdarzeniu.
Przypadki użycia
- Platformy automatyzacji: Wyzwól przepływy pracy w Make lub Zapier gdy linki są klikane
- Niestandardowa analityka: Wyślij dane kliknięć do własnego systemu analityki
- Aktualizacje CRM: Aktualizuj rekordy klientów gdy klikną linki
- Powiadomienia Slack: Otrzymuj powiadomienia w Slack gdy ważne linki są klikane
- Śledzenie potencjalnych klientów: Śledź zaangażowanie potencjalnych klientów z twoimi linkami
Porada: W przypadku większości scenariuszy automatyzacji nasza integracja Make lub integracja Zapier są łatwiejsze do skonfigurowania niż niestandardowe webhooki. Zawierają natychmiastowe wyzwalacze kliknięć zasilane webhookami, bez potrzeby kodowania.
Jak skonfigurować webhooki na poziomie linku
Przejdź do Linków i kliknij na link, który chcesz skonfigurować.
Przewiń w dół do sekcji Webhooks.
Wpisz adres(y) URL webhooku, jeden w każdym wierszu.
Możesz dodać wiele adresów URL webhooku. Wszystkie adresy URL będą otrzymywać tę samą zawartość gdy link zostanie kliknięty.

Kliknij Zapisz.
Webhooki na poziomie linku uruchamiają się tylko gdy ten konkretny link zostanie kliknięty.
Jak skonfigurować webhooki na poziomie obszaru roboczego
Przejdź do Ustawień (ikona koła zębatego na pasku bocznym).
Kliknij Ustawienia obszaru roboczego
Wpisz adres(y) URL webhooku, jeden w każdym wierszu.
Możesz dodać wiele adresów URL webhooku. Wszystkie adresy URL będą otrzymywać tę samą zawartość gdy dowolny link w twoim obszarze roboczym zostanie kliknięty.

Kliknij Zapisz ustawienia.
Webhooki na poziomie obszaru roboczego uruchamiają się dla każdego kliknięcia dowolnego linku w twoim obszarze roboczym.
Uwaga: Jeśli skonfigurujesz webhooki na obu poziomach, oba będą uruchamiać się dla kliknięć na tym linku.
Zdarzenia
Każdy webhook otrzymuje wszystkie typy zdarzeń dla jego 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 poziomie najwyższym, aby je rozróżnić:
event | Wysł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 | Zmienia się ustawienie linku. Uruchamia się przy każdej aktualizacji, w tym edycjach automatycznie zapisywanych, więc możesz otrzymać kilka podczas sesji edycji. |
link.deleted | Link jest usuwany. Obiekt link zachowuje slug i domenę, które miał przed usunięciem. |
Zawartość webhooku
Zawartość kliknięcia
Gdy następuje kliknięcie, Linkly wysyła żądanie POST z następującą zawartością 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 zawartości
Informacje o zdarzeniu
| Pole | Opis |
|---|---|
event | click, link.created, link.updated, lub link.deleted |
timestamp | Znacznik czasu ISO 8601 kliknięcia |
Obiekt linku
| Pole | Opis |
|---|---|
id | Unikalny identyfikator linku |
name | Nazwa linku |
url | Oryginalny adres URL docelowy |
full_url | Adres URL krótkiego linku |
domain | Domena niestandardowa (jeśli skonfigurowana) |
slug | Ścieżka URL/slug |
destination | Rzeczywisty cel dla tego kliknięcia (może się różnić od url jeśli zastosowano reguły) |
workspace_id | Identyfikator obszaru roboczego |
enabled | Czy link jest aktywny |
rules | Tablica reguł przekierowania (geo, urządzenie, rotator) |
utm_* | Parametry UTM jeśli skonfigurowane |
og_* | Ustawienia Open Graph jeśli skonfigurowane |
Obiekt kliknięcia
| Pole | Opis |
|---|---|
id | Unikalny identyfikator tego kliknięcia, 26-znakowy ULID. Wiodące znaki kodują czas kliknięcia, więc identyfikatory sortują się chronologicznie jako zwykłe ciągi znaków |
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 adres URL docelowy dla tego kliknięcia |
params | Parametry zapytania przekazane do linku |
Uwaga o prywatności: Adresy IP nigdy nie są uwzględniane w zawartościach webhooków.
Zawartość cyklu życia linku
Zdarzenia link.created, link.updated i link.deleted mają jeden kształt. Nie ma 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, skorzystaj z naszych natywnych integracji:
- Integracja Make - Wizualna platforma automatyzacji z natychmiastowymi wyzwalaczami kliknięć
- Integracja Zapier - Połącz Linkly z tysiącami aplikacji bez kodu
Obie integracje używają webhooków pod spodem, ale obsługują całą konfigurację automatycznie.
Najlepsze praktyki
Wiele webhooków
Możesz dodać wiele adresów URL webhooku (jeden w każdym wierszu). Wszystkie adresy URL będą otrzymywać tę samą zawartość gdy następuje kliknięcie.
Obsługa błędów
- Webhooki to wypal i zapomnij - Linkly nie ponawia nieudanych dostaw
- Błędy webhooku nigdy nie wpływają na przekierowanie - użytkownicy zawsze docierają do celu
- Upewnij się, że endpoint webhooku odpowiada szybko (< 5 sekund zalecane)
Bezpieczeństwo
- Używaj punktów końcowych HTTPS dla adresów URL webhooków
- Sprawdzaj poprawność żądań przychodzących w obsługiwaczu webhooku
- Rozważ dodanie parametru tajnego do adresu URL webhooku w celu weryfikacji
Testowanie
- 1Skonfiguruj adres URL webhooku używając usługi takiej jak webhook.site lub RequestBin
- 2Kliknij swój link
- 3Sprawdź otrzymaną zawartość
- 4Po weryfikacji przełącz się na produkcyjny adres URL webhooku
Dostęp do API
Możesz również zarządzać webhookami 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 można znaleźć w Dokumentacji API.
Webhooks — Często zadawane pytania
Jakie zdarzenia mogą wysyłać webhooki?
Webhooki uruchamiają się przy czterech zdarzeniach, identyfikowanych przez pole event w zawartości. 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 jego zakresu, więc rozgałęź się na polu event aby obsługiwać każdy.
Dlaczego moje webhooki się nie uruchamiają?
Sprawdź czy adres URL webhooku jest prawidłowy i dostępny, oraz czy webhooki są zapisane na linku lub obszarze roboczym. W przypadku zdarzeń kliknięcia pamiętaj że webhooki uruchamiają się tylko gdy kliknięcie jest rzeczywiście rejestrowane - wykluczone adresy IP lub pominięte crawlery ich nie wyzwolą.
Dlaczego niektóre pola są null w zawartości webhooku?
Niektóre pola mogą być null jeśli informacja nie była dostępna (np. brak referer), ustawienia prywatności uniemożliwiły zbieranie, lub kliknięcie pochodzi od bota (w takim przypadku bot_name będzie wypełnione).
Czy Linkly ponawia nieudane dostawy webhooków?
Nie. Webhooki to wypal i zapomnij. Nieudane dostawy nie są ponawiane, a Linkly nie śledzi stanu dostawy webhooku. Żądania webhooku upływają po 5 sekundach.
Czy Linkly obsługuje postbacki do śledzenia konwersji?
Nie. Webhooki Linkly są tylko wychodzące i uruchamiają się gdy kliknięcia następują. Nie możemy odbierać danych postbacku od sieci afiliacyjnych lub platform reklamowych. W celu śledzenia konwersji używaj natywnego śledzenia platformy docelowej, przesyłaj identyfikator kliknięcia przez przekazywanie parametrów zapytania lub użyj naszej integracji BigQuery aby połączyć dane kliknięć z danymi konwersji.
Czy powinienem używać webhooków czy Make/Zapier?
W przypadku większości scenariuszy automatyzacji nasze integracje Make lub Zapier są łatwiejsze do skonfigurowania. Używają webhooków pod spodem ale obsługują całą konfigurację automatycznie. Używaj niestandardowych webhooków gdy musisz wysył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.