PS PrestaShop Początkujący

DataFirefly Waitlist: dokumentacja

Instalacja, konfiguracja, obsługa kombinacji, cron, śledzenie konwersji i rozwiązywanie problemów modułu alertów powrotu do sprzedaży dla PrestaShop 8 i 9.

Zaktualizowano Wersja modułu 1.0.3

Prezentacja

DataFirefly Waitlist dodaje do sklepu PrestaShop 8 lub 9 alert powrotu produktu do sprzedaży. Gdy tylko produkt, lub konkretna kombinacja, spadnie poniżej skonfigurowanego progu stanu magazynowego, na karcie produktu automatycznie pojawia się przycisk „Powiadom mnie o dostępności”. Odwiedzający zostawia adres e-mail i otrzymuje alert natychmiast po uzupełnieniu zapasów. Każde zamówienie złożone później przez powiadomionego subskrybenta jest przypisywane jako konwersja w pulpicie.

Instalacja

  1. W panelu administracyjnym przejdź do Moduły → Menedżer modułów → Zainstaluj moduł.
  2. Wgraj plik dfwaitlist-x.x.x.zip.
  3. Kliknij Zainstaluj. Moduł tworzy tabelę df_dfwaitlist_subscriber, rejestruje swoje hooki i dodaje zakładkę administracyjną.
  4. Otwórz konfigurację, aby podać adres e-mail sprzedawcy i pobrać adres URL crona.

Brak zewnętrznych zależności. PHP 7.4 minimum, zgodność do PHP 8.3. Kod źródłowy niezaszyfrowany.

Konfiguracja

Przejdź do Moduły → DataFirefly Waitlist → Konfiguruj. Dostępne ustawienia:

  • Double opt-in: gdy jest aktywny, zapis najpierw wysyła e-mail potwierdzający. Dopóki odwiedzający nie kliknie, subskrypcja pozostaje niepotwierdzona i nie wywoła żadnego alertu. Można wyłączyć, jeśli wolisz natychmiastowy zapis.
  • Próg stanu magazynowego: ilość, poniżej której produkt jest uznawany za niedostępny i pojawia się przycisk.
  • Próg alertu sprzedawcy: liczba zapisanych na ten sam produkt, od której otrzymujesz e-mail z powiadomieniem. Domyślnie 10.
  • E-mail sprzedawcy: odbiorca powyższego alertu.
  • Czas życia subskrypcji: subskrypcje nigdy niepowiadomione są automatycznie czyszczone po N dniach. Domyślnie 90.
  • Tekst przycisku: personalizowany dla każdego języka.
  • Klauzula RODO: tekst wyświetlany pod formularzem, personalizowany dla każdego języka.
  • Adres URL crona: zabezpieczony tokenem, regenerowany jednym kliknięciem z panelu.

Działanie po stronie klienta

Pojawienie się przycisku

Przycisk jest wstrzykiwany przez hook displayProductActions, a o jego widoczności decyduje strona kliencka. Moduł odpytuje endpoint /modules/dfwaitlist/stockcheck, aby poznać rzeczywisty stan magazynowy wyświetlanej kombinacji, co czyni go niezależnym od sposobu ponownego renderowania AJAX motywu. Efekt: przycisk znika, gdy wybrany wariant jest dostępny, i pojawia się ponownie w przeciwnym razie, bez przeładowania strony.

Kombinacje (warianty)

Zapis odbywa się dla pary (produkt, kombinacja). Formularz jawnie pokazuje wariant, którego dotyczy, na przykład „Wariant: Czerwony / Rozmiar L”. Gdy odwiedzający zmienia wariant przed zatwierdzeniem, cel przełącza się automatycznie. E-mail z alertem wskazuje dokładną kombinację i prowadzi do karty produktu z wstępnie wybranym wariantem: pomylenie jednego rozmiaru z drugim jest niemożliwe.

Potwierdzenie (double opt-in)

Przy aktywnym double opt-in subskrybent otrzymuje e-mail z tokenowanym linkiem potwierdzającym. Zapis jest brany pod uwagę dopiero po kliknięciu. Ten mechanizm gwarantuje jakość listy (brak fikcyjnych adresów) i dostarcza dowód jawnej zgody.

Alert powrotu do sprzedaży

Po uzupełnieniu zapasów subskrybent otrzymuje responsywny e-mail HTML z nazwą produktu, konkretną kombinacją i bezpośrednim linkiem do karty produktu. Każdy e-mail zawiera link do wypisania się jednym kliknięciem.

Wykrywanie powrotów do sprzedaży

Dwa uzupełniające się kanały, oba należy pozostawić aktywne:

  1. Hook actionUpdateQuantity: czas rzeczywisty. Gdy tylko pracownik zmienia stan magazynowy w panelu albo anulowane zamówienie zwalnia zapas, e-maile wychodzą natychmiast.
  2. Cron zabezpieczający: chroniony tokenem. Wychwytuje ruchy magazynowe, które nie przechodzą przez hooki: importy API, synchronizację ERP, skrypty CLI, aktualizacje przez Webservice PrestaShop.

Konfiguracja crona

Skopiuj adres URL wyświetlany w konfiguracji modułu (zawiera token bezpieczeństwa) i podłącz go do wywołania co godzinę:

0 * * * * curl -s "https://twoj-sklep.com/module/dfwaitlist/cron?token=TWOJ_TOKEN" > /dev/null 2>&1

Jeśli podejrzewasz wyciek tokena, zregeneruj go jednym kliknięciem z konfiguracji: stary adres URL natychmiast przestaje działać. Pamiętaj o aktualizacji crontaba po regeneracji.

Śledzenie konwersji

W hooku actionValidateOrder moduł porównuje każdą pozycję zamówienia z subskrypcjami w statusie „powiadomiony”. Dopasowanie odbywa się po trójce (email, id_product, id_product_attribute). W przypadku zgodności subskrypcja jest oznaczana jako skonwertowana, a id_order zostaje zapisany.

Śledzenie opiera się na adresie e-mail, a nie na koncie klienta, dlatego działa równie dobrze dla zamówień gości, jak i zalogowanych klientów.

Pulpit administracyjny

  • 6 KPI: zapisani, oczekujący na potwierdzenie, powiadomieni, zakupy, współczynnik konwersji, wypisani.
  • Lista produktów z zapisami: sortowalna i stronicowana. To Twoja lista priorytetów uzupełniania zapasów: produkt z 47 zapisanymi to 47 niemal pewnych sprzedaży, jeśli szybko uzupełnisz stan.
  • Widok szczegółowy według produktu: każdy zapisany ze swoim indywidualnym statusem.
  • Eksport CSV: pełny eksport aktywnego sklepu: e-mail, produkt, kombinacja, statusy (potwierdzony, powiadomiony, kupiony, wypisany), daty, IP, id zamówienia w przypadku konwersji. Plik zawiera BOM UTF-8, dzięki czemu otwiera się bezpośrednio w Excelu bez zepsucia kodowania.

Alert sprzedawcy

Gdy niedostępny produkt osiąga skonfigurowany próg zapisanych, automatyczny e-mail informuje Cię o liczbie oczekujących i zawiera link do pulpitu. E-mail jest wysyłany tylko raz na produkt, aby uniknąć szumu. To sygnał, który zamienia listę oczekujących w narzędzie sterowania uzupełnianiem zapasów: priorytetyzujesz na podstawie zmierzonego popytu, nie intuicji.

E-maile

Trzy szablony, każdy dostarczany w wersjach FR/EN/ES/DE, w formacie responsywnego HTML i czystego tekstu:

  • Potwierdzenie: wysyłane tylko przy aktywnym double opt-in, z linkiem aktywacyjnym.
  • Alert powrotu do sprzedaży: produkt, kombinacja, bezpośredni link do karty, link do wypisania się.
  • Alert sprzedawcy: liczba oczekujących zapisanych i link do pulpitu.

Szablony można edytować w modules/dfwaitlist/mails/<iso>/.

RODO i jakość listy

  • Double opt-in do włączenia, z dowodem zgody (IP jest zapisywane przy rejestracji).
  • Wypisanie się jednym kliknięciem w każdym e-mailu z alertem, przez unikalny token odrębny od tokena potwierdzenia. Subskrypcja jest oznaczana jako wypisana bez usuwania, aby zachować identyfikowalność, i żaden przyszły e-mail nie zostanie wysłany.
  • Automatyczne czyszczenie subskrypcji nigdy niepowiadomionych po upływie skonfigurowanego okresu (domyślnie 90 dni): minimalizacja danych.
  • Honeypot antybotowy wbudowany w formularz oraz limit jednego adresu e-mail na produkt, aby zapobiec seryjnym zapisom.
  • Żadnych wywołań zewnętrznych: dane pozostają w bazie PrestaShop, z podziałem na sklepy. Nic nie jest wysyłane do DataFirefly ani do usług zewnętrznych.

Multisklep i wielojęzyczność

Tabela subskrypcji zawiera kolumny id_shop i id_lang. Każdy podsklep w sieci multistore ma więc własną listę oczekujących, własne alerty sprzedawcy i własne KPI. E-maile wychodzą w języku, w którym subskrybent dokonał zapisu.

Rozwiązywanie problemów

Przycisk się nie pojawia

  • Sprawdź, czy produkt jest faktycznie poniżej skonfigurowanego progu stanu: powyżej przycisk jest celowo ukryty.
  • Na produkcie z wariantami sprawdź wybrany wariant: przycisk wyświetla się tylko wtedy, gdy ten wariant jest niedostępny.
  • Motyw musi implementować hook displayProductActions. Tak jest w Classic i Hummingbird; w nietypowym motywie własnym sprawdź jego obecność w szablonie produktu.
  • Wyczyść cache PrestaShop (Zaawansowane → Wydajność).

Alerty nie wychodzą po uzupełnieniu zapasów

  • Sprawdź, czy subskrypcja jest potwierdzona: przy double opt-in niepotwierdzony zapis nigdy nie otrzymuje alertu.
  • Jeśli stan zmieniono poza panelem (API, ERP, CLI), hook czasu rzeczywistego się nie uruchamia: przejmuje to cron. Sprawdź, czy działa i czy token w adresie URL jest aktualny.
  • Przetestuj ogólną wysyłkę e-maili PrestaShop (Zaawansowane → E-mail → Test).

Niektóre konwersje nie są zliczane

Dopasowanie wymaga adresu e-mail oraz produktu oraz kombinacji. Jeśli klient zamawia z innego adresu e-mail niż ten z zapisu albo kupuje inny wariant niż ten, na który czekał, konwersja nie jest przypisywana. Jest to celowe, aby uniknąć fałszywych trafień zniekształcających KPI.

Odinstalowanie

Odinstalowanie usuwa tabelę df_dfwaitlist_subscriber i wszystkie klucze konfiguracji z prefiksem DFWAITLIST_. W bazie nie pozostaje żaden ślad. Wymagane jest potwierdzenie, ponieważ subskrypcje i statystyki konwersji zostaną bezpowrotnie utracone: wyeksportuj wcześniej CSV, jeśli chcesz zachować historię.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia