Перейти к содержимому
N1
CRM / Bitrix24 · кроны · контроль сделки

CRM сама следит за дисциплиной сделки

Клиент: Автомобильный маркетплейс, NDA Категория: CRM / Bitrix24 Стек: PHP 8.3, Bitrix24 D7, cron + flock, задачи Bitrix24, 1С (HTTP API), уведомления в чат Срок: внедрялось поэтапно
Проблема

Правила сделки держались на памяти менеджеров: резерв авто по предварительному договору мог висеть сутками, оплату и сканы подписанных документов проверяли выборочно, а итог договора в CRM расходился с фактом у 12 из 71 проверенной сделки (17%).

Ограничения

Правила бьют по живым сделкам и резервам авто в 1С — ложное срабатывание откатит хорошую сделку. Суммы меняет 1С без событий сделки, а согласование идёт параллельно с кронами.

Что сделал
  • Автовозврат просроченного резерва по предварительному договору через 3 часа: снятие в 1С и откат сделки, с учётом гонки с согласованием и 43 тестами
  • Контроль оплаты на 3-й день после согласования договора: задача менеджеру с контролем результата
  • Контроль сканов подписанных документов: задача, окно проверки «ОК / Отказ» и утренний сторож просрочек
  • Пересинхронизация итога договора каждые 15 минут с предохранителем от массовых изменений — суммы меняет 1С без событий сделки
  • Сторож зависших выдач: если 1С ответила ошибкой, но могла провести продажу у себя, ответственные получают алерт в чат
  • Устранена двойная отправка согласования в 1С — в августе так уходило 172 согласования из 758
Архитектура
Cron + flock → Правило в dry-run → Флаг включения → Задача, откат или алерт → Сделка и 1С
Результат

Правила готовы и включаются на проде в сентябре 2026 — каждое после холостых прогонов и по флагу. Окно в 3 часа выбрано по замеру: 97% сделок проходят от предварительного до основного договора за медианные 6 минут, так что здоровый поток правило не задевает.

Что можно переиспользовать
Шаблон крон-правила: dry-run → флаг → включение Задача с контролем результата вместо «дела» Досинхронизация с предохранителем от массовых изменений