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.
Zaktualizowano 2 listopada 2026
Na tej stronie
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:
- 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
- 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.
- 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.
- Wpisz zmienne środowiskowe panelu (poniżej). Wygeneruj własny, długi i losowy sekret do
SMSAPI_WEBHOOK_TOKEN. - Wyczyść cache konfiguracji.
- Ustaw
SMS_TEST_MODE=truei wyślij wiadomość próbną: Konfiguracja › Marki, zakładka Nadawca SMS, przycisk . - Sprawdź w Komunikacja › Wiadomości SMS, że wiadomość przeszła z „W kolejce” do „Przyjęta przez SMSAPI”.
- 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
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 kosztuPo zmianie wyczyść cache konfiguracji:
php artisan config:clearBez 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>.
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
Powiązane
- Wiadomości SMS Jak sprawdzić, czy SMS doszedł do klienta, co znaczą statusy i raporty doręczenia z SMSAPI, z ilu części składa się wiadomość i ile kosztuje, skąd się bierze nazwa nadawcy.
- Poczta i Mailgun Jak podłączyć wysyłkę poczty przez Mailgun - domena, rekordy DNS, klucze, zmienne środowiskowe i webhooki statusów.
- Powiadomienia klienta o zamówieniu Jakie e-maile i SMS-y dostaje klient w trakcie życia zamówienia, kiedy wychodzą, gdzie zmienić ich treść i czasy przypomnień oraz jak sprawdzić, czy wiadomość wyszła.