Tilda данные веб-формы в Битрикс24

Создаем Webhook в Tilda. В параметрах WEBHOOK URL указываем адрес исполняемого скрипта. Подключаем CREST библиотеку и начинаем.

Логируем входящий POST запрос, чтобы легко разобрать параметры запроса:


$request = $_POST;
CRest::setLog($request, 'tilda_request');
    

Можем предварительно проверить данные контакта на предмет уже существующего, и если нет, то создать новый контакт:


$fieldsContact = [];
    if (isset($request['Name'])) {
        $fieldsContact['NAME'] = $request['Name'];
    } else {
        $fieldsContact['NAME'] = 'Без имени';
    }
    if (isset($request['Email'])) {
        $fieldsContact['EMAIL'] = [
            [
                'VALUE' => $request['Email'],
                'VALUE_TYPE' => 'WORK',
            ],
        ];
    }
    if (isset($request['Phone'])) {
        $fieldsContact['PHONE'] = [
            [
                'VALUE' => $request['Phone'],
                'VALUE_TYPE' => 'WORK',
            ],
        ];
    }
    $fields = [
        'fields' => $fieldsContact,
        'params' => ['REGISTER_SONET_EVENT' => 'N']
    ];
    $contact = CRest::call('crm.contact.add', $fields);
    $contactID = $contact['result'];
    CRest::setLog($contactID, 'contactID');
    if ($contactID) {
        CRest::setLog($contactID, 'tilda_contact_id');
    } else {
        CRest::setLog($contact, 'tilda_contact_id_error');
    }
    

После чего создать CRM Лид или Сделку


if(isset($request['formname'])) {
    $arFields["TITLE"] = "Tilda веб-форм ".$request['formname']." от " . $request['Phone'];
} else {
    $arFields["TITLE"] = "Tilda веб-форм";
}

$arFields["CATEGORY_ID"] = 0;
$result = CRest::call('crm.deal.add', ['fields' => $arFields]);
if ($result['result']) {
    CRest::setLog($result['result'], 'tilda_deal_id');
} else {
    CRest::setLog([$result, $request], 'tilda_deal_error');
}
    

Связаться с нами

Свяжитесь с нами удобным для вас способом

Наши контакты
Написать нам