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

Подключение бота Botpress к WhatsApp через Coexistence

Используйте интеграцию Botpress с WhatsApp в режиме Manual Configuration. Вставьте токен доступа и phone number id подключённого номера, задайте токен проверки, а поля App ID и Client Secret оставьте пустыми. Затем укажите URL вебхука Botpress и этот токен проверки как адрес вебхука для номера, и Meta будет доставлять боту каждое сообщение.

Optional

Поле Client Secret в Botpress: если оставить его пустым, проверка подписи вебхука пропускается.

5 fields

Поля вебхука, на которые подписывает руководство Botpress, включая сообщения и обновления статуса шаблонов.

24 hours

Окно обслуживания клиентов, которое открывает сообщение клиента: внутри него можно отправлять любое сервисное сообщение.

Какая конфигурация Botpress работает с номером Coexistence?

Manual Configuration. Остальные варианты подключают номер через собственное приложение Meta у Botpress, а это отдельное подключение номера, а не способ использовать уже подключённый.

В интеграции WhatsApp откройте выпадающий список Configuration и выберите Manual Configuration. Он запрашивает Verify Token, Access Token, Default Bot Phone Number ID и, по желанию, App ID, Client Secret и WABA ID.

Токен доступа, phone number id и WABA id берутся из подключения: их показывает панель управления, а get_api_credentials возвращает их ассистенту. Токен проверки: любая строка на ваш выбор. App ID и Client Secret остаются пустыми. В руководстве Botpress секрет подан как поле для заполнения, но в определении интеграции оно помечено необязательным, и там сказано, что без него проверка подписи пропускается. Это важно, потому что Meta подписывает каждую доставку секретом приложения Tech Provider, которого нет ни у одного клиента.

Как вебхук Botpress получает сообщения от Meta?

Через адрес вебхука номера. Руководство Botpress предлагает вставить его URL вебхука и ваш токен проверки в настройки WhatsApp приложения Meta. Здесь собственного приложения Meta у вас нет: Meta направляет события номера на тот адрес, который указан в подключении. Поэтому скопируйте URL вебхука, который Botpress показывает для интеграции, и задайте его вместе с тем же токеном проверки как адрес назначения в панели управления или через set_webhook_destination.

Meta отправляет проверочный запрос GET, Botpress отвечает на него, и доставка начинается. Когда Botpress сохраняет ручную конфигурацию, он также проверяет токен, спрашивая у Graph, какое приложение его выпустило. Поэтому недействительный или отозванный токен приводит к ошибке при сохранении, а не при первом сообщении.

Обработчик Botpress также принимает smb_message_echoes: это событие Meta отправляет, когда кто-то отвечает из приложения WhatsApp Business. Так ответ с телефона виден боту, а не скрыт от него.

Required?What to enter
Access TokenRequiredThe connected number's token
Default Bot Phone Number IDRequiredThe connected number's phone number id
Verify TokenRequiredAny string, reused in the webhook destination
WABA IDOptionalThe connected number's WABA id
App ID and Client SecretOptionalLeave both empty

Что бот должен знать о Coexistence?

Что человек, возможно, уже ведёт разговор. Приложение WhatsApp Business продолжает работать на номере, поэтому клиент может получить ответ и с телефона, и от бота в течение одной минуты. Решите в сценарии, что делать при получении эхо-события: в большинстве команд бот на какое-то время ставится на паузу для этого контакта, чтобы не перебивать человека, который вмешался.

Второй момент: время. Бот, отвечающий на входящие сообщения, работает внутри окна обслуживания клиентов в 24 часа, где разрешён свободный текст. Сценарий, который отправляет что-то через сутки, например напоминание или повторное обращение, требует одобренного шаблона, а свободный текст в этом случае вернёт ошибку 131047. Руководство Botpress подписывает поля статуса шаблонов именно для таких проактивных сообщений.

Пропускная способность для номера Coexistence фиксирована: 20 сообщений в секунду, что намного больше, чем отправляет диалоговый бот.

Распространённые ошибки

  • Указывать в Client Secret секрет собственного приложения Meta. Подпись никогда не совпадёт, и Botpress ответит на каждую доставку кодом 401.
  • Выбирать вариант OAuth или sandbox вместо Manual Configuration. Они подключают номер через собственное приложение Botpress, а не тот номер, который уже подключён.
  • Игнорировать эхо-события. Без правила для ответов, отправленных с телефона, бот отвечает поверх человека, который уже вмешался.
Настройка с EasyCoexistence

Подключите номер на easycoexistence.com, вставьте его токен и phone number id в Manual Configuration в Botpress и укажите URL вебхука Botpress как адрес назначения. От US$ 9 за подключённый номер в месяц, до US$ 1 по мере добавления номеров, первые 3 дня бесплатно.

Часто задаваемые вопросы

Безопасно ли пропускать проверку подписи?

Защита переносится на URL. Botpress создаёт URL вебхука для каждой интеграции, поэтому держите его в секрете. Медиафайлы всё равно нужно получать от Meta с помощью токена, а поддельное событие его подделать не может.

Может ли тот же номер работать и с n8n?

У номера один адрес вебхука. Направьте его на одну систему и пересылайте события оттуда, если они нужны второй.

Нужен ли Botpress мой WABA id?

В определении он пока помечен необязательным, и там сказано, что в будущей мажорной версии он станет обязательным, поэтому заполните его из данных подключения.

Проходят ли сообщения через EasyCoexistence?

Нет. Meta доставляет их напрямую на URL вебхука Botpress, а содержимое у нас никогда не хранится.

Читайте дальше

Готовы начать?

Настройте WhatsApp Coexistence за несколько минут, а не месяцев. Приложение продолжит работать на телефоне.

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

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

Botpress в WhatsApp через Coexistence