Есть документация от Ройстат https://help.roistat.com/integrations/CRM_i_CMS/Bitriks24/Formy_Bitriks24._Vidzhet_na_sait/ |
Сделала в подвале невидимую кнопку #callbackhunterNew, перед ней скрипт Битриксовский, остальные кнопки при клике вызывают клик данной кнопки, и, о чудо, открывается форма.
<a href="#" id="callbackhunterNew" style="display:none">Заказать обратный звонок</a> <script> jQuery("a[href^='https://nikaverro.bitrix24.ru/pub/form'], a[href='#callbackhunter']").click(function(e) { e.preventDefault(); document.getElementById('callbackhunterNew').click(); }); jQuery("#callbackhunterNew").click(function(e) { e.preventDefault(); }) </script> |
Передача номера визита Roistat при звонке
Ройстат умеет по звонку через коллтрекинг создавать Лиды, но нам это не надо, потому что телефония Битрикс создает Лиды с нам нужной логикой.
Поэтому в сценарии коллтрегина "создавать сделку CRM" отключили.
Сделали в ройстате вебхук на сайт адрес_сайта/webhook.php?action=lead&type=call (не битрикс) при окончании звонка,
Webhook-уведомление от Roistat https://help.roistat.com/features/Calltracking/Rasshirennye_nastroiki_scenarija/Webhook-uvedomlenie/ Как создать лид написано тут как создать лид rest api + вебхук |
$action = isset($_GET['action']) ? $_GET['action'] : null; $type = isset($_GET['type']) ? $_GET['type'] : null; $data = json_decode(trim(file_get_contents('php://input')), true); if ($type == "call" && !empty($data)) { //функция, которая делает запросы в Б24 function CurlBitrix24($method, $arData=array()){ $queryUrl = "https://b24.alpha-soft.ru/rest/[ид пользователя]/[код вебхука]/".$method; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $queryUrl, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POST => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, )); if(!empty($arData)){ curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($arData)); } $result = curl_exec($curl); curl_close($curl); return json_decode($result,true); } if(!empty($data['id']) && !empty($data['caller'])){ //получаем лид $arFilter = array( "!STATUS_ID"=>"CONVERTED", "TITLE"=>$data['caller']." - Входящий звонок", //телефония генерирует лиды с таким названием ">=DATE_CREATE"=> date("Y-m-d 00:00:00"),//чтоб не старые лиды ); $result = CurlBitrix24('crm.lead.list', array( "order" => array("ID"=>"DESC"), "filter" => $arFilter, "select" => array("ID","DATE_CREATE","UF_CRM_1616400954") )); //error_log( print_r($result, TRUE),3,"log.txt" ); if(isset($result["result"][0]["ID"])){ //если лид найден, то его апдейтим $lead['COMMENTS'] = "Страница захвата: " . $data['landing_page'] ."<br>"; $lead['COMMENTS'] .= "Город: " . $data['city'] ."<br>"; $lead['UF_CRM_1616400954'] = $data['visit_id'];//свойство roistat в Б24 у лидов $lead['UTM_CAMPAIGN'] = $data["utm_campaign"]; $lead['UTM_SOURCE'] = $data["utm_source"]; $lead['UTM_CONTENT'] = $data["utm_content"]; $lead['UTM_MEDIUM'] = $data["utm_medium"]; $lead['UTM_SOURCE'] = $data["utm_source"]; $lead['UTM_TERM'] = $data["utm_term"]; $lead['WEB'] = $data["marker"]; $result = CurlBitrix24('crm.lead.update', array( "id" => $result["result"][0]["ID"], "fields" => $lead, "params" => [] )); } } } |