битрикс24
Создание лидов внешними сервисами в crm возможно с помощью вызова специальной страницы на сайте. При её создании необходимо использовать компонент crm.lead.rest находящийся в CRM/Лиды/Обработчик REST. Компонент не имеет параметров.
Внимание: Созданная страница должна быть доступна не авторизованным пользователям.
Для того чтобы лид добавился вам необходимо:
- Вызвать это страницу методом GET или POST
- Передать, как минимум, 3 обязательных параметра логин и пароль пользователя из под которого будет создан лид и заголовок лида.
Скрипт вернет JSON объект с параметрами code и error_message.
пример скрипта https://www.bitrix24.com/about/blogs/community-blog/lead-creation-from-external-services.php
Скрипт создания Лида в CRM из формы на сайте можно путем обращения запроса по адресу: «your_name».bitrix24.com/crm/configs/import/lead.php
https://forums.bitrix24.ru/messages/forum13/topic5897/message53767/#message53767
<!DOCTYPE html> <html lang="ru"> <head> <title>Bitrix Form Test</title> </head> <body> <form method="post" action="https://вашсайт.bitrix24.ru/crm/configs/import/lead.php"> Логин: <input type="text" value="емейл входа" name="LOGIN" /><br/> Пароль: <input type="text" value="пароль" name="PASSWORD" /><br/> Название: <input type="text" value="Тест" name="TITLE" /><br/> Имя: <input type="text" value="тест тест" name="NAME" /><br/> Имя: <input type="text" value="дополнительное поле" name="имя_дополнительного_поля" /><br/> <input type="submit" value="Отправить" name="send"/> </form> </body> </html>
Внимание!
- Рекомендуется использовать отдельного пользователя с правами только на добавление лида и без доступа куда либо еще.
- bitrix.php
<? // CRM server conection data define('CRM_HOST', 'your_domain.bitrix24.com'); // 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_LOGIN', 'login'); // login of a CRM user able to manage leads define('CRM_PASSWORD', 'password'); // password of a CRM user // OR you can send special authorization hash which is sent by server after first successful connection with login and password //define('CRM_AUTH', 'e54ec19f0c5f092ea11145b80f465e1a'); // authorization hash /********************************************************************************************/ // POST processing if ($_SERVER['REQUEST_METHOD'] == 'POST') { $leadData = $_POST['DATA']; // get lead data from the form $postData = array( 'TITLE' => $leadData['TITLE'], 'COMPANY_TITLE' => $leadData['COMPANY_TITLE'], 'NAME' => $leadData['NAME'], 'LAST_NAME' => $leadData['LAST_NAME'], 'COMMENTS' => $leadData['COMMENTS'], ); // 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); // cut response headers $response = explode("\r\n\r\n", $result); $output = '<pre>'.print_r($response[1], 1).'</pre>'; } else { echo 'Connection Failed! '.$errstr.' ('.$errno.')'; } } else { $output = ''; } // HTML form ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <?=$output;?> <form action="rest.php" method="post"> Title*: <input type="text" name="DATA[TITLE]" value="" /><br /> Company Name: <input type="text" name="DATA[COMPANY_TITLE]" value="" /><br /> First Name: <input type="text" name="DATA[NAME]" value="" /><br /> Last Name: <input type="text" name="DATA[LAST_NAME]" value="" /><br /> Comments: <textarea name="DATA[COMMENTS]"></textarea><br /> <input type="submit" value="Send" /> </form>