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

1
2

Przewiń w dół do sekcji Webhooks.

3

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.

Wpisz swoje adresy URL webhooks, jeden na linię.
Wpisz swoje adresy URL webhooks, jeden na linię.
4

Webhooks na poziomie linku są uruchamiane tylko wtedy, 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

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.

Wpisz swoje adresy URL webhooks, jeden na linię.
Wpisz swoje adresy URL webhooks, jeden na linię.
4

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ć:

eventWysył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ą. 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.deletedLink 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

PoleOpis
eventclick, link.created, link.updated, lub link.deleted
timestampZnacznik czasu ISO 8601 kliknięcia
PoleOpis
idUnikatowy identyfikator linku
nameNazwa pseudonimu linku
urlOryginalny docelowy URL
full_urlAdres URL krótkiego linku
domainDomena niestandardowa (jeśli skonfigurowana)
slugŚcieżka/slug URL
destinationRzeczywiste miejsce docelowe 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, device, rotator)
utm_*Parametry UTM, jeśli skonfigurowane
og_*Ustawienia Open Graph, jeśli skonfigurowane

Obiekt Click

PoleOpis
idUnikatowy 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
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 usług internetowych
bot_nameIdentyfikator bota (null dla kliknięć człowieka)
destinationOstateczny docelowy URL dla tego kliknięcia
paramsParametry 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

  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
    Zbadaj odebrany ładunek
  4. 4
    Po 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ą.

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

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

Dostępność planu

Dostępne od planu Business

Porównaj plany →

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