PS PrestaShop Początkujący

Zamówienia Cykliczne i Planowane: dokumentacja PrestaShop 8 i 9

Instalacja, planowanie i obsługa zamówień cyklicznych: od codziennego crona po link koszyka wysyłany do klienta.

Zaktualizowano Wersja modułu 1.0.0

Co robi moduł

Moduł pozwala klientom zaplanować powtarzanie zamówienia z poziomu konta: co tydzień, co miesiąc, co kwartał, co rok lub w dowolnym odstępie wyrażonym w dniach.

Przed każdym terminem harmonogram wysyła klientowi e-mail z bezpiecznym linkiem. Gdy klient kliknie link, jego koszyk jest odtwarzany dokładnie w tym momencie, po czym klient trafia do standardowego procesu zamówienia, gdzie płaci wybraną przez siebie metodą.

Brak automatycznego obciążenia. Moduł nie przechowuje żadnych danych płatniczych i nie inicjuje żadnych obciążeń. Nie ma więc mandatu cyklicznego do zbierania, karty do tokenizacji ani silnego uwierzytelnienia do ponownego przeprowadzania. Klient sam zatwierdza i opłaca każde zamówienie.

Instalacja

  1. W panelu administracyjnym otwórz Moduły, Menedżer modułów, a następnie Zainstaluj moduł.
  2. Wgraj dostarczony plik ZIP lub skopiuj katalog dfrecurringorder do katalogu modules/ sklepu.
  3. Kliknij Zainstaluj. Tabele, zakładki administracyjne i wartości domyślne zostaną utworzone automatycznie.
  4. Skonfiguruj zadanie zaplanowane, opisane w następnej sekcji. Bez niego żaden e-mail z przypomnieniem nie zostanie wysłany.

Moduł dodaje menu Zamówienia, Zamówienia planowane, złożone z trzech ekranów: listy harmonogramów, historii wysyłek i konfiguracji.

Konfiguracja harmonogramu

Moduł powinien być wywoływany raz dziennie. Jedno wykonanie dziennie wystarcza: harmonogram przetwarza w jednym przebiegu wszystkie harmonogramy, których termin nadszedł.

Przez URL

Strona konfiguracji modułu wyświetla dokładny adres URL, wraz z tokenem. Wygląda on tak:

https://twoj-sklep.tld/module/dfrecurringorder/cron?token=TWOJ_TOKEN

Tego adresu można użyć z oficjalnym modułem Zadania cron PrestaShop, z zewnętrzną usługą cron lub z crontaba serwera:

0 6 * * * wget -q -O - "https://twoj-sklep.tld/module/dfrecurringorder/cron?token=TWOJ_TOKEN"

Z linii poleceń

To zalecana metoda na serwerze dedykowanym: pozwala uniknąć limitów czasu wykonania serwera WWW.

0 6 * * * php /sciezka/do/sklepu/modules/dfrecurringorder/cli/run.php --token=TWOJ_TOKEN

Opcja --id_shop=N ogranicza wykonanie do jednego sklepu w kontekście multistore. Bez tej opcji przetwarzane są wszystkie sklepy.

Sprawdzenie, czy wszystko działa

Strona konfiguracji zawiera przycisk Uruchom harmonogram teraz. Wywołuje on natychmiastowy przebieg i wyświetla raport: liczbę przetworzonych harmonogramów, wysłanych e-maili i ewentualnych błędów. Wywołanie przez URL zwraca ten sam raport w formacie JSON.

Token można w każdej chwili wygenerować ponownie na stronie konfiguracji. Pamiętaj wtedy o aktualizacji crontaba, w przeciwnym razie kolejne wywołania zostaną odrzucone.

Konfiguracja modułu

Doświadczenie klienta

  • Pozwól klientom tworzyć własne harmonogramy: wyświetla przycisk „Zaplanuj to zamówienie” na stronie szczegółów zamówienia i na stronie potwierdzenia. Wyłącz tę opcję, jeśli wolisz tworzyć harmonogramy samodzielnie z panelu administracyjnego.
  • Maksymalna liczba harmonogramów na klienta: 0 oznacza brak limitu. Wartość domyślna to 20.
  • Minimalny odstęp w dniach: zapobiega tworzeniu harmonogramów o zbyt krótkich odstępach.

Dostępne częstotliwości

Każdą częstotliwość można włączyć lub wyłączyć niezależnie: codzienna, tygodniowa, dwutygodniowa, miesięczna, dwumiesięczna, kwartalna, półroczna, roczna oraz niestandardowa w dniach. W formularzu klienta pojawiają się tylko włączone częstotliwości.

Domyślnie aktywne są częstotliwości: tygodniowa, dwutygodniowa, miesięczna, dwumiesięczna, kwartalna, półroczna i roczna. Częstotliwość codzienna oraz odstęp niestandardowy są wyłączone, ponieważ pasują głównie do specyficznych scenariuszy B2B.

  • Wyślij e-mail X dni przed terminem: wartość domyślna stosowana do nowych harmonogramów. Klient może dostosować ten czas dla swojego harmonogramu. Trzy dni to dobry punkt wyjścia: wystarczająco wcześnie, aby dać czas na reakcję, i wystarczająco późno, by pozostać w pamięci klienta.
  • Okres ważności linku płatności: w dniach, domyślnie 14. Po tym czasie link wyświetla komunikat o wygaśnięciu i zachęca klienta do wygenerowania nowego z poziomu konta.
  • Pomijaj produkty niedostępne: domyślnie włączone. Zobacz sekcję o przypadkach szczególnych.
  • Wysyłaj kopię do sprzedawcy: przydatne w fazie rozruchu, aby zweryfikować rzeczywisty wygląd e-maili.

Harmonogram

  • Liczba harmonogramów przetwarzanych na wykonanie: domyślnie 50. Zwiększ tę wartość, jeśli dzienny wolumen przekracza ten limit, lub uruchamiaj crona kilka razy dziennie.
  • Usuń wszystkie dane przy odinstalowaniu: domyślnie wyłączone. Zobacz sekcję Odinstalowanie.

Po stronie klienta: planowanie zamówienia

Proces zawsze zaczyna się od już złożonego zamówienia, co gwarantuje spójność produktów, adresu i przewoźnika.

  1. Klient otwiera jedno ze swoich zamówień w historii lub pozostaje na stronie potwierdzenia tuż po zakupie.
  2. Klika Zaplanuj to zamówienie.
  3. W razie potrzeby dostosowuje ilości. Ilość ustawiona na 0 usuwa produkt z harmonogramu.
  4. Wybiera częstotliwość, datę następnego zamówienia oraz, opcjonalnie, datę końcową lub maksymalną liczbę zamówień.
  5. Zapisuje. E-mail potwierdzający podsumowuje harmonogram.

Harmonogram pojawia się następnie w sekcji Moje konto, Moje zamówienia planowane. Z tego ekranu klient może w każdej chwili:

  • zmienić częstotliwość, datę lub ilości;
  • wstrzymać i wznowić harmonogram, przy czym następny termin jest wtedy przeliczany na przyszłość;
  • trwale usunąć harmonogram;
  • kliknąć Zamów teraz, aby natychmiast uruchomić koszyk bez czekania na termin.

Po stronie sprzedawcy: śledzenie harmonogramów

Lista zamówień planowanych

Dla każdego harmonogramu wyświetla klienta, częstotliwość, liczbę produktów, następny termin, liczbę wysłanych już e-maili, liczbę faktycznie złożonych zamówień oraz status. Kolumna zamówień to najbardziej użyteczna miara: pokazuje, ile harmonogramów rzeczywiście przekłada się na przychód.

Szczegółowa karta harmonogramu pozwala natychmiast wysłać klientowi link płatności, co przydaje się w supporcie, gdy klient zgłasza, że nie otrzymał e-maila.

Historia wysyłek

Każdy wygenerowany link tworzy wiersz historii, którego status zmienia się wraz z przebiegiem procesu:

  • Wysłany: e-mail został wysłany, link nie został jeszcze otwarty.
  • Link otwarty: klient kliknął, koszyk został utworzony.
  • Przekształcony w zamówienie: koszyk stał się zamówieniem. Numer zamówienia jest dołączany automatycznie.
  • Wygasły: okres ważności upłynął bez zamówienia.
  • Błąd: wysyłka e-maila nie powiodła się. Sprawdź konfigurację e-mail sklepu.

W karcie zamówienia

Panel na dole karty zamówienia wyświetla harmonogramy utworzone na podstawie tego zamówienia, z bezpośrednim dostępem do ich szczegółów.

Zrozumienie tego mechanizmu pomaga odpowiadać na pytania klientów.

  1. W momencie wysyłki e-maila moduł nie tworzy żadnego koszyka. Generuje jedynie losowy token o długości 48 znaków, jednorazowy i opatrzony datą.
  2. Gdy klient klika, moduł weryfikuje token i jego datę wygaśnięcia.
  3. Jeśli klient nie jest zalogowany, zostaje przekierowany na standardową stronę logowania, a następnie automatycznie wraca do swojego linku. Link nigdy sam nie uwierzytelnia odwiedzającego.
  4. Po zidentyfikowaniu klienta koszyk jest budowany na podstawie harmonogramu, z cenami, promocjami, regułami koszyka i stanami magazynowymi z tej chwili.
  5. Klient trafia do procesu zamówienia. Ponowne kliknięcie tego samego linku ponownie wykorzystuje już utworzony koszyk, dopóki nie stał się on zamówieniem.

To dlatego, że koszyk jest budowany w chwili kliknięcia, a nie wysyłki, pozostaje zawsze aktualny. Koszyk wygenerowany z góry w momencie e-maila stawałby się błędny, gdy tylko cena, promocja lub stan magazynowy zmieniłyby się między wysyłką a kliknięciem.

Przypadki szczególne

Produkt niedostępny w terminie

Przy włączonej opcji Pomijaj produkty niedostępne dany produkt jest po prostu pomijany, a pozostałe artykuły pozostają możliwe do zamówienia. Koszyk jest odrzucany tylko wtedy, gdy żaden produkt nie jest dostępny: klient widzi wówczas komunikat zachęcający do kontaktu ze sklepem lub modyfikacji harmonogramu.

Jeśli wyłączysz tę opcję, brak produktu blokuje odtworzenie koszyka. To zachowanie pasuje do sklepów, których zamówienia muszą wychodzić w całości albo wcale.

Adres usunięty między terminami

Jeśli adres dostawy zapisany w harmonogramie został usunięty przez klienta, moduł automatycznie przełącza się na jego pierwszy dostępny adres. Adres rozliczeniowy podlega tej samej logice. Klient zawsze może zmienić adres w procesie zamówienia.

Końcówki miesięcy

Harmonogram miesięczny rozpoczęty 31 stycznia nie przesuwa się. Moduł cofa datę do ostatniego dnia miesiąca, gdy ten jest krótszy: 28 lub 29 lutego, a potem 31 marca. Pierwotny dzień jest zapamiętywany, więc nigdy nie ginie.

Multistore

Każdy harmonogram jest przypisany do sklepu, w którym został utworzony. E-maile wychodzą z tożsamością tego sklepu, a link płatności prowadzi do jego domeny.

Zakończenie harmonogramu

Harmonogram kończy się automatycznie, gdy data końcowa zostanie przekroczona lub gdy osiągnięta zostanie maksymalna liczba zamówień. Przechodzi wtedy w status Zakończony i przestaje wysyłać e-maile, pozostając widoczny w historii.

Personalizacja e-maili

Moduł dostarcza dwa szablony, po francusku i po angielsku, każdy w wersji HTML i tekstowej:

  • dfro_reminder: przypomnienie wysyłane przed każdym terminem, z linkiem płatności.
  • dfro_created: potwierdzenie wysyłane przy utworzeniu harmonogramu.

Można je edytować z poziomu Wygląd, Motyw i logo, E-maile lub bezpośrednio w katalogu mails/ modułu. Zmienne dostępne w przypomnieniu to: imię i nazwisko klienta, nazwa i częstotliwość harmonogramu, data następnego zamówienia, tabela produktów, szacowana kwota, link płatności, link do zarządzania, okres ważności linku i nazwa sklepu.

Kwota wyświetlana w e-mailu to szacunek obliczany w momencie wysyłki, wyłącznie informacyjny. Faktycznie naliczana kwota to kwota koszyka odtworzonego w chwili kliknięcia. Nigdy nie przedstawiaj tej kwoty jako gwarancji ceny.

Rozwiązywanie problemów

Żaden e-mail nie jest wysyłany

Sprawdź w kolejności: czy zadanie zaplanowane faktycznie się wykonuje, czy token w crontabie odpowiada temu wyświetlanemu w konfiguracji, czy co najmniej jeden harmonogram jest aktywny z osiągniętym terminem oraz czy wysyłka e-maili sklepu działa. Przycisk Uruchom harmonogram teraz pozwala szybko wyizolować problem: jeśli wysyła e-maile, przyczyną jest zadanie zaplanowane.

Token nie istnieje lub został obcięty przez klienta pocztowego. Wygeneruj nowy link z karty harmonogramu w panelu administracyjnym.

Klient krąży w pętli na stronie logowania

Dzieje się tak, gdy link jest otwierany na innym koncie niż konto adresata. Klient powinien się wylogować i ponownie otworzyć link.

Odtworzony koszyk jest pusty

Wszystkie produkty harmonogramu są wyłączone lub wyprzedane. Sprawdź ich stan w katalogu lub tymczasowo wyłącz opcję pomijania produktów niedostępnych, aby diagnoza stała się jednoznaczna.

Odinstalowanie

Domyślnie odinstalowanie zachowuje tabele i harmonogramy. Późniejsza ponowna instalacja odzyskuje więc wszystkie dane. Aby usunąć wszystko, włącz opcję Usuń wszystkie dane przy odinstalowaniu przed odinstalowaniem modułu.

To usunięcie jest nieodwracalne i obejmuje harmonogramy, ich pozycje produktowe oraz pełną historię wysyłek. Wykonaj kopię zapasową bazy danych przed włączeniem tej opcji.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia