Як надіслати першу SMS через API за 5 хвилин – повний посібник
Більшість «SMS-шлюзів» потребують днів на запуск: заявка, договір, розмова з менеджером, власний SDK. Ми йдемо іншим шляхом – першу SMS через API ви надішлете за 5 хвилин: створіть акаунт, згенеруйте токен, зробіть один HTTP-запит. У цьому посібнику пройдемо весь шлях: від акаунта через робочий код чотирма мовами до вебхуків та обробки помилок – речей, що вирішують успіх у продакшні.
Крок 1: акаунт і Bearer Token
Створіть акаунт на сторінці реєстрації – отримаєте 100 безкоштовних SMS, без картки й без договору. Активація миттєва. У клієнтській панелі ви згенеруєте й завантажите Bearer Token (токен також можна отримати через службу підтримки). Поводьтеся з ним як із паролем – у змінних середовища (напр. ACTIO_TOKEN), ніколи в репозиторії чи у фронтенді. У разі витоку відкличте його в панелі й згенеруйте новий.
Крок 2: перший запит (curl)
Найшвидший тест – один виклик із терміналу. Endpoint приймає JSON і повертає Message ID та статус:
curl -X POST https://api.sendly.link/api/sms \
-H "Authorization: Bearer $ACTIO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": "48732129000",
"body": "Ваш код входу: 482910"
}'Працюють два поля: to (номер отримувача, 9–11 цифр) і body (текст повідомлення). Повний опис — зокрема необов’язкове поле from — є в документації.
Крок 3: інтеграція у ваш стек
API – це чистий REST і працює з будь-якою мовою, що вміє HTTP, без закритих бібліотек. У Node.js достатньо вбудованого fetch, у Python – requests.post(...), у PHP – cURL, у Go – стандартний net/http. Готові сніпети п’ятьма мовами є в документації – скопіюйте, замініть токен, готово.
Крок 4: вебхуки замість опитування
Надіслати SMS – це лише пів справи; ви хочете знати, чи вона дійшла. Sendly не надсилає статуси самостійно: у панелі (Шлюз SMS → Налаштування послуги) вмикаєте доставку і вписуєте публічний URL. Обидва кроки обов'язкові. Далі замість опитування API приходить POST application/json (до 36 спроб з IP api.sendly.link; 200 OK завершує повтори, так само як 404 і 418). Два типи: NOTIFICATION (статус відправлення – message_id і status: DELIVERED або ERROR) та MESSAGE (вхідний SMS – from, to, body). Збережіть message_id з відповіді API, щоб зіставити колбек. Деталі: документація SMS API.
Обробка помилок
У продакшні заздалегідь обробляйте коди відповіді API. Успіх – це 200 (повідомлення прийнято до надсилання, у відповіді message_id). Помилки: 403 (проблема з авторизацією), 422 (помилка валідації – деталі в полях errors.token / errors.to / errors.body) та 429 (перевищено ліміт запитів). Гарна інтеграція логує message_id і статус, а за 429 застосовує експоненційний backoff.
Один API, три поширені сценарії
Той самий API покриває три дуже різні сценарії без зміни інтеграції: транзакційні сповіщення, коди 2FA/OTP та масові кампанії на тисячі отримувачів. Оплата pay-as-you-go, без підписки й порогу входу – тариф під ваш обсяг дивіться в цінах.
FAQ
Чи потрібен договір, щоб протестувати API?+
Ні. Ви реєструєтеся за email, отримуєте 100 безкоштовних SMS і тестуєте одразу – без договору й без картки.
Якими мовами є приклади коду?+
curl, Node.js, Python, PHP і Go – усі в документації, готові до копіювання.
Як дізнатися, що SMS доставлено?+
У панелі вмикаєте доставку і вписуєте URL вебхука (обидва кроки). Під час надсилання отримуєте message_id – збережіть його. Далі на вебхук приходить NOTIFICATION з тим самим id і DELIVERED або ERROR. Не потрібно опитувати API.
Які коди помилок повертає API?+
Успіх – це 200 (з полем message_id). Помилки: 403 (проблема з авторизацією), 422 (помилка валідації) та 429 (перевищено ліміт запитів).