Інтеграція Viber Business Messages у мобільний додаток
Viber Business Messages — офіційний канал для бізнес-комунікації в Viber. Не путати з звичайним Viber-ботом: Business Messages — це верифікований аккаунт з брендингом, трансакційні та промо-сообщения через PA (Public Account) API. Аудиторія актуальна насамперед для України, Беларусі та ряду інших країн СНГ.
Як працює Viber PA API
Viber не дає прямого REST API розробникам без посередника. Отправка йде або через Rakuten Viber Partner (прямий доступ — тільки для крупних бізнесів з контрактом), або через авторизованих агрегаторів: Infobip, SMSC, MessageBird, TurboSMS та інші. Агрегатор надає свій REST API, який внутрішньо звертається до Viber.
Запит через Infobip:
POST https://api.infobip.com/viber/1/message/bulk
Authorization: App {API_KEY}
Content-Type: application/json
{
"bulkId": "bulk-campaign-2024-03",
"messages": [
{
"from": "YourBrandName",
"destinations": [{ "to": "380991234567" }],
"viber": {
"text": "Ваш заказ #98765 передан в доставку. Ожидайте сегодня с 14:00 до 18:00.",
"imageUrl": "https://cdn.yourbrand.com/delivery-banner.jpg",
"buttonText": "Отследить заказ",
"buttonUrl": "https://yourbrand.com/track/98765"
}
}
]
}
Rich-сообщения (з картинкою та кнопкою) — тільки для трансакційних. Промо-сообщения з кнопками потребують окремого узгодження з Viber.
Мобільна частина: що реалізується в додатку
Додаток не працює напрямку з Viber SDK — вызивает ваш бекенд, який відправляє через агрегатора. На мобільній стороні:
- Форма для створення Viber-сообщений з Rich Media (завантаження зображення, кнопка, текст).
- Превью сообщення перед отправкою.
- Запуск рассилки та відстеження статусу.
// Android — створення Viber-сообщения
data class ViberMessage(
val recipientPhone: String,
val text: String,
val imageUrl: String? = null,
val buttonText: String? = null,
val buttonUrl: String? = null
)
suspend fun sendViberMessage(message: ViberMessage): MessageResult {
return apiClient.post("/notifications/viber", message)
}
Статусы доставки та fallback на SMS
Ключова особливість Viber Business: якщо у користувача нема Viber або він недоступний — можна настроїти автоматичний fallback на SMS. Це конфігурується на рівні агрегатора:
{
"messages": [{
"viber": { "text": "...", "validityPeriod": 15 },
"sms": { "text": "Коротка SMS-версія сообщення" }
}]
}
validityPeriod — скільки хвилин чекати доставки в Viber перед переключенням на SMS. Після отправки агрегатор присилает webhook з фінальним статусом: DELIVERED_TO_VIBER, DELIVERED_TO_SMS, UNDELIVERABLE.
Бекенд обробляє ці вебхуки та зберігає статусы. Мобільний додаток запитує агреговану статистику:
struct ViberCampaignStats: Decodable {
let total: Int
let deliveredViber: Int
let deliveredSms: Int
let failed: Int
let pending: Int
}
Верифікація та реєстрація PA
Перш ніж почати розробку — потрібно зареєструвати Public Account у Viber. Процес: заявка через партнера → верифікація бренду → отримання pa_token. Займає від кількох днів до кількох тижнів. Варто враховувати при плануванні проекта.
Терміни
Інтеграція Viber Business Messages через агрегатора (Infobip або аналог), мобільний UI з превью Rich-сообщений, обробка статусів доставки та fallback-логіка — 4–7 робочих днів (без урахування часу верифікації PA акаунта).







