Отвечайте на сообщения WhatsApp с помощью chatflow из Flowise
Укажите в качестве адреса вебхука номера небольшой приёмник, например workflow в n8n или маршрут в вашем коде. Он передаёт каждое сообщение в Prediction API Flowise, используя номер отправителя как идентификатор сессии, а затем отправляет ответ через Cloud API с токеном номера и phone number id.
Эндпоинт Flowise, который передаёт сообщение в поток и возвращает его ответ.
Custom MCP во Flowise через Streamable HTTP принимает URL и заголовки, например bearer-токен.
После закрытия этого окна клиенту можно отправлять только заранее одобренные шаблоны сообщений.
Почему перед Flowise нужен посредник?
Потому что вебхук Meta и API Flowise используют разные форматы. Meta проверяет адрес запросом GET, на который нужно ответить hub.challenge в виде необработанного тела, а затем доставляет каждое сообщение вложенным JSON в запросе POST. Prediction API Flowise ожидает POST на /api/v1/prediction/ и следом id потока, с полем question. Ни одна из сторон не подстроится под другую, поэтому нужен приёмник, который переводит одно в другое.
Приёмником может быть узел Webhook в n8n, маршрут на Python или Node либо любая serverless-функция. Он отвечает на проверочный GET, проверяет длинный случайный секрет в URL вебхука, сразу возвращает Meta ответ 200 и только потом выполняет работу. Секрет в URL является той аутентификацией, которая здесь работает: Meta подписывает доставки секретом приложения Tech Provider, который никому не передаётся, поэтому заголовок X-Hub-Signature-256 на вашей стороне проверить нельзя.
Как приёмнику вызывать Prediction API?
Передавайте текст клиента как question, а номер WhatsApp клиента как сессию. Flowise принимает overrideConfig в каждом запросе, и sessionId внутри него позволяет узлам памяти вести отдельный диалог с каждым человеком, а не смешивать всех в одну ветку. Номер отправителя из тела запроса вебхука служит для этого стабильным и естественным ключом.
Если chatflow защищён ключом API, приёмник отправляет его как bearer-токен. Установите streaming в false, если приёмник не умеет собирать поток: WhatsApp доставляет одно готовое сообщение, а не токен за токеном.
Ответ уходит как текстовое сообщение Cloud API с того же номера. Это бесплатно и разрешено в течение 24 часов после сообщения клиента, открывшего окно. Всё, что поток захочет отправить позже, например напоминание, должно быть одобренным шаблоном.
POST https://your-flowise-host/api/v1/prediction/<flow-id>
Authorization: Bearer <flowise-api-key>
Content-Type: application/json
{
"question": "do you have anything friday?",
"streaming": false,
"overrideConfig": { "sessionId": "14155550188" }
}Может ли агент Flowise использовать сервер EasyCoexistence MCP?
Сейчас нет. Custom MCP во Flowise подключается к серверу Streamable HTTP через URL и набор заголовков, обычно со статическим bearer-токеном в переменной Flowise. Сервер EasyCoexistence MCP использует аутентификацию OAuth: вход через браузер и токены, которые он выдаёт сам, поэтому статического ключа для заголовка нет.
Рабочая схема такова: поток решает, а приёмник отправляет. Поток возвращает текст ответа или название шаблона, если клиент молчит больше суток, а приёмник делает вызов Cloud API с токеном номера. Так токен никогда не попадает внутрь Flowise, а правило 24 часов соблюдается в коде, который проверяет, когда контакт писал в последний раз, и не зависит от модели, способной о нём забыть.
Входящие сообщения по-прежнему приходят только через вебхук, независимо от способа отправки.
Распространённые ошибки
- Не передан sessionId. Тогда у всех клиентов общая память, и данные одного человека могут попасть в ответ другому.
- Ожидание ответа Flowise перед ответом Meta. Медленный ответ 200 отправляется повторно, и одно и то же сообщение обрабатывается дважды.
- Отправка свободного текста из потока спустя сутки. Вне окна Meta отклоняет его с ошибкой 131047.
Подключите номер на easycoexistence.com, укажите приёмник как адрес вебхука и возьмите токен и phone number id в панели управления. От US$ 9 за подключённый номер в месяц, до US$ 1 по мере добавления номеров, первые 3 дня бесплатно.
Часто задаваемые вопросы
Есть ли во Flowise узел для WhatsApp?
В документации нет. Flowise доступен через Prediction API, поэтому между Meta и потоком стоит приёмник.
Может ли приёмником быть n8n?
Да. Узел Webhook принимает сообщение, узел HTTP Request вызывает Flowise, а ещё один узел HTTP Request отправляет ответ через Cloud API.
Как остановить бота, когда человек отвечает с телефона?
Отслеживайте события echo. Ответ, отправленный из приложения WhatsApp Business, приходит в приёмник, и он может приостановить поток для этого контакта.
EasyCoexistence хранит переписку?
Нет. Meta доставляет сообщения прямо в ваш приёмник. Flowise хранит то, что настроено в его узлах памяти.
Читайте дальше
Готовы начать?
Настройте WhatsApp Coexistence за несколько минут, а не месяцев. Приложение продолжит работать на телефоне.
Начать бесплатный пробный периодПроверено по состоянию на