На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Не так страшен битрикс, или выгрузка в bitrix24


В череде текущих, совершенно обычных заказов, появился очередной, но не совсем обычный. Необходимо в уже имеющееся решение по парсингу и обработке информации добавить выгрузку в систему bitrix24 по лидам – этой самой информации. Из-за небольшого опыта в битриксе, я настороженно отнёсся к данной задаче. Оказалось, зря: все очень просто и создать такой скрипт сможет любой программист PHP.

Итак, дали мне список полей и адрес с логином-паролем, на который надо слать POST-запрос. Создаем первоначальный массив:

$url = 'https://xxx.bitrix24.ru/crm/configs/import/lead.php';
$fields = array(
            'LOGIN' => "логин",
			'PASSWORD' => "пароль",
			'TITLE' => $n_dela
			'SOURCE_ID' => "Арбитр",
			'UF_CRM_1549296299' => $sud,
			'UF_CRM_1549296328' => $adres,
			'UF_CRM_1549296357' => $n_dela,
			'UF_CRM_1549296390' => $data_postupl,
			'UF_CRM_1549296464' => $name_istsi,
			'UF_CRM_1549296473' => $name_otvet		
        );
Здесь xxx.bitrix24.ru - ваш битрикс. Поле «Дата поступления» предварительно формируем так:

$mes_name  = array ("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
$mes_number  = array ("01","02","03","04","05","06","07","08","09","10","11","12");
$dat = explode(" ", $data_postupl);
for ($j=0;$j<12;$j++) {
if ($mes_name[$j]==$pieces[1]) $pieces[1] = $mes_number[$j];
}
$data_postupl = $ dat[0].".".$ dat[1].".".$ dat[2];
Зачем? Просто тут у нас дата в формате 23 марта 2021, а нам надо 23.03.2021. Что-то похожее делали здесь.

Дальше делаем другой запрос к базе данных и достаем оттуда другие поля. Почему не сразу? В принципе можно написать и объединённый sql-запрос, используя LEFT, но я часто работаю с несколькими, мне так удобнее. Отличительная особенность (и очень удобная, надо заметить) языка PHP – это отсутствие необходимости задавать размер массива заранее. По сути в PHP массивы очень похожи на коллекции в других языках программирования. Пользуясь этим, добавляем динамически:

if ($rukovod!="") $fields['UF_CRM_1549370629'] = $rukovod;
if ($tel!="") $fields['PHONE_WORK'] = $tel;
if ($email!="") $fields['EMAIL_WORK'] = $email;
if ($sait!="") $fields['WEB_WORK'] = $sait;
if ($vozrast!="") $fields['UF_CRM_1549611779'] = $vozrast;
if ($region!="") $fields['UF_CRM_1549611835'] = $region;
if ($razmer!="") $fields['UF_CRM_1550594606'] = $razmer;
if ($chisl_rabov!="") $fields['UF_CRM_1549611877'] = $chisl_rabov;
if ($ustav_kapital!="") $fields['UF_CRM_1549611899'] = $ustav_kapital;
if ($vazn_info!="") $fields['UF_CRM_1549611913'] = $vazn_info;
Ну а теперь заканчиваем формирование запроса:

$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 5);
$result = curl_exec($ch);
echo $result;
curl_close($ch);
И, вуаля, у нас лиды все в базе буквально за несколько секунд:



Стоит отметить один момент: если у вас будет много лидов в выгрузке, то лучше разбить её на несколько частей – битрикс может ограничить доступ к вашему акку из-за множества запросов. Также обязательно надо записывать выгруженные в свою базу – чтобы избежать дублей.

Итак, если у вас есть вопросы, необходима помощь программиста для вашего сервиса, CMS или CRM, то пишите мне. Я работаю с распространенными и незнакомыми системами, а также создаю свои решения на чистом PHP. Могу помочь во многих вопросах по веб-приложениям (сайтам): от внутренней работы (запросы к базе, расширение функционала) и до внешних, "косметических" изменений.




тегизаметки, php, Битрикс24

Читайте также:




Урок 12. Создание переменной JavaScript: const
Простое голосование на сайт


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.