WhatsApp API для бизнеса: интеграция, уведомления, чат-боты
Клиенты пишут в WhatsApp, а вы отвечаете днями — или не отвечаете вовсе. Заказы теряются, поддержка перегружена. По статистике, до 60% пользователей предпочитают мессенджеры для связи с бизнесом, а среднее время ответа в WhatsApp — менее 5 минут. Мы решаем эту проблему: интегрируем WhatsApp Business API с вашим сайтом так, чтобы уведомления о статусах заказа, ответы на вопросы и чат-бот работали без сбоев. Наш опыт — более 5 лет в разработке решений для коммуникаций, десятки успешных проектов, в том числе для интернет-магазинов с большим оборотом. Внедрение окупается в среднем за 2–3 месяца, а нагрузка на поддержку снижается на 40%.
Какие проблемы решает WhatsApp Business API?
Типичные ошибки при самостоятельной интеграции:
- Верификация шаблонов: без правильно оформленных шаблонов нельзя отправлять исходящие уведомления. Мы готовим шаблоны, проходящие модерацию Meta с первого раза. 30% проектов застревают именно на этом этапе.
- 24-часовое окно: многие забывают, что произвольные сообщения можно отправлять только в пределах сессии. Игнорирование этого приводит к блокировке номера на 24 часа. Мы настраиваем корректное управление сессиями.
- Webhook и очереди: входящие сообщения нужно обрабатывать асинхронно, иначе API блокирует запросы. Используем очереди Laravel или Nest.js для надёжной обработки.
Как подключить WhatsApp Business API к сайту?
Выбор способа подключения:
| Критерий | Meta Cloud API (прямой) | BSP-провайдер (Twilio, 360dialog) |
|---|---|---|
| Стоимость | Бесплатно (только за сообщения) | Плата за сообщение выше |
| Сложность подключения | Требуется верификация Business Manager | Регистрация за 1 день |
| Гибкость | Полный контроль | Ограничения провайдера |
| Поддержка | Только документация Meta | Техподдержка провайдера |
Для большинства проектов мы рекомендуем прямой Cloud API — он дешевле и гибче. Прямое подключение позволяет экономить до 70% на сообщениях по сравнению с BSP. BSP подходит, если нужно быстро запуститься без глубокой технической настройки.
Как мы это делаем
Используем PHP 8.3+ с Laravel 11, а для высоконагруженных проектов — Nest.js (Node.js). Пример отправки шаблонного сообщения через Cloud API:
Пример отправки шаблонного сообщения
$response = Http::withToken(env('WHATSAPP_ACCESS_TOKEN')) ->post("https://graph.facebook.com/v19.0/{$phoneNumberId}/messages", [ 'messaging_product' => 'whatsapp', 'to' => $phone, 'type' => 'template', 'template' => [ 'name' => 'order_confirmation', 'language' => ['code' => 'ru'], 'components' => [ [ 'type' => 'body', 'parameters' => [ ['type' => 'text', 'text' => $orderId], ['type' => 'text', 'text' => $orderTotal . ' ₽'] ] ] ] ] ]); Шаблоны сообщений. Для исходящих уведомлений обязательно использовать предварительно одобренные шаблоны. Шаблон создаётся в Meta Business Manager и проходит проверку (обычно 24–48 часов). Произвольный текст в исходящих сообщениях нельзя отправлять — только в рамках 24-часового окна сессии.
24-часовое окно и сессионные сообщения. Если пользователь написал боту первым или ответил на шаблонное сообщение — открывается 24-часовое окно, в которое можно отправлять произвольные сообщения. Это используется для поддержки и диалогов:
Http::withToken($token)->post($url, [ 'messaging_product' => 'whatsapp', 'to' => $phone, 'type' => 'text', 'text' => ['body' => "Ваш заказ отправлен, трек-номер: {$trackNumber}"] ]); Webhook для входящих. Верификация и обработка:
if ($request->has('hub_challenge')) { if ($request->hub_verify_token === env('WHATSAPP_VERIFY_TOKEN')) { return response($request->hub_challenge); } } $body = $request->json()->all(); foreach ($body['entry'] as $entry) { foreach ($entry['changes'] as $change) { $messages = $change['value']['messages'] ?? []; foreach ($messages as $message) { dispatch(new ProcessWhatsAppMessageJob($message)); } } } Интерактивные кнопки. Позволяют получать подтверждения от клиента без ввода текста:
[ 'type' => 'interactive', 'interactive' => [ 'type' => 'button', 'body' => ['text' => 'Ваш заказ готов к выдаче. Подтвердите получение:'], 'action' => [ 'buttons' => [ ['type' => 'reply', 'reply' => ['id' => "confirm_{$orderId}", 'title' => 'Получил ✓']], ['type' => 'reply', 'reply' => ['id' => "problem_{$orderId}", 'title' => 'Проблема']] ] ] ] ] Как проходит процесс интеграции?
- Аналитика — изучаем текущие бизнес-процессы, определяем сценарии уведомлений.
- Проектирование — разрабатываем архитектуру: вебхуки, очереди, шаблоны.
- Реализация — настраиваем Cloud API или BSP, пишем интеграционный код.
- Тестирование — проверяем отправку, приём, обработку ошибок.
- Деплой — запускаем на продакшен, мониторим первые дни.
Что входит в работу
- Настройка WhatsApp Business API (прямой или через BSP).
- Создание шаблонов сообщений для заказов, оплат, статусов.
- Реализация вебхука для обработки входящих сообщений.
- Интеграция с вашей CRM или сайтом.
- Документация по API и инструкция для администраторов.
- Обучение сотрудников работе с системой.
- Поддержка в течение 30 дней после запуска.
Сроки
Базовая интеграция (уведомления + входящие) — от 3 до 5 дней. Полный проект с чат-ботом и кастомными сценариями — от 7 до 14 дней. Стоимость рассчитывается индивидуально — напишите нам для оценки.
Типичные ошибки при интеграции WhatsApp Business
- Использование номера, уже привязанного к личному WhatsApp. Нужен новый номер.
- Неправильная конфигурация вебхука — не указан verify token.
- Отправка неподтверждённых шаблонов в исходящих.
- Игнорирование ограничения скорости API (rate limits).
- Отсутствие обработки ошибок (например, при недоступности API Meta).
Сравнение типов сообщений
| Тип сообщения | Когда используется | Требуется шаблон |
|---|---|---|
| Шаблонное | Исходящее уведомление (заказ, оплата) | Да |
| Сессионное | Внутри 24-часового окна (поддержка) | Нет |
| Интерактивное | Подтверждение действия (кнопки) | Нет, но можно в шаблоне |
Получите бесплатную консультацию по вашему проекту — оценим задачу и предложим оптимальное решение. Закажите интеграцию, и мы свяжемся в течение часа.
Подробнее о возможностях API читайте в официальной документации WhatsApp Business API.







