Как подружить Битрикс и Whatsapp

Как подружить Битрикс и Whatsapp

Есть у нас на поддержке один клиент, которому понадобилось подружить интернет магазин на Битрикс с WhatsApp. Намерения были самые благородные: упростить коммуникацию и дать возможность клиенту оперативно получать информацию по своему заказу.

Проблема оказалась в том, что мессенджер оформляет доступ к своему API только в ручном режиме и только крупным компаниям. Поиск решения привел к сайту chat-api.com, который предоставляет альтернативный API для взаимодействия с WhatsApp.

Для регистрации в сервисе вам понадобиться учетная запись и уже установленный на смартфон WhatsApp, т.к. в процессе вам предложат просканировать специальный QR код. Этим вы создадите виртуальный сервер для отправки сообщений. После завершения регистрации вы получите ссылку, которую будете использовать на сайте.

Чтобы упростить управление функционалом для пользователей, был использован модуль Настройки++. В него были размещены текст сообщения и URL, на который нужно обращаться при отправке сообщения.

Настройки Битрикс для удобства управления

Пример реализации

Пользователю предлагается получать сообщения в WatsApp после оформления заказа, на финальном шаге. Кнопка была встроена в файл confirm.php компонента sale.order.ajax.

Кнопка отправки сообщения из 1С-Битрикс
При нажатии на кнопку срабатывает JavaScript обработчик, который вызывает сам скрипт отправки первичного сообщения. Ниже приводим листинг кода.

//js обработчик $(document).ready(function(){ $('.whatsapp_btn').on('click', function(){ $.ajax({ method: "POST", url: "/ajax/whatsapp.php", data: { 'ORDER_ID': $(this).attr('data-order') }, success: function(answer){ $('.whatsapp_btn').text('Готово ! Проверьте ваш мессенджер'); $('.whatsapp_btn').off(); } }); }); }); //скрипт require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php"); CModule::IncludeModule('sale'); $ID = intval($_REQUEST['ORDER_ID']); if($ID){ $db_props = CSaleOrderPropsValue::GetOrderProps($ID); while ($arProps = $db_props->Fetch()) { if($arProps["PROPERTY_NAME"] == 'Телефон'){ $phone = $arProps["VALUE"]; } } $data = [ 'phone' => $phone, // Телефон получателя 'body' => str_replace("#ORDER_ID#", $ID, \COption::GetOptionString( "askaron.settings", "UF_WHATSAPP_MESS" )), ]; $json = json_encode($data); // Закодируем данные в JSON // URL для запроса POST /message $url = \COption::GetOptionString( "askaron.settings", "UF_WHATSAPP_URL" ); // Сформируем контекст обычного POST-запроса $options = stream_context_create(['http' => [ 'method' => 'POST', 'header' => 'Content-type: application/json', 'content' => $json ] ]); // Отправим запрос $result = file_get_contents($url, false, $options); }
Аналогичным образом можно реализовать отправку сообщений при изменении статуса заказа. Ответы от пользователя само собой приходят в приложение, и дальнейшее общение с клиентом происходит уже там. Кстати, для пользователей Bitrix24 существует модуль, который позволяет общаться с клиентом в WhatsApp прямо из CRM.

Если у вас возникли проблемы с внедрением данного функционала в Битрикс, вы всегда можете обратиться в нашу техническую поддержку

  • 08.09.2018
Возврат к списку