Przejdź do treści
StayPark Suite · Pomoc
StayPark Suite · Pomoc
Zamknij menu
Szukaj w pomocy Ctrl K
Wprowadzenie Przewodniki Panel - obsługa Portal i aplikacje Wdrożenie i konfiguracja Integracje i API Nowości

SMS i SMSAPI

Jak podłączyć wysyłkę SMS przez SMSAPI - token, pole nadawcy marki, zmienne środowiskowe, raporty doręczenia, tryb testowy i co wpływa na koszt wiadomości.

Wdrożeniowiec

Zaktualizowano 2 listopada 2026

Na tej stronie
Podświetlone słowa z wyszukiwania: ()

Wszystkie SMS-y wychodzą przez SMSAPI. Droga jest taka sama jak przy poczcie: system najpierw zapisuje wiadomość w dzienniku (Komunikacja › Wiadomości SMS), potem ją wysyła, a SMSAPI odsyła raporty doręczenia, z których powstaje status.

Zanim zaczniesz

Uprawnienia:

  • Testowa wysyłka SMS sms.send_test
  • Edycja marek brands.edit
  • Konto w SMSAPI z dostępem do Panelu Klienta.
  • Dostęp do zmiennych środowiskowych aplikacji panelu.
  • Panel jest dostępny z internetu po HTTPS - inaczej raporty doręczenia nie wrócą.

Dwa rodzaje wiadomości

Rodzaj Do kogo Nadawca
systemowa pracownik: grafik, deklaracje, wezwania do pracy jeden dla całego systemu (SMS_SYSTEM_SENDER, a gdy pusty - SMSAPI_HEADER)
marki klient: kody logowania, przypomnienia, powiadomienia o zamówieniu pole nadawcy marki; bez niego - nadawca systemowy

Marka konfiguruje tylko nazwę nadawcy - SMS to czysty tekst, bez oprawy graficznej.

Podłącz SMSAPI

  1. W Panelu Klienta SMSAPI przejdź do Ustawienia › API › Tokeny OAuth › Dodaj token. Zaznacz uprawnienie do wysyłki SMS-ów i skopiuj token - SMSAPI pokazuje go tylko raz. Jeśli możesz, ogranicz token do adresu IP serwera.
  2. W Ustawienia › Pola nadawcy › Dodaj zgłoś nazwę nadawcy każdej marki: do 11 znaków, bez polskich znaków. Zatwierdzenie trwa zwykle kilka godzin.
  3. Wpisz zmienne środowiskowe panelu (poniżej). Wygeneruj własny, długi i losowy sekret do SMSAPI_WEBHOOK_TOKEN.
  4. Wyczyść cache konfiguracji.
  5. Ustaw SMS_TEST_MODE=true i wyślij wiadomość próbną: Konfiguracja › Marki, zakładka Nadawca SMS, przycisk Wyślij test.
  6. Sprawdź w Komunikacja › Wiadomości SMS, że wiadomość przeszła z „W kolejce” do „Przyjęta przez SMSAPI”.
  7. Ustaw SMS_TEST_MODE=false, powtórz test i poczekaj na status „Dostarczona”.

W trybie testowym SMSAPI sprawdza wiadomość, ale jej nie wysyła i nie pobiera opłaty.

Zmienne środowiskowe

.env
SMSAPI_TOKEN=...                          # token OAuth z kroku 1
SMSAPI_URL=https://api.smsapi.pl/sms.do   # konto polskie; konto międzynarodowe: api.smsapi.com
SMSAPI_HEADER="StayPark"                  # domyślne pole nadawcy
SMSAPI_WEBHOOK_TOKEN=...                  # własny sekret w adresie raportów
SMS_SYSTEM_SENDER=                        # nadawca wiadomości systemowych (puste = SMSAPI_HEADER)
SMS_NORMALIZE=true                        # polskie znaki zamieniane na łacińskie (taniej)
SMS_MAX_PARTS=4                           # najwięcej części jednej wiadomości
SMS_TEST_MODE=false                       # true = walidacja bez wysyłki i kosztu

Po zmianie wyczyść cache konfiguracji:

php artisan config:clear

Bez SMSAPI_TOKEN system nie wysyła SMS-ów z powiadomień o zamówieniach - wychodzi tylko e-mail.

Raporty doręczenia

Adres raportów system wysyła razem z każdą wiadomością, więc w SMSAPI nie trzeba nic ustawiać. Adres ma postać https://<adres panelu>/webhooks/smsapi/<SMSAPI_WEBHOOK_TOKEN>.

Sekret w adresie to jedyne zabezpieczenie

SMSAPI nie podpisuje raportów, w odróżnieniu od Mailguna. Traktuj SMSAPI_WEBHOOK_TOKEN jak hasło: kto go zna, mógłby wpisywać do dziennika fałszywe statusy „Dostarczona”.

Pole nadawcy marki

Nazwę nadawcy marki wpisujesz w Konfiguracja › Marki, zakładka Nadawca SMS, pole Nazwa nadawcy. Podgląd Odbiorca zobaczy pokazuje, co pojawi się w telefonie klienta. Ekran marki opisuje artykuł Nadawca SMS.

  • Nazwa musi być wcześniej zatwierdzona w SMSAPI. Wysyłka z nazwą niezarejestrowaną zostanie odrzucona - w dzienniku zobaczysz „Błąd wysyłki”.
  • Na wiadomość z nazwą nadawcy nie da się odpowiedzieć. Jeśli odpowiedzi są potrzebne, zostaw pole puste - przy pustym nadawcy systemowym SMS wyjdzie z numeru (wysyłka ECO).
  • Limit 11 znaków bez polskich znaków to ograniczenie sieci komórkowych, nie SMSAPI.

Co wpływa na koszt

SMS ma dwa kodowania i to one decydują o liczbie części, a więc o cenie.

Kodowanie Kiedy 1 część Kolejne części
GSM-7 sam alfabet łaciński 160 znaków 153 znaki
UCS-2 choć jeden znak spoza GSM-7, np. „ą” 70 znaków 67 znaków

Jedno „ą” w stopce potrafi podwoić koszt całej wysyłki. Dlatego SMS_NORMALIZE=true zamienia polskie znaki na łacińskie. Liczbę części każdej wiadomości widać w dzienniku, a w ustawieniach marki - jeszcze przed wysłaniem.

Znaczenie statusów opisuje artykuł Wiadomości SMS.

Częste problemy

Status stoi na „W kolejce”

Wiadomość nie doszła do SMSAPI. Sprawdź, czy na serwerze działa przetwarzanie kolejki default - z niej wychodzą SMS-y.

Status stoi na „Przyjęta przez SMSAPI”

Wiadomość wyszła, ale raporty nie wracają. Sprawdź, czy adres panelu (APP_URL) jest publiczny i po HTTPS i czy sekret w SMSAPI_WEBHOOK_TOKEN się nie zmienił.

„Błąd wysyłki” zaraz po wysłaniu

SMSAPI odrzuciło wiadomość - powód widać w podglądzie wiadomości w dzienniku. Najczęściej to niezatwierdzona nazwa nadawcy, brak środków na koncie albo zły token. System nie ponawia takiej wysyłki sam.

Powiązane

Brak wyników