Перейти к содержимому
N1
Интеграции · Bizon365 · WhatsApp · вебинарная воронка

Вебинарная воронка без ручного перетаскивания сделок

Клиент: Онлайн-школа, NDA Категория: Интеграции Стек: PHP 8, Bitrix24 REST (облако), Bizon365 webhooks, ChatApp (WhatsApp), cron, flock, офлайн-тесты Срок: около 3 недель
Проблема

Онлайн-школа проводит многодневные вебинары, и стадии сделок участников менеджеры двигали руками: кто пришёл, кто нет, кого позвать на эфир. Прошлая интеграция с ChatApp за два дня наплодила ~1470 лишних сделок и 261 лишний контакт.

Ограничения

Боевой облачный портал с роботами и рассылками на стадиях — любой массовый перенос сразу отправляет сообщения живым людям. REST молча игнорирует часть фильтров и ограничивает время работы, а сервер и портал живут в разных часовых поясах.

Что сделал
  • Приём отчётов Bizon365 о присутствии: по дням эфира сделка двигается только вперёд по весам стадий и никогда не откатывается назад
  • Отдельная ветка для кейсовых вебинаров — задача ответственному вместо новой сделки, идемпотентность по sha256-ключу события и режим dry_run без единой записи
  • Перенос не пришедших в «Не пришли» пачками: запись только с --execute, защита от повторного и параллельного запуска, защита присутствовавших на эфире
  • Приглашение за 10 минут до эфира через стадию-триггер с возвратом сделки на исходную стадию; покупатели курса исключаются из рассылки
  • Вступление в WhatsApp-чат через ChatApp переводит сделку на нужную стадию — через файловую очередь с flock вместо создания новых сделок
  • Обёртка над REST, которая не выдаёт ошибки за успех и сама ждёт, когда портал снова разрешит запросы
Архитектура
Bizon365 / ChatApp → Вебхуки и очередь → Правила стадий → Cron-скрипты с --execute → Bitrix24 REST
Результат

Приглашения на эфир ушли 628 участникам из 628 без ошибок, в «Не пришли» перенесены 451 сделка из 451, догнан накопившийся долг в 396 сделок; защита присутствовавших отсеяла 65 из 78 сделок. Ревизия контактов нашла 564 карточки с телефоном в поле «Имя» — источник неудаляемых дублей.

Что можно переиспользовать
Движение сделки «только вперёд» по весам стадий CLI-скрипты массовых операций: dry-run по умолчанию, запись только с --execute Обёртка REST Bitrix24 с честной обработкой ошибок и ожиданием лимита