Спасибо! Ваше сообщение отправлено!
Ошибка! Попробуйте повторить чуть позже.
Спасибо! Ваше сообщение отправлено!
Ошибка! Попробуйте повторить чуть позже
Для подключения форм к нашему коллбеку через php необходимо в параметре action у ваших форм указать путь до скрипта в формате .php и method="post"
Код скрипта -
<?php
//домен куда отправляется запрос
define('DESTINATION_DOMAIN', 'https://api.primegate.io/v2');
//точка куда отправляется запрос
define('API_METHOD_CALLBACK_CREATE', '/js-client/callback-request');
//название функции отправки формы
function sendRequestPrimeGate(){
//указываем глобальные переменные
global $_REQUEST,$_COOKIE;
//Берем из кук информацию и декодируем ее
$settings = json_decode($_COOKIE['primegate_session'], true);
//Инициализирует сеанс cURL
$curl = curl_init();
//указываем что будет в curl
curl_setopt_array($curl, array(
//указали адрес точку ключ и токен
CURLOPT_URL => DESTINATION_DOMAIN . API_METHOD_CALLBACK_CREATE . '?apiKey=ВАШ АПИ КЛЮЧ&token=' . $settings['token'],
//для возврата результата передачи в качестве строки из curl_exec() вместо прямого вывода в браузер.
CURLOPT_RETURNTRANSFER => true,
//для использования обычного HTTP POST.
CURLOPT_POST => true,
//Все данные, передаваемые в HTTP POST-запросе.
CURLOPT_POSTFIELDS => http_build_query([
'sessionId' => $settings['id'],
'callbackNumber' => $_POST['phone'], //поле формы отвечающее за номер, в данном примере это name="phone"
'pageUrl' => $_REQUEST['url'],
'pageTitle' => $_REQUEST['url']
]),
//проверка сертификата узла
CURLOPT_SSL_VERIFYPEER => 0,
//отключение проверки имени в ссл
CURLOPT_SSL_VERIFYHOST => 0
));
//получение курла
$response = curl_exec($curl);
//закрытие курла
curl_close($curl);
print_r(DESTINATION_DOMAIN . API_METHOD_CALLBACK_CREATE . '?apiKey=ВАШ АПИ КЛЮЧ&token=' . $settings['token']);
print_r([
'sessionId' => $settings['id'],
'callbackNumber' => $_POST['phone'],
'pageUrl' => $_REQUEST['url'],
'pageTitle' => $_REQUEST['url']
]);
print_r($response);
//возврат ответа
return $response;
}
//отправка запроса
$result = sendRequestPrimeGate();
?>
//возврат на страницу откуда была отправлена форма если необходимо
//header( 'Location: http://test.primegate.io/contact.html' );
//или ниже полноценный редирект на сообщение о отправке заявки
?>
Сообщение о том что заявка отправлена
<!DOCTYPE html>
<html lang="en">
<head>
<script>
setTimeout(function () {
window.location.href = "<?php echo $_SERVER['HTTP_REFERER']; ?>";
}, 2000);
</script>
</head>
<body>
<div class="wrapper">
<div class="caption">
<div class="line line-1">
<span>
Заявка отправлена
</span>
</div>
<div class="line line-2">
<span>
ожидайте звонка от нашего специалиста
</span>
</div>
</div>
</div>
</body>
</html>
<style>
body {
margin: 0;
padding: 0;
}
.wrapper {
height: 300px;
width: 600px;
font-size: 30px;
font-family: SansSerif;
color: #333;
display: block;
position: absolute;
text-align: center;
vertical-align: middle;
border-bottom-left-radius: 150px;
border-bottom-right-radius: 150px;
border-top-left-radius: 20px;
border-top-right-radius: 20px;
/*background-image: url(image.png);*/
/*background-size: cover;*/
/*background-color: #5bc0de;*/
background: #f8ffe8;
/*background: linear-gradient(to bottom, #f8ffe8,#e3f5ab 33%,#b7df2d);*/
background: linear-gradient(to bottom, #f8f8f8,#e3e3e3 33%,#b7b7b7);
background-size: 600px 300px;
}
.line {
display: flex;
}
.caption span {
margin: auto;
}
.line-1 span{
font-size: 130%;
font-weight: bold;
}
</style>
<script>
var wrapper = document.querySelector('body > div.wrapper');
caption = wrapper.querySelector('div.caption'),
lines = wrapper.querySelectorAll('div.caption > .line'),
image = wrapper.querySelector('div.image');
var screenResize = function(){
wrapper.style.top = ((innerHeight - wrapper.clientHeight) / 2) + 'px';
wrapper.style.left = ((innerWidth - wrapper.clientWidth) / 2) + 'px';
caption.style.height = (wrapper.clientHeight / 1.5) + 'px';
caption.style.width = wrapper.clientWidth + 'px';
lines.forEach(function(item){
item.style.height = (caption.clientHeight / lines.length) + 'px';
item.style.width = caption.clientWidth + 'px';
})
}
document.onload = screenResize();
</script>
Обратите внимание что вам необходимо указать ваш apiKey, его можно найти в коде счетчика
https://cloud.primegate.io/projects/site/code
Вам необходимо число в строке PrimeGate.init это и есть ваш apiKey
Дополнительно если вам не нужен редирект после отправки формы вы можете добавить форме параметр target="hiddenFrame" и над формой добавить код <iframe name="hiddenFrame" width="0" height="0" border="0" style="display: none;"></iframe>