Contact Form 7 и отправка данных в CRM систему

Contact Form 7 — один из самых популярных плагинов для создания форм обратной связи в WordPress. Но часто возникает задача не просто получать сообщения на почту, а автоматически отправлять данные формы в CRM систему для удобного управления лидами и клиентами. В этом руководстве мы подробно рассмотрим, как реализовать интеграцию Contact Form 7 с CRM через Webhook и PHP, включая примеры кода и полезные рекомендации.

Почему важна интеграция Contact Form 7 с CRM

Автоматическая отправка данных из формы в CRM позволяет:

  • Уменьшить количество ручной работы по переносу контактов;
  • Скорее реагировать на заявки и повышать конверсию;
  • Автоматизировать процессы продаж и маркетинга;
  • Собрать подробную статистику и аналитику по лидам.

Сам Contact Form 7 не имеет встроенного функционала для работы с CRM, но его гибкость и наличие хуков позволяют легко расширять возможности.

Обзор способов интеграции Contact Form 7 с CRM

Основные варианты интеграции:

  • Использование Webhook — отправка POST-запроса с данными формы;
  • Прямое взаимодействие через API CRM с помощью PHP;
  • Применение сторонних плагинов-интеграторов;
  • Использование сервисов автоматизации типа Zapier, Integromat.

В этой статье сосредоточимся на первом и втором способах с примерами кода для WordPress.

Настройка отправки данных Contact Form 7 через Webhook

Contact Form 7 поддерживает возможность выполнения кастомных действий после успешной отправки формы с помощью хука wpcf7_mail_sent. Это идеальное место для отправки данных в CRM.

Пример функции отправки данных через wp_remote_post

Добавим в файл functions.php вашей темы следующий код:

function contactform7ru_send_to_crm($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) {
        return;
    }

    $posted_data = $submission->get_posted_data();

    // Пример данных для CRM
    $crm_data = array(
        'name' => isset($posted_data['your-name']) ? sanitize_text_field($posted_data['your-name']) : '',
        'email' => isset($posted_data['your-email']) ? sanitize_email($posted_data['your-email']) : '',
        'phone' => isset($posted_data['your-phone']) ? sanitize_text_field($posted_data['your-phone']) : '',
        'message' => isset($posted_data['your-message']) ? sanitize_textarea_field($posted_data['your-message']) : '',
    );

    $response = wp_remote_post('https://example-crm.ru/api/leads', array(
        'method' => 'POST',
        'headers' => array('Content-Type' => 'application/json'),
        'body' => json_encode($crm_data),
        'timeout' => 15,
    ));

    if (is_wp_error($response)) {
        error_log('ContactForm7RU: Ошибка отправки в CRM - ' . $response->get_error_message());
    } else {
        error_log('ContactForm7RU: Данные успешно отправлены в CRM');
    }
}
add_action('wpcf7_mail_sent', 'contactform7ru_send_to_crm');

Этот код берет данные из формы, формирует массив для CRM и отправляет JSON-запрос методом POST на API вашей CRM. В примере URL https://example-crm.ru/api/leads замените на адрес своего API.

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

Очень важно обработать возможные ошибки при отправке. В коде выше мы используем is_wp_error для проверки и выводим ошибки в лог WordPress через error_log. Для продакшена лучше реализовать хранение ошибок в отдельном файле или в админке сайта.

Отладка и тестирование

Для теста интеграции:

  • Настройте форму с необходимыми полями (имя, email, телефон и сообщение);
  • Проверьте корректность URL и API ключей в коде;
  • Отправьте тестовую заявку и проверьте логи WordPress;
  • Убедитесь, что данные появились в CRM.

Использование плагинов для интеграции Contact Form 7 с CRM

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

  • Contact Form 7 - Zoho CRM Integration — отправка заявок в Zoho;
  • Contact Form 7 Salesforce Integration — для Salesforce;
  • FluentCRM — расширенная CRM с интеграцией форм;
  • WP Fusion — интеграция с множеством CRM систем.

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

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

Иногда нужно отправлять в CRM не только текст, но и загруженные пользователем файлы или динамические поля. Для этого:

  • Используйте WPCF7_Submission::uploaded_files() для доступа к файлам;
  • Добавьте обработку файлов, например, загрузку на сервер CRM или передачу URL;
  • Расширьте массив $crm_data нужными полями;
  • Обязательно обработайте безопасность — проверяйте и фильтруйте данные.

Пример получения загруженных файлов

function contactform7ru_send_files_example($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) {
        return;
    }

    $uploaded_files = $submission->uploaded_files();
    foreach ($uploaded_files as $name => $path) {
        // Например, загрузить файл на CRM или получить URL
        // Здесь можно реализовать код для отправки файлов
    }
}
add_action('wpcf7_mail_sent', 'contactform7ru_send_files_example');

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

  • Используйте асинхронную отправку, чтобы не замедлять пользователю ответ формы;
  • Добавьте повторные попытки отправки при ошибках;
  • Используйте безопасные методы хранения ключей API — не в открытом коде;
  • Тестируйте интеграцию на staging-сервере перед запуском;
  • Документируйте все изменения и сохраняйте резервные копии.

Заключение

Интеграция Contact Form 7 с CRM системой значительно упрощает работу с клиентами и автоматизирует бизнес-процессы. Используя хуки плагина и стандартные функции WordPress, вы можете построить собственный надежный механизм передачи данных. Если нужна помощь с доработкой, рекомендуем ознакомиться с профессиональными плагинами на WPShop.ru.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Contact Form 7: как настроить и изменить заголовки email для отправки писем
01.03.2026
Contact Form 7: как добавить подписку на рассылку с помощью checkbox
04.03.2026
Contact Form 7 и AJAX отправка формы без перезагрузки страницы в WordPress
10.11.2025
Contact Form 7: Автозаполнение полей формы по ID пользователя в WordPress
02.05.2026
Contact Form 7: динамические поля и подгрузка данных из базы WordPress
24.12.2025
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙