SMS w Make z własnego numeru: wysyłka i odbiór
Sprawdzone z dokumentacją:
W Make wysyłasz SMS modułem HTTP → Make a request: POST https://smsportal.app/api/v1/gateway/send-sms, klucz API w nagłówku x-api-key i JSON z recipients oraz message. Odpowiedzi klientów odbiera wyzwalacz Webhooks → Custom webhook, do którego smsportal wysyła zdarzenie MESSAGE_RECEIVED. SMS wychodzi z Twojego telefonu z Androidem, więc klient widzi Twój numer i może odpisać.
Czego potrzebujesz
- Konto Make (aplikacje HTTP i Webhooks są wbudowane, nie trzeba ich instalować).
- Konto smsportal z podłączonym telefonem z Androidem i kartą SIM.
- Klucz API z panelu smsportal (Klucze API → Wygeneruj klucz API).
- Numery odbiorców z kierunkowym kraju, np.
+48600100200.
Jak wysłać SMS z Make
Dodaj moduł HTTP → Make a request
W scenariuszu dodaj aplikację HTTP i moduł Make a request. Ustaw URL
https://smsportal.app/api/v1/gateway/send-smsi MethodPOST.Zapisz klucz API w Credentials
W Authentication type wybierz
API key, potem Credentials → utwórz klucz: Namesmsportal, Key to sam klucz z panelu (bez żadnego prefiksu), API key placementIn the header, API key parameter namex-api-key. Make trzyma klucz w sekcji Keys, więc nie wpisujesz go w polu Headers i zmieniasz w jednym miejscu.Wklej ciało JSON
Body content type
application/JSON, Body input methodJSON string, w treść wklej JSON poniżej.{{1.phone}}i{{1.name}}to pola z modułu nr 1: usuń je i wstaw swoje z panelu mapowania. Opcjonalnie dodajdeviceId(kilka telefonów),simSubscriptionId(telefon z dwiema kartami) alboscheduledAt(wysyłka później, czas ISO 8601).Treść ciała (JSON string){ "recipients": ["{{1.phone}}"], "message": "Dzień dobry {{1.name}}, mamy Twoje zgłoszenie. Odpisz na ten numer, jeśli masz pytania." }Włącz zatrzymanie przy błędzie
Parse response ustaw na
Yes. W Advanced settings włącz Return error if HTTP request fails, żeby odpowiedź 401, 400 albo 429 zatrzymała scenariusz i była widoczna w historii.Przetestuj na własnym numerze
Wpisz na próbę swój numer i kliknij Run once. Odpowiedź 200 z polem
dataoznacza, że wiadomość trafiła do kolejki. Status (wysłana, doręczona) zobaczysz w panelu smsportal.
Jak odebrać odpowiedź klienta w Make
Gdy telefon odbierze SMS, smsportal wysyła POST z JSON-em na adres webhooka. Make rozbija JSON na pola do mapowania: sender (numer nadawcy), message (treść), receivedAt i webhookEvent. Każde żądanie ma nagłówek X-Signature: HMAC-SHA256 surowego ciała, liczony Twoim sekretem podpisu, zapisany szesnastkowo.
- Utwórz nowy scenariusz z wyzwalaczem Webhooks → Custom webhook. Obok pola Webhook kliknij **Add**, wpisz Webhook name, kliknij **Save** i skopiuj wygenerowany adres.
- W panelu smsportal otwórz Webhooki → Utwórz webhook, wklej adres, wpisz sekret podpisu (co najmniej 20 znaków) i zaznacz zdarzenie
MESSAGE_RECEIVED. - Kliknij Run once i wyślij SMS na swój telefon z innego numeru. Make rozpozna pola i pozwoli je mapować, np.
SMS od {{1.sender}}: {{1.message}}. Gdy później dodasz pola albo zdarzenia, kliknij w module **Detect new values** i wyślij kolejny SMS. - Aktywuj scenariusz. Webhook uruchamia go od razu po każdym SMS-ie, a domyślna odpowiedź Make (200
Accepted) wystarcza, moduł Webhook response nie jest potrzebny. - Żeby sprawdzić podpis, w Advanced settings webhooka włącz Get request headers i JSON pass-through. Funkcja
sha256z sekretem jako kluczem i kodowaniemhexpoliczy skrót surowego ciała; porównaj go w filtrze z nagłówkiemx-signature, a pola wyciągnij modułem JSON → Parse JSON.
{
"smsId": "6720f0c2a1b2c3d4e5f60718",
"message": "Potwierdzam wizytę",
"deviceId": "671f9e10a1b2c3d4e5f60001",
"webhookSubscriptionId": "671fa001a1b2c3d4e5f60002",
"webhookEvent": "MESSAGE_RECEIVED",
"idempotencyKey": "3f1c9a8e-5d2b-4c7a-9e1f-2b6d8c0a4e57",
"sender": "+48600100200",
"receivedAt": "2026-10-28T09:41:00.000Z"
}Gotowe scenariusze
Zgłoszenie z formularza dostaje SMS z potwierdzeniem
Typeform → Watch Responses albo Google Forms → Watch Responses uruchamia scenariusz, a HTTP Make a request wysyła SMS na numer z formularza. Ustaw pole telefonu tak, żeby zbierało numer z kierunkowym kraju, inaczej API odrzuci odbiorcę.
Odpowiedź klienta trafia do arkusza albo CRM
Custom webhook z
MESSAGE_RECEIVED, potem Google Sheets → Add a Row z kolumnamisender,messageireceivedAt. Zamiast arkusza możesz wyszukać kontakt w CRM po numerzesenderi dopisać treść jako notatkę.Codzienna wysyłka z arkusza jednym żądaniem
Harmonogram raz dziennie, Google Sheets → Search Rows wybiera wiersze na dziś, Array aggregator zbiera je w listę, a jeden moduł HTTP wysyła ją do
https://smsportal.app/api/v1/gateway/send-bulk-smsjakomessages(każdy element ma własnerecipientsimessage). Jedno żądanie zużywa jeden kredyt zamiast jednego na wiersz.
Błędy i rozwiązania
- Moduł HTTP zwraca 401
- Przyczyna: Klucz w nagłówku
Authorizationzamiastx-api-key, dopisany prefiks przed kluczem albo zły klucz. - Co zrobić: W Credentials ustaw API key parameter name na
x-api-key, a w polu Key wpisz sam klucz z panelu. Sprawdź, czy nie ma spacji na początku i końcu. - 400 tylko przy niektórych wiadomościach
- Przyczyna: Zmapowana treść zawiera cudzysłów albo znak nowej linii, a tryb
JSON stringnie zabezpiecza takich znaków, więc JSON jest niepoprawny. - Co zrobić: Przełącz Body input method na
Data structure:recipientsjako tablica tekstów,messagejako tekst. Make sam zabezpieczy znaki specjalne. - 400 przy każdej wysyłce
- Przyczyna: Brak włączonego telefonu na koncie, niepotwierdzony e-mail albo
recipientsnie jest listą. - Co zrobić: Sprawdź w panelu, czy telefon jest włączony, a e-mail potwierdzony.
recipientsmusi mieć postać["+48600100200"]. - API odpowiada 200, ale SMS nie wychodzi
- Przyczyna: Telefon jest offline albo Android usypia aplikację.
- Co zrobić: Sprawdź zasięg, internet i ekran stanu telefonu w panelu. Wiadomość czeka w kolejce do 72 godzin, potem wygasa.
- Webhook przestał przyjmować SMS-y
- Przyczyna: Scenariusz jest wyłączony albo webhook przez ponad 5 dni nie był podpięty do żadnego scenariusza i Make zwraca
410 Gone. smsportal przestaje ponawiać po 3 próbach z błędem 4xx, a subskrypcję, która ciągle zawodzi, wstrzymuje. - Co zrobić: Podepnij webhook do scenariusza i aktywuj go. Potem sprawdź w panelu smsportal (Webhooki), czy subskrypcja działa.
- 429 przy wysyłce
- Przyczyna: Wyczerpany limit SMS-ów w pakiecie.
- Co zrobić: Treść odpowiedzi mówi, który limit się skończył. Sprawdź licznik w panelu albo zmień pakiet w Cenniku.
Najczęstsze pytania
Czy smsportal ma własną aplikację w Make?
Nie ma. Wystarczą dwie wbudowane aplikacje Make: HTTP (moduł Make a request) do wysyłki i Webhooks (Custom webhook) do odbioru odpowiedzi.
Ile kredytów Make zużywa jeden SMS?
Make rozlicza się w kredytach (do sierpnia 2025 w operacjach). W aplikacjach bez AI jedno wykonanie modułu to jeden kredyt, więc scenariusz z wyzwalaczem i modułem HTTP zużywa zwykle dwa kredyty na wiadomość. smsportal nie pobiera opłat za pojedynczy SMS: płacisz abonament karty SIM u operatora.
Ile SMS-ów Make może wysłać naraz?
Make wyśle żądania szybko, ale telefon wysyła SMS-y z przerwą między wiadomościami (domyślnie 5 sekund, czyli około 720 na godzinę z jednego telefonu). Duże wysyłki rozłóż w czasie albo dodaj kolejny telefon.
Czy Make wie, że SMS został doręczony?
Odpowiedź modułu HTTP mówi tylko, że wiadomość przyjęto do kolejki. O wysłaniu i doręczeniu informują zdarzenia `MESSAGE_SENT` i `MESSAGE_DELIVERED`, które odbierzesz osobnym Custom webhook.
Czy nadaje się do kampanii marketingowych?
Nie. Z karty SIM wysyłaj wiadomości, których klient się spodziewa: potwierdzenia, przypomnienia, odpowiedzi. Masowe kampanie wysyłaj przez operatora SMS z nazwą nadawcy.
Źródła
- Make: HTTP (Make a request)
- Make: API key authentication type
- Make: Webhooks (Custom webhook)
- Make: Webhooks, kolejka i limity
- Make: Credits
- 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.