Przejdź do głównej zawartości

Webhooks

Otrzymuj wiadomość we własnym systemie, gdy klienci dołączają do programu lub coś zdobywają.

Napisane przez Berke Atik

Webhooki pozwalają Loyaltify od razu informować twoje inne systemy, gdy coś się wydarzy, na przykład gdy dołączy nowy klient albo klient zdobędzie punkty. Loyaltify wysyła krótką wiadomość na wybrany przez ciebie adres, a twój system może na nią zareagować.

Przydają się do aktualizowania CRM-u, wyzwalania e-maili we własnych narzędziach lub tworzenia raportów. Ten przewodnik opisuje, jak skonfigurować webhook, co zawiera każda wiadomość i jak sprawdzić, czy wiadomości docierają.

💡 Warto wiedzieć: ta funkcja jest częścią planu Advanced. Przestaje działać po przejściu na niższy plan.

Skonfiguruj webhook

Krok 1: Otwórz konfigurację webhooka

Przejdź do zakładki Integracje i kliknij Połącz na karcie Webhook.


​

Krok 2: Uzupełnij dane

W oknie Konfiguracja webhooka:

  • Adres URL endpointu: adres https w twoim systemie, który ma odbierać wiadomości.

  • Autoryzacja: wybierz Bearer i wpisz własny token albo wybierz Brak.

  • Zdarzenia: zaznacz te, które chcesz otrzymywać. Musisz wybrać co najmniej jedno.

Następnie zapisz, a twój webhook zacznie działać.

💡 Wskazówka: wybierz Bearer i długi, losowy token. Każda wiadomość będzie wtedy zawierać nagłówek Authorization: Bearer, a po nim twój token, dzięki czemu twój system może sprawdzić, czy wiadomość naprawdę pochodzi od Loyaltify. Ten token jest niezależny od twojego klucza API.

Późniejsze zmiany

Endpoint, autoryzację i zdarzenia możesz zmienić w dowolnym momencie na stronie Konfiguracja webhooka. Na koniec kliknij Zapisz.


Zdarzenia do wyboru

  • Klient utworzony (customer.created): dołącza nowy klient.

  • Klient zaktualizowany (customer.updated): dane klienta zostają zmienione.

  • Transakcja utworzona (transaction.created): klient otrzymuje saldo początkowe, coś zdobywa, realizuje nagrodę, otrzymuje nagrodę za polecenie lub jego punkty wygasają.

  • Próba rejestracji istniejącego klienta (customer.signup_attempt): ktoś, kto już ma kartę, ponownie wypełnia twój formularz. Nowe zgłoszenie nie zmienia jego zapisanych danych.


Co zawiera każda wiadomość

Loyaltify wysyła każdą wiadomość w formacie JSON z nagłówkami Content-Type: application/json i User-Agent: Loyaltify-Webhook/1.0. Każda wiadomość składa się z trzech części:

  • event: jakie to zdarzenie, na przykład customer.created.

  • timestamp: kiedy do niego doszło, w UTC (na przykład 2026-10-16T16:38:46Z).

  • data: szczegóły, które zależą od zdarzenia.

Liczby, takie jak point i balance_after, są wysyłane jako tekst, na przykład "1.0", a puste wartości to null.

Klient utworzony i Klient zaktualizowany

  • name, email, phone i birthday

  • uuid: ID klienta (to samo, które jest w kodzie QR jego karty)

  • point: jego saldo (przy zdarzeniu Klient utworzony saldo początkowe)

  • custom_fields: odpowiedzi na twoje pytania niestandardowe, w tym ukryte wartości z linku do formularza, takie jak click_id

  • is_marketing_opted_in: czy klient wyraził zgodę marketingową

  • created_at, updated_at i store_uuid

Zdarzenie Klient zaktualizowany zawiera te same pola, z nowymi wartościami. Oto przykład zdarzenia Klient utworzony:

{
"data": {
"name": "Alex",
"uuid": "7f3e9a21",
"email": "[email protected]",
"phone": null,
"point": "1.0",
"birthday": null,
"created_at": "2026-10-16T16:38:41.704Z",
"store_uuid": "a1b2c3d4",
"updated_at": "2026-10-16T16:38:46.790Z",
"custom_fields": {},
"is_marketing_opted_in": true
},
"event": "customer.created",
"timestamp": "2026-10-16T16:38:46Z"
}

Transakcja utworzona

  • kind: typ transakcji, na przykład initial (saldo początkowe przy rejestracji), manual, redeem, expired, referee lub referrer

  • point i amount: wartości transakcji. Przy wygaśnięciach point ma wartość ujemną.

  • balance_after: saldo klienta po transakcji

  • campaign: przy realizacjach kampania, która została zrealizowana

  • user: osoba z zespołu, która zeskanowała kartę (imię i nazwisko, ID i e-mail), lub null przy zdarzeniach automatycznych, takich jak wygaśnięcia

  • customer_uuid, customer_email i customer_phone

  • referred_by_uuid: przy nagrodach za polecenia informacja, kto polecił klienta

  • uuid: własne ID transakcji

  • created_at i store_uuid

Oto przykład, w którym osoba z zespołu dodaje punkt:

{
"data": {
"kind": "manual",
"user": {
"name": "Sam Taylor",
"uuid": "0b8e7d4c-1f2a-4c3b-9d5e-6a7b8c9d0e1f",
"email": "[email protected]"
},
"uuid": "5c9d2e7a-3b4f-4a1c-8e6d-2f7a9b0c1d3e",
"point": "1.0",
"amount": null,
"campaign": null,
"created_at": "2026-10-16T16:45:10.375Z",
"store_uuid": "a1b2c3d4",
"balance_after": "2.0",
"customer_uuid": "7f3e9a21",
"customer_email": "[email protected]",
"customer_phone": null,
"referred_by_uuid": null
},
"event": "transaction.created",
"timestamp": "2026-10-16T16:45:10Z"
}

Nagroda za polecenie wysyła jednocześnie dwie transakcje: referee dla nowego klienta, z referred_by_uuid ustawionym na ID polecającego, oraz referrer dla klienta, który go polecił.

Próba rejestracji istniejącego klienta

  • customer: kim jest istniejący klient, wraz z jego uuid i custom_fields

  • matched_on: jak został rozpoznany, na przykład po adresie e-mail

  • submission: co właśnie wpisał w formularzu

  • form: którego formularza użył

Aby zobaczyć pełną wiadomość, otwórz dowolne dostarczenie w sekcji Ostatnie zdarzenia (patrz niżej).


Sprawdź dostarczenia

Na stronie Konfiguracja webhooka sekcja Ostatnie zdarzenia pokazuje twoje zdarzenia wraz ze statusem, kodem odpowiedzi, liczbą prób i datą. Kliknij ikonę oka, aby zobaczyć dokładnie, co zostało wysłane, jakie były nagłówki i jak odpowiedział twój system.

Wiadomości nie docierają?

  • Sprawdź, czy Adres URL endpointu to prawidłowy adres https. Przeglądarki czasem automatycznie wpisują w to pole adres e-mail.

  • Sprawdź, czy zdarzenie jest zaznaczone na stronie Konfiguracja webhooka.

  • Sprawdź, czy masz plan Advanced.

  • Sprawdź zdarzenie w sekcji Ostatnie zdarzenia. Jeśli kod odpowiedzi wskazuje błąd, twój system otrzymał wiadomość, ale ją odrzucił, a ikona oka pokazuje jego odpowiedź.

Nadal coś nie działa? Napisz do zespołu wsparcia przez czat na żywo.


Warto wiedzieć

  • Wiadomości mogą docierać w innej kolejności, więc jeśli kolejność ma znaczenie, korzystaj ze znacznika czasu.

  • Przygotuj swój system na to, że to samo zdarzenie może dotrzeć dwa razy, tak na wszelki wypadek. W przypadku transakcji uuid w data jest unikalne dla każdej z nich.

  • Korzystasz z API? Webhooki wysyłają krótkie ID klienta. Niektóre żądania API wymagają zamiast tego wewnętrznego numeru klienta, a dokumentacja API pokazuje, jak znaleźć jeden na podstawie drugiego.

  • Korzystasz z Omnisend? Przewodnik Omnisend wykorzystuje webhook do połączenia z Loyaltify. Link znajdziesz w artykule Przegląd integracji.
    ​


Potrzebujesz pomocy?

Chętnie pomożemy!

Jeśli masz pytania dotyczące webhooków, napisz do nas przez czat na żywo w Loyaltify lub użyj przycisku czatu w prawym dolnym rogu tej strony. Nasz zespół chętnie ci pomoże.

Czy to odpowiedziało na twoje pytanie?