Your comments

Поддерживаю - коробку, почему-то обделили, приходится работать с лидами, хотя смысла в этом особого нет для многих компаний.

Также прошу сделать так, чтобы вебхук после обратного звонка вызывался и в случае, если звонок не состоялся.

По поводу бага подробнее.

Если в любом php файле вставить следующий код, то пойдет обратный звонок


$roistatData = array(
"roistat" => array_key_exists("roistat_visit", $_COOKIE) ? $_COOKIE["roistat_visit"] : "неизвестно",
"key" => "ключ_ройстата",
"title" => "Автоматический звонок",
"comment" => "комментарий",
"name" => "имя",
"email" => "test@test.ru",
"phone" => "+70000000000",
"is_need_callback" => "1",
"sync" => "1",
"is_need_check_order_in_processing" => "1",
"is_need_check_order_in_processing_append" => "1"
);



$output = file_get_contents("https://cloud.roistat.com/api/proxy/1.0/leads/add?" . http_build_query($roistatData));


Далее мы ставим вебхук здесь



Код вебхука


$input = json_decode(trim(file_get_contents("php://input")), true);
$output = print_r($input, true);
$log_roistat = time() . "_roistat.log";
file_put_contents($_SERVER["DOCUMENT_ROOT"] . "/log/" . $log_roistat, $output, FILE_APPEND);



В файле лога отображается


Array
(
[id] => 244
[visit_id] => 186206
[marker] =>
[name] =>
[phone] =>
[date] =>
[page] =>
[duration] => 400
[status] => finished
[call_date] => 2018-05-23 19:24:46
)



Поля marker, name, phone, date, page пустые

Функция работает, однако есть баг при отправке заявки через Roistat с параметром
"is_need_callback" => "1"
В этом случае webhook срабатывает, но поля "name", "phone", "date" и "page" пустые


Для нашей задачи хватит такой же информации, как и при обычном webhook ("номер визита", "источник посещения", "имя пользователя", "телефон", "дата", "страница захвата")
Однако, по аналогии с calltracking, в идеале добавить "продолжительность звонка", "один из 9 статусов звонка", "ссылка на файл с аудиозаписью разговора"