Към съдържанието
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 1C MoySklad TrustMe PKB 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 1C MoySklad 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

Уебинарна фуния без ръчно местене на сделки

Проблем: Онлайн училището провежда многодневни уебинари, а етапите на сделките на участниците мениджърите местеха ръчно: кой е дошъл, кой не, кого да поканят на ефира. Предишната...

Какво направих: Приемане на отчетите за присъствие от Bizon365: по дни на ефира сделката се движи само напред според тежестта на етапите и никога не се връща назад

Резултат: Поканите за ефира стигнаха до 628 от 628 участници без грешки, в „Не дойдоха“ са преместени 451 от 451 сделки, наваксано е натрупаното изоставане от 396 сделки; защитата на присъствалите отс...

PHP 8, Bitrix24 REST (облак), Bizon365 webhooks, ChatApp (Wh... около 3 седмици
Повече →
Адвокатска кантора, NDA

Възстановяване на документите по дела: „от сделките изчезват файлове“

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

Какво направих: Анализ само с четене: пул от папки, класификация на всеки линк от картите (работещ, през съкращаване, стар портал, празен, боклук), папки сираци

Резултат: Анализът откри 334 папки, 16 групи дубликати и 298 поправими линка през услугата за съкращаване. Реалният прогон обработи 750 елемента: копирани са 2544 файла, поправени 302 линка, попълнени...

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

Сигурност на on-premise Bitrix24 и одитна следа по изискванията на регулатора

Проблем: On-premise Bitrix24 на финансовата компания с години обрастваше със скриптове: част от тях при анонимна заявка даваха администраторска сесия, API пропускаше заявки без то...

Какво направих: Затворени са 6 места, даващи администраторска сесия при анонимна заявка, и заобикалянето на автентикацията в 6 API endpoint-а; 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 години бяха автоматични писма от мониторинга, всичко се разпределяше в...

Какво направих: Анализиран е експортът от OSTicket: отделен е мониторингът, преброени са честотите по теми — от тях е съставен двустепенен каталог от 11 направления и...

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

PHP 8.4, Bitrix24 D7, смарт процеси, Списъци, агенти, Vue, P... внедрявано поетапно
Повече →
Мрежа от бизнес центрове, NDA

Планове на етажи и анализ на заетостта за мрежа от бизнес центрове

Проблем: Управляващата компания на мрежа от бизнес центрове показваше свободните площи чрез ценоразпис и устно описание — без визуализация по етажи, а заетостта по обектите в мреж...

Какво направих: Вграждаем конструктор на интерактивни планове на етажи — публичен iframe/JS уиджет без Bitrix автентикация (CSP/CORS настроени за вграждане от външни...

Резултат: В мрежата: 93 етажа, 1087 офиса и 152 качени плана — със заетост, която се обновява от CRM автоматично, а не се сверява ръчно за всеки обект.

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

Автоматично обаждане от гласов робот по „заседнали“ онлайн заявки

Проблем: Клиентите започваха онлайн заявка и спираха на някоя от стъпките — регистрация, доходи, данни за автомобила, подписване. Мениджърите не смогваха да се обадят на всеки ръч...

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

Резултат: Заседналите заявки отиват към робота автоматично, без ръчно обаждане, и клиентът не получава две обаждания по различни карти. Всеки прогон записва в лога причината за пропускане на всяка кар...

PHP 8, Bitrix24 D7 и REST, история на етапите в CRM, REST AP... внедрявано поетапно
Повече →
Автомобилен маркетплейс, 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: данните за клиента и автомобила мениджърът пренасяше ръчно, а решението на банката не се виждаше в сделката — изясняваше се с обаждания. По сделката не можеше да се разбере къде е заявката и защо е отказана.

Ограничения

Обменът минава през финансов брокер, чийто реален формат на callback-ите се разминаваше със заданието; банката има собствен справочник със статуси, а кредитните продукти — лимити по сума и срок. След одобряване на договора заявка вече не може да се подава.

Какво направих
  • Смарт процес „Кредитни заявки“ с 21 полета за резултат и права по роли: мениджърът вижда своите заявки, ръководителят — своя отдел, администраторът — всички
  • Изпращане към брокера от картата на сделката: чернова, проверка на задължителните полета и лимитите на продукта, забрана за подаване след одобряване на договора, защита от двойно натискане
  • Приемане на callback-и: автентикация с ключ, идемпотентност по eventId, толерантно парсене на тялото — 5 дни callback-ите тихо не се записваха заради разминаване със заданието, открито и поправено
  • Справочник със статуси на банката — 28 бизнес и 16 технически; окончателното решение създава „дейност“ за мениджъра и се записва в таймлайна на сделката
  • SMS до клиента с линк към анкетата на банката по правилото „една заявка — едно SMS“, с приемане на отчета за доставка
  • Дневник на обмена по 6 направления, робот на бизнес процес „Изпрати заявка“ и сутрешен наблюдател за заявки без събития повече от 3 дни
Архитектура
Карта на сделката → Валидация и смарт процес → API на финансовия брокер → Callback-и и статуси на банката → SMS и „дейност“ за мениджъра
Резултат

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

Какво може да се преизползва
Приемник на callback-и с ключ, идемпотентност и толерантно парсене на тялото Дневник на обмена с маскиране на личните данни Cron наблюдател за „увиснали“ заявки
Интеграции · 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 pipeline, cron Срок: около седмица Клиент: Адвокатска кантора, NDA

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

Ограничения

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

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

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

Какво може да се преизползва
Анализ „само четене“ с класификация на линковете преди всякакви промени Сливане на дублиращи се папки без изтриване на източниците Pipeline dry-run → потвърждение → реален прогон
Legacy · сигурност · одитна следа

Сигурност на on-premise Bitrix24 и одитна следа по изискванията на регулатора

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

On-premise Bitrix24 на финансовата компания с години обрастваше със скриптове: част от тях при анонимна заявка даваха администраторска сесия, API пропускаше заявки без токен, достъпите стояха в кода, а логовете с ИИН и телефони се трупаха без ротация. Изискванията на регулатора на финансовия пазар за одитна следа при това не се изпълняваха.

Ограничения

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

Какво направих
  • Затворени са 6 места, даващи администраторска сесия при анонимна заявка, и заобикалянето на автентикацията в 6 API endpoint-а; stack trace е премахнат от отговорите
  • Анонимните endpoint-и получиха 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, вграждаем 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 мс
  • Регистър на достъпите „кой вижда кой отчет“ с източника на всеки достъп, предоставяне без деплой и единна навигационна лента за отчетите
Архитектура
Live данни на Bitrix24 → SQL отчети → Cache слой (live/cached/pre-aggregated) → Дашборд с табове
Резултат

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

Какво може да се преизползва
Provider слой 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
  • Разделям „данните не дойдоха“ от „дойдоха частично“ — това са различни повреди
  • Извеждам грешката там, където ще я види човек, а не само сървърът
  • Оставям режим за проверка: обменът се пуска, без да пише в живата база