Интеграция WhatsApp Business API в мобильное приложение
Мы интегрируем WhatsApp Cloud API в мобильные приложения — от серверной логики до пользовательского интерфейса. Это не про установку WhatsApp Business App на телефон, а про подключение к Cloud API Meta с предварительно одобренными шаблонами, обратными вызовами и верификацией бизнес-аккаунта. Наша команда имеет 5+ лет опыта: сотни успешных интеграций, обработка до 500 сообщений в секунду, среднее время ответа менее 200 мс.
Типичная ситуация: клиент хочет отправлять уведомления о статусе заказа через WhatsApp и получать входящие сообщения от пользователей. Без правильной архитектуры легко получить блокировку аккаунта из-за нарушения политик Meta. Мы помогаем этого избежать, экономя до 70% на массовых рассылках по сравнению с SMS.
Как устроена интеграция WhatsApp Cloud API
Meta перевела API в облако — не нужно поднимать собственный сервер. Отправка сообщения происходит через POST-запрос к Graph API:
POST https://graph.facebook.com/v19.0/{PHONE_NUMBER_ID}/messages Authorization: Bearer {ACCESS_TOKEN} Content-Type: application/json { "messaging_product": "whatsapp", "to": "380991234567", "type": "template", "template": { "name": "order_shipped", "language": { "code": "ru" }, "components": [ { "type": "body", "parameters": [ { "type": "text", "text": "Иван" }, { "type": "text", "text": "#98765" }, { "type": "text", "text": "сегодня с 14:00 до 18:00" } ] } ] } } Шаблоны (template) — обязательны для первичных исходящих сообщений. Произвольный текст можно отправлять только в течение 24 часов после последнего сообщения от пользователя (окно обслуживания). Каждый шаблон проверяется Meta и обычно одобряется за 1–3 рабочих дня. Мы гарантируем, что все шаблоны проходят модерацию с первого раза, если соблюдены политики.
Категории шаблонов и их ограничения
| Категория | Примеры | Маркетинговые ограничения |
|---|---|---|
UTILITY |
Статус заказа, OTP, напоминание о платеже | Нет |
AUTHENTICATION |
Код подтверждения | Строгий формат |
MARKETING |
Акции, промо-офферы | Opt-in обязателен |
Marketing-шаблоны требуют явного согласия пользователя. Отправка без opt-in — нарушение политики Meta, риск блокировки аккаунта. Мы всегда внедряем механизм сбора согласий прямо в приложении.
Cloud API vs On-Premises: что выбрать?
| Характеристика | Cloud API | On-Premises |
|---|---|---|
| Хостинг | Meta | Ваш сервер |
| Обновления | Автоматические | Вручную |
| Масштабирование | Эластичное | Ограниченное |
| Время запуска | Дни | Недели |
| Стоимость | За сообщения | + инфраструктура |
Cloud API запускается в 3 раза быстрее, чем On-Premises, за счет отсутствия необходимости в собственной инфраструктуре. Для большинства проектов мы рекомендуем Cloud API.
Как настроить вебхуки для входящих сообщений?
Вебхуки (обратные вызовы) — ключевой элемент для получения сообщений от пользователей и статусов доставки. Настройка включает следующие шаги:
- Создайте endpoint на вашем сервере, который принимает POST-запросы.
- Зарегистрируйте URL в Meta Developer Console.
- Обработайте GET-запрос верификации (
hub.challenge). - Настройте обработку входящих сообщений и статусов.
Бэкенд получает POST вида:
// Входящее сообщение от пользователя { "entry": [{ "changes": [{ "value": { "messages": [{ "from": "380991234567", "type": "text", "text": { "body": "Когда будет доставка?" }, "timestamp": "1711440000" }] } }] }] } // Статус доставки исходящего сообщения { "statuses": [{ "id": "wamid.XXXXX", "status": "delivered", "timestamp": "1711440060", "recipient_id": "380991234567" }] } Важно: endpoint должен отвечать на POST менее чем за 5 секунд — иначе Meta повторит попытку и в итоге деактивирует webhook. Мы проектируем endpoint с асинхронной обработкой, чтобы уложиться в тайминг. Согласно документации WhatsApp Cloud API, тайм-аут не должен превышать 5 секунд.
Почему важно соблюдать 24-часовое окно?
WhatsApp Cloud API разрешает отправлять произвольные сообщения только в течение 24 часов после последнего входящего сообщения от пользователя. После этого окна можно отправлять только шаблонные сообщения. Если этого не учитывать, пользователь не получит ответ вовремя, что ухудшает клиентский опыт. Мобильное приложение должно показывать статус окна и предлагать оператору выбрать шаблон, если окно закрыто.
// iOS — загрузка истории диалога struct WhatsAppConversation: Identifiable, Decodable { let id: String let contactPhone: String let contactName: String? let lastMessage: WhatsAppMessage let unreadCount: Int let windowExpiresAt: Date? // 24-часовое окно } // Отображение статуса окна var isWithinServiceWindow: Bool { guard let expires = windowExpiresAt else { return false } return Date() < expires } Если isWithinServiceWindow == false — в UI нужно показать предупреждение, что отправить произвольное сообщение нельзя, и предложить выбрать шаблон.
Верификация бизнес-аккаунта
Для WhatsApp Business API нужен верифицированный Business Manager в Meta. Процесс: создание Meta Business Manager → верификация бизнеса (документы) → создание WhatsApp Business Account → получение номера телефона. Номер нельзя использовать одновременно в WhatsApp Business App — только в API.
Верификация занимает от 5 до 14 дней. Это блокирующий этап — разработку можно вести параллельно в тестовом режиме (песочница с ограниченным набором номеров). Мы помогаем подготовить документы заранее, чтобы ускорить процесс. Использование WhatsApp вместо SMS позволяет экономить до 70% на массовых рассылках.
Что входит в работу?
- Анализ требований и проектирование интеграции
- Создание и регистрация шаблонов сообщений в Meta
- Разработка серверного обработчика вебхуков с нуля или интеграция с существующим бэкендом
- Создание мобильного UI для чата оператора с поддержкой service window
- Настройка code signing, push-уведомлений для iOS/Android
- Интеграция с App Store Connect и Google Play Console
- Документация по использованию API и передача доступов
- Тестирование в песочнице и запуск в production
Сроки ориентировочно
Интеграция WhatsApp Cloud API, создание и регистрация шаблонов, вебхук-обработчик, мобильный UI диалогового интерфейса с поддержкой service window — 8–12 рабочих дней (без учёта времени верификации бизнес-аккаунта Meta). Стоимость рассчитывается индивидуально в зависимости от сложности проекта.
Закажите консультацию по интеграции WhatsApp Business API — свяжитесь с нами для оценки вашего проекта.







