Notifly в Tilda
Tilda — конструктор сайтов без бэкенда, но у форм есть важная возможность:
отправка данных на вебхук. При сабмите Tilda делает POST с полями формы на
указанный URL. Есть два способа превратить это в push Notifly: свой мини-приёмник
на PHP или напрямую через Webhook Router — без единой
строки кода.
Способ 1: крошечный PHP-приёмник
Заголовок раздела «Способ 1: крошечный PHP-приёмник»Разместите один файл на любом хостинге с PHP и укажите его URL в настройках формы
Tilda (Настройки сайта → Формы → Webhook). Приёмник проверяет секрет,
собирает поля и вызывает общий notifly_send() — тот же, что и для остальных
CMS.
<?php// tilda-receiver.php — принимает вебхук Tilda и шлёт pushrequire __DIR__ . '/notifly.php'; // здесь определён notifly_send()
// 1. Проверка секрета. Tilda не подписывает запрос, поэтому добавляем// собственный секрет в URL вебхука: .../tilda-receiver.php?secret=XXXX$secret = getenv('TILDA_SECRET') ?: 'change-me';if (!hash_equals($secret, $_GET['secret'] ?? '')) { http_response_code(403); exit('forbidden');}
// 2. Tilda шлёт поля как обычный POST (application/x-www-form-urlencoded).$data = $_POST;
// Служебные поля Tilda — не показываем в уведомлении.unset($data['tranid'], $data['formid'], $data['formname'], $data['test']);
// 3. Собираем читаемое тело.$lines = [];foreach ($data as $k => $v) { if (is_string($v) && $v !== '') { $lines[] = "$k: $v"; }}
$formName = $_POST['formname'] ?? 'Форма Tilda';
notifly_send( "✉️ Заявка: $formName", implode("\n", $lines), 7);
// 4. Tilda ждёт быстрый 200 OK, иначе покажет пользователю ошибку.echo 'ok';Важно про безопасность:
- Tilda не подписывает вебхук. Единственная защита из коробки — секрет в URL, поэтому используйте длинную случайную строку и HTTPS.
- Не логируйте PII. Если храните заявки, шифруйте или чистите поля с телефоном/email.
- Отвечайте быстро. Отправку в Notifly делайте с коротким таймаутом (в
notifly_send()он уже 5 секунд), чтобы форма не «висела».
Serverless-вариант того же приёмника (Yandex Cloud Functions, AWS Lambda,
Vercel) выглядит идентично: тот же разбор POST, та же проверка секрета, тот же
вызов Notifly — только обёрнутый в handler функции.
Способ 2: напрямую в Webhook Router
Заголовок раздела «Способ 2: напрямую в Webhook Router»Если не хочется держать даже один PHP-файл — направьте вебхук Tilda прямо в
Webhook Router Notifly. Роутер принимает любой JSON,
проверяет правила и рендерит title/message по шаблону.
- В админке Notifly откройте роутер и скопируйте публичный URL вида
https://notifly.ru/router/R<token>/tilda. - Вставьте этот URL в поле вебхука формы Tilda.
- Создайте правило с путём
/tildaи шаблонами:
titleTemplate: ✉️ Заявка: {{default "Форма Tilda" .Payload.formname}}messageTemplate: Имя: {{default "—" .Payload.Name}} Телефон: {{default "—" .Payload.Phone}} Email: {{default "—" .Payload.Email}}Роутер сохраняет полный payload в истории событий, поэтому первый пробный
сабмит формы удобно использовать как образец: посмотрите реальные имена полей
(Name, Phone, Email и т. д.) и соберите под них шаблон, либо сгенерируйте
правило из примера.
Про безопасность роутера:
- Секретом служит сам токен
R…в URL — держите его в тайне, при утечке перевыпустите (rotate-token). - Можно добавить в правило условие-фильтр (например, поле
testне равноtest), чтобы отсеивать тестовые сабмиты Tilda.
Какой способ выбрать
Заголовок раздела «Какой способ выбрать»| PHP-приёмник | Webhook Router | |
|---|---|---|
| Нужен хостинг | да (1 файл) | нет |
| Валидация секрета | сами (?secret=) | токен в URL |
| Гибкая логика | любая на PHP | правила + шаблоны |
| Быстрый старт | минуты | минуты, без кода |
- Заявки с лендинга — сразу в телефон. Не нужно проверять почту Tilda.
- Работает с любым тарифом Tilda, где доступны вебхуки форм.
- Ноль инфраструктуры во втором варианте — только правило в Notifly.
Что улучшить дальше
Заголовок раздела «Что улучшить дальше»- Разные пути роутера (
/tilda/lead,/tilda/callback) под разные формы. - Приоритет по типу формы: обратный звонок — громче обычной заявки.
- Передача UTM-меток в extras для аналитики.