Отвечайте на сообщения WhatsApp с помощью приложения Dify
Направьте вебхук номера на небольшой приёмник, например на рабочий процесс n8n или маршрут в вашем коде. Он передаёт каждое сообщение в Send Chat Message API Dify и отправляет ответ обратно через Cloud API. Внутри Dify сервер EasyCoexistence MCP можно добавить как инструмент, чтобы агент мог сам выполнять действия с номером.
Webhook Trigger в Dify оборачивает тело ответа не в формате JSON в JSON, поэтому не может вернуть исходный challenge от Meta.
Вызов Service API Dify, который отправляет одно сообщение пользователя в чат-приложение и возвращает его ответ.
Инструменты MCP в Dify получают учётные данные OAuth через динамическую регистрацию клиента, она включена по умолчанию.
Может ли Meta отправлять сообщения WhatsApp прямо в Dify?
Так, чтобы рукопожатие завершилось, нет. Прежде чем что-либо доставить, Meta обращается к адресу назначения методом GET и ожидает получить значение hub.challenge как неизменённое тело ответа. Webhook Trigger в Dify принимает один метод HTTP на каждый триггер, а в документации сказано, что тело ответа не в формате JSON автоматически преобразуется в JSON, поэтому OK возвращается как объект сообщения. Точно повторить challenge невозможно, и Meta так и не начинает доставку.
Поэтому перед Dify нужно поставить что-то небольшое. Узел Webhook в n8n, маршрут на Python или Node либо serverless-функция отвечает на GET, принимает POST и передаёт текст в Dify. Именно в этом приёмнике проверяется длинный случайный секрет в URL вебхука, поскольку заголовок X-Hub-Signature-256 подписан секретом приложения Tech Provider, и клиент не может его проверить.
Как приёмник общается с приложением Dify?
Одним вызовом Service API Dify: POST /chat-messages с авторизацией по API-ключу приложения. В теле передаются query, то есть текст клиента, и user, идентификатор, который определяете вы. Используйте в качестве user номер WhatsApp отправителя и сохраняйте conversation_id, который возвращает Dify, чтобы следующее сообщение от того же человека продолжало тот же диалог.
Важен параметр response_mode. Режим blocking возвращает ответ, когда он полностью готов, и в документации Dify предупреждается, что в Dify Cloud долгую генерацию может оборвать пограничный прокси. Приложения-агенты поддерживают только streaming, а запрос в режиме blocking к ним завершается ошибкой 400. Надёжный вариант: приёмник читает поток и в конце отправляет одно сообщение WhatsApp.
Затем ответ уходит как текстовое сообщение через Cloud API на тот же номер. Это бесплатно в пределах окна обслуживания клиентов в 24 часа, которое открыло сообщение клиента.
Что добавляет сервер MCP внутри Dify?
Он позволяет агенту Dify действовать с номером без того, чтобы вы вручную подключали каждый вызов. Dify подключается к серверам MCP по HTTP и по умолчанию регистрируется на сервере через динамическую регистрацию клиента OAuth, которую поддерживает сервер EasyCoexistence MCP. Добавьте его в разделе «Инструменты», войдите один раз, и агент получит инструменты: список номеров, проверка состояния номера, отправка сообщения, отправка одобренного шаблона, чтение статуса шаблона.
Это подходящее место для проактивной работы: рабочий процесс Dify, который связывается с клиентом на следующий день, должен использовать send_template, потому что свободный текст вне окна возвращает ошибку 131047, и описания инструментов сообщают об этом модели.
Чего MCP не умеет, так это пробуждать Dify, когда клиент пишет. Протокол работает по схеме запрос и ответ, поэтому входящие сообщения по-прежнему приходят через вебхук и приёмник перед Dify.
Распространённые ошибки
- Использовать URL Webhook Trigger из Dify как адрес назначения вебхука. Challenge возвращается обёрнутым в JSON, и Meta никогда не подтверждает эндпоинт.
- Отправлять запрос в режиме blocking к приложению-агенту Dify. Приложения-агенты поддерживают только streaming, и вызов завершается ошибкой 400.
- Подставлять новое значение user для каждого сообщения. Dify привязывает диалоги к user, поэтому каждое сообщение начинает новый диалог без памяти.
Подключите номер на easycoexistence.com, укажите свой приёмник как адрес назначения вебхука и добавьте сервер MCP в Dify для действий агента. От US$ 9 за подключённый номер в месяц, до US$ 1 по мере добавления номеров, первые 3 дня бесплатно.
Часто задаваемые вопросы
Есть ли у Dify канал WhatsApp?
В документации нет. Приложение Dify доступно через его Service API, поэтому WhatsApp подключается через приёмник, который вызывает этот API.
Может ли приёмником быть n8n?
Да. Узел Webhook принимает сообщения, первый узел HTTP Request вызывает Dify, а второй узел HTTP Request отправляет ответ через Cloud API.
Сможет ли команда по-прежнему отвечать с телефона?
Да. Coexistence сохраняет работу приложения WhatsApp Business на номере, а ответы, отправленные с телефона, приходят в приёмник как события echo.
Видит ли EasyCoexistence переписку?
Нет. Meta доставляет сообщения прямо в ваш приёмник, а содержимое сообщений у нас никогда не хранится. Сервер MCP читает только состояние аккаунта и номера.
Читайте дальше
Готовы начать?
Настройте WhatsApp Coexistence за несколько минут, а не месяцев. Приложение продолжит работать на телефоне.
Начать бесплатный пробный периодПроверено по состоянию на