Blueberry Studio
Weryfikacja numeru szkolenia ŚOR
Moduł, który przy sprzedaży profesjonalnych środków ochrony roślin wymusza na kliencie podanie numeru szkolenia i daty ważności zaświadczenia, zapisuje je do zamówienia i udostępnia przez API dla integracji typu Baselinker. Zgodność z ustawą o ŚOR załatwiona automatycznie.
Moduł sor_certificate • wersja 1.2.0 • PrestaShop 1.7.8+
W jednym zdaniu: Kupujący środki „do zastosowań profesjonalnych” musi podać w checkoutcie numer szkolenia ŚOR i datę ważności; bez tego nie zamknie zamówienia. Dane trafiają do panelu zamówienia i do Twojego API dla Baselinkera. Ty nic ręcznie nie robisz.
Podstawa prawna. Przepisy o środkach ochrony roślin (art. 25 ustawy z 8.03.2013 o środkach ochrony roślin oraz rozporządzenia wykonawcze) wymagają, aby przy sprzedaży produktów „do zastosowań profesjonalnych” kupujący podał numer ukończonego szkolenia. Numer nie jest weryfikowany zewnętrznie — obowiązek ma charakter formalny i dokumentacyjny: musi zostać zapisany na wypadek kontroli WIORiN. Ten moduł spełnia obowiązek zapisu automatycznie.
Zanim zaczniesz, najważniejsze pojęcia (przeczytaj, to zajmie minutę):
- Środki ochrony roślin (ŚOR): pestycydy i inne preparaty do ochrony upraw. Część produktów jest „do stosowania profesjonalnego” (przez rolników i osoby przeszkolone), część konsumencka (dla ogrodów przydomowych).
- Numer szkolenia: unikalny numer zaświadczenia z ukończonego szkolenia w zakresie stosowania środków ochrony roślin, format zwykle
XX/XX/XXXXX.
- Data ważności: zaświadczenie ważne jest 5 lat od wystawienia; klient musi podać datę do której jest ono ważne.
- Kategoria profesjonalna: kategoria w PrestaShop, w której grupujesz produkty wymagające podania numeru ŚOR. Może być jedna albo kilka.
- Webservice API PrestaShop: mechanizm PrestaShop pozwalający zewnętrznym aplikacjom (np. Baselinker) czytać dane sklepu przez REST-owe endpointy.
1.Co dokładnie robi moduł
Moduł wpina się w ostatni krok checkoutu (potwierdzenie zamówienia) i wymusza podanie dwóch danych: numeru szkolenia oraz daty ważności. Warunek: co najmniej jeden produkt w koszyku należy do kategorii zdefiniowanej jako „profesjonalna”. Jeśli nie — sekcja się nie pojawia, checkout zachowuje się normalnie.
Dane trafiają do bazy zamówienia i są dostępne w trzech miejscach:
- W szczegółach zamówienia w panelu (sekcja „ŚOR — numer szkolenia”).
- W treści e-maila potwierdzającego wysyłanego do sklepu (do sprzedawcy).
- W zewnętrznym API pod zasobem
sor_certificates — dla integracji z Baselinker, WMS itp.
2.Jak to wygląda dla klienta
Na ostatnim etapie zamówienia — pod podsumowaniem, nad przyciskiem „Zamawiam z obowiązkiem zapłaty” — pojawia się dodatkowa sekcja z dwoma polami:
| Pole | Format |
| Numer szkolenia ŚOR | Pole tekstowe. Etykieta i podpowiedź konfigurowalne, sugerowany format XX/XX/XXXXX (przykład: 12/13/14274) |
| Data ważności | Selektor kalendarzowy. Nie można wybrać daty wcześniejszej niż dzisiejsza. |
Oba pola są obowiązkowe. Próba zatwierdzenia zamówienia z pustymi lub błędnymi danymi jest blokowana z komunikatem błędu tuż przy polu.
Sekcja pojawia się tylko, gdy w koszyku jest choć jeden produkt z kategorii oznaczonej jako profesjonalna. Klient kupujący środki dla ogrodu przydomowego niczego dodatkowego nie widzi.
3.Gdzie znaleźć numer w zamówieniu
- W panelu wejdź w Zamówienia → Zamówienia.
- Otwórz wybrane zamówienie.
- Przewiń w dół — jest tam sekcja „ŚOR — numer szkolenia”.
- Widoczne będą: numer podany przez klienta, data ważności oraz data zapisu.
Zamówienia złożone przed wprowadzeniem obowiązku daty ważności zawierają etykietę „Brak daty ważności” — to normalne i odzwierciedla historyczne dane.
4.Instalacja / aktualizacja
- Zaloguj się do panelu administracyjnego sklepu.
- Z menu wybierz Moduły → Menedżer modułów.
- W prawym górnym rogu kliknij „Prześlij moduł”.
- Wskaż plik
sor_certificate.zip.
- Poczekaj na komunikat o powodzeniu i, jeśli trzeba, kliknij „Zainstaluj”.
Po aktualizacji z wcześniejszej wersji zawsze przeinstaluj moduł (Odinstaluj → Zainstaluj). Bez tego może nie zarejestrować się zasób API sor_certificates ani nowe pole daty ważności.
5.Konfiguracja
Dostęp: Moduły → Menedżer modułów → „Weryfikacja numeru szkolenia ŚOR” → Konfiguruj.
| Ustawienie | Do czego |
| ID kategorii profesjonalnej | ID kategorii zawierającej produkty do zastosowań profesjonalnych. Można podać wiele ID oddzielonych przecinkami. Produkt z którejkolwiek z nich włącza wymóg pól ŚOR. |
| Etykieta pola „numer” | Tekst nad polem numeru, np. Numer szkolenia ŚOR. |
| Podpowiedź „numer” | Tekst pomocniczy w polu, np. np. 12/13/14274. |
| Etykieta pola „data” | Tekst nad polem daty ważności. |
| Podpowiedź „data” | Tekst pomocniczy przy selektorze daty. |
Bez wpisania przynajmniej jednego ID kategorii pola ŚOR się nie pojawią. Przy dodaniu nowej kategorii profesjonalnej trzeba dopisać jej ID w konfiguracji, inaczej klient zamówi produkt bez podania numeru.
Jak znaleźć ID kategorii
- W panelu wejdź w Katalog → Kategorie.
- Otwórz kategorię, którą chcesz oznaczyć jako profesjonalną.
- ID widać w parametrze URL (
id_category=X) oraz w kolumnie ID na liście kategorii.
- Skopiuj liczbę i wklej w konfigurację modułu.
6.Dane w Baselinker / API
Numery szkoleń są dostępne przez Webservice API PrestaShop, dzięki czemu integracje (Baselinker, WMS, własne skrypty) mogą je pobierać razem z zamówieniami. Zasób nosi nazwę sor_certificates.
Włączenie API dla integracji
- W panelu: Zaawansowane → Webservice.
- Kliknij klucz API używany przez Baselinker (lub utwórz nowy).
- W liście uprawnień zaznacz zasób sor_certificates (kolumny View + List; do pełnej edycji także Add/Modify).
- Zapisz.
Endpointy REST
Pobranie wszystkich wpisów dla zamówienia:
GET /api/sor_certificates?filter[id_order]=1870&display=full
Pojedynczy wpis po ID certyfikatu:
GET /api/sor_certificates/{id}
Zwracane pola
certificate_number — numer podany przez klienta
certificate_expiry_date — data ważności zaświadczenia (YYYY-MM-DD)
id_order — ID zamówienia w PrestaShop
id_cart — ID koszyka
id_customer — ID klienta
7.Najczęstsze pytania i problemy
Pole ŚOR nie pokazuje się przy produkcie profesjonalnym
- Sprawdź, czy w konfiguracji modułu wpisano ID właściwej kategorii.
- Potwierdź, że produkt jest przypisany do tej kategorii (Katalog → Produkt → zakładka Skojarzenia).
- Wyczyść cache: Zaawansowane → Wydajność → Wyczyść cache.
Numer / data nie zapisały się przy zamówieniu
- Dane zapisują się w chwili zatwierdzania zamówienia. Jeśli brakuje ich w panelu, sprawdź log: Zaawansowane → Logi — szukać wpisów zaczynających się od
SOR:.
- Najczęściej brak wynika z niestandardowego sposobu złożenia zamówienia (np. ręcznie z panelu przez pracownika). W takim wypadku numer trzeba uzyskać od klienta telefonicznie i dodać ręcznie.
Zasób sor_certificates nie jest widoczny w API
- Po aktualizacji modułu przeinstaluj go — dopiero wtedy rejestruje zasób API i tworzy pole daty ważności.
- Sprawdź, czy klucz API ma uprawnienia do zasobu (punkt 6).
- Sprawdź, czy Webservice PrestaShop jest w ogóle włączony (Zaawansowane → Webservice → Włącz obsługę Webservice PrestaShop).
Klient twierdzi, że system nie przyjmuje jego numeru
- Moduł nie waliduje formatu — przyjmie każdy niepusty ciąg. Jeśli klient dostaje błąd, sprawdź czy nie zostawił pustej daty ważności (najczęstszy powód).
Chcemy dodać drugą kategorię profesjonalną
- W konfiguracji dopisz ID nowej kategorii po przecinku obok dotychczasowego (np.
15, 27). Wyczyść cache.