Перейти к содержимому
N1
CRM, интеграции и автоматизация

Навожу порядок в Bitrix24, CRM и рабочих процессах компании

Чиню то, что тормозит бизнес: дубли и путаницу в CRM, зависшие интеграции между системами, ручную рутину, которую пора автоматизировать. Довожу решение до реальной работы — с документацией и поддержкой после запуска.

Bitrix24 Laravel API-интеграции
5+
лет опыта
50+
интеграций
100+
автоматизированных процессов
10+
отраслей бизнеса
Свой код
а не конструктор Bitrix24
Работаю официально: Договор Счёт Закрывающие документы Предоплата Финальная оплата после приёмки Абонентское сопровождение по договорённости

Выберите вашу ситуацию

Короткий путь под вашу задачу — выберите, что ближе.

Какие задачи закрываю

Если CRM работает нестабильно, данные расходятся, интеграция падает без понятной ошибки или старый код страшно трогать — сначала разбираю причину, потом предлагаю безопасный план исправления.

Лиды создаются дублями Сделки не связаны с лидами Роботы срабатывают не в той стадии Бизнес-процессы зависают CRM тормозит под нагрузкой Синхронизация работает «иногда» Невозможно понять причину ошибки Нет истории обмена Отчёты не сходятся с реальностью Старый код страшно трогать

Нажмите на карточку — откроется развёрнутое описание

Готовые пути решения

Часть задач быстрее запустить на готовом каркасе.

Bitrix24 D7 · коробка · внутренние API

Bitrix24 D7: коробочная разработка и стабилизация

Работаю не только с настройками в интерфейсе, но и на уровне коробки, кода и внутренних API.

Когда это нужно
  • REST уже перегружает портал
  • Стандартной настройки роботов недостаточно
  • Нужны кастомные обработчики событий
  • Тяжёлые операции тормозят CRM
  • Нужны свои вкладки и действия в карточке
  • Логика «размазана» и ломается при изменениях
Что входит
D7-модули Обработчики событий Агенты / cron HL-блоки Смарт-процессы (SPA) Бизнес-процессы Роботы и триггеры Кастомные вкладки и действия CRM Оптимизация тяжёлых операций Перенос тяжёлой логики с REST на D7
Что получит клиент
  • Стабильная логика внутри портала
  • Понятные логи и диагностика
  • Меньше нагрузки на REST
  • Документация по точкам входа
  • Поддерживаемая структура кода
Риски и ограничения
  • Не заменяю полноценного DevOps/SRE
  • Для production-правок сначала смотрю логи и делаю бэкап
  • Точную цену называю после доступа к порталу
Laravel · API · очереди · тесты

Laravel backend, который можно сопровождать

API, админки, личные кабинеты и интеграционные хабы на Laravel — с логами, тестами и понятной структурой.

Когда это нужно
  • Нужен внешний продукт поверх CRM
  • Нужен API или интеграционный хаб
  • Логика не помещается в коробку
  • Нужны очереди и фоновые задачи
  • Нужна админка с ролями
Что входит
Сервисный слой FormRequest-валидация Очереди и jobs Роли и доступы Логирование Тесты (PHPUnit) Админки REST API Интеграционные панели
Что получит клиент
  • Ошибки видны в логах
  • Тяжёлые операции — в очереди
  • Проект проще сопровождать
  • Новые функции без хаоса
  • Тестируемый код
Риски и ограничения
  • Инфраструктуру готовлю в рамках своего решения, не как DevOps-аутсорс
  • Полная переработка старого проекта — отдельной оценкой
REST · webhooks · логи · retry

API-интеграции с логами, retry и защитой от дублей

Интеграция — это не просто REST-запрос. Нужны маппинг, логи, обработка ошибок, retry, защита от дублей и понятный статус обмена.

Когда это нужно
  • Синхронизация работает «иногда»
  • Появляются дубли
  • Данные расходятся между системами
  • Нет истории обмена
  • Ошибка не видна пользователю
  • Нужно связать CRM с внешним сервисом
Что входит
Bitrix24 1С МойСклад TrustMe ПКБ ADATA HeadHunter Huntflow Telegram WhatsApp Asterisk
Что получит клиент
  • Не теряются данные
  • Не создаются дубли
  • Обмен не падает молча
  • Понятные логи входящих/исходящих запросов
  • Возможность повторить неудачную операцию
Риски и ограничения
  • Не отвечаю за сбои на стороне внешних сервисов и провайдеров
  • Маскирую секреты, не логирую токены
  • Сначала тестовый контур, потом production
Согласования · отчёты · фоновые задачи

Автоматизация бизнес-процессов

Когда сотрудники вручную переносят данные, сверяют таблицы, теряют заявки или повторяют однотипные действия — перевожу рутину в код.

Когда это нужно
  • Данные переносят вручную
  • Сверяют таблицы между системами
  • Теряются заявки
  • Согласования идут «на словах»
  • Нет контроля сроков
  • Отчёты собирают руками
Что входит
Согласования Уведомления Отчёты Перенос данных Контроль сроков Заявки сотрудников Статусы клиентов Фоновые проверки
Что получит клиент
  • Меньше ручной работы
  • Заявки и согласования не теряются
  • Прозрачные сроки и статусы
  • Отчёты собираются сами
Риски и ограничения
  • Сначала фиксирую текущий процесс, потом автоматизирую
  • Сложные сценарии — поэтапно
  • Зависит от доступов и данных систем
Аудит · карта проблем · стабилизация

Legacy-аудит: понять причину, а не лечить симптом

Когда проект уже работает, но ломается, документации нет, а переписывать всё с нуля рискованно — сначала разбираю причину, потом предлагаю безопасный план.

Когда это нужно
  • Разработчик ушёл, код остался
  • Нет документации
  • Нет логов
  • Процессы ломаются
  • Страшно трогать production
  • Нужна причина, а не «пофиксить симптом»
Что входит
Обзор структуры проекта Поиск критичных рисков Проверка логирования Проверка интеграций Проверка дублей и ошибок данных Карта проблем План исправления Оценка сроков и бюджета
Что получит клиент
  • Понятная карта проблем
  • Приоритеты и план
  • Оценка сроков
  • Рекомендации по логам и архитектуре
  • Понимание, что можно не переписывать
Риски и ограничения
  • Не трогаю production вслепую
  • Делаю бэкап при риске потери данных
  • Полная переработка архитектуры — отдельной оценкой
Интеграции · Рабочий каркас

Integration Hub

Срок адаптации: от 5–10 рабочих дней Стоимость: от 220 000 ₸

Отдельный backend-хаб для обмена между CRM и внешними системами — с логами, очередями и ручным повтором.

Какие проблемы закрывает
  • Интеграции падают молча
  • Нет истории обмена
  • Нельзя повторить неудачную операцию
  • Данные дублируются
Для кого
Компании с несколькими внешними системами Бизнес, где интеграции работают «иногда»
Что входит в базовую версию
  • Интеграции
  • Логи обмена
  • Retry / backoff
  • Encrypted secrets
  • Health-check
  • Очереди
  • Админка
Что можно адаптировать
Bitrix24 1С МойСклад Telegram произвольный REST API
Архитектура
External API → Webhook Inbox → Queue → Mapper → Bitrix24 / CRM → Logs / Retry
Стек
Laravel PostgreSQL Redis Queue Vue / Inertia
Ограничения
  • Не заменяет ESB/iPaaS enterprise-класса
  • Каждая система подключается отдельной задачей
Аудит · Готово к адаптации

CRM Audit Pack

Срок адаптации: от 1–7 дней Стоимость: от 90 000 ₸

Готовый формат диагностики: карта проблем, риски и план исправлений — до того, как что-то трогать.

Какие проблемы закрывает
  • Дубли лидов и сделок
  • Роботы и БП срабатывают не так
  • Тяжёлые REST-запросы
  • Нет логов и истории
Для кого
CRM работает нестабильно Старый проект без документации Перед крупной доработкой
Что входит в базовую версию
  • Обзор структуры
  • Проверка логов
  • Поиск рисков
  • Карта проблем
  • Таблица рисков
  • План исправлений
Что можно адаптировать
Глубина аудита Сопровождение исправлений по часам/пакетом
Архитектура
Logs + DB + Business Process + Timeline → Diagnosis → Risk Map → Fix Plan
Стек
Bitrix24 D7 PHP SQL Logs
Ограничения
  • Исправления — отдельным этапом
  • Без доступа к логам/коду точность ниже
Логи / мониторинг · Рабочий каркас

Webhook Inbox / Logger

Срок адаптации: от 3–7 рабочих дней Стоимость: от 120 000 ₸

Видеть каждое входящее событие: payload, подпись, статус обработки и ошибку — с ручным повтором.

Какие проблемы закрывает
  • Непонятно, пришло ли событие
  • Нет payload для разбора
  • Ошибка не видна
  • Нельзя переотправить
Для кого
Есть входящие webhooks от внешних систем Нужно понять, почему «не пришло»
Что входит в базовую версию
  • Приём webhooks
  • Хранение payload
  • Проверка подписи
  • Статус обработки
  • Ошибки
  • Ручной повтор
Что можно адаптировать
Источники событий Правила обработки Связь с задачами
Архитектура
External source → Webhook Inbox → Signature check → Queue → Processing → Logs
Стек
Laravel PostgreSQL Queue
Ограничения
  • Собирается на базе Integration Hub
  • Обработка под каждый источник — отдельно
Кабинеты · Готово к адаптации

Laravel Client Cabinet

Срок адаптации: от 2–4 недель Стоимость: от 300 000 ₸

Готовый каркас внешнего кабинета на Laravel, который адаптируется под ваши процессы и CRM.

Какие проблемы закрывает
  • Клиенты не видят статусы и данные сами
  • Поддержка перегружена однотипными вопросами
  • Заявки и обращения теряются в почте/мессенджерах
Для кого
Бизнес, которому нужен внешний продукт для клиентов Сервисные компании Компании с самообслуживанием клиентов
Что входит в базовую версию
  • Авторизация и роли
  • Заявки и статусы
  • Сообщения
  • Документы и счета
  • Уведомления
  • Интеграция с CRM
  • Админка
Что можно адаптировать
Брендинг и поля заявок Дополнительные модули Интеграция с вашей CRM/биллингом
Архитектура
Client → Cabinet (Laravel) → API → CRM / Billing / Documents / Messages
Стек
Laravel Vue / Inertia PostgreSQL Redis Queue
Ограничения
  • Не SaaS с лицензией — это адаптируемая база
  • Сложные кастомные модули оцениваются отдельно
Кабинеты · Рабочий каркас

Bitrix24 Client Cabinet

Срок адаптации: от 2–4 недель Стоимость: от 280 000 ₸

Кабинет клиента поверх данных Bitrix24 — когда CRM уже хранит всё нужное.

Какие проблемы закрывает
  • Клиентам негде смотреть статусы из CRM
  • Менеджеры пересылают данные вручную
Для кого
Компании на Bitrix24 Бизнес, где данные уже живут в CRM
Что входит в базовую версию
  • Статусы заявок
  • Обращения
  • Счета
  • Сообщения
  • Связь с CRM-данными
Что можно адаптировать
Набор полей и разделов Интеграция с внешними сервисами Дизайн под бренд
Архитектура
Client → Cabinet (Bitrix24) → D7 / REST → CRM-данные портала
Стек
Bitrix24 D7 HL-блоки REST / OpenLines
Ограничения
  • Зависит от редакции и доступов Bitrix24
  • Тяжёлая логика выносится на D7 отдельно
Кабинеты · По запросу

Кабинет сотрудника

Срок адаптации: обсуждается Стоимость: по запросу

Внутренний кабинет под ваши процессы — проектируется по запросу.

Какие проблемы закрывает
  • Сотрудники работают в разрозненных таблицах
  • Нет единой точки для задач и заявок
Для кого
Команды с внутренними процессами Распределённые отделы
Что входит в базовую версию
  • Авторизация и роли
  • Задачи / заявки
  • Доступ к данным процессов
Что можно адаптировать
Под конкретный процесс компании
Архитектура
Employee → Cabinet → API → Internal data / CRM
Стек
Laravel Vue / Inertia
Ограничения
  • Проектируется под задачу — требует обсуждения объёма
Кабинеты · По запросу

Партнёрский кабинет

Срок адаптации: обсуждается Стоимость: по запросу

Портал для партнёров и дилеров — под вашу модель работы, по запросу.

Какие проблемы закрывает
  • Партнёры не видят статусы заявок
  • Документы и расчёты ходят вручную
Для кого
Дилерские и партнёрские сети Компании с внешними агентами
Что входит в базовую версию
  • Авторизация партнёров
  • Заявки и статусы
  • Документы
  • Расчёты
Что можно адаптировать
Под партнёрскую модель и условия
Архитектура
Partner → Cabinet → API → CRM / Documents
Стек
Laravel Vue / Inertia
Ограничения
  • Проектируется под партнёрскую модель

Примеры задач, которые уже решал

Без раскрытия клиентов: проблема, подход и операционный результат

Нажмите на карточку — откроется развёрнутое описание

Автомобильный маркетплейс, NDA

Кредитные заявки в банк прямо из сделки

Проблема: Кредитная заявка жила вне CRM: данные клиента и автомобиля менеджер переносил вручную, а решение банка в сделке не было видно — его выясняли звонками. По сделке нельзя бы...

Что сделал: Смарт-процесс «Кредитные заявки» с 21 полем результата и правами по ролям: менеджер видит свои заявки, руководитель — свой отдел, администратор — все

Результат: Модуль работает на проде с 10.08.2026, с 08.09 — на боевом контуре брокера, SMS клиентам уходят с 31.08. Логику без сети покрывают 192 CLI-проверки, а каждое событие обмена видно в журнале и...

PHP 8.3, Bitrix24 D7, смарт-процессы, ORM, REST API финансов... внедрялось поэтапно
Подробнее →
Онлайн-школа, NDA

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

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

Что сделал: Приём отчётов Bizon365 о присутствии: по дням эфира сделка двигается только вперёд по весам стадий и никогда не откатывается назад

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

PHP 8, Bitrix24 REST (облако), Bizon365 webhooks, ChatApp (W... около 3 недель
Подробнее →
Юридическая компания, NDA

Восстановление документов дел: «в сделках пропадают файлы»

Проблема: Юристы жаловались, что из дел пропадают документы. Причина нашлась в роботах трёх смарт-процессов: каждый называл папку дела на Общем диске по-своему, а при переименовани...

Что сделал: Разведка только на чтение: пул папок, классификация каждой ссылки из карточек (рабочая, через сокращатель, старый портал, пустая, мусор), папки-сироты

Результат: Разведка нашла 334 папки, 16 групп дубликатов и 298 исправимых ссылок через сокращатель. Боевой прогон обработал 750 элементов: скопировано 2544 файла, починено 302 ссылки, заполнено 250 id...

PHP 8, Bitrix24 D7 (Disk, CRM Factory), CLI, Bash-пайплайн,... около недели
Подробнее →
Финансовая компания, NDA

Безопасность коробочного Bitrix24 и аудиторский след под требования регулятора

Проблема: Коробочный Bitrix24 финансовой компании годами обрастал скриптами: часть из них по анонимному запросу выдавала сессию администратора, API пропускал запросы без токена, до...

Что сделал: Закрыты 6 мест выдачи админской сессии по анонимному запросу и обход авторизации в 6 API-эндпоинтах; из ответов убраны stack-trace

Результат: Накопленные логи заархивированы: 6344 файла на 2041 МБ сжаты в архив 120 МБ с контрольными суммами, каталог local/ уменьшился с 2,6 ГБ до 578 МБ. Критичные дыры доступа закрыты, а в логах ви...

PHP 8, Bitrix24 D7, .env, RSA-OAEP (WebCrypto), syslog, cron... около месяца
Подробнее →
Страховая компания, NDA

Help-desk на смарт-процессе Bitrix24: каталог услуг и SLA по данным старого деска

Проблема: Прежний help-desk на OSTicket не давал управлять сервисом: 60% из 21 412 записей за 6 лет — автоматические письма мониторинга, всё раскладывалось по 5 категориям, 92% жив...

Что сделал: Разобрана выгрузка OSTicket: отделён мониторинг, посчитаны частоты по темам — из них собран двухуровневый каталог из 11 направлений и 32 услуг, частые...

Результат: Вместо пяти категорий и одного срока на всё — каталог по фактическому спросу, свои нормативы у каждой услуги (от 15/60 минут на сброс пароля до 480/4800 на доработку портала) и срок, который...

PHP 8.4, Bitrix24 D7, смарт-процессы, Списки, агенты, Vue, P... внедрялось поэтапно
Подробнее →
Сеть бизнес-центров, NDA

Планы аренды и аналитика занятости для сети бизнес-центров

Проблема: Управляющая компания сети бизнес-центров показывала свободные площади прайс-листом и на словах — без визуализации по этажам, а занятость по объектам сети была не видна в...

Что сделал: Встраиваемый конструктор интерактивных планов этажей — публичный iframe/JS-виджет без авторизации Bitrix (CSP/CORS настроены на встраивание с внешних...

Результат: По сети: 93 этажа, 1087 офисов и 152 загруженных плана — с занятостью, которая обновляется из CRM автоматически, а не сверяется вручную по каждому объекту.

Bitrix24 (каталог, cron), PHP, embeddable JS-виджет 4–8 недель
Подробнее →
Финансовая компания, NDA

Автообзвон «застрявших» онлайн-заявок голосовым роботом

Проблема: Клиенты начинали онлайн-заявку и останавливались на одном из шагов — регистрация, доходы, данные авто, подписание. Прозвонить каждого вручную менеджеры не успевали, а отп...

Что сделал: Cron каждые 15 минут выбирает сделки без движения 30+ минут по штатной истории стадий: смена стадии сбрасывает таймер

Результат: Застрявшие заявки уходят роботу автоматически, без ручного прозвона, и клиент не получает двух звонков по разным карточкам. Каждый прогон пишет в лог причину пропуска по каждой карточке.

PHP 8, Bitrix24 D7 и REST, история стадий CRM, REST API голо... внедрялось поэтапно
Подробнее →
Автомобильный маркетплейс, NDA

Кастомный BI-дашборд поверх Bitrix24

Проблема: В автомобильном маркетплейсе руководству и колл-центру нужна была единая воронка «обращение → визит → продажа» поверх Bitrix24 — штатные отчёты CRM такой срез не показыва...

Что сделал: 20 параметризованных SQL-отчётов поверх live-данных CRM с безопасной подстановкой фильтров

Результат: Руководство, колл-центр, РОПы и маркетинг получили набор дашбордов поверх live-данных CRM вместо выгрузок в Excel: воронка, автоцентр, маркетинг — с общим кешем, расшифровкой цифр кликом и я...

PHP, Bitrix24 D7, SQL-отчёты, кеш с TTL, whitelisted AJAX 4–6 недель
Подробнее →

Есть похожая проблема? Покажите пример — скажу, как бы начал диагностику.

Интеграции · Bitrix24 · кредитные заявки

Кредитные заявки в банк прямо из сделки

Стек: PHP 8.3, Bitrix24 D7, смарт-процессы, ORM, REST API финансового брокера, SMS-шлюз оператора, бизнес-процессы, cron Срок: внедрялось поэтапно Клиент: Автомобильный маркетплейс, NDA

Кредитная заявка жила вне CRM: данные клиента и автомобиля менеджер переносил вручную, а решение банка в сделке не было видно — его выясняли звонками. По сделке нельзя было понять, где заявка и почему отказ.

Ограничения

Обмен идёт через финансового брокера, чей реальный формат колбэков расходился с ТЗ; у банка свой справочник статусов, у кредитных продуктов — лимиты по сумме и сроку. После согласования договора подавать заявку уже нельзя.

Что сделал
  • Смарт-процесс «Кредитные заявки» с 21 полем результата и правами по ролям: менеджер видит свои заявки, руководитель — свой отдел, администратор — все
  • Отправка брокеру из карточки сделки: черновик, проверка обязательных полей и лимитов продукта, запрет подачи после согласования договора, защита от двойного нажатия
  • Приём колбэков: авторизация по ключу, идемпотентность по eventId, толерантный разбор тела — колбэки 5 дней молча не писались из-за расхождения с ТЗ, найдено и исправлено
  • Справочник статусов банка — 28 бизнес-статусов и 16 технических; окончательное решение ставит менеджеру «дело» и пишет в таймлайн сделки
  • SMS клиенту со ссылкой на анкету банка по правилу «одна заявка — одна SMS», с приёмом отчёта о доставке
  • Журнал обмена по 6 направлениям, робот БП «Отправить заявку» и утренний сторож заявок без событий дольше 3 дней
Архитектура
Карточка сделки → Валидация и смарт-процесс → API финансового брокера → Колбэки и статусы банка → SMS и «дело» менеджеру
Результат

Модуль работает на проде с 10.08.2026, с 08.09 — на боевом контуре брокера, SMS клиентам уходят с 31.08. Логику без сети покрывают 192 CLI-проверки, а каждое событие обмена видно в журнале и в таймлайне сделки.

Что можно переиспользовать
Приёмник колбэков с ключом, идемпотентностью и толерантным разбором тела Журнал обмена с маскированием персональных данных Крон-сторож «зависших» заявок
Интеграции · Bizon365 · WhatsApp · вебинарная воронка

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

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

Онлайн-школа проводит многодневные вебинары, и стадии сделок участников менеджеры двигали руками: кто пришёл, кто нет, кого позвать на эфир. Прошлая интеграция с 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 с честной обработкой ошибок и ожиданием лимита
CRM / Bitrix24 · Диск · восстановление данных

Восстановление документов дел: «в сделках пропадают файлы»

Стек: PHP 8, Bitrix24 D7 (Disk, CRM Factory), CLI, Bash-пайплайн, cron Срок: около недели Клиент: Юридическая компания, NDA

Юристы жаловались, что из дел пропадают документы. Причина нашлась в роботах трёх смарт-процессов: каждый называл папку дела на Общем диске по-своему, а при переименовании дела создавал новую — старая папка с документами оставалась без ссылки из карточки.

Ограничения

Удалять нельзя ничего: это рабочие документы по судебным делам. Часть ссылок шла через внешний сокращатель или вела на старый портал, у части дел свои контейнеры папок, а спорные совпадения можно решать только вместе с юристами.

Что сделал
  • Разведка только на чтение: пул папок, классификация каждой ссылки из карточек (рабочая, через сокращатель, старый портал, пустая, мусор), папки-сироты
  • Слияние папок-дубликатов с приоритетом корневого дела: содержимое переносится в каноническую папку, источники не удаляются, подозрительные группы — на ручной разбор
  • Синхронизация файлов из файловых полей карточки в папку дела без дублей по имени и размеру, починка ссылок и дозаполнение служебного поля с id папки
  • Пересоздание недостающих папок для дел, у которых рабочей папки на диске не было вообще
  • Итоговый пайплайн одной командой: по умолчанию три dry-run, боевой прогон — только с подтверждением, остановка на первой ошибке; ночной синк по cron
Архитектура
Разведка (read-only) → Слияние дубликатов → Пересоздание папок → Синк файлов и ссылок → Ночной cron
Результат

Разведка нашла 334 папки, 16 групп дубликатов и 298 исправимых ссылок через сокращатель. Боевой прогон обработал 750 элементов: скопировано 2544 файла, починено 302 ссылки, заполнено 250 id папок — 0 ошибок; повторная проверка подтвердила 7182 файла на своих местах по 780 элементам.

Что можно переиспользовать
Разведка «только чтение» с классификацией ссылок перед любыми правками Слияние папок-дубликатов без удаления источников Пайплайн dry-run → подтверждение → боевой прогон
Legacy · безопасность · аудиторский след

Безопасность коробочного Bitrix24 и аудиторский след под требования регулятора

Стек: PHP 8, Bitrix24 D7, .env, RSA-OAEP (WebCrypto), syslog, cron, gzip, JavaScript Срок: около месяца Клиент: Финансовая компания, NDA

Коробочный Bitrix24 финансовой компании годами обрастал скриптами: часть из них по анонимному запросу выдавала сессию администратора, API пропускал запросы без токена, доступы лежали в коде, а логи с ИИН и телефонами копились без ротации. Требования регулятора финрынка к аудиторскому следу при этом не выполнялись.

Ограничения

Прод нельзя останавливать, от текущего поведения зависят десятки интеграций; аудит должен включаться флагами с безопасными дефолтами, а ПДн не должны попадать ни в ответы, ни в логи.

Что сделал
  • Закрыты 6 мест выдачи админской сессии по анонимному запросу и обход авторизации в 6 API-эндпоинтах; из ответов убраны stack-trace
  • Анонимные ручки получили rate-limit, ИИН валидируется до платных внешних вызовов; закрыты IDOR и CSRF в рабочих интерфейсах
  • Пароль на форме входа шифруется в браузере (RSA-OAEP, ключ 4096 бит); около 50 захардкоженных доступов вынесены в .env
  • Аудиторский след под флагами: неудачные входы, журнал API-обращений, зеркало в syslog; ежедневный сторож ротации логов и регресса обязательной 2FA
  • Логгер маскирует ИИН, телефоны и карты; ротация 90 дней плюс архив 400 дней; ложное маскирование хэшей — с 5,1% до 0% на 200 000 значений
  • Просмотрщик логов с графиками и сквозным поиском по id запроса; health-API ловит всплеск ошибок против медианы, тишину и молчащую ротацию
Архитектура
Точки входа портала и API → Авторизация, лимиты, CSRF → Логгер с маской ПДн → Ротация и архив → Просмотрщик и health-API
Результат

Накопленные логи заархивированы: 6344 файла на 2041 МБ сжаты в архив 120 МБ с контрольными суммами, каталог local/ уменьшился с 2,6 ГБ до 578 МБ. Критичные дыры доступа закрыты, а в логах виден инцидент, а не шум.

Что можно переиспользовать
Логгер с маскированием ПДн и защитой хэшей Ротация логов с архивом и сторожем Health-API логов: всплеск против медианы и тишина
CRM / Bitrix24 · help-desk · каталог услуг · SLA

Help-desk на смарт-процессе Bitrix24: каталог услуг и SLA по данным старого деска

Стек: PHP 8.4, Bitrix24 D7, смарт-процессы, Списки, агенты, Vue, PHPUnit, Vitest Срок: внедрялось поэтапно Клиент: Страховая компания, NDA

Прежний help-desk на OSTicket не давал управлять сервисом: 60% из 21 412 записей за 6 лет — автоматические письма мониторинга, всё раскладывалось по 5 категориям, 92% живых обращений стояли в приоритете Low, а базовый SLA 4 часа растягивали вручную под факт закрытия.

Ограничения

Живой поток — около 95 заявок в месяц, поэтому каталог строился по фактической частоте обращений, а не «как принято». Каталог должен править администратор без разработчика, а срок SLA — не поддаваться тихому растягиванию.

Что сделал
  • Разобрана выгрузка OSTicket: отделён мониторинг, посчитаны частоты по темам — из них собран двухуровневый каталог из 11 направлений и 32 услуг, частые сверху
  • Уточняющие вопросы услуги описаны JSON-схемой с зависимыми полями; одни правила проверки на сервере и в браузере сверяются общими тест-фикстурами
  • Эффективный приоритет «услуга × срочность», нормативы реакции и решения в рабочих минутах; исходный срок фиксируется при подаче и не растягивается
  • Автоназначение наименее загруженному исполнителю группы услуги и агент контроля SLA с уведомлениями
  • Один движок каталога и мастера обслуживает 4 каталога: help-desk, HR-процессы, документооборот и запросы на разработку
Архитектура
Мастер заявок на портале → Каталог услуг (Списки) → JSON-схема формы → Смарт-процесс обращений → Агент контроля SLA
Результат

Вместо пяти категорий и одного срока на всё — каталог по фактическому спросу, свои нормативы у каждой услуги (от 15/60 минут на сброс пароля до 480/4800 на доработку портала) и срок, который нельзя незаметно подвинуть.

Что можно переиспользовать
Каталог услуг с формами на JSON-схемах и общей проверкой в браузере и на сервере SLA в рабочих минутах с защитой исходного срока Автоназначение по загрузке группы исполнителей
CRM / Bitrix24 · сеть бизнес-центров

Планы аренды и аналитика занятости для сети бизнес-центров

Стек: Bitrix24 (каталог, cron), PHP, embeddable JS-виджет Срок: 4–8 недель Клиент: Сеть бизнес-центров, NDA

Управляющая компания сети бизнес-центров показывала свободные площади прайс-листом и на словах — без визуализации по этажам, а занятость по объектам сети была не видна в едином отчёте.

Ограничения

Виджет должен встраиваться на внешние сайты объектов сети (в том числе на WordPress) без авторизации Bitrix, при этом статус занятости не должен расходиться с реальными данными CRM.

Что сделал
  • Встраиваемый конструктор интерактивных планов этажей — публичный iframe/JS-виджет без авторизации Bitrix (CSP/CORS настроены на встраивание с внешних доменов)
  • Внутренняя админка загрузки и редактирования планов
  • Автосинхронизация статуса занятости, арендатора и даты окончания аренды из CRM по cron — картинки планов грузятся вручную, данные о занятости обновляются сами
  • Дашборды занятости по объектам сети: процент занятости по площади (м²), количество кабинетов, выручка по занятым площадям
  • Виджет уже встроен на внешних сайтах объектов сети
Архитектура
Bitrix24 (каталог, cron) → Публичный embed-виджет (CSP/CORS) → Админка планов → Cron-синхронизация занятости → Дашборды/спидометры
Результат

По сети: 93 этажа, 1087 офисов и 152 загруженных плана — с занятостью, которая обновляется из CRM автоматически, а не сверяется вручную по каждому объекту.

Что можно переиспользовать
Публичный embed-виджет с CSP/CORS под внешние сайты объектов Cron-синхронизация занятости из каталога Bitrix24 без REST Дашборд занятости по площади (м²) с расчётом выручки по объекту
Интеграции · Bitrix24 · голосовой робот

Автообзвон «застрявших» онлайн-заявок голосовым роботом

Стек: PHP 8, Bitrix24 D7 и REST, история стадий CRM, REST API голосового робота, webhook, cron, flock Срок: внедрялось поэтапно Клиент: Финансовая компания, NDA

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

Ограничения

Робот работает кампаниями — своя на каждый шаг заявки; у одного клиента бывает несколько карточек; повторный запуск cron не должен давать второй звонок, а звонить можно только в дневное окно.

Что сделал
  • Cron каждые 15 минут выбирает сделки без движения 30+ минут по штатной истории стадий: смена стадии сбрасывает таймер
  • Карта стадий воронки: каждый шаг заявки ведёт в свою кампанию робота, финальные, отказные и служебные стадии не отправляются; окно звонков 08:00–21:00
  • «Один клиент — один звонок»: карточки сводятся по телефону, в обзвон уходит самая свежая, а негативный исход снимает с обзвона все карточки этого номера
  • Идемпотентность в три слоя: flock от параллельных запусков, поля заказа на сделке и стабильный import_id на стороне робота
  • Вебхук результата звонка находит сделку, пишет исход без затирания полей пустыми значениями и запускает бизнес-процесс; есть тестовый режим на отдельной кампании
  • Логика отбора вынесена в чистые функции без ядра Bitrix и покрыта 66 smoke-проверками
Архитектура
История стадий CRM → Cron: отбор и дедуп → API голосового робота → Вебхук результата → Сделка и бизнес-процесс
Результат

Застрявшие заявки уходят роботу автоматически, без ручного прозвона, и клиент не получает двух звонков по разным карточкам. Каждый прогон пишет в лог причину пропуска по каждой карточке.

Что можно переиспользовать
Отбор «застрявших» сделок по истории стадий Трёхслойная идемпотентность отправки во внешний сервис Дедупликация обзвона по телефону
CRM / Bitrix24 · BI-дашборд

Кастомный BI-дашборд поверх Bitrix24

Стек: PHP, Bitrix24 D7, SQL-отчёты, кеш с TTL, whitelisted AJAX Срок: 4–6 недель Клиент: Автомобильный маркетплейс, NDA

В автомобильном маркетплейсе руководству и колл-центру нужна была единая воронка «обращение → визит → продажа» поверх Bitrix24 — штатные отчёты CRM такой срез не показывали.

Ограничения

Часть классических метрик колл-центра (SL/ASA/ATA) физически не считается без данных телефонии; разные источники дат (лид/визит) искажают проценты, если их не развести явно.

Что сделал
  • 20 параметризованных SQL-отчётов поверх live-данных CRM с безопасной подстановкой фильтров
  • Воронка «лид → визит → сделка → продажа» с промежуточными метриками (Contact Rate, Occupancy и др.)
  • Многоуровневый кеш с TTL, stale-fallback и блокировками — дашборд не кладёт CRM тяжёлыми запросами
  • 33 whitelisted AJAX-действия с проверкой прав и sessid
  • Честная документация ограничений каждой спорной метрики — вместо рисования цифр
  • Дашборд РОПа по автоцентру: метрики считаются по автоцентру самой сделки, любая цифра раскрывается кликом в список сделок
  • Маркетинговый дашборд по направлениям и источникам трафика; сравнение с теми же датами прошлого месяца на всех страницах
  • Общий кеш отчётов с проверкой доступа до кеша: первая сборка — 7,2 с, следующему пользователю — 0 мс
  • Реестр доступов «кто видит какой отчёт» с источником каждого доступа, выдача без деплоя и единая шапка навигации по отчётам
Архитектура
Bitrix24 live-данные → SQL-отчёты → Cache-слой (live/cached/pre-aggregated) → Дашборд с вкладками
Результат

Руководство, колл-центр, РОПы и маркетинг получили набор дашбордов поверх live-данных CRM вместо выгрузок в Excel: воронка, автоцентр, маркетинг — с общим кешем, расшифровкой цифр кликом и явно задокументированными ограничениями метрик. Доступы к 6 отчётам управляются из одного реестра без деплоя.

Что можно переиспользовать
Провайдер-слой live/cached/pre-aggregated отчётов Кеш с TTL и stale-fallback для тяжёлых SQL-отчётов Подход к честной документации ограничений метрик

Формат работы

Кто делает работу, как идёт процесс и из чего складывается цена.

Кто делает работу

С Bitrix24 работаю 5 лет: от точечных доработок до операционной автоматизации целых бизнес-центров и сетей автодилеров. Ниже — реальные проекты по датам, для кого подхожу, официальное оформление и с каким стеком работаю сейчас.

Обо мне →
Как идёт работа
  1. 01 Знакомство и аудит
  2. 02 Оценка сроков и стоимости
  3. 03 Подписание договора
  4. 04 Предоплата
  5. 05 Разработка
  6. 06 Демонстрация результата
  7. 07 Финальная оплата
  8. 08 Поддержка
Процесс →
Сколько это стоит

Прозрачная почасовая ставка, готовые пакеты под типовые задачи и абонентское сопровождение. Здесь же калькулятор предварительной оценки — точную цену называю после аудита.

Стартовые пакеты Абонентское сопровождение Калькулятор стоимости
Цены → Сколько стоит Bitrix24: коробка и облако →

Не знаете, с чего начать?

Просто опишите проблему. Разберусь в текущем решении, оценю риски и предложу варианты реализации.

Чтобы я быстро оценил задачу, пришлите:
  1. что должно работать
  2. что сейчас не работает
  3. ссылку / скриншот / пример
  4. когда появилась проблема
  5. есть ли доступ к логам
  6. какой результат нужен

Связаться со мной

Выберите удобный канал — отвечаю быстро.

Обсудить задачу

Опишите задачу — отвечу и предложу решение.

Дополнительно (необязательно)

Частые вопросы

Работаете по договору?

Да, официально через ИП: договор, счёт и закрывающие документы.

Работаете с коробкой Bitrix24 (D7)?

Да. Дорабатываю коробочную версию: модули, бизнес-процессы и прямые интеграции на D7.

Работаете с облаком Bitrix24?

Да. Для облака делаю приложения и интеграции через REST API и webhooks.

Часто решаемые проблемы

Данные

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

Симптомы
  • Дубли лидов и сделок
  • Грязные телефоны
  • Потерянные связи
  • Расхождение CRM и склада
  • Неактуальные остатки
Как разбираю
  • Считаю дубли и расхождения запросами: до правок видно, сколько записей задето
  • Нормализую телефоны, почту и ключевые поля к одному формату
  • Ввожу поиск существующей записи перед созданием новой
  • Закрываю источник: форму, импорт или интеграцию, которая плодила мусор
  • Оставляю сверку, которую можно запустить повторно и увидеть результат
Часто решаемые проблемы

Процессы

Зависший бизнес-процесс почти никогда не «падает» — он тихо ждёт условие, которое уже не наступит. Разбираю, на каком шаге и почему остановка, и переношу хрупкую логику туда, где её видно и можно поправить.

Симптомы
  • Роботы не срабатывают
  • Бизнес-процессы зависают
  • Согласования идут вручную
  • Нет контроля сроков
  • Менеджеры обходят CRM
Как разбираю
  • Смотрю, на каком шаге процессы встают и по какому условию
  • Сверяю, что должно запускать робота и что запускает его на самом деле
  • Переношу хрупкую логику из конструктора в код с логами
  • Добавляю контроль сроков и уведомления ответственным
  • Убираю ручные шаги, из-за которых менеджеры обходят CRM
Часто решаемые проблемы

Интеграции

Интеграция без логов — чёрный ящик: непонятно даже, была ли попытка обмена. Сначала делаю обмен видимым, и только потом обсуждаем, что именно в нём чинить.

Симптомы
  • Нет логов
  • Нет retry
  • API падает
  • Данные приходят частично
  • Ошибка не видна пользователю
Как разбираю
  • Включаю логирование входящих и исходящих запросов с маскированием токенов
  • Добавляю повторы с задержкой на временные ошибки чужого API
  • Развожу «данные не пришли» и «пришли частично» — это разные поломки
  • Вывожу ошибку туда, где её увидит человек, а не только сервер
  • Оставляю режим проверки: прогнать обмен, ничего не записывая в боевую базу