Документация для разработчиков
Темная тема

Простое добавление лида

Пример позволит разместить на любой странице вашего сайта форму, заполняя которую в битрикс24 будет создаваться новый лид.

Внимание! Для использования примера настройте работу класса CRest и подключите файл crest.php в файлах, где используется данный класс. Подробнее.

  1. Создаём форму на нужной странице:
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
    $(document).ready(function() {
    	$('#form_to_crm').on( 'submit', function(el) {//event submit form
    		el.preventDefault();//the default action of the event will not be triggered
    			var formData = $(this).serialize();
    			$.ajax({
    				'method': 'POST',
    				'dataType': 'json',
    				'url': 'form.php',
    				'data':  formData,
    				success: function(data){//success callback
    					alert(data.message);
    				}
    			});
    		});
    	});
    </script>
    	
    <form id="form_to_crm">
    	<input type="text" name="NAME" placeholder="Name" required>
    	<input type="text" name="LAST_NAME" placeholder="Last name">
    	<input type="text" name="PHONE" placeholder="Phone">
    	<input type="text" name="EMAIL" placeholder="E-mail">
    	<input type="submit" value="Submit">
    </form>
    
  2. Создаём файл form.php, для сохранения заполненных форм:
    <?
    	$sName = htmlspecialchars($_POST["NAME"]);	
    	$sLastName = htmlspecialchars($_POST["LAST_NAME"]);
    	$sPhone = htmlspecialchars($_POST["PHONE"]);
    	$sEmail = htmlspecialchars($_POST["EMAIL"]);
    		
    	//Форматируем телефон и почту для сохранения
    	$arPhone = (!empty($sPhone)) ? array(array('VALUE' => $sPhone, 'VALUE_TYPE' => 'WORK')) : array();
    	$arEmail = (!empty($sEmail)) ? array(array('VALUE' => $sEmail, 'VALUE_TYPE' => 'HOME')) : array();
    
    	$result = CRest::call(
    		'crm.lead.add',
    		[
    		'fields' =>[
    			'TITLE' => 'From the site: '.implode(' ',[$sName,$sLastName]),//*Lead Name[string]
    			'NAME' => $sName,//Name[string]
    			'LAST_NAME' => $sLastName,//Last name[string]
    			'PHONE' => $arPhone,//Phone[crm_multifield]
    			'EMAIL' => $arEmail,//E-mail[crm_multifield]
    			//'HONORIFIC' => '',//Salutation[string]
    			//'SECOND_NAME' => '',//Second name[string]
    			//'BIRTHDATE' => '',//Date of birth[date]
    			//'COMPANY_TITLE' => '',//Company name[string]
    			//'SOURCE_ID' => '',//Source[crm_status {CALL:"Call", EMAIL:"E-Mail", WEB:"Website", 
    			//ADVERTISING:"Advertising", PARTNER:"Existing Client", RECOMMENDATION:"By Recommendation",
    			// TRADE_SHOW:"Show/Exhibition", WEBFORM:"CRM form", CALLBACK:"Callback", RC_GENERATOR:"Sales boost", STORE:"Online Store", OTHER:"Other"}]
    			// CRest::call('crm.status.list',['filter'=>['ENTITY_ID'=>'SOURCE']]);
    			//'SOURCE_DESCRIPTION' => '',//Source information[string]
    			//'STATUS_ID' => '',//Status[crm_status {NEW:"Unassigned", IN_PROCESS:"In Progress", PROCESSED:"Processed",
    			// CONVERTED:"Good lead", JUNK:"Junk Lead"}]// CRest::call('crm.status.list',['filter'=>['ENTITY_ID'=>'STATUS']]);
    			//'STATUS_DESCRIPTION' => '',//Status information[string]
    			//'STATUS_SEMANTIC_ID' => '',//Status details[string]
    			//'POST' => '',//Position[string]
    			//'ADDRESS' => '',//Address[string]
    			//'ADDRESS_2' => '',//Address (line 2)[string]
    			//'ADDRESS_CITY' => '',//City[string]
    			//'ADDRESS_POSTAL_CODE' => '',//Zip[string]
    			//'ADDRESS_REGION' => '',//Region[string]
    			//'ADDRESS_PROVINCE' => '',//State / Province[string]
    			//'ADDRESS_COUNTRY' => '',//Country[string]
    			//'ADDRESS_COUNTRY_CODE' => '',//Country Code[string]
    			//'CURRENCY_ID' => '',//Currency[crm_currency]// CRest::call('crm.currency.list');
    			//'OPPORTUNITY' => '',//Total[double]
    			//'OPENED' => '',//Available to everyone[char]
    			//'COMMENTS' => '',//Comment[string]
    			//'HAS_PHONE' => '',//Has phone[char]
    			//'HAS_EMAIL' => '',//Has email[char]
    			//'HAS_IMOL' => '',//Has Open Channel[char]
    			//'ASSIGNED_BY_ID' => '',//Responsible person[user]
    			//'CREATED_BY_ID' => '',//Created by[user]
    			//'MODIFY_BY_ID' => '',//Modified by[user]
    			//'DATE_CREATE' => '',//Created on[datetime]
    			//'DATE_MODIFY' => '',//Modified on[datetime]
    			//'COMPANY_ID' => '',//Company[crm_company]// CRest::call('crm.company.list');
    			//'CONTACT_ID' => '',//Contact[crm_contact]// CRest::call('crm.contact.list');
    			//'IS_RETURN_CUSTOMER' => '',//Repeat lead[char]
    			//'DATE_CLOSED' => '',//Completed on[datetime]
    			//'ORIGINATOR_ID' => '',//External source[string]
    			//'ORIGIN_ID' => '',//Item ID in data source[string]
    			//'UTM_SOURCE' => '',//Ad system[string]
    			//'UTM_MEDIUM' => '',//Medium[string]
    			//'UTM_CAMPAIGN' => '',//Ad campaign UTM[string]
    			//'UTM_CONTENT' => '',//Campaign contents[string]
    			//'UTM_TERM' => '',//Campaign search term[string]
    			//'WEB' => '',//Website[crm_multifield]
    			//'IM' => '',//Messenger[crm_multifield]
    		]
    	]);
    	if(!empty($result['result'])){
    		echo json_encode(['message' => 'Lead add']);
    	}elseif(!empty($result['error_description'])){
    		echo json_encode(['message' => 'Lead not added: '.$result['error_description']]);
    	}else{
    		echo json_encode(['message' => 'Lead not added']);
    	}
    ?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх