SMSBAT RESTful API
Огляд
Довідкова документація по SMSBAT RESTful API, яке найповніше реалізує можливості взаємодії із платформою SMSBAT. Якщо потрібна реалізація з додаванням запитів Viber Bot та/чи Telegram Bot - це доступно в посібнику SMSBAT Cascade API.
Примітка
Довідкова документація по SMSBAT RESTful API, яке найповніше реалізує можливості взаємодії із платформою SMSBAT. Якщо потрібна реалізація з додаванням запитів Viber Bot та/чи Telegram Bot - це доступно в посібнику SMSBAT Cascade API.
Вартість
Про вартість та умови використання SMSBAT RESTful API та або SMSBAT Cascade API ви можете дізнатись у розділі Тарифи та оплата.
1. Протокол
Як протокол використовується HTTPS. Тіло запиту – JSON‑масив об'єктів messages.
2. Авторизація
Для Вашої зручності є кілька варіантів авторизації:
Логін та пароль (HTTP Basic Authentication)
Логін та пароль ті самі, що Ви використовуєте для входу в особистий кабінет.
curl -H "Content-Type: application/json" -X POST -d @/path/to/data.json <url_smsbat_api>/bat/messagelist --user user:password
API-ключ в заголовку
Передача API-ключа в заголовку HTTP X-Authorization-Key. Ключ автентифікації можна створити у Особистому кабінеті у Профілі користувача.
curl -H "X-Authorization-Key: <токен_доступа>" -H "Content-Type: application/json" -X POST -d @/path/to/data.json <url_smsbat_api>/bat/messagelist
API-ключ як пароль
Передача API-ключа у паролі HTTP Basic Authentication (як логін при цьому потрібно використовувати символ 'at').
curl -H "Content-Type: application/json" -X POST -d @/path/to/data.json <url_smsbat_api>/bat/messagelist --user @:23ebe88c0224f4f4fc0b608216e98735
Важливо
Запити до SMSBAT API передаються в endpoint з локалізацією, попередньо запитайте адресу у вашого Менеджера.
3. Надсилання повідомлень
У платформі SMSBAT будь-яке надсилання повідомлень (в т.ч. одиночних) - Розсилка. Поодиноке повідомлення - окремий випадок розсилки.
Одиночне повідомлення
Приклад надсилання одиночного повідомлення
{"messages":[
{
"from": "ALPHANAME", // ваш бренд/підпис
"to": "380936670003", // номер у форматі E.164
"type": "viber_carousel", // тип повідомлення
"ttl": "300", // Time‑To‑Live у секундах
"text": "Погляньте на наші новинки!", // підпис; може бути порожнім
"messageData": { ... } // специфічні поля типу
}
]}Масове повідомлення
Приклад надсилання кількох повідомлень
{"messages":[
{
"from":"ALPHANAME",
"to":"380936670003",
"text":"test message",
"type":"sms",
"customerMessageId":"dc84a6a6-7831-11ec-968b-0025906c040e"
},
{
"from":"ALPHANAME",
"to":"380736670003",
"text":"test message2",
"type":"sms"
}
]}Відповідь API
Після успішного надсилання повідомлення API повертає інформацію про створену розсилку та повідомлення
{"messagelistId":11292,"messages":[
{
"messageId":1546807,
"from":"ALPHANAME",
"to":"380936670003",
"text":"test message2",
"dtExpire":null,
"customerMessageId":"dc84a6a6-7831-11ec-968b-0025906c040e",
"partsCount":1,
"type":"viber_promo"
}
]}4. Статус повідомлень
Для перевірки статусу повідомлення необхідно відправити GET запит
curl -X GET https://api.smsbat.com.ua/bat/message/12345 --user user:password
4.1. Відповідь статусу
{
"messagelistId":11229,
"messageId":1366203,
"deliverystatus":"delivered",
"partscount":1,
"cost":0.32
}4.2. Приклад Fallback відповіді
Приклад відповіді з конфігурацією fallback
{
"messagelistId": 49102177,
"messageId": 90042370,
"deliverystatus": "delivered",
"partscount": 1,
"cost": 0.4134,
"fallbacks": [],
"extendedStatuses": [],
"partsCount": 1,
"rate": 0.00839,
"rateAmount": 0.00839,
"rateCurrency": "EUR",
"billAmount": 0.413417,
"billCurrency": "UAH"
}5. Особливості типів повідомлень
5.1. Тип повідомлення Viber Promo
5.2. Тип повідомлення Viber Transactional
5.3. Тип повідомлення Viber Carousel

{
"messages":[
{
"from":"ALPHANAME",
"to":"380936670003",
"type":"viber_promo",
"text": "Text for Viber",
"ttl": 300,
"messageData": {
"carousel": {
"items": [
{
"title": "50% Off on All Shoes!",
"imageUrl": "https://cdn-web.smsbat.com/help/carusel.png",
"primaryButton": {
"label": "Shop Now",
"actionUrl": "https://help.noetikos.org"
},
"secondaryButton": {
"label": "View Details",
"actionUrl": "https://omni.noetikos.org"
}
},
{
"title": "New Arrivals: Summer Collection",
"imageUrl": "https://cdn-web.smsbat.com/help/carusel.png",
"primaryButton": {
"label": "Explore",
"actionUrl": "https://help.noetikos.org"
},
"secondaryButton": {
"label": "Learn More",
"actionUrl": "https://omni.noetikos.org"
}
}
]
}
}
}
]
}5.4. Тип повідомлення Viber Survey

{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "viber_survey",
"text": "Тестовое сообщение",
"ttl": 30,
"messageData": {
"survey": {
"options": [
"option1 text",
"option2 text",
"option3 text",
"option4 text",
"option5 text"
]
}
}
}
]
}5.5. Тип повідомлення Viber OTP

{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "viber_otp",
"text": "",
"ttl": "90",
"messageData":{
"templateId": "6c929cef-29b4-4349-bc9d-2a07bdbb6e43",
"templateLang": "uk",
"templateParams": {
"pin": 321,
"business_platform_name": "SMSBAT",
"code_validity_time": 7
}
}
}
]
}Шаблони OTP (1-9)
1. 1. Базовий OTP
Template ID: 0aac888f-2ee2-4112-9659-1755a951966a
English Copy:
Ваш код: Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT
2. 2. Базовий OTP дійсний 5 хвилин
Template ID: c2cdc028-a48b-4187-bbaf-3aaa137b6e23
English Copy:
Ваш код: Він дійсний протягом 5 хвилин. Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT
3. 3. OTP з назвою бізнесу/платформи
Template ID: c33cccaf-735f-4d62-8383-a76bf4999e2d
English Copy:
Ваш код: Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT, – TEXT
4. 4. Базовий OTP з часом дії коду
Template ID: bed0942f-e07e-4879-834b-29cc4cf3ec35
English Copy:
Ваш код: Він дійсний протягом хвилин. Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT, – NUMBER
5. 5. OTP з типом коду та часом дії
Template ID: 60d67b38-b9fb-444a-80e6-754447e010c6
English Copy:
Ваш код: Він дійсний протягом хвилин. Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT, – TEXT, – NUMBER
6. 6. OTP з назвою бізнесу/платформи та часом дії
Template ID: 6c929cef-29b4-4349-bc9d-2a07bdbb6e43
English Copy:
Ваш код: Він дійсний протягом годин. Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT, – TEXT, – NUMBER
7. 7. OTP з типом коду
Template ID: 82ba31a3-db42-4e87-82e8-33fa92b9e5ed
English Copy:
Ваш код: Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT, – TEXT
8. 8. OTP з деталями дії OTP/платформи
Template ID: 210ee8a9-1ed5-43cd-96e4-65bba311ab40
English Copy:
Ваш код: Будь ласка, не діліться кодом з НІКИМ. Ми ніколи не зателефонуємо і не напишемо вам з проханням надати його.
Parameters & Validations
– TEXT, – TEXT, – TEXT
9. 9. OTP з назвою бізнесу/платформи та причиною коду
Template ID: be56d97b-2a33-4c89-ac5f-f555a2c827d9
English Copy:
Ваш код:
Parameters & Validations
– TEXT, – TEXT, – TEXT
Валідація змінних
Усі змінні є чутливими до регістру (case-sensitive) та мають точну назву, як зазначено нижче.
Regular rules
Доступний лише один тип змінної в шаблоні: або тощо. У всіх шаблонах змінні мають бути оголошені точно вказаним регістром і форматі.
Локалізація
Підтримувані мови та їх ISO-коди
Note
Якщо потрібна інша мова, зв'яжіться з підтримкою.
5.6. Тип повідомлень RCS
RCS (Rich Communication Services) дозволяє передавати текст, зображення, відео, файли, кнопки та каруселі в одному повідомленні для нативного Android‑досвіду.
Типи відвантаження
- Текст
- Текст + кнопка
- Картинка + текст + кнопка
- Відео + (текст + кнопка) — опціонально
- Файл + (текст + кнопка) — опціонально
- Карусель
Приклади запитів
5.7. Flash Call
{
"messages":[
{
"from":"FLASHCALL",
"to":"380500000000",
"text":"340",
"type":"flashcall"
}
]
}6. Вхідні Viber-повідомлення
Доступні callback-запити в сторону клієнта з передачею вхідного Viber-повідомлення, прийнятого платформою.
Як скористатися?
Надайте нам Ваш callback-URL для прив'язки в альфа-імені.
7. Fallback повідомлення
Налаштуйте fallback повідомлення коли основна доставка не вдалася
7.1. Viber Promo Fallback
SMS fallback для Viber промо повідомлень
{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "viber_promo",
"text": "Text for Viber",
"ttl": "300",
"messageData": {
"img": "https://cdn-web.smsbat.com/help/carusel.png",
"buttonText": "Button text",
"buttonAction": "https://help.smsbat.com"
},
"fallbacks": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "sms",
"text": "Замовлення №111 вже чекає на тебе в магазині",
"ttl": "5600"
}
]
}
]
}7.2. Viber Survey Fallback
SMS fallback для Viber опитувань
{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "viber_survey",
"text": "Тестовое сообщение",
"ttl": 30,
"messageData": {
"survey": {
"options": [
"option1 text",
"option2 text",
"option3 text",
"option4 text",
"option5 text"
]
}
},
"fallbacks": [
{
"from": "ALPHANAME",
"to": "380936670003",
"text": "test sms fallback message2",
"type": "sms"
}
]
}
]
}7.3. Viber Transactional Fallback
SMS fallback для Viber транзакційних повідомлень
{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "viber_trans",
"text": "Text for Viber",
"ttl": "300",
"messageData": {},
"fallbacks": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "sms",
"text": "Text for SMS",
"ttl": "5600"
}
]
}
]
}7.4. Flash Call Каскад
Багатоканальний fallback для flash call верифікації
{
"messages": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "flashcall",
"text": 321,
"ttl": "30",
"fallbacks": [
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "viber_otp",
"text": "",
"ttl": "90",
"messageData": {
"templateId": "6c929cef-29b4-4349-bc9d-2a07bdbb6e43",
"templateLang": "uk",
"templateParams": {
"pin": 321,
"business_platform_name": "SMSBAT",
"code_validity_time": 7
}
}
},
{
"from": "ALPHANAME",
"to": "380936670003",
"type": "sms",
"text": "Text for SMS 321"
}
]
}
]
}







