Как подружить бэкенд с WhatsApp без лишней боли

26 авг 2026
9,414
7,162
165
1 месяц

Evolution Foundation

Каждый, кто хоть раз пытался прикрутить WhatsApp к корпоративной CRM или написать бота для поддержки, знает этот специфический сорт страданий. Официальный Cloud API от Meta требует верификации бизнеса, привязки карт и тарифицирует диалоги. С другой стороны, библиотеки вроде Baileys дают свободу, но требуют оборачивать всё в собственный сервис, следить за сессиями и как-то разруливать очереди сообщений.

Недавно наткнулся на open-source проект Evolution API. Ребята взяли эту рутину на себя и упаковали работу с мессенджером в готовый REST API с поддержкой очередей и вебхуков.

На GitHub у репозитория уже почти 9.5 тысяч звёзд и больше 7 тысяч форков. Цифра внушительная, поэтому решил разобраться, как там всё устроено под капотом.

Что умеет сервис

По сути, Evolution API работает как шлюз между вашей инфраструктурой и WhatsApp. Вы отправляете обычные HTTP-запросы, а сервис берёт на себя протоколы мессенджера, хранение сессий и обработку входящих событий.

Реклама

Что сразу бросается в глаза при изучении возможностей:

  • Два режима подключения. Можно работать бесплатно через эмуляцию веб-версии на базе Baileys, сканируя QR-код телефоном. Если нужны официальные рельсы и большие объёмы, переключаетесь на официальный WhatsApp Cloud API.
  • Готовые интеграции с популярными платформами. В коробку завезли нативную дружбу с Chatwoot (опенсорсный хелпдеск), Typebot, Dify для AI-агентов и n8n для автоматизаций.
  • Обработка медиафайлов. Сервис умеет автоматически выгружать входящие картинки и документы в S3 или MinIO. Если пользователь прислал голосовое, сервис может сам прогнать его через Whisper от OpenAI и вернуть готовый текст.
  • Доставка событий через очереди. Вместо спама обычными вебхуками, которые легко положить пиковой нагрузкой, события можно пушить в RabbitMQ, Apache Kafka, Amazon SQS, NATS или отдавать по WebSocket.

Архитектура и стек

Под капотом у проекта классический стек: TypeScript, Node.js версии 20+ и Express.

Схема данных крутится через Prisma ORM. Это приятный плюс, так как из коробки поддерживаются и PostgreSQL, и MySQL. Достаточно переключить переменную окружения DATABASE_PROVIDER. Для кэширования сессий и снижения нагрузки на базу создатели рекомендуют подключать Redis.

Схема взаимодействия выглядит логично:

Ваш бэкенд / CRM

  Evolution API
    ├── Каналы (Baileys / WhatsApp Cloud API)
    ├── Чат-боты (Typebot, Chatwoot, Dify, Flowise, n8n)
    ├── Брокеры событий (RabbitMQ, Kafka, SQS, NATS, Socket.io)
    └── Хранилище файлов (локально, AWS S3, MinIO)

Безопасность держится на глобальных API-ключах через заголовок apikey, плюс для каждого инстанса WhatsApp генерируются отдельные токены авторизации.

Быстрый запуск

Самый безболезненный способ поднять сервис у себя, это, конечно, Docker:

docker pull evoapicloud/evolution-api:latest
docker run -p 8080:8080 --env-file .env evoapicloud/evolution-api:latest

Если нужно собрать руками из исходников:

git clone git@github.com:evolution-foundation/evolution-api.git
cd evolution-api

# Ставим пакеты
npm install

# Настраиваем конфиг
cp .env.example .env

# Применяем миграции Prisma
export DATABASE_PROVIDER=postgresql
npm run db:generate
npm run db:deploy

# Запускаем в продакшене
npm run build
npm run start:prod

После старта вы создаёте инстанс через REST-эндпоинт, получаете QR-код в виде base64 или картинки, сканируете его в приложении WhatsApp и начинаете слать сообщения через обычный POST /message/sendText.

Практические сценарии

Где такой шлюз реально экономит недели разработки:

  1. Подключение WhatsApp к техподдержке. Поднимаете Chatwoot, натравливаете на него Evolution API, и операторы отвечают клиентам из удобного веб-интерфейса.
  2. AI-боты первой линии. Связка с Dify или Typebot настраивается штатными переменными. Бот сам забирает сообщения, формулирует ответ и отправляет обратно.
  3. Системные уведомления и транзакционные рассылки. Статусы заказов из интернет-магазина, коды авторизации или алерты мониторинга. За счёт очередей RabbitMQ или SQS рассылка не убьёт ваш основной сервер.

Кому стоит попробовать

Evolution API пригодится командам, которым нужно быстро внедрить WhatsApp в бизнес-процессы и не хочется писать с нуля управление сессиями, транскрибацию войсов и интеграцию с S3.

Если у вас пет-проект или небольшой бизнес, бесплатного режима через Baileys хватит за глаза. Когда упрётесь в лимиты или понадобятся гарантии официального API, сможете переключить бэкенд на WhatsApp Cloud API внутри того же сервиса, не переписывая интеграции в своей CRM.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.