Подключение форм к коллбеку

Для подключения форм к нашему коллбеку через 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_settings'], true);
//Инициализирует сеанс cURL
   $curl = curl_init();
//указываем что будет в curl
   curl_setopt_array($curl, array(
//указали адрес точку ключ и токен
       CURLOPT_URL => DESTINATION_DOMAIN . API_METHOD_CALLBACK_CREATE . '?apiKey=ВАШ АПИ КЛЮЧ&token=' . $settings['session']['token'],
//для возврата результата передачи в качестве строки из curl_exec() вместо прямого вывода в браузер.
       CURLOPT_RETURNTRANSFER => true,
//для использования обычного HTTP POST.
       CURLOPT_POST => true,
//Все данные, передаваемые в HTTP POST-запросе.
       CURLOPT_POSTFIELDS => http_build_query([
           'sessionId' => $settings['session']['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=1470889258&token=' . $settings['session']['token']);
   print_r([
                 'sessionId' => $settings['session']['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>