Як надіслати першу 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 – це лише пів справи; ви хочете знати, чи вона дійшла. Замість опитувати API в циклі, налаштуйте вебхук: вкажіть свій URL, і ми надішлемо POST-запит. Є два типи: MESSAGE (вхідне повідомлення – поля from, to, body) та NOTIFICATION (підтвердження статусу – поле status: DELIVERED або ERROR). Ваша система реагує в реальному часі – наприклад, повторює надсилання, коли статус ERROR.
Обробка помилок
У продакшні заздалегідь обробляйте коди відповіді 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 запит NOTIFICATION зі статусом DELIVERED або ERROR – у реальному часі. Не потрібно опитувати API.
Які коди помилок повертає API?+
Успіх – це 200 (з полем message_id). Помилки: 403 (проблема з авторизацією), 422 (помилка валідації) та 429 (перевищено ліміт запитів).