KeyCRM Form Catcher — заявки з будь-якого лендінга у KeyCRM
Безкоштовний form-catcher для статичних лендінгів: два файли (PHP-relay + JS) — і будь-яка HTML-форма шле заявки у KeyCRM з UTM-мітками. API-ключ схований на сервері, захист honeypot і rate-limit.
Що всередині
- Будь-яка HTML-форма починає слати заявки в KeyCRM
- Лише два файли: PHP-relay і JS — без CMS, composer і jQuery
- API-ключ зберігається на сервері, у браузер не потрапляє
- Автоматично передаються UTM-мітки джерела заявки
- Працює на статичних лендінгах і будь-якому хостингу з PHP
- Безкоштовний
KeyCRM Form Catcher — легкий form-catcher для статичних лендінгів: будь-яка HTML-форма починає слати заявки прямо у KeyCRM. Це всього два файли — keycrm-catcher.php (серверний relay, який ховає API-ключ) і keycrm-forms.js (біндиться до форм) — без CMS, без composer-залежностей, без jQuery. Ідеально для лендінгів на чистому HTML, де ставити WordPress заради однієї форми — зайве.
Інструмент повністю безкоштовний. Код відкритий на GitHub: github.com/catcodestudio/keycrm-form-catcher. Потрібен тільки API-ключ з вашого кабінету KeyCRM і хостинг з PHP.
Як це виглядає для покупця

Як це працює — крок за кроком
- Відвідувач заповнює форму на лендінгу — достатньо додати формі атрибут
data-keycrm, іkeycrm-forms.jsперехопить її сам. - JS збирає дані: поля форми плюс
page_url, referrer і всі UTM-мітки — додаються автоматично. - Запит іде на серверний relay
keycrm-catcher.php— API-ключ живе тільки на сервері й ніколи не світиться у фронтенді. - Relay перевіряє заявку: honeypot проти ботів, rate-limit по IP, перевірка Origin, валідація (телефон або email — обов’язковий).
- Заявка створюється у KeyCRM — як замовлення (POST /order, працює одразу навіть у тріалі) або як картка ліда у воронці (POST /pipelines/cards). Стандартні UTM потрапляють в аналітику KeyCRM, referrer і сторінка — у коментар менеджеру.
- Відвідувач бачить результат: повідомлення з
data-successабо редірект зdata-redirect; на формі спрацьовують подіїkeycrm:success/keycrm:error— зручно вішати аналітику.
Скільки коштує
Безкоштовно, код відкритий. Завантажуйте з GitHub або кнопкою на цій сторінці — без тарифів і лімітів на кількість заявок з боку скрипта.
Технічні вимоги
- PHP 7.4+ з розширенням cURL — підійде будь-який хостинг
- Будь-який HTML-лендінг — CMS не потрібна
- API-ключ KeyCRM — кабінет KeyCRM → Налаштування → API
- Для режиму картки ліда — створена воронка в KeyCRM (Ліди → Воронки) та її ID
Що під капотом
- API-ключ тільки на сервері — фронтенд спілкується з relay, а не з KeyCRM напряму; ключ неможливо витягти з коду сторінки.
- Honeypot-поле: людина його не бачить, бот заповнює. Непорожнє — тихий фейковий success, бот не дізнається, що його зловили.
- Rate-limit по IP — максимум 10 заявок з одного IP за годину (налаштовується константою), лічильники у системному temp.
- Origin/CORS-перевірка — впишіть свої домени в
KEYCRM_ALLOWED_ORIGINS, і relay відхилятиме запити з чужих сайтів. - Relay приймає звичайний POST (form-encoded або JSON) — слати можна не лише через
keycrm-forms.js, а й з Contact Form 7, кастомного fetch чи будь-якого іншого коду.
Як встановити
- Завантажте
keycrm-form-catcher-1.0.0.zipі розпакуйте. - Закиньте
keycrm-catcher.phpіkeycrm-forms.jsу корінь сайту (або будь-яку зручну папку). - У
keycrm-catcher.phpвпишіть API-ключ у константуKEYCRM_API_KEYі свої домени вKEYCRM_ALLOWED_ORIGINS. - Підключіть
<script src="/keycrm-forms.js"></script>і додайте формі атрибутdata-keycrm. - Відправте тестову заявку — вона з’явиться у KeyCRM. Робочий приклад є у файлі
example.html.
Історія версій
- 1.0.0 — липень 2026
- Перший публічний реліз: relay + JS-віджет, два режими (замовлення / картка ліда), автозбір UTM, honeypot, rate-limit по IP, Origin/CORS-перевірка, події
keycrm:success/keycrm:error, прикладexample.html.
Часті питання
Чи треба переробляти мою форму?
Ні. Достатньо додати атрибут data-keycrm існуючій формі — скрипт сам збере поля name, phone, email, comment, product і будь-які utm_*.
Чим відрізняються режими «замовлення» і «картка ліда»?
Режим order (за замовчуванням) створює замовлення і працює одразу без налаштувань у CRM — джерело створиться автоматично. Режим card створює картку ліда у воронці — потрібно створити воронку в KeyCRM і вписати її ID у KEYCRM_PIPELINE_ID.
Чи не вкрадуть мій API-ключ?
Ні. Ключ зберігається лише у PHP-файлі на сервері. У браузер він не потрапляє ніколи — фронтенд бачить тільки адресу relay.
Що зі спамом від ботів?
Три рівні захисту: honeypot-поле (бот отримує фейковий success), rate-limit по IP і перевірка Origin. Плюс валідація: заявка без телефону або email не приймається.
Чи можна слати заявки з Contact Form 7 або власного JS?
Так. Relay приймає звичайний POST (form-encoded або JSON) з будь-якого джерела. Для CF7 — повісьте відправку на подію wpcf7mailsent.
Чи побачу я, звідки прийшла заявка?
Так. UTM-мітки передаються у поле marketing (видно в аналітиці KeyCRM), а сторінка і referrer додаються в коментар менеджеру.
Питання щодо модуля?
Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.
Поки що жодного відгуку. Будь першим — нижче.
Залишити відгук
Відгук модерується перед публікацією — це звичайно займає до 24 годин.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Поставити питання
Зазвичай відповідаємо протягом 24 годин у робочий час.
Експрес-оплата
Купівля модуля
—