Добавление контакта в bitrix24 api

Рейтинг: 0Ответов: 1Опубликовано: 30.07.2023

На сайте есть простенькая форма обратной связи

<form id="form_to_crm">
            <input type="text" name="NAME" placeholder="Name" required>
            <input type="text" name="LAST_NAME" placeholder="Last name">
            <input type="text" name="EMAIL" placeholder="E-mail">
            <input type="text" name="PHONE" placeholder="Phone">
            <input type="submit" value="Submit">
        </form>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script>
            $(document).ready(function() {
                $('#form_to_crm').on( 'submit', function(el) {
                    el.preventDefault();
                    var formData = $(this).serialize();
                    $.ajax({
                        'method': 'POST',
                        'dataType': 'json',
                        'url': 'form.php',
                        'data':  formData,
                        success: function(data){//success callback
                            alert(data.message);
                        }
                    });
                });
            });
        </script>

Подскажите как должен выглядеть обработчик form.php для добавления контакта в битрикс24? Входящий вебхук у меня создан

Ответы

▲ 0

Выглядеть может так:

// Получаем данные формы
$name = $_POST['NAME'];
$lastName = $_POST['LAST_NAME']; 
$email = $_POST['EMAIL'];
$phone = $_POST['PHONE'];

// Формируем массив данных для отправки в Б24
$data = [
  'fields' => [
    'NAME' => $name,
    'LAST_NAME' => $lastName,
    'EMAIL' => [
      ['VALUE' => $email, 'VALUE_TYPE' => 'WORK']  
    ],
    'PHONE' => [
      ['VALUE' => $phone, 'VALUE_TYPE' => 'WORK']
    ]
  ]
];

// Кодируем данные в JSON
$jsonData = json_encode($data); 

// Данные для запроса
$curlData = [
  'auth' => '********', // Ваш вебхук-ключ
  'event' => 'ONLEADADD',
  'data' => $jsonData
];

// Инициализируем cURL
$ch = curl_init('https://yourdomain.bitrix24.ru/rest/1/********');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($curlData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);

// Выполняем запрос, получаем ответ
$result = curl_exec($ch);

// Закрываем сессию cURL 
curl_close($ch);

// Возвращаем ответ в формате JSON
echo json_encode(['message' => 'Данные отправлены']);