Логотип
Главная | Статьи | Как подключить бота к WhatsApp: работа с WhatsApp Business API. Пошаговое руководство с примерами
Как подключить бота к WhatsApp: работа с WhatsApp Business API. Пошаговое руководство с примерами

Как подключить бота к WhatsApp: работа с WhatsApp Business API. Пошаговое руководство с примерами

4 февраля, 2025

153

Подключение бота к WhatsApp – мощный инструмент для автоматизации поддержки клиентов, продаж и уведомлений. Однако процесс требует взаимодействия с WhatsApp Business API, который официально доступен только через партнёрские решения или облачные платформы. В этой статье – пошаговый разбор интеграции, примеры кода и советы по обходу подводных камней.

1. Требования для подключения

Перед стартом убедитесь, что у вас есть:

  1. Бизнес-аккаунт Facebook* (запрещен в РФ) (для доступа к WhatsApp Business API).
  2. Номер телефона, не привязанный к личному WhatsApp.
  3. Сервер с HTTPS (для обработки вебхуков).
  4. Решение для работы с API:
    • Официальный доступ через Meta (сложно для новичков, требуется одобрение компании).
    • Облачные платформы-посредники: Twilio, WATI, Yellow.ai (быстрый старт, но с комиссией).

В этом руководстве мы используем Twilio — популярный сервис с бесплатным пробным периодом.

2. Регистрация в Twilio и настройка WhatsApp Sandbox

  1. Создайте аккаунт на Twilio.
  2. Перейдите в раздел Messaging → Try WhatsApp Beta.
  3. Активируйте Sandbox — тестовую среду для разработки.
    • Вам будет присвоен номер в формате +14155238886.
    • Получите уникальный код для активации (например, join my-code).
  4. Привяжите ваш номер телефона:
    • Отправьте код из Sandbox в WhatsApp на указанный номер Twilio.
    • Теперь ваш телефон может взаимодействовать с Sandbox.

3. Настройка сервера для обработки вебхуков

WhatsApp отправляет данные на ваш сервер через вебхуки (webhooks). Для примера создадим простое приложение на Python (Flask) или JavaScript (Node.js).

Пример на Python (Flask)

  1. Установите зависимости:

2. Создайте файл app.py:

3. Запустите сервер:

Пример на Node.js (Express)

  1. Установите зависимости:

2. Создайте файл server.js:

3. Запустите сервер:

4. Настройка вебхука в Twilio

  1. В панели Twilio перейдите в Messaging → Services → WhatsApp Sandbox.
  2. В разделе Integration укажите URL вашего сервера (например, https://ваш-домен.ngrok.io/webhook).
    • Для локального тестирования используйте ngrok:

3. Скопируйте сгенерированный HTTPS-адрес (например, https://abc123.ngrok.io).

4. Сохраните изменения.

5. Тестирование бота

  1. Отправьте сообщение в WhatsApp на номер Sandbox (например, +14155238886).
  2. Если сервер настроен правильно, бот ответит по заданной логике.

Пример диалога:

6. Переход на Production

  1. Запросите номер WhatsApp Business через Twilio (раздел Phone Numbers → Buy a Number).
  2. Настройте шаблоны сообщений для рассылок:
    • WhatsApp требует предварительного утверждения шаблонов (например, уведомления о заказах).
  3. Настройте аутентификацию на сервере:
    • Добавьте проверку подписи Twilio (параметр X-Twilio-Signature), чтобы избежать поддельных запросов.

7. Частые ошибки

  1. Ошибка 404: Неправильный URL вебхука. Убедитесь, что путь /webhook доступен.
  2. Нет ответа от бота: Проверьте логи сервера и статус аккаунта Twilio.
  3. Блокировка WhatsApp: Не отправляйте спам — аккаунт могут заблокировать.

8. Альтернативы Twilio

Если Twilio не подходит, рассмотрите:

  • WATI: Готовые шаблоны для поддержки и CRM-интеграций.
  • ChatApi: Открытое решение для самостоятельного хостинга.
  • Zenvia: Популярно в Южной Америке и Европе.

Интеграция бота с WhatsApp через Business API — задача, которую можно решить за несколько часов, используя облачные платформы вроде Twilio. Начните с Sandbox, протестируйте логику, а затем переходите на платный тариф для масштабирования.

Совет: Используйте библиотеки вроде twilio или whatsapp-web.js для расширения функционала (отправка медиа, кнопки, списки).

Удачи в разработке! 🤖 Если возникнут сложности, обращайтесь к официальной документации Twilio.