DataFirefly Loyalty: program lojalnościowy Shopware 6
Program lojalnościowy Shopware 6: instalacja, punkty, poziomy, bony zakupowe i rozwiązywanie problemów.
Wprowadzenie
DataFirefly Loyalty dodaje do Shopware 6 kompletny program lojalnościowy: klienci zdobywają punkty przy każdym zamówieniu, awansują w poziomach z mnożnikami i wymieniają punkty na bony zakupowe oparte na natywnych promocjach Shopware. Rozszerzenie działa na Shopware 6.5, 6.6 i 6.7 z jednego i tego samego pliku ZIP, bez żadnej kompilacji.
Instalacja
Z poziomu administracji
- Przejdź do Rozszerzenia > Moje rozszerzenia.
- Kliknij Prześlij rozszerzenie i wybierz plik
DfLoyalty-1.0.0.zip. - Kliknij Zainstaluj, a następnie aktywuj rozszerzenie.
Z wiersza poleceń
bin/console plugin:refresh
bin/console plugin:install --activate DfLoyalty
bin/console cache:clear
Instalacja tworzy dwie dedykowane tabele: df_loyalty_account (jeden wiersz na klienta) i df_loyalty_transaction (rejestr wszystkich operacji na punktach).
Nie jest wymagany żaden build JavaScript: rozszerzenie nie zawiera skompilowanego modułu administracji, co gwarantuje zgodność z trzema gałęziami 6.5, 6.6 i 6.7.
Konfiguracja
Otwórz Rozszerzenia > Moje rozszerzenia > DataFirefly Loyalty > Konfiguruj. Wszystkie ustawienia są dostępne per kanał sprzedaży: możesz włączyć program tylko w jednym sklepie albo stosować różne stawki w zależności od kanału.
Przyznawanie punktów
- Włącz program: główny przełącznik. Po wyłączeniu strona konta klienta zwraca błąd 404 i żadne punkty nie są przyznawane.
- Wyzwalacz przyznania: Płatność zaksięgowana (status transakcji
paid, zalecane) lub Zamówienie zakończone (status zamówieniacompleted). - Punkty za jednostkę walutową: liczba punktów zdobywanych za każde wydane euro. Domyślnie: 1.
- Podstawa obliczeń: kwota zamówienia brutto lub netto.
- Uwzględnij koszty wysyłki: domyślnie koszty wysyłki są wyłączone z obliczeń.
Poziomy
Do skonfigurowania są trzy poziomy, każdy z nazwą, progiem i mnożnikiem. Progi odnoszą się do punktów zgromadzonych łącznie (nigdy niepomniejszanych przez konwersję), a mnożnik dotyczy wszystkich przyszłych zdobyczy.
- Poziom 1, domyślnie: Bronze, od 0 punktów, mnożnik ×1.0
- Poziom 2, domyślnie: Silver, od 500 punktów, mnożnik ×1.25
- Poziom 3, domyślnie: Gold, od 2 000 punktów, mnożnik ×1.5
Przykład: klient Silver (×1.25), który składa zamówienie na 100 EUR brutto przy stawce 1 punkt/EUR, zdobywa 125 punktów.
Konwersja na bony zakupowe
- Kurs konwersji: liczba punktów potrzebnych na 1 EUR bonu. Domyślnie: 100 (100 punktów = 1,00 EUR).
- Minimum konwersji: minimalna liczba punktów, aby uruchomić konwersję. Domyślnie: 200.
- Krok konwersji: punkty wymieniają się w wielokrotnościach tej wartości. Domyślnie: 100.
- Ważność bonów: czas życia bonu zakupowego w dniach. Domyślnie: 90.
Działanie po stronie klienta
W menu konta klienta pojawia się pozycja Program lojalnościowy. Strona /account/loyalty wyświetla:
- dostępne saldo punktów i łączną liczbę punktów zdobytych od początku;
- aktualny poziom z paskiem postępu do następnego poziomu;
- formularz konwersji na bon zakupowy;
- historię 50 ostatnich operacji (zdobycia, konwersje, anulacje).
Gdy klient wymienia punkty, rozszerzenie tworzy natywną promocję Shopware: unikalny kod typu LOYAL-XXXXXXXX, zarezerwowany dla jego konta, jednorazowego użytku, ze stałym rabatem na koszyk. Kod stosuje się w koszyku jak każdy inny kod promocyjny. Wszystkie wygenerowane promocje znajdziesz w Marketing > Promocje.
Anulacje i zwroty
Gdy zamówienie przechodzi w status Anulowane lub jego płatność w status Zwrócona, punkty zdobyte za to zamówienie są automatycznie odbierane. Operacja jest odnotowywana w historii klienta pod etykietą “Anulowane”. Odebranie jest idempotentne: może nastąpić tylko raz na zamówienie.
W wersji 1.0 zwrot częściowy nie jest rozliczany proporcjonalnie: to przejście pełnej płatności w status Zwrócona uruchamia odebranie całości punktów z zamówienia.
Bezpieczeństwo i integralność danych
- Obciążenie punktów jest atomowe w bazie danych: dwie równoczesne konwersje nie mogą wydać dwa razy tego samego salda.
- Każda operacja jest zapisywana w rejestrze typu append-only, z referencją zamówienia, typem, punktami ze znakiem i kodem bonu, jeśli dotyczy.
- Utworzenie bonu i zapis księgowy są wykonywane w tej samej transakcji SQL: nigdy bon bez obciążenia ani obciążenie bez bonu.
Rozwiązywanie problemów
Link Program lojalnościowy nie pojawia się w koncie
Rozszerzenie wstrzykuje swój link przez blok Twig page_account_sidebar_link_orders. Jeśli Twój niestandardowy motyw usunął lub zmienił nazwę tego bloku, dodaj link ręcznie w szablonie sidebara konta, wskazując na trasę frontend.account.dfloyalty.page.
Punkty nie są przyznawane
- Sprawdź, czy program jest włączony dla danego kanału sprzedaży.
- Sprawdź skonfigurowany wyzwalacz: przy Płatność zaksięgowana transakcja musi osiągnąć status
paid; przy Zamówienie zakończone zamówienie musi osiągnąćcompleted. - Wyczyść cache po zmianie konfiguracji:
bin/console cache:clear.
Odinstalowanie
Przy odinstalowaniu Shopware proponuje zachowanie danych. Jeśli odznaczysz tę opcję, tabele df_loyalty_account i df_loyalty_transaction zostaną trwale usunięte; wygenerowane wcześniej promocje pozostają, ponieważ są standardowymi promocjami Shopware.