Интеграция WPForms с Telegram: настройка и примеры кастомных уведомлений

В этой статье разберём, как организовать отправку уведомлений из форм, созданных с помощью плагина WPForms, напрямую в Telegram. Такая интеграция позволяет оперативно получать сообщения о новых заявках в мессенджере, минуя электронную почту и админ-панель WordPress. Мы рассмотрим несколько вариантов реализации, включая использование собственного бота Telegram и написание простого PHP-кода для обработки отправки сообщений.

Почему стоит интегрировать WPForms с Telegram

Telegram — популярный и удобный мессенджер с открытым API и возможностью создания ботов. Интеграция форм с Telegram помогает:

  • Мгновенно получать уведомления о новых заявках в удобном формате.
  • Избежать пропуска сообщений, которые могут потеряться в электронной почте.
  • Организовать централизованный канал уведомлений для команды.
  • Автоматизировать обработку заявок в связке с другими сервисами.

WPForms не имеет встроенной поддержки Telegram, однако благодаря хукам WordPress и функционалу плагина, мы можем реализовать отправку уведомлений через API Telegram с помощью кастомного кода.

Создание Telegram-бота и получение токена

Для начала нужно создать бота в Telegram и получить токен доступа:

  1. В Telegram найдите пользователя @BotFather.
  2. Отправьте команду /newbot и следуйте инструкциям по выбору имени и username бота.
  3. После создания вы получите токен доступа в формате 123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ. Сохраните его — он понадобится для отправки сообщений.

Далее нужно узнать ID чата, куда будут отправляться уведомления. Для этого можно добавить в чат созданного бота и выполнить запрос к API или воспользоваться специальными ботами для получения ID, например @userinfobot.

Пример кода для отправки уведомления из WPForms в Telegram

Добавим в файл functions.php вашей темы или используем плагин для пользовательских функций следующий код. Он будет отправлять сообщение в Telegram при успешной отправке формы WPForms.

function wpformru_send_telegram_notification( $fields, $entry, $form_data ) {
    $bot_token = 'ВАШ_ТОКЕН_БОТА';
    $chat_id = 'ВАШ_CHAT_ID';

    $message = "\u2709\ufe0f Новая заявка с формы: " . $form_data['settings']['form_title'] . "\n";
    foreach ( $fields as $field ) {
        $label = $field['name'];
        $value = $field['value'];
        $message .= "*" . $label . ":* " . $value . "\n";
    }

    $url = "https://api.telegram.org/bot" . $bot_token . "/sendMessage";
    $data = array(
        'chat_id' => $chat_id,
        'text' => $message,
        'parse_mode' => 'Markdown'
    );

    $args = array(
        'body' => $data,
        'timeout' => 15
    );

    wp_remote_post( $url, $args );
}
add_action( 'wpforms_process_complete', 'wpformru_send_telegram_notification', 10, 3 );

Этот хук wpforms_process_complete срабатывает после успешной отправки формы, получает все поля и формирует структурированное сообщение для Telegram. Используется Markdown-разметка для выделения названий полей.

Расширение функционала: фильтрация уведомлений и кастомизация

Часто требуется не просто отправлять все заявки в один чат, а фильтровать уведомления по типу формы или значению определённого поля. Для этого можно добавить проверки внутри функции:

function wpformru_send_telegram_notification( $fields, $entry, $form_data ) {
    // Отправлять уведомления только для формы с ID 123
    if ( $form_data['id'] != 123 ) {
        return;
    }

    $bot_token = 'ВАШ_ТОКЕН_БОТА';
    $chat_id = 'ВАШ_CHAT_ID';

    $message = "\u2709\ufe0f Новая заявка с формы: " . $form_data['settings']['form_title'] . "\n";

    foreach ( $fields as $field ) {
        // Пример фильтрации по полю "Статус заявки"
        if ( $field['name'] == 'Статус заявки' && $field['value'] !== 'Новый' ) {
            return; // не отправлять, если статус не "Новый"
        }
        $message .= "*" . $field['name'] . ":* " . $field['value'] . "\n";
    }

    $url = "https://api.telegram.org/bot" . $bot_token . "/sendMessage";
    $data = array(
        'chat_id' => $chat_id,
        'text' => $message,
        'parse_mode' => 'Markdown'
    );

    $args = array(
        'body' => $data,
        'timeout' => 15
    );

    wp_remote_post( $url, $args );
}

Такой подход позволяет сделать уведомления более адресными и релевантными, что важно при большом потоке заявок.

Использование плагинов для интеграции WPForms с Telegram

Если вы не хотите писать код, можно использовать готовые решения из репозитория WordPress:

  • WP Telegram — плагин, который позволяет интегрировать разные уведомления, включая формы, в Telegram. Он поддерживает кастомные шаблоны сообщений и различные типы уведомлений.
  • Telegram Bot & Channel — позволяет отправлять сообщения из WordPress в Telegram, включая уведомления из форм.

Однако у таких плагинов может быть ограниченная гибкость. Если нужна тонкая настройка, лучше использовать кастомный код, описанный выше.

Практические советы для стабильной работы интеграции

Чтобы интеграция работала надёжно, учтите следующие моменты:

  • Используйте отдельного Telegram-бота с минимальными правами.
  • Проверяйте корректность токена и chat_id.
  • Логируйте ошибки отправки сообщений через error_log или плагины для отладки запросов.
  • Не отправляйте слишком длинные сообщения — Telegram ограничивает длину текста.
  • При большом количестве заявок подумайте о очередях для отправки уведомлений или ограничении частоты.

Заключение

Интеграция WPForms с Telegram — эффективный способ быстро получать заявки и не пропускать важные обращения. Используя простой PHP-код и возможности WordPress, можно настроить кастомные уведомления, подходящие именно под ваши задачи. Если хотите более расширенный функционал без программирования, обратите внимание на готовые плагины и сервисы.

Для удобства можете использовать темы и плагины от WPSHOP, которые помогут улучшить ваш сайт и добавить дополнительные возможности.

WPForms и ответ на AJAX-запросы без перезагрузки страницы в WordPress
12.12.2025
WPForms: как создать многостраничную форму в WordPress
09.01.2026
WPForms и пользовательские метаданные: автоматизация обработки форм в WordPress
16.01.2026
Оптимизация производительности WPForms за счёт правильной работы с базой данных
09.02.2026
Оптимизация AJAX форм в WordPress с помощью WPForms
03.12.2025