Automatyzacja zamówień
Moduł Automatyzacja zamówień pozwala automatycznie wykonywać działania na zamówieniach na podstawie zdefiniowanych zdarzeń, warunków i akcji. Mechanizm działa w oparciu o reguły, które są uruchamiane po wystąpieniu określonego zdarzenia (np. zmiany statusu zamówienia lub jego opłacenia), sprawdzają zestaw warunków i wykonują przypisane akcje. Reguły są globalne dla całego panelu, jednak można ograniczyć ich działanie do wybranych sklepów za pomocą warunków.
Co znajdziesz w tym artykule?
jak stworzyć reguły oparte na zdarzeniach,
jak skonfigurować warunki i operatory,
jak definiować akcje wykonywane automatycznie,
jak działa kolejność przetwarzania reguł,
jak testować automatyzację,
jak działają zabezpieczenia przed zapętleniem,
przykładowe scenariusze automatyzacji.
Zanim zaczniesz sprawdź
Czy posiadasz uprawnienia do modułu Administracja i ustawienia?
Czy posiadasz uprawnienie do modułu Zamówienia?
Czy w panelu posiadasz zamówienia testowe do weryfikacji działania reguł?
Czy wiesz, jakie zdarzenie ma uruchamiać automatyzację?
Tworzenie nowej automatyzacji
Przejdź do modułu
ZAMÓWIENIA > Automatyzacje.Kliknij Dodaj automatyzację.
Wybierz zdarzenie wyzwalające.
Dodaj warunki, które muszą zostać spełnione.
Dodaj jedną lub wiele akcji.
Ustal kolejność akcji.
Zapisz regułę.
Wybierz trzy kropki znajdujące się w kolumnie „Opcje”
Włącz automatyzację.
Każde wykonanie akcji jest zapisywane w historii zamówienia bezpośrednio w zamówieniu.
Zdarzenia - co rozpoczyna ocenę warunków
Każda automatyzacja zaczyna się od wyboru zdarzenia, czyli momentu, w którym system powinien rozpocząć ocenę warunków i ewentualne wykonanie akcji. Reguły są globalne dla całego panelu, jednak można ograniczyć ich działanie do wybranego sklepu za pomocą odpowiedniego warunku. Poniżej znajdziesz listę dostępnych zdarzeń:
| Nazwa zdarzenia | Dodatkowe uwagi |
|---|---|
| Zamówienie zostało dodane | Wyzwalane w momencie utworzenia zamówienia. |
| Zamówienie zostało zmienione | Wyzwalane w momencie modyfikacji jednej z poniższych danych w zamówieniu: - Edycja produktu: ilość / cena / usunięcie / dodanie / upust / stawka VAT / towar gratisowy (zmiana opcji) / uwagi do towaru / dodanie i edycja etykiety / wydzielanie sztuki do osobnej pozycji / edycja wartości punktów lojalnościowych. - Edycja płatności: przyjęcie/ anulowanie / edycja zadeklarowanej wpłaty, w tym wypłata i zaliczka / opłata manipulacyjna / dodanie nowej wpłaty o danym typie / przyjęcie niepoprawnej wartość wpłaty - Edycja sposobu wysyłki: zmiana usługi kurierskiej / zmiana kwoty dostawy / stawki VAT. - Edycja pól notatek: obsługi / klienta / dla kuriera. - Edycja danych billingowych / płatnika / dostawy. - Przesyłka: dodanie paczki / zmiana statusu przesyłki. - Wgranie zewnętrznego pliku z fakturą / korektą / załącznikiem do zamówienia. - Faktury w KSeF: wystawienie faktury / zmiana statusu faktury / nadanie numeru faktury przez KSeF. |
| Zamówienie zmieniło status | Wyzwalane przy każdej zmianie statusu zamówienia. |
| Zamówienie dropshipping zmieniło status | |
| Zamówienie zostało opłacone | Wyzwalane w momencie zbilansowania się płatności typu „wpłata” z wartością zamówienia. |
| Zaksięgowano zaliczkę | Wyzwalane w momencie zaksięgowania dowolnej zaliczki. |
| Klient odebrał dokument EDI | |
| Dokument EDI został wysłany | |
| Dokument sprzedaży został wystawiony | Wyzwalane po utworzeniu dokumentu sprzedaży: - Faktura VAT. - Potwierdzenie zamówienia. |
| Zamówienie zostało zweryfikowane | |
| Przypisany został numer nadania paczki | |
| Wystąpił błąd generowania etykiety kurierskiej | |
| Przypisany został numer seryjny towarów | |
| Towar został przyjęty na magazyn realizujący | |
| Została osiągnięta "Planowana data pakowania zamówienia" | |
| Została osiągnięta "Planowana data wysłania / odbioru zamówienia" | |
| Została osiągnięta "Wybrana przez klienta data doręczenia / odbioru zamówienia" | |
| Został osiągnięty termin preferowanej daty wysłania / odbioru | |
| Nie zostało opłacone przez określoną liczbę dni | |
| Zamówienie istnieje określoną liczbę dni | Wyzwalane, gdy od utworzenia zamówienia minęło dokładnie X pełnych dób (nie kalendarzowo „następnego dnia”). Zdarzenie to wymaga warunku “Liczba dni”. |
| W statusie przez określoną liczbę dni | Wyzwalane, gdy zamówienie przebywa dokładnie X pełnych dób (nie kalendarzowo „następnego dnia”) w wybranym statusie. Zdarzenie to wymaga warunku “Liczba dni”. |
Warunki – kiedy wykonać regułę
Po wybraniu zdarzenia dodaj warunki, które muszą zostać spełnione, aby automatyzacja się uruchomiła. Możesz dodać dowolną liczbę warunków. System sprawdza je łącznie, więc wszystkie muszą być spełnione jednocześnie. Każdy warunek ma własne operatory, np. równa się, zawiera, tak lub nie.
Dostępne warunki obejmują m.in.:
sklep;
status zamówienia;
login klienta;
dane billingowe i dostawy;
dane nabywcy;
dane punktu odbioru;
dokumenty sprzedaży;
typ klienta;
typ zamówienia;
rodzaj i sposób płatności;
bilansowanie wpłat;
wartości zamówienia i produktów;
nazwa i identyfikator produktu;
waga produktów;
liczba sztuk towarów w zamówieniu;
notatki;
załączniki do zamówienia;
faktury w KSeF;
liczbę dni od złożenia zamówienia lub czas trwania w statusie;
parametry produktów;
statusy przesyłek kurierskich;
prowadzący zamówienie;
sprawdzenie czy klient posiada inne niezrealizowane zamówienia;
i wiele innych.
Akcje zostaną wykonane tylko wtedy, gdy wszystkie warunki reguły zostaną spełnione jednocześnie. Oznacza to zastosowanie logiki AND. Akcje są realizowane od góry do dołu, zgodnie z kolejnością ustawioną w regule.
Operatory
Każdy warunek składa się z trzech elementów:
Warunek > Operator > Wartość
Operator określa sposób porównania danych znajdujących się w zamówieniu z wartością wskazaną w konfiguracji reguły. Wyróżniamy 7 typów operatorów:
1. Operatory porównania wartości
| Operator | Opis |
|---|---|
| Równa się | Sprawdza, czy dana wartość jest dokładnie taka sama jak wskazana w warunku. Przykład: status zamówienia = „oczekuje na wpłatę”. |
| Nie równa się | Warunek spełniony, gdy wartość jest inna niż wskazana. |
| Większy od | Wartość musi być większa od wskazanej liczby. |
| Większy lub równy | Wartość musi być większa lub dokładnie równa wskazanej liczbie. |
| Mniejszy od | Wartość musi być mniejsza od wskazanej liczby. |
| Mniejszy lub równy | Wartość musi być mniejsza lub dokładnie równa wskazanej liczbie. |
2. Operatory dla pól tekstowych
| Operator | Opis |
|---|---|
| Zawiera | Pole zawiera wskazany fragment tekstu. |
| Nie zawiera | Wskazany fragment nie występuje w polu. |
| Zaczyna się od | Pole rozpoczyna się wskazanym ciągiem znaków. |
| Nie zaczyna się | Pole nie może rozpoczynać się wskazanym ciągiem. |
| Kończy się na | Pole kończy się wskazanym ciągiem znaków. |
| Nie kończy się na | Pole nie może kończyć się wskazanym ciągiem. |
3. Operatory logiczne TAK/NIE
Stosowane dla warunków typu:
klient poprosił o fakturę,
zamówienie jest opłacone,
zamówienie jest zweryfikowane.
4. Operatory logiczne dla pustych wartości
| Operator | Opis |
|---|---|
| Pusty lub nie istnieje | Pole nie zostało uzupełnione lub nie jest zapisane w zamówieniu. |
| Nie jest pusty lub istnieje | Pole zawiera dowolną wartość. |
5. Operatory dla warunków wyboru (select)
Stosowane między innymi dla:
statusu zamówienia,
kraju,
rodzaju płatności,
waluty,
typu zamówienia.
| Operator | Opis |
|---|---|
| Równa się + wybór wartości | Wskazujemy konkretną wartość (np. waluta = EUR). |
| Nie równa się + wybór wartości | Warunek jest spełniony, gdy wartość jest inna niż wskazana. |
6. Operatory dla list i kolekcji
Dotyczą warunków:
statusy przesyłki kurierskiej,
towary mają numery seryjne,
towary są na magazynie,
towary są spakowane,
typy towarów,
przypisane numery nadania paczek.
| Operator | Opis |
|---|---|
| Przynajmniej tak + [liczba/wartość] | Co najmniej X elementów spełnia wskazaną cechę. |
| Przynajmniej nie + [liczba/wartość] | Co najmniej X elementów nie spełnia wskazanej cechy. |
| Żaden | Żaden element nie może spełniać wskazanej cechy. |
| Wszystkie | Wszystkie elementy muszą spełniać wskazaną cechę. |
| Zawiera + [wybór sposobu płatności] | Dostępne wyłącznie dla warunku „Sposób płatności”. |
| Tak / Nie | Operator boolean. |
7. Operator zakresu dat
Dotyczy pola Data złożenia zamówienia.
| Operator | Opis |
|---|---|
| [zakres daty od] + [zakres daty do] | Warunek jest spełniony, jeśli data zamówienia znajduje się we wskazanym przedziale. |
Akcje - co system ma wykonać
Po spełnieniu wszystkich warunków wykonywane są akcje zdefiniowane w regule.
Zmień status zamówienia – możesz użyć własnych statusów
Wystaw dokument sprzedaży
Wyślij dokument EDI
Wygeneruj dokument własny
Wygeneruj przesyłkę do zamówienia - generuje etykietę kurierską zgodnie z ustawieniami konfiguracji kuriera.
Dodaj notatkę do zamówienia
Opcja „Nadpisz istniejącą notatkę” jest domyślnie wyłączona.
Gdy opcja jest włączona, nadpisuje całą treść pola notatki.
Gdy opcja jest wyłączona, dopisuje treść (z ENTER) do pola notatki.
Oznacz towary jako spakowane
Przekaż zamówienie do realizacji u dostawcy dropshipping
Przekaż zamówienie do realizacji fulfillment
Ustaw prowadzącego zamówienie
Ustaw magazyn realizujący
Kolejność wykonywania reguł
Reguły wykonują się w kolejności ustawionej przez użytkownika na liście, jednak kluczowe jest zrozumienie sposobu, w jaki system przetwarza regułę po wystąpieniu zdarzenia.
Jak system przetwarza regułę po wystąpieniu zdarzenia?
Gdy wystąpi zdarzenie, np. zamówienie zostało dodane, system:
Pobiera aktualny stan zamówienia.
Zamraża ten stan jako punkt odniesienia dla pozostałych reguł.
Sprawdza wszystkie reguły przypisane do tego zdarzenia na podstawie zamrożonego stanu zamówienia;
Nawet jeśli wcześniejsze akcje zmienią dane zamówienie, warunki kolejnych reguł i tak będą sprawdzane na zamrożonym stanie zamówienia z momentu wystąpienia zdarzenia.
Co oznacza zamrożony stan zamówienia?
Jeśli wcześniejsza reguła zmieni dane zamówienia, nie wpływa to na sprawdzanie kolejnych reguł. Kolejne reguły nadal korzystają ze stanu zamówienia zamrożonego w momencie wystąpienia zdarzenia. Załóżmy, że pod to samo zdarzenie podpiętych jest 5 różnych reguł:
Reguła 1 spełnia warunki i zmienia status zamówienia.
Reguła 2 jest sprawdzana na podstawie pierwotnego stanu zamówienia, a nie po zmianie statusu.
System kontynuuje sprawdzanie kolejnych reguł aż do końca listy.
Najważniejsze zasady
Kolejność na liście określa, w jakiej kolejności system sprawdza reguły.
Wykonywane są wszystkie reguły, których warunki zostały spełnione.
Zmiany wykonane przez jedną regułę nie wpływają na warunki kolejnych reguł uruchomionych przez to samo zdarzenie.
Przykład działania kolejności wykonywania reguł na podstawie notatek
Jeżeli notatka była pusta i wykonają się trzy akcje:
Dodaj „treść A”
Dodaj „treść B”
Dodaj „treść C”
Rezultat końcowy: treść C
Dzieje się tak, ponieważ każda akcja bierze pod uwagę efekt względem zawartości notatki z momentu zdarzenia (zapisany stan), a ostatnia nadpisuje wynik.
Jeśli notatka była wcześniej wypełniona - finalnie pojawi się w niej wyjściowa treść + „treść C”.
Ponawianie wykonania reguły
System nie wykonuje automatycznych prób ponowienia reguł. Dotyczy to sytuacji:
niespełnienia warunków,
błędu API,
błędu wykonania akcji,
wyjątku systemowego.
Testowanie automatyzacji
Test wykonuje rzeczywiste akcje na wskazanym zamówieniu — nie jest symulacją. Dlatego uruchamiaj go wyłącznie na zamówieniach testowych dodanych do panelu przez obsługę sklepu, złożonych przez klienta testowego.
Jak uruchomić test?
1. Przejdź do modułu ZAMÓWIENIA > Automatyzacje.
2. Wybierz trzy kropki znajdujące się w kolumnie „Opcje”.
3. Wybierz opcję „Testuj”.
4. Wprowadź ID zamówienia.
5. Uruchom test.
6. Zweryfikuj rezultat.
Test sprawdza
spełnienie warunków,
poprawność konfiguracji,
odpowiedzi API,
kolejność działań,
skuteczność wykonania akcji.
Możliwe wyniki
brak spełnienia warunków,
błędy API,
wyjątki systemowe,
poprawne wykonanie.
Przykłady użycia
Automatyczne oznaczenie zamówienia oczekującego na dostawę
Zdarzenie
Zamówienie zmieniło status
Warunki
Status = realizowane
Towary znajdują się na magazynie realizującym = Przynajmniej nie: 1
Akcja
Zmień status zamówienia = Oczekuje na dostawę
Automatyczne wystawienie faktury po spakowaniu
Zdarzenie
Zamówienie zmieniło status
Warunek
Status = spakowane
Akcje
Wystaw dokument sprzedaży = faktura VAT
Zmień status zamówienia = gotowe
Łączenie zamówień klienta
Zdarzenie
Towar został przyjęty na magazyn realizujący
Warunki
Inne niezrealizowane zamówienia tego klienta = tak
Status = realizowane
Towary znajdują się na magazynie realizującym = wszystkie
Akcje
Dodaj notatkę „XYZ”
Zmień status zamówienia = zamówienia do połączenia
Weryfikacja VAT UE
Zdarzenie
Zamówienie zmieniło status
Warunki
Status = pakowane
Kraj billingowy ≠ ABC
Kraj dostawy ≠ ABC
NIP billingowy = Nie jest pusty lub istnieje
Akcje
Zmień status = weryfikacja VAT
Dodaj notatkę = XYZ
Zabezpieczenie przed zapętleniem
System analizuje wykonywane akcje przed ich uruchomieniem. Jeżeli wykryje potencjalną pętlę automatyzacji:
reguła nie zostanie wykonana,
automatyzacja otrzyma status Błąd,
system zapisze informację o przyczynie błędu.
Przykład
Akcja: Zmień status zamówienia. Nie spowoduje uruchomienia kolejnej reguły, która ponownie zmieni status i wywoła kolejne automatyzacje w nieskończonej pętli.
Jak sprawdzić, czy wszystko działa poprawnie?
Czy automatyzacja jest aktywna?
Czy akcja pojawiła się w historii zamówienia?
Czy nie wystąpił błąd API?
Czy automatyzacja nie została automatycznie wyłączona z powodu zapętlenia?
Czy test zakończył się komunikatem o poprawnym wykonaniu?