Przejdź do głównej zawartości

Wysyłki SMS

Na tej stronie wyślesz wiadomość SMS i sprawdzisz, czy została dostarczona. Wysyłki SMS Paymentic obsługują zarówno wiadomości transakcyjne (kody 2FA i jednorazowe hasła, statusy zamówień i przesyłek, potwierdzenia płatności, przypomnienia), jak i marketingowe, z wysoką dostępnością i krótkim czasem doręczenia. Używasz tego samego tokenu, tych samych hostów i tego samego formatu błędów co przy płatnościach.

Wymagania

  • Token API z panelu (Integracja → Dostęp do API), przekazywany w nagłówku Authorization: Bearer YOUR_API_TOKEN. Zob. Wprowadzenie.
  • Usługa SMS włączona dla Twojego konta. Bez niej API odpowiada 403 z kodem SMS_SERVICE_NOT_ACTIVE; włączenie uzgadniasz z opiekunem handlowym.
  • Środki na portfelu SMS. Koszt każdej wiadomości jest pobierany z salda; przy braku środków API odpowiada 402 z kodem INSUFFICIENT_FUNDS.
  • Cennik dla kraju odbiorcy. Jeśli dla numeru docelowego nie ma skonfigurowanej ceny, API odpowiada 400 z kodem PRICE_NOT_CONFIGURED.

Do testów użyj hosta https://api.sandbox.paymentic.com, na produkcji https://api.paymentic.com.

Krok 1. Wyślij wiadomość

curl -X POST "https://api.sandbox.paymentic.com/v1_2/messaging/sms/messages" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"recipient": "+48123123123",
"text": "Twoj kod to 1234.",
"sender": "Paymentic",
"externalReferenceId": "order-2026-000123"
}'
PoleTypWymaganeOpis
recipientstringtakNumer odbiorcy w formacie E.164, z kodem kraju i plusem, np. +48123123123.
textstringtakTreść wiadomości.
senderstringnieAlfanumeryczna nazwa nadawcy, maks. 11 znaków. Pominięta: nadawca domyślny Twojego konta.
unicodebooleannietrue wymusza kodowanie UCS-2. Domyślnie false.
externalReferenceIdstringnieTwój identyfikator wiadomości, maks. 36 znaków. Wraca w szczegółach wiadomości i pozwala powiązać ją z rekordem po Twojej stronie.
prioritystringnieLOW (domyślnie), MEDIUM albo HIGH.

Odpowiedź 202 Accepted

{
"data": {
"id": "01JZX8K3M9QABCDEF0123456789",
"status": "QUEUED",
"sender": "Paymentic",
"recipient": "+48123123123",
"text": "Twoj kod to 1234.",
"segmentsCount": 1,
"totalCost": "0.053",
"source": "API",
"priority": "LOW",
"externalReferenceId": "order-2026-000123",
"createdAt": "2026-09-10T09:48:03+02:00",
"sentAt": null,
"deliveredAt": null
}
}

202 oznacza, że wiadomość została przyjęta do wysyłki, a nie dostarczona. Zapamiętaj data.id: to identyfikator, którym odpytasz status. segmentsCount mówi, na ile segmentów została podzielona treść, a totalCost ile łącznie kosztowała (string dziesiętny z trzema miejscami po przecinku).

Krok 2. Sprawdź status dostarczenia

curl -X GET "https://api.sandbox.paymentic.com/v1_2/messaging/sms/messages/01JZX8K3M9QABCDEF0123456789" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Odpowiedź 200 ma ten sam kształt co przy wysyłce, z aktualnym status oraz czasami sentAt i deliveredAt.

StatusZnaczeniesentAtdeliveredAt
QUEUEDWiadomość czeka w kolejce na wysyłkę.nullnull
SENTWiadomość została przekazana operatorowi.czasnull
DELIVEREDOperator potwierdził dostarczenie na telefon odbiorcy.czasczas
FAILEDWysyłka albo dostarczenie nie powiodło się.zależnienull

Statusy DELIVERED i FAILED są końcowe. Messaging API nie wysyła webhooków o zmianie statusu wiadomości, więc jeśli potrzebujesz potwierdzenia dostarczenia, odpytaj ten endpoint po chwili od wysyłki.

Pole source mówi, skąd pochodzi wiadomość: API dla wysyłek przez to API, WEB dla wysłanych z panelu, SYSTEM dla wysyłanych automatycznie przez Paymentic.

Polskie znaki i liczba segmentów

Znaki spoza podstawowego alfabetu SMS (np. „ą", „ę", „ł") wymagają kodowania UCS-2, w którym w jednym segmencie mieści się mniej znaków, więc ta sama treść może zająć więcej segmentów i kosztować więcej. Jeśli chcesz wymusić UCS-2 niezależnie od treści, ustaw unicode: true. Faktyczny podział i koszt zobaczysz w segmentsCount i totalCost w odpowiedzi, także w sandboxie, zanim wyślesz wiadomość na produkcji.

Błędy

Kod HTTPerrors[].codeZnaczenie
400PRICE_NOT_CONFIGUREDBrak cennika dla kraju odbiorcy. Skontaktuj się z opiekunem handlowym.
401UNAUTHORIZEDBrak lub nieprawidłowy token.
402INSUFFICIENT_FUNDSZa mało środków na portfelu SMS. Doładuj saldo i wyślij ponownie.
403SMS_SERVICE_NOT_ACTIVEUsługa SMS nie jest włączona dla Twojego konta.
404MESSAGE_NOT_FOUNDWiadomość o podanym id nie istnieje.
422VALIDATION_ERRORNiepoprawne body, np. numer poza formatem E.164 albo sender dłuższy niż 11 znaków. details.field wskazuje pole.

Pełna referencja: Send a single SMS i Fetch a single SMS by ID.