Битрикс24. Подключение канала «Заказы с моего сайта» на примере WordPress + WooCommerce
В Битрикс24 в модуле Сквозная аналитика существует канал обращений Заказы своего магазина, который позволяет отслеживать рекламные источники и пути клиентов и добавлять эту информацию в блок сквозной аналитики в карточке сделки.
Начинаем начинать.
Само собой, настройку WordPress и WooCommerce мы рассматривать здесь не будем, считаем, что Вы молодцы и у Вас всё давно настроено и работает.
Для тестового окружения у нас установлен WordPress 5.4.1 и WooCommerce 4.1.0.
Мы использовали простой тестовый скрип:
add_action(‘woocommerce_thankyou’, ‘b24CreateOrder’);
function b24GetUrl($method) {
$domain = »;
$webhook = »;
$user = »;$url = $domain . ‘/rest/’ . $user . ‘/’ . $webhook . ‘/’ . $method;
return $url;
}function b24CreateOrder($id) {
b24CreateDeal($id);
}function b24CreateDeal($id) {
$method = ‘crm.deal.add/’;$order = wc_get_order($id)->get_data();
//Order user field
$data[‘fields’][‘{UF_CRM}’] = $order[‘id’];$data[‘fields’][‘OPPORTUNITY’] = $order[‘total’];
$url = b24GetUrl($method);
$result = b24Request($url, $data);
return $result->result;
}function b24Request($url, $data) {
$queryData = http_build_query($data);$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url,
CURLOPT_POSTFIELDS => $queryData,
));json_decode(curl_exec($curl));
curl_close($curl);
}
Для работы скрипта указали адрес портала, входящий вебхук и id пользователя в строках 4, 5 и 6 соответственно. Как работать с вебхуками описано здесь.
Содержимое файла добавили в конец файла functions.php нашей темы (В административной части WordPress перейдите в меню Внешний вид – Редактор тем выберите свою и тему, затем файл functions.php)
Сейчас наши заказы из интернет-магазина попадают в Битрикс24, но в карточке сделки в блоке сквозной аналитики грустно отображается источник Приложение.
Для подключения канала обращения мы должны выполнить шаги:
1. подключить скрипт канала обращения Свой сайт
2. создать пользовательское поле для хранения id заказа с сайта в карточке сделки
3. подключить скрипт канала обращения Заказы своего магазина
Шаг 1. Подключение скрипта канала обращения Свой сайт
Этот шаг можете пропустить, если у Вас на сайте уже подключен Виджет на сайт из модуля Контакт-центр, а если нет, то продолжаем продолжать.
В административной части WordPress перейдите в меню Внешний вид – Редактор тем выберите свою и тему. Код канала обращения нужно установить перед закрывающим тэгом </body>, поэтому, например, выберите файл header.php
Разработчики WordPress советуют использовать дочерние темы для внесения своих изменений. Ознакомьтесь с соответствующей статьей.
В Битрикс24 откройте канал обращений Свой сайт и скопируйте js-код.
Вставьте код после открывающего тэга <body> в открытом ранее файле header.php и нажмите внизу страницы кнопку «Обновить файл».
Вернитесь в Битрикс24 в канал обращения Свой сайт, введите адрес Вашего сайта и нажмите кнопку Проверить готовность сайта. Если Вы всё верно сделали, в статусе проверки будет указано, что Код установлен. Не забудьте нажать кнопку Сохранить внизу страницы.
Шаг 1 завершен, переходим к следующему шагу!
Шаг 2. Создание пользовательского поля для хранения id заказа с сайта в карточке сделки
Про пользовательские поля написано в справочной документации Битрикс24, поэтому не поленитесь, прочтите статью.
Создайте пользовательское поле типа Строка и скопируйте id этого поля. Проще всего перейти в Настройки – Настройки форм и отчётов – Пользовательские поля – Список полей (в блоке Сделки) и выбрать созданное поле. В адресной строке мы увидим id поля
Вернемся в файл functions.php (В административной части WordPress перейдите в меню Внешний вид – Редактор тем выберите свою и тему, затем файл functions.php). Найдите следующую строку после комментария «//Order user field» и замените {UF_CRM} на id пользовательского поля, созданного ранее.
Должна получиться строка вида
$data[‘fields’][‘UF_CRM_1586816588943’] = $order[‘id’];
Обновляем файл.
Свойства сущностей и методы описаны в справочных порталах Битрикс24 и WooCommerce.
Итак, если номер заказа из вашего интернет-магазина передаётся, то Шаг 2 завершён, двигаемся дальше.
Шаг 3. Подключение скрипта канала обращения Заказы своего магазина
Далее нам нужно поместить скрипт канала обращения Заказы своего магазина в код сайта.
В Битрикс24 возвращаемся в сквозную аналитику, открываем канал обращения Заказы своего магазина и выбираем созданное нами ранее пользовательское поле.
Откройте файл по пути {корень сайта}/wp-content/plugins/woocommerce/templates/checkout/thankyou.php, найдите строку
<?php do_action( ‘woocommerce_thankyou_’ . $order->get_payment_method(), $order->get_id() ); ?>
и вставьте перед ней следующий код:
<script>(window.b24order=window.b24order||[]).push({id: «<?php echo $order->get_order_number();?>», sum: «<?php echo $order->get_total();?>»});</script>
Этот код равен тому, что предлагают скопировать из канала обращения за тем лишь отличием, что он уже включает в себя вставки кода, необходимые для получения данных о заказе WooCommerce.
Сохраните файл.
Оформите заказ в своём интернет-магазине. Заказ превратится в сделку в Битрикс24 с заполненной информацией в сквозной аналитике.
На этом всё.
Какую стратегию развития или перестройки бизнеса вы выбрали для своей компании в связи с текущей ситуацией?
Спасибо за информацию.
Безумно необходимая информация. Важно будет покумекать.
Все это самое превосходнейшее, что сегодня доступно было найти по указанной тематике. Мерси
Представленная статья оказала на меня яркое впечатленьице. Поделюсь конечно с коллегами
Прежде отыскивал эту статью. Нашёл на выше расположенном вебсайте. Благодарю покорно
Тут сконцентрировано гораздо лучшее из такого, что я лицезрел
Благодарю вас за информацию