Отправка данных из Wordpress Contact Form 7 в Битрикс 24
от v2Team
Для начала необходимо создать входящий вебхук на стороне Битрикс 24.
О том как это сделать подробно написано тут.
Далее на стороне Wordpress в файле functions.php необходимо добавить следующий код:
// Вызываем функцию для перехвата данных
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;
//Вместо "Контактная форма 1" необходимо указать название вашей контактной формы
if ('Контактная форма 1' == $title ) {
$submission = WPCF7_Submission::get_instance();
$posted_data = $submission->get_posted_data();
// Далее перехватываем введенные данные в полях Contact Form 7:
// 1. Перехватываем поле [your-name]
$firstName = $posted_data['your-name'];
// 2. Перехватываем поле [your-message]
$message = $posted_data['your-message'];
// Формируем URL в переменной $queryUrl для отправки сообщений в лиды Битрикс24, где
// указываем [ваше_название], [идентификатор_пользователя] и [код_вебхука]
$queryUrl = 'https://[ваше_название].bitrix24.ru/rest/[идентификатор_пользователя]/[код_вебхука]/crm.lead.add.json';
// Формируем параметры для создания лида в переменной $queryData
$queryData = http_build_query(array(
'fields' => array(
// Устанавливаем название для заголовка лида
'TITLE' => 'Название лида с сайта',
'NAME' => $firstName,
'COMMENTS' => $message,
),
'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']."
";
}
}
Поработаем?
Опишите свой запрос, мы расчитаем стоимость вашей задачи.