Интеграция плагина Contact Form 7 с CRM Битрикс24 - Творческая студия #Cruelten
Блог
Делимся с Вами своими знаниями и новостями

#Cruelten » Блог » Web » Интеграция плагина Contact Form 7 с CRM Битрикс24

17.09.2024

Интеграция плагина Contact Form 7 с CRM Битрикс24

Интеграция плагина Contact Form 7 с CRM Битрикс24

Интеграция плагина Contact Form 7 с CRM Битрикс24 весьма непростая задача, в которой есть свои нюансы. В этой статье мы рассмотрим метод интеграции самой популярной формы обратной связи Contact Form 7 c CRM системой Bitrix24, что на мой личный взгляд является лучшей CRM в российском сегменте интернета, с помощью входящего веб-хука.

Прежде чем начать, убедитесь, что Вы обладатель тарифа в Битрикс24, который позволяет Вам работать с Лидами, а именно с этой секцией CRM системы мы будем работать.

Если с тарифом все ОК, то зайдите в карточку Лида и отредактируйте ее на Ваше усмотрение, но, самое главное, не забудьте создать дополнительные произвольные поля для тех данных, которые дополнительно Вы хотите получать из формы обратной связи. Допустим, Вы туристическое агентство и Вам нужно, чтобы мы автоматически из формы обратной связи создавали Лид с таким полем как «Направление» или любым другим, то создайте соответствующее поле в CRM Битрикс24.

Далее Вам необходимо создать так называемый входящий вебхук. Для того, чтобы понимать, как его создавать обратитесь к официальной инструкции от Битрикс24. Можно почитать здесь.

Когда все предварительные манипуляции сделаны, Вам необходимо открыть файл functions.php в папке Вашей темы WordPress, если такого файла нет, то создайте его. В этот файл вставьте следующий код, все комментарии я дал непосредственно в коде.

Пример интеграции Contact Form 7 и CRM Битрикс24

// Вызываем функцию для перехвата данных
add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' );
function your_wpcf7_mail_sent_function( $contact_form ) {
  // Перехватываем данные из Contact Form 7
  $title = $contact_form->title;
  $posted_data = $contact_form->posted_data;
  //Вместо "Форма заявки" необходимо указать название вашей контактной формы
  if ('Форма заявки' == $title ) {
    $submission = WPCF7_Submission::get_instance();
    $posted_data = $submission->get_posted_data();
    // Далее перехватываем введенные данные в полях Contact Form 7:
   $firstName = $posted_data['myname'];
   $myemail = $posted_data['myemail'];
   $myphone = $posted_data['myphone'];
   $napravlenie = $posted_data['kudaehat'];
   $colchel = $posted_data['kolichestvomest'];
   $mydata = $posted_data['date-553'];
   $mycomments = $posted_data['mycomments'];
    // Формируем URL в переменной $queryUrl для отправки сообщений в лиды Битрикс24, где
    // указываем [ваше_название], [идентификатор_пользователя] и [код_вебхука]
    $queryUrl = 'https://[ваше_название].bitrix24.ru/rest/[идентификатор_пользователя]/[код_вебхука]/crm.lead.add.json';
    // Формируем параметры для создания лида в переменной $queryData
    $queryData = http_build_query(array(
      'fields' => array(
        // Устанавливаем название для заголовка лида
        'TITLE' => $firstName,
        'COMMENTS' => $mycomments,
				'EMAIL' => Array(
				           "n0" => Array(
				               "VALUE" => $myemail,
				               "VALUE_TYPE" => "HOME",
				           ),
				),
				'PHONE' => Array(
				           "n0" => Array(
				               "VALUE" => $myphone,
				               "VALUE_TYPE" => "MOBILE",
				           ),
				),
        'UF_CRM_1726095176888' => $napravlenie, //Обращение к произвольному полю
        'UF_CRM_1726260110836' => $colchel,
        'UF_CRM_1726260373638' => $mydata,
        'COMMENTS' => $mycomments,

      ),
      'params' => array("REGISTER_SONET_EVENT" => "Y")
    ));
    // Обращаемся к Битрикс24 при помощи функции curl_exec
    $curl = curl_init();
    curl_setopt_array($curl, array(
      CURLOPT_SSL_VERIFYPEER => 0,
      CURLOPT_POST => 1,
      CURLOPT_HEADER => 0,
      CURLOPT_RETURNTRANSFER => 1,
      CURLOPT_URL => $queryUrl,
      CURLOPT_POSTFIELDS => $queryData,
    ));
    $result = curl_exec($curl);
    curl_close($curl);
    $result = json_decode($result, 1);
    if (array_key_exists('error', $result)) echo "Ошибка при сохранении лида: ".$result['error_description']."<br/>";
  }
}

Теперь немного комментариев. Самое главное, посмотрите, как называется Ваша форма обратной связи в интерфейсе Contact Form 7, после чего вставьте его вместо моего названия «Форма заявки».

Чтобы получить Ваши [ваше_название], [идентификатор_пользователя] и [код_вебхука], Вам необходимо создать входящий вебхук в Битрикс24, инструкция здесь, если Вы это еще не сделали. Из ссылки, что Вы создадите, Вы получите и название и идентификатор и код вебхука.

Поле Title — обязательно для заполнения. Для удобства я прописываю туда Имя клиента.

Телефоны и Емейлы передаются исключительно массивом, будьте внимательны.

Наименования в скобочках [‘myphone’] берутся из переменных, которые Вы используете в самой форме обратной связи Contact Form 7.

Интеграция произвольных полей Битрикс24 c Contact Form 7

Самой большой головной болью для всех людей, кто хочет интегрировать Форму обратной связи с Contact Form 7 является интеграция произвольных полей. Здесь я даже записал небольшое видео и выложил его в Rutube (кстати, подписывайтесь и ставьте лайки), так как найти UF_CRM_1726095176888 похожее вот такое название Вашего добавленного поля в Битрикс24 еще нужно постараться.

Надеюсь из видео Вы узнали как найти Ваш символьный код произвольного поля и теперь с легкостью добавите его в свой код. Собственно и все! Сохраняем файл functions.php и наслаждаемся интеграцией. По всем вопросам оставляйте комментарии под этой статьей. Всем спасибо.

Свяжитесь с нами уже сейчас

Вы привыкли видеть здесь форму обратной связи. Ведь так? Ее делают почти все. Но исследуя поведение людей, мы пришли к выводу, что форма совершенно не нужна. В любом случае все сводится к обсуждению Вашего проекта в WhatsApp или Telegram. А зачем нам тратить Ваше время на заполнение различных форм? Поэтому, пишите в Telegram или в WhatsApp.