// Подключаем функцию для перехвата данных после отправки формы add_action('wpcf7_mail_sent', 'send_data_to_keycrm'); function send_data_to_keycrm($contact_form) { // Получаем данные формы $submission = WPCF7_Submission::get_instance(); $posted_data = $submission->get_posted_data(); // Название формы $form_title = $contact_form->title(); // Перехват данных из формы $firstName = ''; $email = ''; $phone = ''; $message = ''; if ('Main Contact Form' == $form_title) { // Если нужно для отдельных форм с разными наборами / названиями полей $firstName = $posted_data['your-name']; $email = $posted_data['your-email']; $phone = $posted_data['your-phone']; $message = $posted_data['your-message']; } elseif ('Another Contact Form' == $form_title) { $firstName = $posted_data['your-name']; $email = $posted_data['your-email']; $phone = $posted_data['your-phone']; $message = $posted_data['your-message']; } else { // Подстраховка: на случай, если форма другая — всё равно обрабатываем $firstName = $posted_data['your-name']; $email = $posted_data['your-email']; $phone = $posted_data['your-phone']; $message = $posted_data['your-message']; } // Собираем UTM параметры (если есть) $utm_source = isset($posted_data['utm_source']) ? $posted_data['utm_source'] : ''; $utm_medium = isset($posted_data['utm_medium']) ? $posted_data['utm_medium'] : ''; $utm_campaign = isset($posted_data['utm_campaign']) ? $posted_data['utm_campaign'] : ''; $utm_term = isset($posted_data['utm_term']) ? $posted_data['utm_term'] : ''; $utm_content = isset($posted_data['utm_content']) ? $posted_data['utm_content'] : ''; // Формируем данные для передачи в KeyCRM $data = [ "title" => "Нова заявка від $firstName", "source_id" => 1, "manager_comment" => $message, "manager_id" => 1, "pipeline_id" => 1, "contact" => [ "full_name" => $firstName, "email" => $email, "phone" => $phone, ], "utm_source" => $utm_source, "utm_medium" => $utm_medium, "utm_campaign" => $utm_campaign, "utm_term" => $utm_term, "utm_content" => $utm_content, ]; // Преобразуем данные в JSON $data_string = json_encode($data); // API токен $token = 'YOUR_API_KEY'; // CURL-запрос $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://openapi.keycrm.app/v1/pipelines/cards"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-type: application/json", "Accept: application/json", "Cache-Control: no-cache", "Pragma: no-cache", "Authorization: Bearer $token" ]); // Выполняем запрос $result = curl_exec($ch); // Проверка на ошибки if ($result === false) { error_log('Ошибка CURL: ' . curl_error($ch)); } else { error_log('Ответ от KeyCRM: ' . $result); } curl_close($ch); }