<?AddEventHandler('iblock', 'OnAfterIBlockElementAdd', 'OnAfterIBlockElementAddHandler');
function OnAfterIBlockElementAddHandler(&$arFields)
{
if($arFields["ID"]>0)
{
//формируем массив для передачи в bitrix24
//данные берем из элемента добавленного инфоблока
$queryData = http_build_query(array(
'fields' => array(
"TITLE" => 'Лид с сайта '.SITE_SERVER_NAME.' из формы "Заказать звонок".',
"SOURCE_ID" => WEB,
"UTM_SOURCE" => $_SESSION['utm_source'],
"NAME" => $arFields["PROPERTY_VALUES"]["NAME"],
"EMAIL" => [["VALUE" => $arFields["PROPERTY_VALUES"]["EMAIL"], "VALUE_TYPE" => "WORK"]],
"PHONE" => [["VALUE" => $arFields["PROPERTY_VALUES"]["PHONE"], "VALUE_TYPE" => "WORK"]],
"COMMENTS" => $arFields["PROPERTY_VALUES"]["KOMMENT"]["TEXT"],
),
'params' => array("REGISTER_SONET_EVENT" => "Y"),
));
//обращаемся к Битрикс24 при помощи функции curl_exec
//метод crm.lead.add.json добавляет лид
$rest = 'crm.lead.add.json';
//url берется из созданного вебхука, удалив в нем окончание prifile/
//и добавив метод $rest на добавление лида
$queryUrl = '[входящий вебхук];
$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);
$result = json_decode($result, 1);
if (array_key_exists('error', $result))
{
echo "Ошибка при сохранении лида: ".$result['error_description']."";
}
else
{
return $result['result'];
}
}
}?>