Бесплатный сервис обратного звонка Callback Free теперь позволяет передавать информацию о заказанном обратном звонке во внешние системы. Передача данных осуществляется с помощью webhook, который вы можете настроить в своём личном кабинете. Укажите в личном кабинете URL-адрес скрипта, в который планируете получать информацию и установите галочку «Включить».
После этого по указанному URL будут передаваться запросы в формате POST при каждом заказе обратного звонка. Запросы содержат следующую информацию:
- timestamp — дата и время заказа обратного звонка в формате timestamp
- user_agent — User-agent пользователя, оставившего заказ на обратный звонок
- referrer_url — реферер (страница, с которой был совершен переход на сайт, на котором установлен виджет Callback Free)
- start_url — страница входа (страница, на которую изначально попал пользователь на сайте, на котором установлен виджет Callback Free)
- submit_url — страница заказа (страница, на которой был совершен заказ обратного звонка)
- phone — телефон пользователя, указанный при заказе обратного звонка
- ip — ip-адрес пользователя, оставившего запрос обратного звонка
Рассмотрим пример использования:
<?php $log = "Новый запрос обратного звонка\n"; $log .= "Время: ".$_POST['timestamp']."\n"; $log .= "User-agent: ".$_POST['user_agent']."\n"; $log .= "Реферер: ".$_POST['referrer_url']."\n"; $log .= "Страница входа: ".$_POST['start_url']."\n"; $log .= "Страница заявки: ".$_POST['submit_url']."\n"; $log .= "Телефон: ".$_POST['phone']."\n"; $log .= "ip отправителя: ".$_POST['ip']."\n"; $log .= "- - -\n\n" $f = fopen('log.txt', 'a'); fwrite($f, $log); fclose($f); ?>
В данном примере реализовано сохранение в файл всей информации о заказанном звонке, пришедшей в Webhook, вы можете использовать её, например, для передачи в вашу CRM-систему. Ниже рассмотрим интеграцию с CRM на примере Битрикс24.
Интеграция обратного звонка с Битрикс24
Рассказываем как подключить бесплатный обратный звонок с сайта в CRM Bitrix24. Первым делом нам потребуется создать еще один веб-хук, но уже на стороне Битрикс 24. Авторизуйтесь в вашем Битрикс24, укажите в общем поиске «Вебхуки» и перейдите в соответствующий раздел.
Добавьте «Входящий вебхук» и разрешите доступ к модулю «crm».
Для дальнейшей работы нам потребуется ключ REST API, выделенный на скриншоте ниже.
В скрипт размещенный по адресу, указанному в личном кабинете Callback Free поместите следующий код, изменив параметры bx_url, bx_user, bx_key и bx_manager.
<?php // Настройки Битрикс24 $bx_url = "https://callback-free.bitrix24.ru"; //Адрес вашего Битрикс24 $bx_user = 1; //ID пользователя от лица которого был создан Вебхук $bx_key = "21uir21jcn923"; //Ключ REST API $bx_manager = 1; //ID менеджера которому будет присвоена заявка $bx_source = "CALLBACK"; //ID источника (в нашем случае - заказ обратного звонка) // Получаем параметры $phone = $_POST['phone']; $submit_url = $_POST['submit_url']; $start_url = $_POST['start_url']; // Получаем UTM-метки $utm_source = ""; $utm_medium = ""; $utm_campaign = ""; $utm_content = ""; $utm_term = ""; function unhtmlspecialchars($string){ $string = str_replace ( '&', '&', $string ); $string = str_replace ( ''', '\'', $string ); $string = str_replace ( '"', '"', $string ); $string = str_replace ( '<', '<', $string ); $string = str_replace ( '>', '>', $string ); $string = str_replace ( '%7C', '|', $string ); return $string; } if ($start_url != "unset"){ $utm_url = parse_url($start_url); if (isset($utm_url['query'])){ $query = $utm_url['query']; $query = explode('&', $query); foreach($query as $param){ list($utm_name, $utm_value) = explode('=', $param, 2); if ($utm_name == "utm_source"){ $utm_source = urldecode($utm_value); } elseif ($utm_name == "utm_medium"){ $utm_medium = urldecode($utm_value); } elseif ($utm_name == "utm_campaign"){ $utm_campaign = urldecode($utm_value); } elseif ($utm_name == "utm_content"){ $utm_content = urldecode($utm_value); } elseif ($utm_name == "utm_term"){ $utm_term = urldecode($utm_value); } } } } // Отправка заявки в Битрикс24 $queryUrl = "$bx_url/rest/$bx_user/$bx_key/crm.lead.add.json"; $queryData = http_build_query(array( 'fields' => array( "STATUS_ID" => "NEW", "OPENED" => "Y", "ASSIGNED_BY_ID" => $bx_manager, "SOURCE_ID" => $bx_source, "SOURCE_DESCRIPTION" => $submit_url, "PHONE" => array(array("VALUE" => $phone, "VALUE_TYPE" => "WORK" )), "COMMENTS" => "Пользователь оставил заявку на обратный звонок", "UTM_CAMPAIGN" => $utm_campaign, "UTM_CONTENT" => $utm_content, "UTM_MEDIUM" => $utm_medium, "UTM_SOURCE" => $utm_source, "UTM_TERM" => $utm_term ), 'params' => array("REGISTER_SONET_EVENT" => "Y") )); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POST => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $queryUrl, CURLOPT_POSTFIELDS => $queryData, )); $result = curl_exec($curl); curl_close($curl); ?>
Теперь, после отправки заявки на заказ обратного звонка на вашем сайте информация автоматически будет передана в Битрикс24. На основе этой информации будет создан новый лид. При этом в карточке лида сохранятся UTM-метки от страницы входа, а в описание источника будет добавлен адрес страницы, на которой был совершен заказ обратного звонка.