- Wymagania i wybór dostawcy SMS
- Co będzie potrzebne przed startem
- Dobór dostawcy a koszty i funkcje
- Nadawca: alfanumeryczny, long number czy short code
- RODO/GDPR, zgody i polityka prywatności
- Przygotowanie konta i kluczy
- Instalacja modułu SMS w PrestaShop
- Wersje i kompatybilność
- Instalacja przez panel
- Ręczna instalacja FTP
- Wysyłka testowa
- Konfiguracja połączenia z API
- Mapowanie poświadczeń i nadawcy
- Webhooki i raporty doręczeń (DLR)
- Format numerów i transliteracja znaków
- Limitowanie, kolejka i okienka wysyłki
- Fallback i koszty
- Definiowanie zdarzeń i szablonów
- Zdarzenia dla klienta
- Zdarzenia dla administracji i logistyki
- Projektowanie szablonów SMS
- Języki, strefy i personalizacja
- Zgody i preferencje klienta
- Testy, monitorowanie i automatyzacja
- Scenariusze testowe end-to-end
- Logi, debug i bezpieczeństwo
- Najczęstsze błędy i ich naprawa
- Monitorowanie skuteczności
- Automaty i CRON
- Łącza, skracacze i UTM
- Dobre praktyki treści i dostępności
- Checklist wdrożeniowy
- Integracje zaawansowane
Skuteczna komunikacja z klientem zaczyna się tam, gdzie informacja dociera szybko i bez zbędnych barier. Powiadomienia SMS w PrestaShop to prosty sposób na zwiększenie zaufania, ograniczenie liczby zapytań o status zamówienia i poprawę konwersji. W tym poradniku krok po kroku skonfigurujesz nie tylko wysyłkę wiadomości, ale też szablony, zgody, webhooki oraz testy. Dzięki temu Twoje powiadomienia będą niezawodne, zgodne z przepisami i zoptymalizowane kosztowo.
Wymagania i wybór dostawcy SMS
Co będzie potrzebne przed startem
Zanim przejdziesz do instalacji, przygotuj: aktywne konto administracyjne w PrestaShop (zalecana wersja 1.7 lub 8.x), dostęp do panelu hostingu lub FTP (na wypadek ręcznej instalacji), konto u zewnętrznego dostawca SMS (np. SMSAPI, Twilio, Vonage, Infobip), numer nadawcy (Sender ID) lub numer długi, fundusze na koncie SMS, a także listę przypadków użycia, aby dopasować moduł i koszty. Dobrze jest też przygotować spójny ton komunikacji oraz krótkie, klarowne szablony.
Dobór dostawcy a koszty i funkcje
Kluczowe różnice między operatorami dotyczą: stawek za krajowe i zagraniczne SMS, obsługi znaków diakrytycznych (polskie znaki), jakości tras i odsetka DLR, możliwości weryfikacji nadawcy, jakości wsparcia technicznego oraz funkcji dodatkowych (krótkie linki, skracacze, kampanie). Przed wyborem porównaj: cennik (koszt za segment), SLA, dostępność API i biblioteki językowe, szybkość wdrożenia wtyczki do PrestaShop i opinie innych sprzedawców.
Nadawca: alfanumeryczny, long number czy short code
W Polsce zazwyczaj dostępny jest alfanumeryczny nadawca (np. nazwa sklepu), który zwiększa rozpoznawalność, ale zwykle uniemożliwia odbieranie odpowiedzi SMS (brak dwukierunkowości). Numer długi (MSISDN) umożliwia odpowiedzi i automaty STOP, lecz bywa droższy i mniej rozpoznawalny. Short code w praktyce jest rzadziej używany i wymaga dodatkowych ustaleń. Jeśli planujesz „odpowiedz na SMS”, wybierz numer długi; jeżeli stawiasz na branding—alfanumeryczny.
RODO/GDPR, zgody i polityka prywatności
Przetwarzanie numerów telefonu do celów powiadomień transakcyjnych zwykle opiera się o wykonanie umowy. Dla treści marketingowych wymagana jest wyraźna zgoda. Zaplanuj checkbox podczas zakupu i w profilu klienta; przechowuj timestamp zgody i źródło jej pozyskania. Uwzględnij w polityce prywatności informację o zewnętrznym przetwarzającym (operator SMS) i okresie retencji. W przypadku komunikatów promocyjnych wdroż „STOP” (rezygnacja SMS) lub link do preferencji. Zadbaj o logi i audytowalność.
Przygotowanie konta i kluczy
Po rejestracji u operatora utwórz klucz i tajny token API. Skonfiguruj domyślnego nadawca (Sender ID) i upewnij się, że został zatwierdzony. W ustawieniach konta włącz raporty doręczeń (DLR) i skonfiguruj adres zwrotny (webhook)—później wprowadzisz go w module PrestaShop. Zweryfikuj saldo oraz ewentualne ograniczenia testowe (sandbox, limity dzienne).
Instalacja modułu SMS w PrestaShop
Wersje i kompatybilność
Wybierając moduł, sprawdź kompatybilność z Twoją wersją. Dla PrestaShop 1.7 i 8.x najpopularniejsze są integracje „SMSAPI”, „Twilio SMS”, „Vonage SMS”, „PrestaSMS” czy „SMS Notifications” (Addons). Upewnij się, że moduł obsługuje wywołania webhook, wielojęzyczne szablony, kolejkę wysyłek i mapowanie zdarzeń (order status). Sprawdź, czy autor zapewnia aktualizacje dla najnowszych wydań.
Instalacja przez panel
Aby dodać moduł z marketplace:
- Wejdź w Zaplecze > Moduły > Menedżer modułów.
- Kliknij Prześlij moduł i wskaż plik ZIP pobrany z Addons lub strony dostawcy.
- Po instalacji kliknij Skonfiguruj.
- Jeśli moduł wymaga uprawnień, przyznaj je w Zaawansowane > Zespół > Uprawnienia, wybierając role z dostępem do konfiguracji modułu.
W przypadku modułu dostępnego w oficjalnym katalogu użyj Wyszukaj, a następnie Zainstaluj bezpośrednio z poziomu sklepu.
Ręczna instalacja FTP
Gdy instalacja przez panel się nie powiedzie:
- Rozpakuj ZIP lokalnie i skopiuj folder modułu do /modules/ przez FTP lub menedżera plików.
- Wejdź do Zaplecza > Moduły > Menedżer modułów i wyszukaj nazwę modułu.
- Kliknij Zainstaluj, a następnie Skonfiguruj.
Po instalacji sprawdź logi w Zaawansowane > Dziennik, jeśli cokolwiek poszło nie tak (braki uprawnień, błędy hooków).
Wysyłka testowa
Większość modułów umożliwia wysłanie wiadomości testowej. Podaj własny numer w formacie E.164 (np. +48123456789) i wyślij. Jeżeli SMS nie dotrze w ciągu kilku minut, sprawdź domyślnego nadawcę, saldo, białe listy i raport błędu w module lub u operatora.
Konfiguracja połączenia z API
Mapowanie poświadczeń i nadawcy
W ustawieniach modułu wprowadź: klucz API, sekret/token, identyfikator konta (jeśli wymagany), a także domyślnego nadawcę (Sender ID lub numer). Upewnij się, że pola są zgodne z dokumentacją operatora—niektórzy używają nazw „api_key”, „token”, inni „username/password”. Dla bezpieczeństwa trzymaj tokeny poza repozytorium; jeśli moduł to wspiera, użyj zmiennych środowiskowych.
Webhooki i raporty doręczeń (DLR)
W module znajdź adres zwrotny (URL) do obsługi DLR i skopiuj go do panelu operatora. Dzięki temu statusy wysyłki zaktualizują się w sklepie (queued, sent, delivered, failed). DLR są kluczowe do wiarygodnych raportów i automatycznego ponawiania wysyłek, jeśli przewidziany jest fallback na e-mail lub innego operatora. Sprawdź, czy moduł używa weryfikacji podpisu webhook (HMAC) i skonfiguruj tajny klucz.
Format numerów i transliteracja znaków
Włącz normalizację numerów do standardu E.164: +kierunkowy + numer. Jeśli sprzedajesz zagranicą, ustaw reguły dla krajów, prefiksów i walidacji pól telefonu. W kwestii znaków: tryb GSM 03.38 (160 znaków) jest tańszy, ale nie obsłuży wszystkich polskich liter; Unicode (70 znaków) jest droższy per segment. Zdecyduj, czy włączasz transliterację (np. „ł” → „l”). Zadbaj o liczenie segmentów i wyświetlanie kosztu przed wysyłką.
Limitowanie, kolejka i okienka wysyłki
Ustaw limity zapobiegające burstom: maksymalna liczba SMS/minutę, jednoczesne połączenia, a także godzinne „okna ciszy” (np. 22:00–8:00) dla komunikatów marketingowych. Dla komunikatów transakcyjnych dopuszczaj całodobową wysyłkę. Jeśli moduł posiada kolejka, włącz buforowanie i zapisywanie zadań do przetworzenia przez CRON. To chroni przed utratą powiadomień w razie chwilowych awarii.
Fallback i koszty
Rozważ fallback: gdy DLR=failed lub timeout, moduł powinien wyzwolić e-mail lub alternatywnego operatora. Zadbaj o reguły, by nie generować duplikatów. Ustal budżet dzienny i alerty salda u operatora (np. SMS/e-mail przy spadku środków). Tak zarządzasz realnymi koszty i nie przerywasz krytycznych powiadomień.
Definiowanie zdarzeń i szablonów
Zdarzenia dla klienta
Typowe triggery w PrestaShop to:
- Potwierdzenie zamówienia (po płatności): hook actionValidateOrder lub orderConfirmation
- Zmiana statusu zamówienia: hook actionOrderStatusPostUpdate (np. „Wysłane”, „Gotowe do odbioru”)
- Numer śledzenia przesyłki dodany: hook actionAdminOrdersTrackingNumberUpdate
- Zwrot/REKLAMACJA przyjęta: status RMA (jeśli używasz modułu zwrotów)
- Odzyskiwanie koszyka (opcjonalnie marketing): porzucony koszyk X godzin po braku finalizacji
Każdy moduł SMS ma własny interfejs mapowania: zaznacz wydarzenia, przypisz szablony dla poszczególnych języków i krajów, określ, czy komunikat ma trafiać tylko do klientów z aktywną zgodą marketingową (dla wiadomości nie-transakcyjnych).
Zdarzenia dla administracji i logistyki
SMS potrafi odciążyć zespół:
- Nowe zamówienie—alert do menedżera sklepu lub magazynu
- Niski stan magazynu—automatyczny sygnał do zaopatrzenia
- Błąd płatności—komunikat do opiekuna kanału
- Nowe konto klienta—wiadomość do zespołu sprzedaży B2B
Ustal godziny ciszy i dystrybucję do grup (np. magazyn, support). Dla powiadomień wewnętrznych rozważ Slack/e-mail jako równoległy kanał, aby nie generować zbędnych kosztów.
Projektowanie szablonów SMS
Twórz krótkie, zrozumiałe komunikaty. Pamiętaj o limitach 160/70 znaków i segmentacji. Szablony powinny zawierać identyfikatory zamówień i najważniejsze informacje:
- Zamówienie złożone: „SklepX: zam. {order_reference} przyjęte. Kwota: {total_paid}. Szczegóły: {order_url}”
- Wysłane: „SklepX: zam. {order_reference} wysłane. Śledzenie: {tracking_number}”
- Odbiór w punkcie: „SklepX: {order_reference} gotowe do odbioru do {pickup_deadline}”
- Zwrot: „SklepX: zwrot {rma_number} przyjęty. Kwota: {refund_amount}”
Używaj szablony z dynamicznymi zmiennymi dostępnych w module: {first_name}, {last_name}, {order_reference}, {total_paid}, {carrier}, {tracking_number}, {shop_name}, {shop_url}. Sprawdź, jak moduł liczy znaki po podstawieniu zmiennych—czasem wartości są dłuższe niż zakładałeś.
Języki, strefy i personalizacja
Dla sklepów wielojęzycznych zdefiniuj warianty językowe. Moduły zwykle wykrywają język zamówienia lub kraj numeru. Dodaj lokalne skróty, godziny pracy supportu, a także linki z parametrami UTM dla analityki. Personalizuj w granicach rozsądku (imię, skrót referencji), unikaj danych wrażliwych. Jeśli brakuje odpowiedniego tłumaczenia, włącz fallback do domyślnego języka.
Zgody i preferencje klienta
Dla wiadomości marketingowych skonfiguruj checkbox „Chcę otrzymywać oferty przez SMS” w checkout/profilu. Możesz użyć modułu „Customer Consent” lub dodatku GDPR. Zapisuj datę, IP i kanał pozyskania zgody. Udostępnij klientowi możliwość rezygnacji przez odpowiedź „STOP” (gdy masz numer długi) albo przez link do panelu preferencji w sklepie.
Testy, monitorowanie i automatyzacja
Scenariusze testowe end-to-end
Zanim włączysz produkcję, przeprowadź testy:
- Zakup z płatnością on-line i za pobraniem—czy przychodzi potwierdzenie?
- Zmiana statusu na „Wysłane”—czy szablon z numerem śledzenia jest poprawny?
- Porzucony koszyk—czy po X godzinach przychodzi przypomnienie tylko do klientów z akceptacją marketingową?
- Fallback—czy e-mail idzie, gdy SMS zawiedzie?
- Języki—czy klient DE otrzymuje wersję niemiecką?
- Unicode—czy polskie znaki nie powodują nieplanowanego podziału na 2+ segmenty?
Stwórz matrycę testową i przypisz odpowiedzialnych. Notuj ID wiadomości i status DLR, by porównać je z logami operatora.
Logi, debug i bezpieczeństwo
Włącz logowanie w module i w Zaawansowane > Dziennik. Sprawdzaj: timestamp triggera, payload do operatora, odpowiedź API, status DLR. Jeśli dostępny jest tryb debug, testuj na środowisku staging. Zadbaj o maskowanie tokenów w logach. Do ochrony webhooków używaj HMAC i weryfikuj podpis w module; ogranicz przyjmowanie requestów tylko do IP operatora, jeśli to możliwe.
Najczęstsze błędy i ich naprawa
- Brak SMS: nieprawidłowy nadawca lub niezaakceptowany Sender ID—zweryfikuj w panelu operatora.
- Niepoprawny numer: brak prefiksu kraju—włącz normalizację E.164 w module.
- Podwójne wysyłki: wielokrotne wyzwolenie hooka—sprawdź, czy status nie zmienia się wielokrotnie przez integracje ERP.
- Brak DLR: błędny URL lub klucz weryfikacji—ponownie skonfiguruj adres zwrotny i sekret.
- Wysokie koszty: brak transliteracji—Unicode zwiększa liczbę segmentów; skróć szablony, włącz transliterację.
- Brak zgody: upewnij się, że trigger marketingowy weryfikuje status zgody; skonfiguruj filtry w module.
Monitorowanie skuteczności
Twórz raporty: liczba wysłanych, dostarczonych, odsetek błędów, koszt per zamówienie, CTR linków (skracacz z UTM). Analizuj korelacje ze zwrotami i reklamacjami—krótkie, jasne SMS często zmniejszają liczbę zapytań do supportu. W modułach z analityką integruj identyfikator zamówienia i kampanii, by mierzyć wpływ na przychód.
Automaty i CRON
W PrestaShop 1.7/8 zainstaluj oficjalny moduł „Cronjobs” lub użyj menedżera CRON u hostingu. Skonfiguruj:
- Przetwarzanie kolejki SMS co 1–5 minut
- Wysyłkę porzuconych koszyków co 30–60 minut
- Przypomnienia o odbiorze w punkcie (np. po 24 i 72 h)
- Alert niskiego stanu magazynu raz dziennie
Dzięki CRON zyskasz niezawodność i kontrolę nad tempem wysyłek. Włącz alerty o błędach CRON do e-mail/Slack.
Łącza, skracacze i UTM
W SMS oszczędzaj znaki. Używaj skracaczy z domeną własną (np. link.shop.pl) lub rozwiązania operatora. Dodawaj UTM (utm_source=sms, utm_medium=sms, utm_campaign=status_wysylki) dla analityki. Pamiętaj, że niektórzy operatorzy blokują podejrzane domeny—białolistuj własną domenę w module skracającym, jeśli to możliwe.
Dobre praktyki treści i dostępności
- Najważniejsza informacja na początku: „SklepX: zam. 123—wysłane”.
- Unikaj caps lock i zbędnych znaków specjalnych.
- Wrażliwe dane (np. pełny adres, link do faktury z danymi) wysyłaj przez zabezpieczone linki.
- Dbaj o spójność nazw (SklepX vs. Sklep X) i stosuj rozpoznawalny moduł nadawcy.
Checklist wdrożeniowy
- Konto u operatora aktywne, nadawca zatwierdzony
- Moduł zainstalowany i zaktualizowany
- Klucze API poprawne, środowisko: produkcja
- Webhook DLR włączony, podpisy weryfikowane
- Szablony skrócone, transliteracja świadomie ustawiona
- Zgody marketingowe wdrożone i logowane
- CRON aktywny, kolejka działa, limity ustawione
- Fallback na e-mail aktywny
- Raporty i alerty salda skonfigurowane
Integracje zaawansowane
Jeśli korzystasz z ERP/WMS, upewnij się, że zmiany statusu zamówień są synchronizowane jednokrotnie, aby nie dublować wysyłek. Dla marketplace (Allegro, Amazon) rozważ odrębne szablony—klienci mogą nie znać nazwy Twojego sklepu, więc dodaj ją w treści. Jeśli stosujesz 2FA dla administracji, nie używaj tego samego operatora co dla transakcyjnych—redukujesz ryzyko pojedynczego punktu awarii.
Na koniec pamiętaj: trzymaj się zasady minimalizacji—wysyłaj tylko to, co niezbędne, a każdy komunikat testuj na realnych numerach i urządzeniach. W efekcie Twoje SMS w PrestaShop będą szybkie, zgodne, mierzalne i naprawdę pomocne dla klientów.