• Здравствуйте.
    Я делаю интеграцию CF7 с Битрикс24 через open socket
    Выдает ошибку что поле «Источник обязательно для заполнения».
    Я заполняю но ошибка все равно остается
    ‘SOURCE_ID’ => «WEB»
    Какие решение можете предложить?
    Что еще нужно передать?

    add_action( 'wpcf7_before_send_mail', 'your_wpcf7_mail_sent_function' );
    
    function your_wpcf7_mail_sent_function( $contact_form ) {
    
            define('CRM_HOST', 'YOUR_PORTAL.bitrix24.ru');
    
            define('CRM_PORT', '443');
    
            define('CRM_PATH', '/crm/configs/import/lead.php');
    
            define('CRM_LOGIN', 'LOGIN');
    
            define('CRM_PASSWORD', 'PASSWORD');
    
            define('CRM_USERID', 1);
    
            $title = $contact_form->title;
    
            $posted_data = $contact_form->posted_data;
    
            $submission = WPCF7_Submission::get_instance();
    
            $posted_data = $submission->get_posted_data();
    
            $yur_name = $posted_data['your-name'];
    
            $your_phone = $posted_data['your-phone'];
    
            $postData = array(
    
                'fields' => array(
    
                    'TITLE' => $title,
    
                    'NAME' => $yur_name,
    
                    'PHONE_WORK' => array(
    
                                "VALUE" => $your_phone,
    
                                "VALUE_TYPE" => "WORK"
    
                            ),
    
                    'OPENED' => 'Y',
    
                    'SOURCE_ID' => "WEB",
    
                    'ASSIGNED_BY_ID' => CRM_USERID,
    
                ),
    
                'params' => array("REGISTER_SONET_EVENT" => "Y")
    
            );
    
            if (defined('CRM_AUTH')) {
    
                $postData['AUTH'] = CRM_AUTH;
    
            } else {
    
                $postData['LOGIN'] = CRM_LOGIN;
    
                $postData['PASSWORD'] = CRM_PASSWORD;
    
            }
    
            $fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
    
            if ($fp) {
    
                $strPostData = '';
    
                foreach ($postData as $key => $value)
    
                    $strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);
    
                $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;
    
                fwrite($fp, $str);
    
                $result = '';
    
                while (!feof($fp))
    
                {
    
                    $result .= fgets($fp, 128);
    
                }
    
                fclose($fp);
    
                $response = explode("\r\n\r\n", $result);
    
                $output = '<pre>'.print_r($response[1], 1).'</pre>';
    
                error_log(print_r($response, true));
    
            }
    
            else {
    
                echo 'Connection Failed! '.$errstr.' ('.$errno.')';
    
            }
    
        }
  • Тема «Интеграция в» закрыта для новых ответов.