Как создать автоматические уведомления в WPForms через Webhook

WPForms — один из самых популярных плагинов для создания форм в WordPress. В стандартной комплектации WPForms позволяет отправлять уведомления по электронной почте, однако для интеграции с внешними сервисами и расширения функционала часто требуется использовать webhook. В этой статье мы подробно разберём, как создать автоматические уведомления WPForms через webhook, чтобы отправлять данные формы в сторонние сервисы или собственные API.

Что такое Webhook и зачем он нужен для WPForms

Webhook — это механизм, позволяющий автоматически отправлять данные от одного приложения к другому по HTTP(S)-запросу сразу после наступления события. В случае с WPForms webhook можно использовать для:

  • отправки данных формы в CRM или систему учёта заказов;
  • интеграции с мессенджерами, например, для отправки уведомлений в Telegram или Slack;
  • автоматического запуска бизнес-процессов в сторонних сервисах;
  • других кастомных задач, недоступных через стандартные уведомления.

WPForms не имеет встроенной поддержки webhook, но мы можем реализовать эту функцию самостоятельно с помощью хуков и PHP-кода.

Настройка webhook для WPForms через хук wpfomrs_process_complete

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

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

function wpform_ru_send_webhook_notification($fields, $entry, $form_data) {
    // URL вашего webhook сервера
    $webhook_url = 'https://example.com/webhook-endpoint';

    // Формируем данные для отправки
    $data = array();
    foreach ($fields as $field) {
        $data[$field['name']] = $field['value'];
    }

    $args = array(
        'body'        => json_encode($data),
        'headers'     => array('Content-Type' => 'application/json'),
        'method'      => 'POST',
        'data_format' => 'body',
    );

    $response = wp_remote_post($webhook_url, $args);

    if (is_wp_error($response)) {
        error_log('WPForm.ru webhook error: ' . $response->get_error_message());
    }
}
add_action('wpforms_process_complete', 'wpform_ru_send_webhook_notification', 10, 3);

В этом примере мы перебираем все поля формы и формируем JSON с именами и значениями. Затем отправляем POST-запрос на URL вашего webhook. При ошибке запрос логируется в файл ошибок сервера.

Советы по безопасности и отладке

Для защиты webhook от несанкционированных вызовов рекомендуем:

  • добавить в заголовки секретный ключ и проверять его на стороне принимающего сервера;
  • логировать ответы с сервера для отладки;
  • ограничить IP-адреса, с которых принимаются запросы;
  • использовать HTTPS для шифрования данных.

Примеры интеграций webhook с популярными сервисами

Интеграция WPForms с Telegram через webhook

Пример отправки уведомлений в Telegram-бота через webhook. Для этого понадобится токен бота и ID чата.

function wpform_ru_send_telegram_notification($fields, $entry, $form_data) {
    $bot_token = '123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $chat_id = '-1001234567890';

    $message = "Новая заявка с сайта:\n";
    foreach ($fields as $field) {
        $message .= $field['name'] . ': ' . $field['value'] . "\n";
    }

    $url = "https://api.telegram.org/bot" . $bot_token . "/sendMessage";

    $args = array(
        'body' => array(
            'chat_id' => $chat_id,
            'text' => $message
        )
    );

    $response = wp_remote_post($url, $args);

    if (is_wp_error($response)) {
        error_log('WPForm.ru Telegram webhook error: ' . $response->get_error_message());
    }
}
add_action('wpforms_process_complete', 'wpform_ru_send_telegram_notification', 10, 3);

Этот код формирует текстовое сообщение из полей формы и отправляет его в Telegram. Такой способ удобен для быстрого информирования менеджеров о новых заявках.

Использование плагина WP Webhooks для интеграций

Если вы хотите избежать написания кода, обратите внимание на плагин WP Webhooks от WPShop. Он позволяет настраивать входящие и исходящие webhook без программирования, что подходит для сложных интеграций.

Плагин поддерживает:

  • отправку данных форм WPForms по webhook;
  • приём webhook для автоматического создания записей;
  • настройку фильтров и условий для передачи данных;
  • логирование и ретрай запросов.

Обработка ошибок и логирование webhook в WPForms

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

function wpform_ru_send_webhook_notification_with_logging($fields, $entry, $form_data) {
    $webhook_url = 'https://example.com/webhook-endpoint';
    $data = array();
    foreach ($fields as $field) {
        $data[$field['name']] = $field['value'];
    }
    $args = array(
        'body'        => json_encode($data),
        'headers'     => array('Content-Type' => 'application/json'),
        'method'      => 'POST',
        'data_format' => 'body',
    );
    $response = wp_remote_post($webhook_url, $args);

    if (is_wp_error($response)) {
        error_log('WPForm.ru webhook error: ' . $response->get_error_message());
    } else {
        $code = wp_remote_retrieve_response_code($response);
        if ($code != 200) {
            error_log('WPForm.ru webhook returned HTTP code: ' . $code);
        }
    }
}
add_action('wpforms_process_complete', 'wpform_ru_send_webhook_notification_with_logging', 10, 3);

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

Выводы и рекомендации по использованию webhook с WPForms

Использование webhook с WPForms открывает широкие возможности для интеграции с внешними сервисами и автоматизации бизнес-процессов. Главное — правильно настроить отправку данных, обработку ошибок и обеспечить безопасность соединения.

Для начинающих разработчиков рекомендуем использовать хук wpforms_process_complete и простой PHP-код для отправки webhook, а при необходимости — плагин WP Webhooks для визуальной настройки и расширенных возможностей.

WPForms: как избежать повторной отправки формы при обновлении страницы в WordPress
28.04.2026
WPForms не отправляет формы: причины и решения
19.04.2026
Как подключить WPForms к платежным системам в WordPress
30.03.2026
Как создать собственный обработчик формы в WordPress для WPForms
20.11.2025
Как создать автоматические уведомления в WPForms через Webhook
23.02.2026