SENDLY SMS API
Pełny reference generowany z OpenAPI – zawsze zgodny ze specyfikacją. Endpointy, schematy pól, odpowiedzi i webhooki.
https://api.sendly.linkopenapi.jsonhttps://api.sendly.link/api/smsWysyłka wiadomości SMS
Domyślny tryb działania API, przeznaczony do wykorzystania z aplikacjami obsługującymi REST API.
Body żądania
fromstringNumer wirtualnego numeru komórkowego w SENDLY (pole opcjonalne).
pattern: ^[0-9]{9,11}$
tostringwymaganeDocelowy numer komórkowy.
pattern: ^[0-9]{9,11}$
bodystringwymaganeTreść wiadomości.
min 1
curl -X POST https://api.sendly.link/api/sms \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"from":"48732129000","to":"48732129001","body":"Test SENDLY"}'Odpowiedź · 200 – Wiadomość została przyjęta do wysyłki.
{
"message_id": "a906cff7719bd889"
}Odpowiedź · 403 – Problem z autoryzacją.
{
"errors": {
"token": [
"Invalid token"
]
}
}Odpowiedź · 422 – Problem z walidacją danych.
{
"description": "Problem z walidacją danych."
}Odpowiedź · 429 – Przekroczono limit żądań.
{
"description": "Przekroczono limit żądań."
}https://api.sendly.link/api/sms-multiWysyłka wiadomości na wiele numerów
Wysyłka tej samej wiadomości na wiele numerów. Aktywacja tej funkcji dla tokena dostępowego następuje wyłącznie poprzez kontakt z biurem obsługi klienta. Walidacja numerów na zasadzie „wszystko albo nic" – każdy numer musi być poprawnym polskim numerem komórkowym, numery muszą być unikalne; inaczej żądanie zostaje odrzucone w całości.
Body żądania
fromstringNumer wirtualnego numeru komórkowego w SENDLY (pole opcjonalne).
pattern: ^[0-9]{9,11}$
toarray<string>wymaganeDocelowe numery komórkowe.
1–100 · unique
bodystringwymaganeTreść wiadomości.
min 1
curl -X POST https://api.sendly.link/api/sms-multi \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"from":"48732129000","to":["48732129001","48732129002"],"body":"Test SENDLY"}'Odpowiedź · 200 – Wiadomość została przyjęta do wysyłki.
{
"message_ids": [
{
"number": "48732129001",
"message_id": "a906cff7719bd889"
}
]
}Odpowiedź · 403 – Problem z autoryzacją.
{
"errors": {
"token": [
"Invalid token"
]
}
}Odpowiedź · 422 – Problem z walidacją danych.
{
"description": "Problem z walidacją danych."
}Odpowiedź · 429 – Przekroczono limit żądań.
{
"description": "Przekroczono limit żądań."
}https://api.sendly.link/api/tcx3CX SMS API
Tryb 3CX SMS API: wysyłka i odbiór wiadomości na podstawie aktualnej specyfikacji centrali 3CX Phone System. Aktywacja: w panelu klienta obie opcje (SMS API oraz 3CX SMS API); w sekcji SMS w 3CX podaje się token z panelu oraz ten adres URL. Format żądań/odpowiedzi zgodny ze specyfikacją 3CX.
Body żądania
Brak parametrów w żądaniu.
Odpowiedź · 200 – Zgodnie ze specyfikacją centrali 3CX Phone System.
{
"description": "Zgodnie ze specyfikacją centrali 3CX Phone System."
}Webhooki
Zdarzenia wysyłane przez SENDLY na Twój adres webhooka – odbiór wiadomości i potwierdzenia doręczenia.
inboundMessageOdbiór wiadomości (webhook)
Wiadomości przychodzące wysyłane są na podany w panelu klienta webhook. Jedna próba dostarczenia; bez śledzenia przekierowań i bez autoryzacji. Żądanie pochodzi z aktualnego adresu IP domeny api.sendly.link.
typestringTyp wiadomości – dla przychodzącej „MESSAGE".
= MESSAGE
fromstringPrezentacja numeru źródłowego; przy nadpisanym numerze – nadpis.
tostringDocelowy numer telefonu.
bodystringTreść wiadomości.
Payload
{
"type": "MESSAGE",
"from": "48732129000",
"to": "48732129001",
"body": "Test sms"
}deliveryNotificationPotwierdzenie dostarczenia wiadomości (webhook)
Po aktywacji opcji (panel klienta lub BOK) żądanie wysyłane jest na podany adres webhooka. Jedna próba dostarczenia; bez śledzenia przekierowań i bez autoryzacji. Żądanie pochodzi z aktualnego adresu IP domeny api.sendly.link.
typestringTyp wiadomości – dla statusu „NOTIFICATION".
= NOTIFICATION
message_idstringIdentyfikator wiadomości zwrócony po przyjęciu do wysyłki.
statusstringDELIVERED – dostarczono; ERROR – błąd.
DELIVERED · ERROR
Payload
{
"type": "NOTIFICATION",
"message_id": "a906cff7719bd889",
"status": "DELIVERED"
}