Jak ustawić powiadomienia SMS w PrestaShop

dowiedz się

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.

< Powrót

Zapisz się do newslettera


Zadzwoń Napisz