SMS API
SMS API — integracja w 5 minut
Wysyłaj SMS-y bezpośrednio z własnej aplikacji, CRM, ERP lub sklepu internetowego. Proste REST API, klucz dostępu w panelu, webhooks (7 eventów), OpenAPI i generowanie SDK dla 50+ języków.
Wysyłka SMS jednym żądaniem HTTP
Nasze API jest zgodne z REST. Wystarczy jeden POST z nagłówkiem X-API-Key.
curl -X POST https://smsik.pl/api/v1/sms/send \
-H "X-API-Key: sk_live_TWOJ_KLUCZ" \
-H "Content-Type: application/json" \
-d '{
"to_number": "+48512017029",
"message": "Testowa wiadomość z SMSIK API",
"idempotency_key": "order-12345-confirmation"
}'
{
"id": 81231,
"status": "queued",
"to_number": "+48512017029",
"price_grosze": 1,
"scheduled_at": null,
"expires_at": null
}
Uwaga: pole sender (własna nazwa nadawcy) nie jest jeszcze obsługiwane przez API —
nazwa nadawcy jest ustawiana per konto w panelu SMSIK. Wkrótce dodamy pole sender do API.
Co oferuje SMSIK API?
Kompletne narzędzie do programistycznej wysyłki SMS — dla developerów i integratorów.
REST API
Standardowe metody HTTP (GET, POST, PUT, PATCH, DELETE), JSON jako format wymiany danych. Bez SOAP, bez XML.
Klucz API z limitami
Uwierzytelnianie kluczem w nagłówku X-API-Key. Wiele kluczy per konto, każdy z własnymi limitami dziennymi i miesięcznymi.
Idempotencja
Klucz idempotencji (idempotency_key) chroni przed wysłaniem duplikatów przy retry. Bezpieczne ponowienia po timeoutach.
Planowanie wysyłki
Parametry scheduled_at i expires_at pozwalają zaplanować wysyłkę z wyprzedzeniem. Saldo rezerwowane od razu, pobierane po wysyłce.
Webhooks (7 eventów)
sms.sent, sms.delivered, sms.failed, sms.scheduled, sms.received, campaign.finished, balance.low. HMAC, retry, circuit breaker, rotacja secret.
OpenAPI + SDK
Specyfikacja OpenAPI 3.1 (/api/v1/openapi.json) i generowanie SDK dla 50+ języków przez OpenAPI Generator. Dokumentacja w 9 językach.
Bulk send
POST /sms/send-bulk — do 100 SMS-ów w jednym requeście HTTP. Zwraca listę wysłanych i listę błędów (partial success).
Kampanie i kontakty
CRUD kampanii, kontaktów i grup przez API. Tworzenie, lista, statystyki, anulowanie. Wszystko per-user z walidacją.
Monitoring i limity
GET /usage zwraca zużycie limitów (globalne + per-key). Metryki Prometheusa (/metrics) i health check (/health/metrics) dla monitoringu.
Cennik SMS API
| Usługa | Netto | Brutto |
|---|---|---|
|
SMS API — wysyłka SMS w Polsce
Do 160 znaków GSM-7 lub 70 znaków UCS-2
|
0,81 gr | 1,00 gr |
|
Dostęp do API
Bez limitu zapytań (limity SMS osobno)
|
0,00 zł | 0,00 zł |
|
Własna nazwa nadawcy (sender ID)
Rejestracja i aktywacja
|
0,00 zł | 0,00 zł |
|
Webhooks (7 eventów)
HMAC, retry, circuit breaker
|
0,00 zł | 0,00 zł |
Dla wolumenów powyżej 100 000 SMS miesięcznie oferujemy indywidualne stawki. Skontaktuj się z nami.
Najczęstsze pytania o SMS API
Jak uzyskać klucz API?
Klucz generowany jest po rejestracji konta i aktywacji funkcji deweloperskich. Znajdziesz go w panelu: /dashboard/developer → Nowy klucz. Możesz utworzyć wiele kluczy z osobnymi limitami dziennymi i miesięcznymi. Nowy klucz wymaga akceptacji administratora (do 24h).
Czy API jest bezpłatne?
Tak — dostęp do API jest bezpłatny. Płacisz wyłącznie za wysłane SMS-y (1 gr brutto za SMS). Bez abonamentu, bez opłaty aktywacyjnej, bez minimalnego wolumenu.
Jakie są limity zapytań?
Domyślnie 1000 SMS na godzinę i 10 000 SMS dziennie na konto. Dodatkowo każdy klucz API może mieć własne limity dzienne i miesięczne. Po przekroczeniu API zwraca 429 Too Many Requests. Limity można zwiększyć na życzenie (kontakt: info@smsik.pl).
Czy mogę otrzymywać statusy dostarczenia (webhooks)?
Tak — webhooks działają. SMSIK oferuje 7 eventów:
sms.sent,
sms.delivered,
sms.failed,
sms.scheduled,
sms.received (odpowiedź klienta),
campaign.finished,
balance.low.
Każdy webhook ma HMAC-SHA256, retry z backoffem (30s → 2min → 10min → 1h → 6h)
i circuit breaker. Możesz rotować secret z grace period 24h i replayować deliveries.
Pełna dokumentacja webhooków →
Jakie metody HTTP obsługuje SMS API?
API obsługuje pełen zestaw metod REST: POST (wysyłka SMS, tworzenie zasobów),
GET (odczyt), PUT (edycja szablonów, kontaktów, grup),
PATCH (edycja webhooków), DELETE (usuwanie zasobów).
Wszystkie endpointy wymagają nagłówka X-API-Key.
Format danych to JSON.
Czy API wspiera idempotencję?
Tak. Możesz przekazać klucz idempotencji w polu idempotency_key
(max 64 znaki). Retry z tym samym kluczem zwróci istniejący SMS zamiast tworzyć duplikat.
Zalecane przy każdym retry po timeoucie.
Jakie są przykłady kodu dla SMS API?
W dokumentacji znajdziesz przykłady w 9 językach: cURL, PHP, Perl, Python, Node.js, C#, Java, Go, Ruby. Dodatkowo możesz wygenerować oficjalne SDK dla 50+ języków przez OpenAPI Generator — instrukcja w sekcji Generuj SDK.
Czy mogę planować wysyłkę SMS przez API?
Tak. Parametry scheduled_at
i expires_at pozwalają zaplanować
wysyłkę SMS-a w ISO 8601. Bramka samodzielnie wysyła SMS w zaplanowanym czasie.
Saldo jest rezerwowane od razu, a pobierane dopiero po wysyłce.
Czy mogę wysyłać SMS-y masowo przez API?
Tak. Endpoint POST /api/v1/sms/send-bulk
pozwala wysłać do 100 SMS-ów w jednym requeście HTTP.
Zwraca listę wysłanych i listę błędów (partial success).
Dla większych wolumenów użyj kampanii w panelu (do 5000 odbiorców).
Czy API obsługuje kampanie i kontakty?
Tak. Przez API możesz zarządzać kampaniami (tworzenie, lista, statystyki, anulowanie), kontaktami (CRUD) i grupami (CRUD, przypisywanie kontaktów). Wszystko z pełną walidacją per-user. Dokumentacja kampanii →
Jak zweryfikować autentyczność webhooka?
Każdy webhook ma nagłówek X-Webhook-Signature: sha256=<hex>
(HMAC-SHA256 z Twoim secretem). Weryfikuj na surowym body żądania
(request.body() w FastAPI,
file_get_contents('php://input') w PHP),
nie na sparsowanym JSON — json.dumps()
zmienia formatowanie i hash się nie zgodzi.
Czy jest dokumentacja OpenAPI / Swagger?
Tak. Specyfikacja OpenAPI 3.1 jest publicznie dostępna pod
/api/v1/openapi.json.
Możesz ją zaimportować do Postmana, Insomnii, Hoppscotch lub użyć do generowania SDK.
Interaktywna dokumentacja Swagger UI jest w panelu:
/dashboard/developer/api-explorer.
Rozpocznij integrację SMS API
Rejestracja trwa 2 minuty. Klucz API dostajesz natychmiast. 5 groszy na start.
Utwórz darmowe konto