Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php");
- //В эту переменную записывае адрес входящего вебхука БЕЗ указания метода, со слешем в конце
- //Пример: https://rbs.bitrix24.ru/rest/11/p2b2yyihcjwqo69t/
- $endPoint = "https://rbs.bitrix24.ru/rest/11/p2b2yyihcjwqo69t/";
- /**
- * Основные поля:
- * FORM_NAME - название лида
- * NAME - имя лида (обязательное)
- * PHONE - телефон
- * EMAI - почта
- * UTM_* - утм метки (передаем капсом)
- * Также можно добавить любое другое поле и на 69 строке добавить его в список проверяемых полей
- */
- /*
- Пример вызова скрипта на Jquery
- В запросе указываем основные поля + utm метки по желанию (метки передаем капсом)
- $.ajax({
- url: "/leadadd.php",
- data: {
- FORM_NAME: 'добавлен лид с сайта',
- NAME: 'imya',
- PHONE: '+7(999)9999999',
- EMAIL: 'te@as.ru',
- UTM_SOURCE: 'google'
- }
- });
- */
- if(!empty($endPoint)){
- $request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
- //если не передали имя то ничего не делаем
- if(empty($request->get('NAME'))) return;
- $requestB24 = [
- 'fields' => [
- "TITLE" => !empty($request->get('FORM_NAME')) ? $request->get('FORM_NAME') : "Лид с сайта: {$request->get('NAME')}",
- "NAME" => $request->get('NAME'),
- "STATUS_ID" => "NEW",
- "OPENED" => "Y"
- ],
- 'params' => ['REGISTER_SONET_EVENT' => 'Y']
- ];
- if(!empty($request->get('PHONE'))){
- //оставляем в телефоне только цифры
- $phone = str_replace([' ', '-', '+', '(', ')'], '', $request->get('PHONE'));
- if(!empty($phone)){
- $requestB24['fields']['PHONE'] = [
- ['VALUE' => $phone, 'VALUE_TYPE' => 'MOBILE']
- ];
- }
- }
- if(!empty(trim($request->get('EMAIL')))){
- $requestB24['fields']['EMAIL'] = [
- ['VALUE' => trim($request->get('EMAIL')), 'VALUE_TYPE' => 'WORK']
- ];
- }
- //Здесь можем прописать любые поля для передаяи в лида
- //список полей: https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php
- $utmFields = ['UTM_SOURCE', 'UTM_MEDIUM', 'UTM_CAMPAIGN', 'UTM_CONTENT', 'UTM_TERM'];
- foreach($utmFields as $field){
- if(!empty($request->get($field))){
- $requestB24['fields'][$field] = $request->get($field);
- }
- }
- $httpClient = new \Bitrix\Main\Web\HttpClient();
- $httpClient->setHeader('Content-Type', 'application/json', true);
- $httpClient->post($endPoint . "crm.lead.add", json_encode($requestB24));
- }
Add Comment
Please, Sign In to add comment