ВойтиНачать бесплатный пробный период
Meta Tech Provider

Отвечайте на сообщения WhatsApp с помощью chatflow из Flowise

Укажите в качестве адреса вебхука номера небольшой приёмник, например workflow в n8n или маршрут в вашем коде. Он передаёт каждое сообщение в Prediction API Flowise, используя номер отправителя как идентификатор сессии, а затем отправляет ответ через Cloud API с токеном номера и phone number id.

POST /api/v1/prediction/:id

Эндпоинт Flowise, который передаёт сообщение в поток и возвращает его ответ.

Headers

Custom MCP во Flowise через Streamable HTTP принимает URL и заголовки, например bearer-токен.

24 hours

После закрытия этого окна клиенту можно отправлять только заранее одобренные шаблоны сообщений.

Почему перед 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 часов после сообщения клиента, открывшего окно. Всё, что поток захочет отправить позже, например напоминание, должно быть одобренным шаблоном.

Prediction request the receiver sends for one WhatsApp message
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

Подключите номер на 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 за несколько минут, а не месяцев. Приложение продолжит работать на телефоне.

Начать бесплатный пробный период

Проверено по состоянию на

Flowise в WhatsApp через официальный Cloud API