Стоит задача получать заявки в црм битрикс24 с формы лендинга. В Интернете толком ничего не нашел. Только это видео - https://www.youtube.com/watch?v=nDk69BmyEv4 Содержимое: index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>bitrix24 rest</title>
</head>
<body>
<form method="post" id="form">
<input type="hidden" name="DATA[TITLE]" value="Заявка с лендинга тест 1">
<input type="text" name="DATA[NAME]" required placeholder="Ваше имя"><br>
<input type="text" name="DATA[PHONE_MOBILE]" required placeholder="Ваш телефон"><br>
<button>Отправить</button>
</form>
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="common.js"></script>
</body>
</html>
common.js
$(document).ready(function() {
$("#form").submit(function() {
$.ajax({
type: "POST",
url: "rest.php",
data: $(this).serialize()
}).done(function() {
alert("Спасибо за заявку!");
});
return false;
});
});
rest.php
<?
// CRM server conection data
define('CRM_HOST', 'your_domain.bitrix24.com'); // your CRM domain name
define('CRM_PORT', '443'); // CRM server port
define('CRM_PATH', '/crm/configs/import/lead.php'); // CRM server REST service path
// CRM server authorization data
define('CRM_LOGIN', 'login'); // login of a CRM user able to manage leads
define('CRM_PASSWORD', 'password'); // password of a CRM user
// OR you can send special authorization hash which is sent by server after first successful connection with login and password
//define('CRM_AUTH', 'e54ec19f0c5f092ea11145b80f465e1a'); // authorization hash
/********************************************************************************************/
// POST processing
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$leadData = $_POST['DATA'];
// get lead data from the form
$postData = array(
'TITLE' => $leadData['TITLE'],
'COMPANY_TITLE' => $leadData['COMPANY_TITLE'],
'NAME' => $leadData['NAME'],
'LAST_NAME' => $leadData['LAST_NAME'],
'COMMENTS' => $leadData['COMMENTS'],
);
// append authorization data
if (defined('CRM_AUTH'))
{
$postData['AUTH'] = CRM_AUTH;
}
else
{
$postData['LOGIN'] = CRM_LOGIN;
$postData['PASSWORD'] = CRM_PASSWORD;
}
// open socket to CRM
$fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
if ($fp)
{
// prepare POST data
$strPostData = '';
foreach ($postData as $key => $value)
$strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);
// prepare POST headers
$str = "POST ".CRM_PATH." HTTP/1.0\r\n";
$str .= "Host: ".CRM_HOST."\r\n";
$str .= "Content-Type: application/x-www-form-urlencoded\r\n";
$str .= "Content-Length: ".strlen($strPostData)."\r\n";
$str .= "Connection: close\r\n\r\n";
$str .= $strPostData;
// send POST to CRM
fwrite($fp, $str);
// get CRM headers
$result = '';
while (!feof($fp))
{
$result .= fgets($fp, 128);
}
fclose($fp);
// cut response headers
$response = explode("\r\n\r\n", $result);
$output = '<pre>'.print_r($response[1], 1).'</pre>';
}
else
{
echo 'Connection Failed! '.$errstr.' ('.$errno.')';
}
}
else
{
$output = '';
}
// HTML form
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?=$output;?>
<form action="rest.php" method="post">
Title*: <input type="text" name="DATA[TITLE]" value="" /><br />
Company Name: <input type="text" name="DATA[COMPANY_TITLE]" value="" /><br />
First Name: <input type="text" name="DATA[NAME]" value="" /><br />
Last Name: <input type="text" name="DATA[LAST_NAME]" value="" /><br />
Comments: <textarea name="DATA[COMMENTS]"></textarea><br />
<input type="submit" value="Send" />
</form>
Если Вам нужно передать данные в Bitrix24, то, лучше всего, посмотреть на их REST API. К примеру, вот тут- https://dev.1c-bitrix.ru/rest_help/tasks/task/item/add.php есть вот такой пример:
"you_domen/rest/task.item.add.json?".http_build_query(
array(
"auth" => "token",
"arNewTaskData" => array(
"TITLE" => "",
"DESCRIPTION" => "",
...
)
),
);
Рекомендую изучить, возможно там вы найдете именно то, что Вам требуется.
UPD. Для лидов в том же REST API тоже есть раздел. Читать в следующем порядке:
Там можно как из PHP, так и через JS API работать вроде бы.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В задаче gulp по сборке js используется rollup, точнее плагин для gulp gulp-better-rollupДля транспилирования ES6 кода в ES5 babel
Дано: Пишу приложение на Электрон, есть текстовый файл, из которого нужно получить массив именМассив успешно получен, можно вывести в консоль
подскажите, как сделать чтобы черный квадрат не смог проходить сквозь зеленый квадрат
Написал скрипт для постройки блоков в виде кирпичной кладкиНо когда не указываю явную высоту блока, то скрипт неверно считает высоту и соответственно...