Przejdź do treści
SENDLY by ACTIOSENDLY by ACTIO
Dokumentacja

API, które rozumiesz bez czytania PDF-a.

Wszystko, czego potrzeba, żeby wysłać pierwszego SMS-a w 5 minut. Endpoint, pola żądania, kody błędów i webhooki – z przykładami w 5 językach.

Quickstart

1. Załóż konto

Rejestracja przez e-mail. 100 SMS gratis na start, bez podawania karty.

2. Wygeneruj Bearer Token

Token wygenerujesz w panelu klienta (lub przez biuro obsługi klienta). Zapisz go w bezpiecznym miejscu.

3. Wyślij pierwszy SMS

POST na /api/sms z payloadem JSON. Code samples niżej.

Endpoint: POST /api/sms

Główny endpoint wysyłki. Autoryzacja Bearer token, treść JSON (application/json). W odpowiedzi zwraca identyfikator wiadomości (message_id, 16 znaków hex).

Base URL

https://api.sendly.link

Pola request

  • tostring (9–11 cyfr)wymagane

    Numer odbiorcy – numeryczny łańcuch 9–11 znaków (np. 48732129001).

  • bodystringwymagane

    Treść wiadomości, min. 1 znak. Kodowanie UCS-2 dzielone co 67 znaków; opcjonalnie GSM-7 (jedna wiadomość, maks. 160 znaków) – do włączenia w panelu.

  • fromstring (9–11 cyfr)

    Opcjonalne. Numer wirtualnego numeru komórkowego w SENDLY (numeryczny łańcuch 9–11 znaków).

curl -X POST https://api.sendly.link/api/sms \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "48732129000",
    "body": "Twój kod logowania: 482910"
  }'

Odpowiedź (200)

{ "message_id": "a906cff7719bd889" }

Wysyłka masowa: POST /api/sms-multi

Ta sama wiadomość na wiele numerów (od 1 do 100). Aktywacja wyłącznie przez biuro obsługi klienta. Walidacja „wszystko albo nic" – każdy numer musi być poprawnym polskim numerem komórkowym, a numery muszą być unikalne; inaczej całe żądanie zostaje odrzucone. W odpowiedzi tablica message_ids z parami number + message_id.

Base URL

https://api.sendly.link

Pola request

  • tostring[] (9–11 cyfr, 1–100)wymagane

    Tablica numerów odbiorców – każdy numeryczny łańcuch 9–11 znaków, od 1 do 100 elementów, numery unikalne.

  • bodystringwymagane

    Treść wiadomości, min. 1 znak.

  • fromstring (9–11 cyfr)

    Opcjonalne. Numer wirtualnego numeru komórkowego w SENDLY (numeryczny łańcuch 9–11 znaków).

curl -X POST https://api.sendly.link/api/sms-multi \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": ["48732129001", "48732129002"],
    "body": "Test SENDLY"
  }'

Odpowiedź (200)

{
  "message_ids": [
    { "number": "48732129001", "message_id": "a906cff7719bd889" }
  ]
}

Kody błędów

403
Błąd autoryzacji
Brak lub nieprawidłowy Bearer Token (szczegóły w errors.token).
422
Błąd walidacji
Nieprawidłowe dane – szczegóły w errors.to / errors.body (oraz errors.from, jeśli podano). Każde pole to tablica komunikatów.
429
Przekroczono limit żądań
Zbyt wiele żądań w krótkim czasie – odczekaj i ponów.

Webhooki

Sendly nie wysyła statusów ani przychodzących SMS-ów samoczynnie. W panelu (Bramka SMS → Ustawienia usługi) włączasz dostarczenia i wpisujesz publiczny URL. Oba kroki są wymagane. Potem wysyłamy POST application/json – do 36 prób dostarczenia, bez śledzenia przekierowań i bez własnej autoryzacji, z aktualnego IP api.sendly.link. Odpowiedź 200 OK kończy ponawianie; 404 lub 418 także je przerywa.

Dostarczenia

W panelu klienta, sekcja Bramka SMS → Ustawienia usługi, aktywuj opcję dostarczenia (raporty statusu wysyłki).

Adres URL

W tym samym miejscu wpisz publicznie dostępny endpoint, który przyjmuje żądania POST.

Bez obu kroków – aktywacji dostarczeń i wpisania adresu – webhook nie zadziała. Nie przyjdzie ani DLR, ani SMS przychodzący.

Ponawianie webhooka – do 36 prób

Powiadomienia MESSAGE i NOTIFICATION są ponawiane do odpowiedzi 200 OK lub wyczerpania limitu. Kody 404 (Not Found) i 418 (I’m A Teapot) kończą ponawianie. API nie śledzi przekierowań ani nie autoryzuje się do webhooka.

ZakresInterwał
1–10 powiadomienieCo 1 minutę
11–20 powiadomienieCo 3 minuty
21–30 powiadomienieCo 10 minut
31–35 powiadomienieCo 1 godzinę
36 powiadomienie12 godzin po ostatnim powiadomieniu
type: MESSAGEWiadomość przychodząca – pola: from (numer lub nadpis), to, body.
type: NOTIFICATIONPotwierdzenie statusu wysłanego SMS-a – pola: message_id oraz status: DELIVERED (dostarczono) lub ERROR (błąd).
{
  "type": "NOTIFICATION",
  "message_id": "a906cff7719bd889",
  "status": "DELIVERED"
}

Checklista: SMS API + webhook

  • Konto założone i zalogowane na app.sendly.link
  • W panelu: Bramka SMS → Ustawienia usługi → SMS API – aktywowane
  • Wygenerowany Bearer Token w nagłówku Authorization
  • Wywołania na https://api.sendly.link/api/sms (albo /api/sms-multi)
  • W panelu: opcja dostarczenia – aktywowana
  • W panelu: wpisany publiczny URL webhooka, przyjmujący POST application/json
  • Endpoint obsługuje NOTIFICATION (status wysyłki) i MESSAGE (SMS przychodzący)

Jak sprawdzić, czy SMS został dostarczony

Przy wysyłce API zwraca message_id – zapisz go u siebie. Po zmianie statusu Sendly wysyła na webhook NOTIFICATION z tym samym message_id i statusem DELIVERED albo ERROR. Po tym parujesz powiadomienie z konkretną wiadomością. Da się tak śledzić każdą wysłaną wiadomość.

3CX SMS API

Alternatywny tryb wysyłki i odbioru SMS zgodny z aktualną specyfikacją centrali 3CX Phone System. Aby go włączyć, w panelu klienta zaznacz obie opcje: SMS API oraz 3CX SMS API. Aktywacji może dokonać także biuro obsługi klienta.

Wychodzące

W sekcji SMS w 3CX podaj token wygenerowany w panelu klienta oraz adres URL: https://api.sendly.link/api/tcx

Przychodzące

W panelu klienta podaj webhook dostępny w centrali 3CX (przy aktywacji przez biuro obsługi klienta podajesz webhook, a w odpowiedzi otrzymujesz token).

Zacznij wysyłać SMS-y dzisiaj.

100 wiadomości gratis. Bez karty kredytowej. Bez abonamentu. Aktywacja w 30 sekund.