Wyzwalacze i zdarzenia systemowe

Wyzwalacz decyduje, kiedy powstaje instancja obiegu. Do wyboru jest pięć rodzajów: ręczny, harmonogram, webhook, zdarzenie systemowe i reguła przypisania do zamówienia. Zdarzeń systemowych jest dwanaście.

Opublikowano
Zaktualizowano
Wersja systemu26.39
Czas czytania8 min
Na tej stronieRodzaje wyzwalaczyHarmonogramWebhookZdarzenia systemoweZamówienie złożoneZamówienie opłacone w całościZmiana statusu zamówieniaZamówienie anulowaneNiedokończona płatność (porzucone zamówienie)Oznaczenie w komentarzu zamówieniaRejestracja klienta (storefront)Logowanie klienta (storefront)Pierwsze logowanie klienta (storefront)Pierwsze zamówienie klientaKlient nieaktywnyPorzucony koszyk

Rodzaje wyzwalaczy#

WyzwalaczKiedy startuje obiegTypowe zastosowanie
RęcznyGdy użytkownik uruchomi obieg przyciskiemZamknięcie dnia, jednorazowy raport
HarmonogramO zadanej porze lub co ustalony odstępRaport poranny, cykliczne porządki
WebhookGdy zewnętrzny system wywoła adres obieguIntegracja z ERP, platformą dostaw
Zdarzenie systemoweGdy w systemie wydarzy się wybrane zdarzeniePotwierdzenia, CRM, powiadomienia
Reguła przypisaniaGdy zamówienie spełni warunki (kanał, status, typ, rozliczenie)Główny obieg realizacji zamówienia
Wyzwalacze w edytorze definicji: reguła zamówień

Harmonogram#

Interwały: co 15 minut, co 30 minut, co godzinę, co 6 godzin, codziennie, co tydzień i co miesiąc. Zamiast interwału możesz podać wyrażenie cron, które ma pierwszeństwo. Możesz ustawić datę początku i końca oraz strefę czasową (domyślnie według ustawień firmy, np. Europe/Warsaw).

Webhook#

Webhook udostępnia adres, który uruchamia obieg. Konfigurujesz:

UstawienieZnaczenie
Dozwolone metodyGET, POST, PUT, PATCH, DELETE, HEAD
UwierzytelnianieToken typu bearer, nagłówek o wybranej nazwie albo parametr w adresie. Sekret system generuje, jeśli go nie podasz
Wymagane nagłówkiNazwa i opcjonalnie oczekiwana wartość
Schemat treściJSON Schema (draft-07) do walidacji ciała żądania
Zapis treści i parametrówDo zmiennej procesu: surowe ciało oraz parametry z adresu
Parametry adresuNazwane parametry z opcją „wymagany”, dostępne jako {{trigger_param:nazwa}}
Tryb synchronicznyWywołujący czeka na koniec obiegu i dostaje zmienną odpowiedzi jako JSON (domyślny limit oczekiwania 15 s)

Zdarzenia systemowe#

Zdarzenia dotyczą zamówień i cyklu życia klienta. Zdarzenie dostarczane jest w jednym z dwóch trybów:

  • Czas rzeczywisty - zdarzenie emitowane tam, gdzie coś się dzieje, po zapisaniu zmiany. Obieg startuje od razu.
  • Skaner - zdarzenia bez „momentu” (np. brak wpłaty przez godzinę). Wykrywa je skaner co kilka minut i emituje jak zdarzenie czasu rzeczywistego.

Zdarzenia klienta mogą działać w trybie pojedynczym (jedno zdarzenie = jedna instancja z jednym klientem, mention customer) albo wsadowym (według harmonogramu zbiera pasujących klientów do tablicy, mention customers, i przetwarzasz ich w pętli).

Zamówienie złożone#

Nowe zamówienie z dowolnego kanału. Obieg startuje obok obiegu przypisanego regułą — np. powiadomienia, CRM, integracje.

  • Klucz zdarzenia: order.placed
  • Dotyczy: zamówienia
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Źródło zamówienialistaOgranicz do kanału. Puste = dowolne. Wartości: Sklep internetowy (storefront), Touch POS, POS (klasyczny), POS (panel), Aplikacja zamówień, Wewnętrzne (panel), Ręczne, API zewnętrzne.
Sposób rozliczenialistaOgranicz do sposobu płatności. Puste = dowolny. Wartości: Online (operator płatności), Przy odbiorze, Przelew tradycyjny.
Minimalna wartość bruttoliczbaOdpal tylko dla zamówień od tej kwoty. Puste = każda kwota.

Zamówienie opłacone w całości#

Płatność rozliczyła całą kwotę zamówienia — z webhooka operatora, rekoncyliacji albo ręcznego rozliczenia.

  • Klucz zdarzenia: order.paid
  • Dotyczy: zamówienia
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Źródło zamówienialistaOgranicz do kanału. Puste = dowolne. Wartości: Sklep internetowy (storefront), Touch POS, POS (klasyczny), POS (panel), Aplikacja zamówień, Wewnętrzne (panel), Ręczne, API zewnętrzne.
Minimalna wartość bruttoliczbaOdpal tylko dla zamówień od tej kwoty. Puste = każda kwota.

Zmiana statusu zamówienia#

Status zmienił się z panelu, POS, obiegu albo automatu płatności. Wskaż status docelowy, żeby reagować tylko na jedno przejście.

  • Klucz zdarzenia: order.status_changed
  • Dotyczy: zamówienia
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Nowy statusstatus zamówieniaOdpal tylko, gdy zamówienie przeszło NA ten status. Puste = każda zmiana.
Źródło zamówienialistaOgranicz do kanału. Puste = dowolne. Wartości: Sklep internetowy (storefront), Touch POS, POS (klasyczny), POS (panel), Aplikacja zamówień, Wewnętrzne (panel), Ręczne, API zewnętrzne.

Zamówienie anulowane#

Zamówienie trafiło na status oznaczony jako anulujący — niezależnie od tego, kto i skąd je anulował.

  • Klucz zdarzenia: order.cancelled
  • Dotyczy: zamówienia
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Źródło zamówienialistaOgranicz do kanału. Puste = dowolne. Wartości: Sklep internetowy (storefront), Touch POS, POS (klasyczny), POS (panel), Aplikacja zamówień, Wewnętrzne (panel), Ręczne, API zewnętrzne.

Niedokończona płatność (porzucone zamówienie)#

Zamówienie z płatnością online nie zostało opłacone przez zadany czas i nie jest anulowane. Serwerowy odpowiednik porzuconego koszyka — przypomnienie, rabat, anulowanie.

  • Klucz zdarzenia: order.payment_overdue
  • Dotyczy: zamówienia
  • Dostarczanie: skaner co kilka minut
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Brak wpłaty przez (minuty)liczbaPo tylu minutach od złożenia zamówienie bez rozliczonej płatności uznajemy za porzucone. Domyślnie 60.
Minimalna wartość bruttoliczbaOdpal tylko dla zamówień od tej kwoty. Puste = każda kwota.

Oznaczenie w komentarzu zamówienia#

Ktoś oznaczył pracownika (@) w komentarzu wewnętrznym zamówienia. Obieg startuje osobno dla każdej oznaczonej osoby — np. e-mail z treścią komentarza i linkiem do zamówienia w Bitee. Autor nie dostaje zdarzenia o samym sobie.

  • Klucz zdarzenia: order.comment_mention
  • Dotyczy: zamówienia
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Kogo dotyczylistaDomyślnie tylko oznaczone osoby. Opcjonalnie także autor wątku, gdy ktoś mu odpowie. Wartości: Oznaczone osoby i autor wątku (odpowiedzi), Tylko autor wątku (odpowiedzi).

Rejestracja klienta (storefront)#

Klient założył konto na sklepie (email / Google / inny provider).

  • Klucz zdarzenia: customer.registered
  • Dotyczy: klienta
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: tak
FiltrTypOpis
Sposób rejestracjilistaOgranicz do wybranego providera. Puste = dowolny. Wartości: E-mail / hasło, Google, Facebook, Apple.

Logowanie klienta (storefront)#

Klient zalogował się na sklepie. Opcjonalnie tylko powrót po przerwie.

  • Klucz zdarzenia: customer.login
  • Dotyczy: klienta
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: tak
FiltrTypOpis
Powrót po ≥ X dniach nieaktywnościliczbaOdpal tylko, gdy klient wraca po co najmniej X dniach od poprzedniego logowania. Puste = każde logowanie.

Pierwsze logowanie klienta (storefront)#

Pierwsze w życiu logowanie na konto klienta.

  • Klucz zdarzenia: customer.first_login
  • Dotyczy: klienta
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: tak

Pierwsze zamówienie klienta#

Klient złożył pierwsze zamówienie w firmie. Real-time po zapisie zamówienia — powitanie, rabat na drugie zakupy, onboarding.

  • Klucz zdarzenia: customer.first_order
  • Dotyczy: klienta
  • Dostarczanie: czas rzeczywisty
  • Tryb pojedynczy: tak, tryb wsadowy: nie

Klient nieaktywny#

Minęło N dni od ostatniego zamówienia albo logowania (albo od rejestracji, gdy nie było żadnego). Skaner wykrywa przekroczenie progu raz — nie odpytuje przy każdym żądaniu HTTP.

  • Klucz zdarzenia: customer.inactive
  • Dotyczy: klienta
  • Dostarczanie: skaner co kilka minut
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Brak aktywności przez (dni)liczbaPróg ciszy. Domyślnie 30. Sprawdzane co 5 minut, każde konto odpala się raz w momencie przekroczenia.
Tylko ze zgodą marketingowąlistaPuste = wszyscy nieaktywni. „tak" = tylko klienci, którym wolno wysłać ofertę. Wartości: Tylko ze zgodą marketingową.

Porzucony koszyk#

Zalogowany klient miał produkty w koszyku i nic z nim nie zrobił przez zadany czas. Storefront zgłasza zmiany koszyka (debounce); skaner emituje zdarzenie raz. Gość bez konta nie jest skanowany — nie ma komu wysłać wiadomości.

  • Klucz zdarzenia: customer.cart_abandoned
  • Dotyczy: klienta
  • Dostarczanie: skaner co kilka minut
  • Tryb pojedynczy: tak, tryb wsadowy: nie
FiltrTypOpis
Bezczynność koszyka (minuty)liczbaPo tylu minutach od ostatniej zmiany koszyka uznajemy go za porzucony. Domyślnie 60. Sprawdzane co 5 minut.
PodsumowanieW skrócie
  • Pięć rodzajów wyzwalaczy: ręczny, harmonogram, webhook, zdarzenie systemowe, reguła przypisania.
  • Dwanaście zdarzeń systemowych obejmuje zamówienia (6) i klientów (6), każde z własnymi filtrami.
  • Zdarzenia skanowane (porzucona płatność, nieaktywny klient, porzucony koszyk) wykrywa skaner, nie „moment”.
  • Zdarzenia klienta działają pojedynczo albo wsadowo (kolekcja klientów i pętla).