Wtyczka smsportal dla WordPressa: SMS bez kodu, z Twojego telefonu

Sprawdzone z dokumentacją:

Instalujesz wtyczkę smsportal z pliku zip, klikasz „Połącz ze smsportal.app” i zatwierdzasz dostęp. Potem w zakładce Reguły wybierasz zdarzenie, np. zrealizowane zamówienie WooCommerce, i wpisujesz treść ze zmiennymi. SMS wychodzi z Twojego telefonu z Androidem, a w panelu WordPressa widzisz doręczenie i odpowiedź klienta. Bez klucza API i bez kodu.

Czego potrzebujesz

  • WordPress 6.2 lub nowszy i PHP 7.4 lub nowszy.
  • Strona na https.
  • Konto smsportal z podłączonym telefonem z Androidem i kartą SIM.
  • Do reguł: WooCommerce, Contact Form 7, Amelia albo Uncanny Automator. Bez nich zostaje wysyłka z własnego kodu.

Jak wysyłać SMS-y z WordPressa wtyczką smsportal

  1. Zainstaluj wtyczkę

    Pobierz https://smsportal.app/downloads/smsportal-wordpress.zip. W WordPressie wejdź w Wtyczki → Dodaj wtyczkę → Wyślij wtyczkę na serwer, wskaż plik, kliknij Zainstaluj teraz, a potem Włącz wtyczkę. Wpis w katalogu wtyczek WordPress.org: wkrótce.

  2. Połącz stronę z kontem

    W menu smsportal kliknij „Połącz ze smsportal.app”. Zaloguj się (albo załóż konto), wybierz telefon i kliknij Zezwól. Wracasz na stronę z komunikatem „Połączono ze smsportal.app.”, a Przegląd pokazuje telefon, baterię i licznik SMS-ów w tym miesiącu.

  3. Dodaj regułę

    Reguły → Dodaj automatyczny SMS. Wybierz zdarzenie, np. „WooCommerce: zmiana statusu zamówienia na „Zrealizowane””, odbiorcę Klient i wpisz treść ze zmiennymi, np. Cześć {imie}, zamówienie {numer_zamowienia} jest gotowe. {nazwa_sklepu}. Licznik pod polem pokazuje znaki i liczbę części SMS-a. Zapisz.

  4. Wyślij testowy SMS

    Ustawienia → Twój numer telefonu. Potem w edytorze reguły kliknij „Wyślij testowy SMS do mnie”: treść z danymi ostatniego takiego zamówienia przyjdzie na Twój numer, a reguła nie zostanie zapisana.

  5. Sprawdzaj statusy i odpowiedzi

    Zakładka Wysłane pokazuje każdy SMS: Czeka na telefon, Doręczony, Błąd albo Przeterminowany. Odpowiedź klienta trafia do zakładki Odpowiedzi, do notatki w zamówieniu i na Twój e-mail.

Odpowiedzi klientów i STOP

Odpowiedzi nie wymagają konfiguracji: wtyczka podaje smsportal swój adres powiadomień przy łączeniu i sprawdza podpis każdego powiadomienia.

  1. Do strony trafiają tylko odpowiedzi z numerów, do których ta strona wysłała SMS w ostatnich 7 dniach. Inne SMS-y na Twój telefon zostają w panelu smsportal.
  2. Odpowiedź na SMS o zamówieniu WooCommerce zostaje dodana do zamówienia jako notatka prywatna.
  3. Odpowiedź STOP (także NIE, REZYGNUJE, UNSUBSCRIBE) dopisuje numer do zakładki Zablokowane. Ta strona nie wyśle na niego kolejnych SMS-ów, dopóki go nie odblokujesz.
  4. E-mail o każdej odpowiedzi wyłączysz w Ustawieniach.
PHP: własny SMS z kodu motywu lub wtyczki
// Własny SMS z kodu motywu albo innej wtyczki (wymaga połączonej wtyczki smsportal).
// dedupe_key sprawia, że to samo zdarzenie wyśle najwyżej jeden SMS.
if ( function_exists( 'smsportal_send_sms' ) ) {
	$result = smsportal_send_sms(
		'600 100 200',
		'Twoja wizyta jest potwierdzona. Do zobaczenia!',
		array(
			'dedupe_key'    => 'moj-motyw|wizyta-1042|potwierdzenie',
			'event_label'   => 'Potwierdzenie wizyty',
			'expires_hours' => 12, // 0 = bez terminu
		)
	);
	if ( is_wp_error( $result ) ) {
		error_log( 'SMS nie trafił do kolejki: ' . $result->get_error_message() );
	}
}

Gotowe scenariusze

  • Sklep: zamówienie wysłane

    Reguła na „zmiana statusu zamówienia na Zrealizowane” z {numer_przesylki}. Zmienna czyta pole _tracking_number zamówienia; gdy jest puste, znika z treści, a SMS i tak wychodzi. Drugie ustawienie tego samego statusu nie wyśle drugiego SMS-a.

  • Formularz kontaktowy: SMS do Ciebie

    Reguła na „Contact Form 7: wysłano formularz” z odbiorcą Stały numer (Twój) i treścią ze zmiennymi pól formularza, np. imienia i tematu. Gdy SMS ma iść do osoby z formularza, wybierasz pole z jej numerem.

  • Gabinet: przypomnienie o wizycie

    Reguła „Amelia: przypomnienie przed wizytą” z liczbą godzin przed terminem (do 168). Wtyczka planuje SMS w chwili rezerwacji, więc przypomnienie wychodzi samo, bez Twojego udziału.

Błędy i rozwiązania

„Strona musi działać na https, żeby połączyć się ze smsportal.app.”
Przyczyna: Adres strony w Ustawieniach → Ogólne zaczyna się od http://.
Co zrobić: Włącz certyfikat SSL u hostingu i zmień oba adresy w Ustawieniach → Ogólne na https://.
Status „Czeka na telefon” nie zmienia się
Przyczyna: Telefon jest offline albo Android uśpił aplikację smsportal.
Co zrobić: Sprawdź kafelek Telefon w Przeglądzie i internet w telefonie. Po czasie z pola „Nie wysyłaj, jeśli spóźni się więcej niż” (domyślnie 12 godzin) SMS dostaje status Przeterminowany.
Status „Limit planu”
Przyczyna: Konto wykorzystało limit SMS-ów w pakiecie (dzienny albo miesięczny).
Co zrobić: Taki SMS nie jest ponawiany. Kolejne zdarzenia wyślą SMS-y po odnowieniu limitu albo zmianie pakietu na smsportal.app.
Status „Zatrzymany przez limit bezpieczeństwa”
Przyczyna: Numer klienta jest z kraju spoza listy dozwolonych albo dostał już 3 SMS-y w ciągu godziny (10 na dobę), albo reguła wysłała 30 SMS-ów w ciągu godziny.
Co zrobić: Powód jest przy SMS-ie w zakładce Wysłane. Kraje dodasz w Ustawieniach → Dozwolone kraje odbiorców. Przy formularzu włącz ochronę przed spamem.
Przegląd prosi o ponowne połączenie
Przyczyna: Połączenie usunięto w panelu smsportal (Integracje → Rozłącz) albo klucz przestał działać.
Co zrobić: Kliknij „Połącz ze smsportal.app” jeszcze raz. Reguły i historia zostają.
Brak zdarzeń w liście reguły
Przyczyna: Lista pokazuje tylko zdarzenia aktywnych wtyczek.
Co zrobić: Włącz WooCommerce, Contact Form 7, Amelia albo Uncanny Automator. Bez nich wysyłaj z kodu przez smsportal_send_sms.

Najczęstsze pytania

Czy muszę kopiować klucz API?

Nie. Łączenie działa jak „Zaloguj przez”: wtyczka dostaje własny klucz z ograniczonym dostępem (wysyłka, statusy, stan połączenia) i trzyma go tylko w bazie WordPressa. Połączenie zerwiesz z obu stron.

Czy klient dostanie ten sam SMS dwa razy?

Nie. Każde zdarzenie, np. „zamówienie 1042 zrealizowane”, wysyła najwyżej jeden SMS, także gdy status ustawisz ponownie albo wysyłka zostanie powtórzona po przerwie w łączności.

Czy wysyłka spowalnia składanie zamówienia?

Nie. Wtyczka zapisuje SMS w kolejce i wysyła go w tle. Gdy smsportal.app nie odpowiada, ponawia po 1, 5 i 15 minutach.

Czy ktoś może przez formularz na mojej stronie wysyłać SMS-y z mojego telefonu?

Wtyczka to ogranicza. SMS-y na numery wpisane przez klientów (formularze, zamówienia gości, rezerwacje, akcja „Wyślij SMS” w Uncanny Automatorze) idą tylko do Twojego kraju (inne kraje dodasz w Ustawieniach), najwyżej 3 na godzinę i 10 na dobę na jeden numer i najwyżej 30 na godzinę z jednej reguły. Zatrzymany SMS ma w zakładce Wysłane powód, a ekrany wtyczki pokazują ostrzeżenie. Stały numer w regule (np. Twój) nie ma tych limitów. W Contact Form 7 włącz też ochronę przed spamem: Akismet, reCAPTCHA albo Cloudflare Turnstile.

Co z kopią testową strony (staging)?

Kopia pod innym adresem nie wysyła SMS-ów, bo połączenie należy do oryginału. Na kopii wtyczka pyta, czy strona się przeniosła (wtedy zachowasz połączenie), czy połączyć kopię osobno. Odinstalowanie wtyczki na kopii nie rozłącza oryginału.

Co z RODO?

Numery w panelu są maskowane, wysłane SMS-y, odpowiedzi i dzienniki znikają po 90 dniach. Wtyczka dodaje tekst do Polityki prywatności oraz obsługuje eksport i usuwanie danych osobowych z WordPressa. Odinstalowanie usuwa wszystkie jej dane.

Gdzie jest wtyczka w katalogu WordPress.org?

Wpis w katalogu jest w przygotowaniu (wkrótce). Do tego czasu instalujesz ją z pliku zip ze strony smsportal.app; po pojawieniu się w katalogu aktualizacje przyjdą zwykłą drogą.

Źródła

  1. WordPress: Managing Plugins (instalacja z pliku zip)
  2. WordPress Plugin Handbook: Privacy (eksport i usuwanie danych)
  3. WooCommerce: kod klasy WC_Order (hooki statusów)
  4. smsportal: dokumentacja API

Więcej w poradnikach

Wyślij pierwszego SMS-a jeszcze dziś

Załóż darmowe konto, podłącz telefon i sprawdź, jak klienci reagują na wiadomości z Twojego numeru.