logo

Сайты / Разработка / 
Opencart 2.x с QuickCheckout - импорт заказов в Битрикс24

01 декабрь, 2017 3 440 2
На мой Opencart 2.1.0.1 установлено несколько модулей, меняющих как форму заказа, так и страничку о успешном заказе. В интернете несколько мануалов по установке модуля экспорта заказов в Битрикс24, но они не учитывают сторонние модули, работают только на дефолтном магазине, и заказ в битрикс экспортируется при нажатии кнопки "отправить заказ", а при установленом модуле QuickCheckout форма заказа обновляется через ajax и заказ в битрикс либо вообще не экспортируется, либо экспортируется каждый раз при обновлении формы. Нас это не устраивает, будем дорабатывать.

Методом тыка, нашёл идеальное место для вставки кода экспорта заказов, несмотря на все установленные модули, одно остаётся неизменным - письмо-уведомление о новом заказе - туда и будем встраивать доработанную функцию.

Лениво было возиться с исправлением модуля, поэтому правил напрямую файлы OpenCart'а. За отправку письма-уведомления отвечает файл .../catalog/model/checkout/order.php - открываем, ищем строки
// If order status is 0 then becomes greater than 0 send main html emailif (!$order_info['order_status_id'] && $order_status_id) {...}[/code]

Вставляем код экспорта Битрикс24 в функцию отправки уведомления в самый конец, перед закрывающим }, чтобы все данные из массивов для письма спарсировались при экспорте в битрикс. Советую создать отдельного пользователя в своём Битрикс24, ограничить права по полной, оставив только возможность создания лидов и, может, писать в живую ленту.
$bitrix24login = "xxx@xxx"; // Укажите логин аккаунта для добавления лида
$bitrix24password = "xxx"; // Укажите пароль аккаунта для добавления лида
$bitrix24domen = "xxx.bitrix24.ru"; // Укажите домен вашего битрикса

$bitrix24products = "";
foreach ($data['products'] as $product) {
$bitrix24option = empty($product['option']) ? "" : "<br/><br/><b>Опции:</b>";
$bitrix24products .= 
"<b>Товар:</b> (".$product['sku'].") ".$product['name']." (<a target='_blank' href='https://".$_SERVER['HTTP_HOST']."/index.php?route=product/product&product_id=".$product['product_id']."'>Ссылка</a>)".
"<br/><b>Магазин:</b> ".$product['storage'].
"<br/><b>Цена:</b> ".$product['price']." руб.".
$bitrix24option
;

foreach ($product['option'] as $option) {
if ($option['type'] == 'checkbox') {
$bitrix24products .= "<br/>-- Выбрано: ".$option['name'];
} else {
$bitrix24products .= "<br/>-- ".$option['name'].": ".$option['value'];
}
}

if ($product != end($data['products'])) {
$bitrix24products .= "<br/><br/>------------------------------------------------<br/><br/>";
} else {
$bitrix24products .= "<br/>";
}
}

$validationEmail = filter_var($data['email'], FILTER_VALIDATE_EMAIL);
if ($validationEmail) {
$bitrix24email = $data['email'];
} else {
$bitrix24email = "";
}

if (!empty($data['shipping_address_1'])) {
$bitrix24address = array();
if (!empty($data['shipping_postcode'])) { $bitrix24address[] = $data['shipping_postcode']; }
if (!empty($data['shipping_city'])) { $bitrix24address[] = $data['shipping_city']; }
if (!empty($data['shipping_address_1'])) { $bitrix24address[] = $data['shipping_address_1']; }
$bitrix24address = implode(', ', $bitrix24address);
} else {
$bitrix24address = "";
}

$bitrix24data = "";
if (!empty($data['comment'])) {
$bitrix24data .= "<br>------------------Комментарий-------------------<br>";
$bitrix24data .= $data['comment'];
}

$shipping_summ = 0;
if (isset($data['totals'])) {
foreach($data['totals'] as $val) {
if ($val['code'] == 'shipping') {
$shipping_summ = $val['value'];
break;
}
}
}
$bitrix24data .= "<br><br>---------------------Доставка-----------------------<br><br>";
$bitrix24data .= $data['shipping_method'].' ('.$shipping_summ.' руб.)';

$bitrix24data .= "<br><br>----------------------Оплата------------------------<br><br>";
$bitrix24data .= $data['payment_method'];
$bitrix24data .= "<br><br>";

$bitrix24GetData = array(
'LOGIN' => $bitrix24login,
'PASSWORD' => $bitrix24password,
'TITLE' => "Заказ №".$order_id,
'NAME' => $data['firstname'],
'LAST_NAME' => $data['lastname'],
'PHONE_OTHER' => $data['telephone'],
'OPPORTUNITY' => $data['total'],
'SOURCE_ID' => 'WEB',
'SOURCE_DESCRIPTION' => $data['store_url'],
'COMMENTS' => $bitrix24products.$bitrix24data
);
if (!empty($bitrix24email)) { $bitrix24GetData['EMAIL_OTHER'] = $bitrix24email; }
if (!empty($bitrix24address)) { $bitrix24GetData['ADDRESS'] = $bitrix24address; }

$bitrix24GetData = http_build_query($bitrix24GetData);
file_get_contents("https://".$bitrix24domen."/crm/configs/import/lead.php?".$bitrix24GetData);
Настраиваем вывод информации в битрикс под себя, оставляя только нужные поля.
Не забываем обновить кэш модификаторов после изменений.

Вуаля, заказы добавляются в CRM Битрикс24 как лиды от пользователя, чей логин мы указали. Далее, для автоматизации производства по заказам, можем настроить роботов, обрабатывающих новых лидов от пользователя ххх@ххх.

Заходим в CRM - Ещё - Настройки - Автоматизация

Пролистываем чуть ниже, видим едва заметную опцию "Настроить роботов" - открываем и настраиваем как нам угодно. Например, по условию, если в заказе, что мы получили есть слово "Свободный", то отправлять сообщение в живую ленту на нужных сотрудников, при эттом автор сообщения будет "Робот Надежда" :)

В итоге мы получаем Лид в CRM и собщение в живой ленте:  

На этом настройка экспорта завершена. 
Теги:
opencart bitrix24
Прокомментировать
Введите код с картинки:*
Кликните на изображение чтобы обновить код, если он неразборчив
  1. fridmanrealityaa
    15 февраля 2024 15:38
    Здравствуйте! Агентство по недвижимости Фридман и партнеры готово продать или сдать в аренду Вашу недвижимость в кратчайшие сроки. Занимаемся продажей и покупкой недвижимости уже более 10 лет. Не навязываем никаких дополнительных услуг. Мы именно выкупаем доли в квартирах и комнаты за свои деньги. В своей работе используем исключительно законные методы в рамках действующего законодательства. Мы работаем быстро и профессионально. https://www.avito.ru/user/cef916c06f2bd927cc81338ab3b94007/profile/all
  2. ofisnaokyyy
    8 августа 2025 11:10
    Здравствуйте! Сдаётся Офис-Склад-Производство категории "В+" 185 м.кв., 600 метров от м.Черкизовская и ТПУ Локомотив. https://www.avito.ru/moskva/kommercheskaya_nedvizhimost/ofis_185_m_7435703111 Сдаётся под офисное помещение, склад, интернет-магазин, центр обработки данных производство категории "В+" 185 м.кв. Можно использовать как: офис, склад, интернет-торговлю, не пыльное производство, ЦОД, помещение свободного назначения и.т.д. Первый этаж, 1-го офисно-складского здания, есть возможность загрузки и выгрузки продукции/товара через вход и окна. Данное помещение только после нового ремонта, клининг после ремонта. 550 м. от м. Черкизовская. Помещение с отдельным входом доступ 24 часа 7 дней в неделю. семь парковочных мест: пять под легковые автомашины + 2 выделенных места под Газель/Портер. Офисный центр имеет огороженную территорию. Круглосуточная охрана периметра + установлена дополнительная пультовая охрана (при необходимости подключим). Офисный центр под видеонаблюдением 24/7. Анти взломные электрические жалюзи на окна и дверь. Вывоз мусора, уборка террритории, электрик/сантехник, решение проблем связанных с эксплуатацией здания и помещения. Электрические мощности 76 Квт, возможно увеличение до двухсот и более Квт. Четырнадцать подключённых рабочих мест в комнатах и зале. Каждая электрическая розетка подключена отдельным проводом (разделение на компьютерное и бытовое электричество). Интернет-телефония/Интернет, оптика до 1Гигабитбита/сек. Бокс с патч-панелями под телефонию и интернет (отмаркированны 22 телефонные и 22 компьютерные розетки). Подведены шестнадцать телефонных линий МТС (можем подключить). Подвесной потолок "Armstrong" и энергосберегающие светильники везде. Высота до потолков "Armstrong" - 3,25 м. (Общая высота потолка в зале 5-6 метров). Беспроводная пожарная сигнализация "Стрелец", Пожарный кран, огнетушители. Фальшпол, плитки керамогранит 600х600, допустимая нагрузка 2500 Килограмм на квадратный метр. Заправленные и чистые кондиционеры. Теплоснабжение центральное. Вентиляция. Все коммуникации в здании новые. Есть витрины с подсветкой (красного цвета в разобранном виде). Большое кол-во видов разной офисной мебели (- разобраны). Холодильник. Зал: 83 м.кв. высота потолков 3,25 метров (общая высота 5-6 м.) Комнаты: 15, 24, 12, 20, 20 метров квадратных. Шумоизоляция в зале и во всех комнатах. Парковки, коммунальные/эксплуатационные расходы, юридический адрес включены в стоимость. Электричество и вода оплачиваются по счётчикам. Упрощённая система налогообложения Комиссия риэлторам от 50%. Предоставляем арендные каникулы (Акция! - действует ограниченное время). Помещение не сдаётся под: хостел/гостиницу/общежитие, шумное/грязное/пищевое производство. https://www.avito.ru/moskva/kommercheskaya_nedvizhimost/ofis_185_m_7435703111
все шаблоны для dle на сайте newtemplates.ru скачать