Интеграция 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 аккаунта).







