Интеграции · Tilda · UTM · мониторинг
Tilda → Bitrix24: заявки, UTM и мониторинг без потерь
Клиент:
Онлайн-школа, NDA
Категория: Интеграции
Стек: PHP 8, Tilda webhooks, Bitrix24 REST, cron, уведомления Bitrix24
Срок: внедрялось поэтапно
Проблема
Регистрации с Tilda попадали в Bitrix24 почти без источника, поэтому рекламу оценивали вслепую. Однажды сломанный хук стоил школе 450 регистраций — и этого никто не заметил вовремя.
Ограничения
Tilda сама решает, повторять ли отправку, а сломанный приём не видно со стороны. Контакты уже задублированы, UTM за прошлые месяцы есть только в выгрузках, а слияние контактов необратимо.
Что сделал
- Идемпотентный приём заявок по tranid: повтор не создаёт дубль, а при ошибке приёмник отвечает 502, чтобы Tilda повторила отправку
- UTM-метки собираются из полей формы, cookie и referrer; исправлена порча кириллицы в метках и названиях
- Почасовое слияние дублей контактов по телефону с предохранителем на число слияний за прогон; без явного аргумента — только отчёт
- Разовое восстановление UTM из CSV-выгрузок: заполняются только пустые поля, уже заполненные данные не перезаписываются
- Мониторинг интеграций каждые 15 минут: тишина от Tilda в рабочее время, очередь ChatApp, зависшие задания — с уведомлениями прямо в Bitrix24
Архитектура
Tilda
→ Идемпотентный приёмник
→ UTM и дедупликация
→ Bitrix24 REST
→ Мониторинг каждые 15 минут
Результат
После восстановления источник есть у 2932 сделок Tilda из 4284 — вместо 115. Остановка приёма заявок теперь видна в течение 15 минут в самом Bitrix24, а не через месяц в отчёте.
Что можно переиспользовать
Идемпотентный приёмник вебхуков с ответом 502 для повтора
Сбор UTM из формы, cookie и referrer
Healthcheck интеграций с уведомлениями в Bitrix24