Webhooks

Webhooks umożliwiają otrzymywanie powiadomień 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(e) adres(y) URL zawierający szczegółowe informacje o każdym zdarzeniu.

Przypadki użycia

  • Platformy automatyzacji: Wyzwalaj przepływy pracy w Make lub Zapier gdy linki są klikane
  • Niestandardowa analityka: Wyślij dane o klikach do własnego systemu analityki
  • Aktualizacje CRM: Aktualizuj rekordy klientów gdy klikają na linki
  • Powiadomienia Slack: Otrzymuj powiadomienia na Slack gdy ważne linki są klikane
  • Śledzenie potencjalnych klientów: Śledź kiedy potencjalni klienci angażują się z Twoimi linkami

Porada: W przypadku większości scenariuszy automatyzacji nasza integracja Make lub integracja Zapier są łatwiejsze w konfiguracji niż niestandardowe webhooks. Zawierają natychmiastowe wyzwalacze kliknięć zasilane webhookami, bez konieczności kodowania.

Jak skonfigurować webhooks na poziomie linku

1
2

Przewiń w dół do sekcji Webhooks.

3

Wprowadź adres(y) URL webhook, jeden na linię.

Możesz dodać wiele adresów URL webhook. Wszystkie adresy URL będą otrzymywać tę samą zawartość gdy link zostanie kliknięty.

Wprowadź adres(y) URL webhook, jeden na linię.
Wprowadź adres(y) URL webhook, jeden na linię.
4

Webhooks na poziomie linku są wyzwalane tylko gdy ten konkretny link zostanie kliknięty.

Jak skonfigurować webhooks na poziomie obszaru roboczego

1

Przejdź do Settings (ikona koła zębatego na pasku bocznym).

2

Kliknij Workspace Settings

3

Wprowadź adres(y) URL webhook, jeden na linię.

Możesz dodać wiele adresów URL webhook. Wszystkie adresy URL będą otrzymywać tę samą zawartość gdy jakikolwiek link w Twoim obszarze roboczym zostanie kliknięty.

Wprowadź adres(y) URL webhook, jeden na linię.
Wprowadź adres(y) URL webhook, jeden na linię.
4

Kliknij Save Settings.

Webhooks na poziomie obszaru roboczego są wyzwalane dla każdego kliknięcia na dowolny link w Twoim obszarze roboczym.

Uwaga: Jeśli skonfigurujesz webhooks na obu poziomach, oba będą wyzwalane dla kliknięć na tym linku.

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 najwyższego poziomu aby je odróżnić:

eventWysłane gdy
clickKrótki link jest kliknięty. Zawiera obiekt click z danymi żądania odwiedzającego.
link.createdNowy link jest tworzony w obszarze roboczym.
link.updatedUstawienia linku się zmieniają. Jest wyzwalane przy każdej aktualizacji, w tym automatycznie zapisanych zmian, więc możesz otrzymać kilka powiadomień na sesję edycji.
link.deletedLink jest usuwany. Obiekt link zachowuje slug i domenę które miał przed usunięciem.

Zawartość webhook

Zawartość kliknięcia

Gdy dojdzie do kliknięcia, 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": {
    "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

PoleOpis
eventclick, link.created, link.updated, lub link.deleted
timestampSygnatura czasowa ISO 8601 kliknięcia

Obiekt linku

PoleOpis
idUnikalny identyfikator linku
namePrzezwisko linku
urlOryginalny docelowy adres URL
full_urlAdres URL krótkiego linku
domainDomena niestandardowa (jeśli skonfigurowana)
slugŚcieżka/slug URL
destinationRzeczywisty cel dla tego kliknięcia (może różnić się od url jeśli zastosowano reguły)
workspace_idIdentyfikator obszaru roboczego
enabledCzy link jest aktywny
rulesTablica reguł przekierowania (geo, urządzenie, rotator)
utm_*Parametry UTM jeśli skonfigurowane
og_*Ustawienia Open Graph jeśli skonfigurowane

Obiekt kliknięcia

PoleOpis
countryDwuliterowy kod kraju (np. "US", "GB")
is_eu_countryCzy kliknięcie pochodzi z UE
platformPlatforma urządzenia (desktop, ios, android, itp.)
browser_nameNazwa przeglądarki (Chrome, Safari, Firefox, itp.)
refererAdres URL źródła (jeśli dostępny)
ispDostawca internetu
bot_nameIdentyfikator bota (null dla kliknięć człowieka)
destinationOstateczny docelowy adres URL dla tego kliknięcia
paramsParametry zapytania przekazane do linku

Uwaga o prywatności: Adresy IP nigdy nie są zawarte w zawartości webhook.

Zawartość cyklu życia linku

Zdarzenia link.created, link.updated i link.deleted mają tę samą strukturę. 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, użyj 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

Możesz dodać wiele adresów URL webhook (jeden na linię). Wszystkie adresy URL będą otrzymywać tę samą zawartość gdy dojdzie do kliknięcia.

Obsługa błędów

  • Webhooks są fire-and-forget - Linkly nie ponawia nieudanych dostaw
  • Błędy webhook nigdy nie wpływają na przekierowanie - użytkownicy zawsze docierają do swojego celu
  • Upewnij się że Twój endpoint webhook odpowiada szybko (< 5 sekund rekomendowane)

Bezpieczeństwo

  • Użyj adresów HTTPS dla adresów URL webhook
  • Sprawdzaj przychodzące żądania w obsłudze webhook
  • Rozważ dodanie tajnego parametru do adresu URL webhook dla weryfikacji

Testowanie

  1. 1
    Skonfiguruj adres URL webhook używając usługi takiej jak webhook.site lub RequestBin
  2. 2
    Kliknij swój link
  3. 3
    Sprawdź otrzymaną zawartość
  4. 4
    Po weryfikacji przełącz się na produkcyjny adres URL webhook

Dostęp do API

Możesz również zarządzać webhook 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 — Często zadawane pytania

Jakie zdarzenia mogą wysyłać webhooks?

Webhooks są wyzwalane na 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 swojego zakresu, więc rozgałęź się na pole event aby obsługiwać każdy.

Dlaczego moje webhooks nie są wyzwalane?

Sprawdź czy Twój adres URL webhook jest ważny i dostępny, oraz czy webhooks są zapisane na linku lub obszarze roboczym. Dla zdarzeń kliknięcia zauważ że webhooks są wyzwalane tylko gdy kliknięcie jest rzeczywiście zarejestrowane - wykluczone adresy IP lub pominięte crawlery ich nie wyzwolą.

Dlaczego niektóre pola są null w zawartości webhook?

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ło od bota (w takim przypadku bot_name będzie wypełnione).

Czy Linkly ponawia nieudane dostawy webhook?

Nie. Webhooks są fire-and-forget. Nieudane dostawy nie są ponawiane, a Linkly nie śledzi status dostawy webhook. Żądania webhook timeout po 5 sekundach.

Czy Linkly obsługuje postbacki do śledzenia konwersji?

Nie. Webhooks Linkly są tylko wychodzące i są wyzwalane gdy kliknięcia występują. Nie możemy odbierać danych postback od sieci afiliacyjnych lub platform reklamowych. Do śledzenia konwersji użyj natywnego śledzenia platformy docelowej, przekaż ID kliknięcia przez przekazywanie parametrów zapytania, lub użyj naszej integracji BigQuery do łączenia danych kliknięć z danymi konwersji.

Czy powinienem użyć webhook czy Make/Zapier?

W przypadku większości scenariuszy automatyzacji nasze integracje Make lub Zapier są łatwiejsze w konfiguracji. Używają webhook pod spodem ale obsługują całą konfigurację automatycznie. Użyj niestandardowych webhook gdy potrzebujesz wysłać dane do Twoich własnych systemów lub wymagasz większej kontroli nad integracją.

Czy mogę mieć webhooks zarówno na linku jak i na obszarze roboczym?

Tak. Jeśli skonfigurujesz webhooks na obu poziomach, oba będą wyzwalane gdy ten link zostanie kliknięty. Jest to przydatne jeśli chcesz logowanie na całym obszarze roboczym plus określone działania dla pewnych linków.

Dostępność planu

Dostępne od planu Business

Porównaj plany →

Śledź 500 kliknięć miesięcznie za darmo.