(function () {
$(document).ready(function () {
$(".form-modal").submit(function () {
var formID = $(this).attr('id');
var formNm = $('#' + formID);
$.ajax({
type: "POST",
url: '/wp-content/themes/shablon/mail.php',
data: formNm.serialize(),
success: function (data) {
$('.modal-smg_boby').removeClass('modal-active');
$('.modal-smg-thanks').addClass('modal-active');
},
error: function (jqXHR, text, error) {
$(formNm).html(error);
}
});
$.ajax({
type: "POST",
url: '/wp-content/themes/shablon/send-bitrix.php',
data: formNm.serialize(),
success: function (data) {
},
error: function (jqXHR, text, error) {
$(formNm).html('error');
}
});
return false;
});
});
})();
send-bitrix.php
<?php
// формируем URL, на который будем отправлять запрос в битрикс24
$queryURL = "https://ipkotov.bitrix24.ru/rest/1/g8pltmlc5av37j6v/crm.lead.add.json";
//собираем данные из формы
$sPhone = htmlspecialchars($_POST["PHONE"]);
$sName = htmlspecialchars($_POST["NAME"]);
$sLastName = htmlspecialchars($_POST["LAST_NAME"]);
$arPhone = (!empty($sPhone)) ? array(array('VALUE' => $sPhone, 'VALUE_TYPE' => 'MOBILE')) : array();
// формируем параметры для создания лида
$queryData = http_build_query(array(
"fields" => array(
"TITLE" => "Заявка с сайта - Возникли вопросы",
"NAME" => $sName, // имя
"PHONE" => $arPhone, // телефон
),
'params' => array("REGISTER_SONET_EVENT" => "Y") // Y = произвести регистрацию события добавления лида в живой ленте. Дополнительно будет отправлено уведомление ответственному за лид.
));
// отправляем запрос в Б24 и обрабатываем ответ
$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))
{
die("Ошибка при сохранении лида: ".$result['error_description']);
}
?>
Где взять ссылку
- Войдите в свой аккаунт Bitrix24.
- Перейдите в раздел «Настройки» или «Настройки приложений» (в зависимости от версии Bitrix24).
- Найдите и выберите раздел «Веб-хуки».
- Нажмите на кнопку «Добавить веб-хук».
- Задайте имя для веб-хука (например, «Мой веб-хук») и выберите необходимые права доступа.
- Сохраните веб-хук.
- После сохранения вы получите URL-адрес, который будет похож на следующий:
https://your_domain.bitrix24.ru/rest/1/your_webhook_code/crm.lead.add.json
.
Вместо your_domain
будет указан ваш домен Bitrix24, а вместо your_webhook_code
будет уникальный код вашего веб-хука.
Замените ссылку в вашем коде на полученную ссылку REST API, и вы сможете отправлять заявки в ваш экземпляр Bitrix24.
Если вдруг создается заявка, но в ней не создается лид, то нужно добавить сначала лида в битрикс, потом добавить заявку и связать лида с заявкой
<?php
// Формируем URL, на который будем отправлять запрос в Bitrix24
$queryURL = "https://namecompany.bitrix24.ru/rest/1/ftwg7avg7yg9a5bv/crm.deal.add.json";
// Собираем данные из формы
$sPhone = htmlspecialchars($_POST["phone"]);
$sName = htmlspecialchars($_POST["name"]);
$arPhone = (!empty($sPhone)) ? array(array('VALUE' => $sPhone, 'VALUE_TYPE' => 'MOBILE')) : array();
// Формируем параметры для создания лида
$queryData = http_build_query(array(
"fields" => array(
"TITLE" => "Заявка с сайта",
"NAME" => $sName, // имя
"PHONE" => $arPhone, // телефон
"SOURCE_ID" => "WEB", // Источник заявки
),
'params' => array("REGISTER_SONET_EVENT" => "Y") // Произвести регистрацию события добавления лида в живой ленте. Дополнительно будет отправлено уведомление ответственному за лид.
));
// Отправляем запрос на создание сделки (лида)
$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, true);
// Проверяем наличие ошибок при создании сделки (лида)
if (array_key_exists('error', $result)) {
die("Ошибка при сохранении лида: " . $result['error_description']);
}
// Получаем идентификатор созданной сделки
$dealId = $result['result'];
// Формируем URL и данные для создания контакта
$queryURL = "https://namecompany.bitrix24.ru/rest/1/ftwg7avg7yg9a5bv/crm.contact.add.json";
$queryData = http_build_query(array(
"fields" => array(
"NAME" => $sName, // имя контакта
"PHONE" => $arPhone, // телефон контакта
"ASSIGNED_BY_ID" => 11, // идентификатор ответственного сотрудника
"SOURCE_ID" => "WEB", // Источник заявки
),
));
// Отправляем запрос на создание контакта
$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, true);
// Проверяем наличие ошибок при создании контакта
if (array_key_exists('error', $result)) {
die("Ошибка при сохранении контакта: " . $result['error_description']);
}
// Получаем идентификатор созданного контакта
$contactId = $result['result'];
// Формируем URL и данные для обновления сделки, добавляя связь с контактом
$queryURL = "https://namecompany.bitrix24.ru/rest/1/ftwg7avg7yg9a5bv/crm.deal.update.json";
$queryData = http_build_query(array(
"id" => $dealId, // идентификатор сделки
"fields" => array(
"CONTACT_ID" => $contactId, // идентификатор контакта
),
));
// Отправляем запрос на обновление сделки
$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, true);
// Проверяем наличие ошибок при обновлении сделки
if (array_key_exists('error', $result)) {
die("Ошибка при обновлении сделки: " . $result['error_description']);
}
// Все операции успешно выполнены
echo "Заявка успешно сохранена в Bitrix24";
?>
Пошаговая инструкция для поиска раздела «Веб-хуки» в Bitrix24:
- Войдите в свой аккаунт Bitrix24.
- Перейдите в раздел «Приложения» или «Настройки».
- На вашем скриншоте слева в меню есть раздел «Приложения». Возможно, нужный вам пункт находится там.
- Найдите и выберите раздел «Разработчикам» или «API».
- В некоторых версиях Bitrix24 раздел для работы с веб-хуками может быть спрятан в настройках для разработчиков или API.
- Ищите раздел «Веб-хуки» или «Входящие вебхуки».
- Если вы не видите раздел «Веб-хуки», попробуйте найти «Входящие вебхуки» или «Webhooks».
Альтернативный путь:
Если шаги выше не помогли, попробуйте следующее:
- В меню «Приложения» найдите «Маркет» или «Marketplace».
- Иногда доступ к вебхукам можно получить через дополнительные модули или приложения из Marketplace Bitrix24.
- Используйте поиск по настройкам.
- В верхней части панели настроек может быть строка поиска. Попробуйте ввести «веб-хуки» или «webhooks».
Конкретные шаги:
- Перейдите в раздел «Приложения» (как на вашем скриншоте).
- Найдите «API и веб-хуки» или похожий раздел.
- Если есть строка поиска, введите «веб-хук».
- Следуйте инструкциям для создания веб-хука, как было описано ранее.
Если эти шаги не помогли, пожалуйста, предоставьте дополнительные детали о версии Bitrix24, которую вы используете, или обратитесь в поддержку Bitrix24 для уточнения местоположения нужного раздела.