• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Contact form 7 + CRM

Surprise

Мой дом здесь!
Регистрация
12 Мар 2012
Сообщения
430
Реакции
210
Добрый день, может кто сталкивался со связкой плагина Contact form 7 и CRM (интересуют интеграции с amoCRM или Bitrix24). Есть ли готовые решения?
Есть возможность ставить формы от CRM прямо на сайт, но это довольно геморно, поскольку каждую необходимо подогнать по дизайну ( форма на сайте порядка 12 штук )
 
как через простой хук заполнять даты, ответы типа да/нет, данные из чекбоксов и списков?
Из формы (ответы типа да/нет, данные из чекбоксов и списков) забираются данные и вставляются в нужные поля CRM через скрипт, вот же пример Для просмотра ссылки Войди или Зарегистрируйся
 
Добрый день, может кто сталкивался со связкой плагина Contact form 7 и CRM (интересуют интеграции с amoCRM или Bitrix24). Есть ли готовые решения?
Есть возможность ставить формы от CRM прямо на сайт, но это довольно геморно, поскольку каждую необходимо подогнать по дизайну ( форма на сайте порядка 12 штук )
Если интеграция не получается применяйте плагин caldera forms за место forms7. Там много функций.
 
Я делаю примерно так, для битрикса решал вопрос. Есть хук у CF7

PHP:
    function before($wpcf7){
        $submission = WPCF7_Submission::get_instance();
        $form = WPCF7_ContactForm::get_current();
        $props = $form->get_properties();
        $id = $wpcf7->id();

        //всякая логика и магия...

        // Bitrix24
        include_once( get_stylesheet_directory() . '/inc/bx24_rest.php' );
     

    }
    add_action("wpcf7_before_send_mail", "before");

а в файле что инклайдится интеграция с битриксом

PHP:
<?
// CRM server conection data
define('CRM_HOST', 'xxx.bitrix24.ua'); // your CRM domain name
define('CRM_PORT', '443'); // CRM server port
define('CRM_PATH', '/crm/configs/import/lead.php'); // CRM server REST service path

// CRM server authorization data
define('CRM_AUTH', ''); // authorization hash Иван

/********************************************************************************************/

// POST processing
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
 
    // <BX 24>

    // get lead data from the form
    $postData = array(
        'TITLE'         => isset($cid) ? $cid : 'нет id',//$leadData['TITLE'],
        'SOURCE_ID'         => $id_source,
        'PHONE_WORK'         => $_POST['phone'],
        'EMAIL_WORK'         => $_POST['email'],
        'NAME'             => $_POST['name'],
        'COMMENTS'        => $_POST['textarea-559'],
        'POST'            => $_POST['worker'],
        'COMPANY_TITLE'        => $_POST['companyname'],
        'UF_CRM_1465143139'    => $_SERVER['REMOTE_ADDR'], //ip
        'UF_CRM_1464512340'     => $data['city'], //город
        'UF_CRM_1465133417'    => date("G:i:s"),
        'WEB_WORK'        => $_SERVER['SERVER_NAME'],
        'UF_CRM_1465134700'    => $_GET['utm_source'],
        'UF_CRM_1465134877'    => $_GET['utm_medium'],
        'UF_CRM_1465134895'    => $_GET['utm_campaign'],
        'UF_CRM_1465143206'    => $_GET['utm_term'],
        'UF_CRM_1465134928'    => rawurldecode( http_build_query($_GET, '', ' | ')),
        'UF_CRM_1465143371'    => $wpcf7->title,
        'UF_CRM_1465143551'    => $_POST['tovar_info'], //товар
        'UF_CRM_1465157060'    => $_POST['file_list'], //файлы прайс
    );

    // append authorization data
    if (defined('CRM_AUTH')) {
        $postData['AUTH'] = CRM_AUTH;
    }else{
        $postData['LOGIN'] = CRM_LOGIN;
        $postData['PASSWORD'] = CRM_PASSWORD;
    }

    // open socket to CRM
    $fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
    if ($fp){
        // prepare POST data
        $strPostData = '';
        foreach ($postData as $key => $value)
            $strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);

        // prepare POST headers
        $str = "POST ".CRM_PATH." HTTP/1.0\r\n";
        $str .= "Host: ".CRM_HOST."\r\n";
        $str .= "Content-Type: application/x-www-form-urlencoded\r\n";
        $str .= "Content-Length: ".strlen($strPostData)."\r\n";
        $str .= "Connection: close\r\n\r\n";

        $str .= $strPostData;

        // send POST to CRM
        fwrite($fp, $str);

        // get CRM headers
        $result = '';
        while (!feof($fp))
        {
            $result .= fgets($fp, 128);
        }
        fclose($fp);
        $response = explode("\r\n\r\n", $result);
     
    // </BX 24>
     
    }else{
        echo 'Connection Failed! '.$errstr.' ('.$errno.')';
    }

}

?>
Здравствуйте.
Я тоже пробую так передать данные но у меня ответе пишет. Что Поле источник обязателен для заполнения. Я заполняю его пишу WEB но ошибка остается.
Что Вы передаете в 'SOURCE_ID' => $id_source ?

Update:
Добрый день.
P.S.
Все кто будут интегрировать формы c Bitrix 24 и создавать Лиди или Сделки. Уточните у заказчика или сами в аккаунте Битрикс посмотрите не создал ли заказчик произвольные поля( имя один в один как поле по умолчанию ) и сделал его обязательным.
 
Назад
Сверху