Перейти к основному содержимому
megapromotingДавайте обсудим

Экспертиза · CRM и продажи

Система, в которой видно, кого задели, через какой канал и что дальше.

Мы создаём коммерческую систему организации: организации и контакты, маршрут стадий, каналы, которые сами приносят данные — звонок, email, формуляр, голосовой агент — и тормоза, которые останавливают отправки до того, как это станет проблемой. Мы не продаём наш CRM; мы строим его под то, как работаете вы.

Уже построеноДве собственные реализации, в production, цитируемые ниже. (1) MEGA CRM — система, с которой наша команда ведёт собственную коммерческую деятельность: `server.js` имеет 9.516 строк и 99 HTTP-маршрутов, в репозитории 96 SQL-миграций и около 95.000 строк TypeScript в интерфейсе, а последний commit — от 18 августа 2026. (2) CRM-коннекторы в платформе Kallina: 12 server-функций для amoCRM, 4 для Bitrix24, плюс документированный OAuth-поток для Zoho CRM и 10 функций для Google Sheets. Важная оговорка: **MEGA CRM не продаётся.** Мы показываем его как доказательство мастерства, а не как продукт — у него нет строгой изоляции данных между клиентами и нет потока установки, не предполагающего доступ к серверу. Сервис — это «мы построим для вас такую систему», а не «мы дадим вам лицензию на нашу».

У большинства фирм нет проблемы с CRM, у них проблема с учётом: не ясно, кого контактировали, по какому каналу, что было сказано и что дальше. Готовый инструмент решает это, когда ваша работа похожа на ту работу, для которой инструмент был задуман. Когда не похожа — потому что вы работаете одновременно с государственными администрациями и частными компаниями, или потому что половина контактов приходит от голосового агента — вы начинаете мучить инструмент, а команда хранит правду в отдельном файле. Тогда стоит построить что-то своё.

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

Трудная часть, и та, которую учат на собственном опыте, — не отправка. Это остановка. У системы есть рабочие часы, записанные в коде, списки исключений, дедупликация по адресу, записанному строчными буквами — не по организации —, период охлаждения между кампаниями, дневной лимит, распределяемый между кампаниями, и выключатель, который отказывается запускать orchestrator, без обходного пути. Каждый из них был добавлен после того, как однажды его не хватило. Мы перечисляем их не как список функций, а как список уроков.

Второе, что мы строим почти каждый раз, — это автоматическая подача данных. CRM, в котором данные вносятся вручную, опустошается за три недели. У нас вызов голосового агента сам записывается в карточку организации, с transcript и резюме, и переводит lead дальше по маршруту, если результат звонка это оправдывает. Ответы на email собираются из почтового ящика каждые десять минут и привязываются к отправке, которая их вызвала. Открытия и клики отслеживаются отдельно. Человек вмешивается, чтобы принять решение, а не чтобы вводить данные.

Противодействие спаму в CRM — запросы, за которыми стоит следить · видео на румынском, с субтитрами и расшифровкой на русском

Полная расшифровка

Привет! В сегодняшнем анализе мы разбираем проблему, с которой в какой-то момент сталкивается абсолютно любой бизнес, который хочет масштабироваться. Как именно автоматизировать коммерческий prospecting, чтобы всё не превратилось в назойливый и агрессивный спам? Мы хотим расти, хотим повышать эффективность, это ясно. Но сегодня мы заглядываем под капот увлекательного технического материала, чтобы увидеть, как спам предотвращается ровно 6 чёткими, кольцевыми механизмами, встроенными в по-настоящему безопасную ceramic систему. Речь не просто о стандартных настройках, которые мы отмечаем и забываем, а о реальных архитектурах, фактах и цифрах. Давайте погрузимся в данные! Итак, вкратце, вот структура нашего обсуждения. Начинаем с проблемы ускорения без тормозов, затем разбираем кейс, инцидент с 42 сообщениями, переходим к ядру анализа, то есть к 6 механизмам защиты, говорим о правильной обработке отписок и заканчиваем классической дилеммой: когда стоит строить систему, а когда лучше купить её.

Начнём! Итак, ключевой вопрос, с которого мы стартуем, вот какой. Как мы убеждаемся, что автоматизация, которую мы внедряем, просто не превращается в спам? Здесь невероятно тонкая грань. Намерение за этим всегда хорошее: мы хотим связываться с людьми, генерировать продажи, но если системе дать разгоняться вслепую, без очень жёстких технических проверок, закодированных прямо в её структуре, это может катастрофически сказаться на brand. Мы переходим к разделу 1, ускорение без тормозов. Давайте посмотрим на фундаментальную проблему прозрачности в этих автоматических системах. Представьте это как очень мощную машину, но без тормозной системы. Когда стандартный софт не согласуется с ежедневной реальностью работы, всё быстро идёт наперекосяк. Например, допустим, команда взаимодействует и с государственными администрациями, и с частными компаниями. Полностью противоположные структуры принятия решений, верно?

Их данные просто не помещаются в одни и те же жёсткие поля в generic CRM. И что происходит на практике? Люди начинают хранить правду отдельно — в файлах Excel или заметках на столе, в то время как основная автоматизация продолжает работать вхолостую на неправильных данных. Это просто хаос. И наш источник здесь приводит абсолютно гениальную цитату, жёсткую правду из индустрии. CRM, в который данные пишутся вручную, опустевает за 3 недели. Это очень логично. Люди устают, появляются ошибки, а мораль падает. Сотрудники продаж должны выстраивать отношения, а не быть роботами по вводу данных. Будь то умный voice agent, который автоматически транскрибирует звонки, или e-mail, которые сами синхронизируются в фоне каждые 10 минут, идея ясна. Автоматическая подача данных больше не роскошь. Это обязательный фундамент любого рабочего системы.

Переходим к разделу 2, инцидент с 42 сообщениями. Давайте разберём анатомию реального сбоя. 42. Это не просто какое-то число, а реальная история из кампании prospecting, которая запустила настоящую техническую реформу. Представляете? Один почтовый ящик получил ровно 42 сообщения в течение нескольких часов, в тот же день. Очевидно, техническая команда сначала подумала: окей, это баг, банальная петля в коде, которая отправляет бесконечно. Но когда они внимательнее посмотрели в базу данных, реальность оказалась куда сложнее. Объяснение? Система была настроена извлекать и отправлять сообщения по организации, а не по адресу e-mail. Поэтому, с логической точки зрения, алгоритм сделал свою работу идеально. Он нашёл 42 юридически разные компании. Проблема, и это реальность, которую мы часто видим на местном рынке, была в том, что все эти 42 сущности использовали ровно один и тот же адрес e-mail.

То ли это был e-mail материнской компании, то ли одного и того же внешнего бухгалтера, который администрировал десятки компаний. Сущности были уникальны на бумаге, но конечный адрес сообщения был один. И чтобы поставить всё в перспективу, знаете, сколько реальных людей из плоти и крови пострадали от этой лавины сообщений? Всего 11. 11 человек, которые администрировали эти десятки бизнесов. Этот инцидент доказал очень чёткую вещь. Хорошие намерения и код, который на первый взгляд кажется правильным, никогда не бывают достаточными. В базе данных всегда есть невидимые связи, и система должна их предугадывать. Что подводит нас к самой важной части, разделу 3. Шесть механизмов защиты, то есть тормоза, закодированные прямо в сердце системы. Вот решение. Источник описывает защитное кольцо, состоящее из шести отдельных механизмов, которые проверяют друг друга.

1. Установка жёстких рабочих часов, с 8 до 18. Никто не хочет получать sales e-mail в воскресенье в 3 часа ночи. 2. Постоянные списки исключений, то есть блокировка чувствительных учреждений, таких как школы или посольства. 3. И это предотвратило бы тот инцидент из начала, обязательная дедупликация по адресу e-mail, приведённому к нижнему регистру, а не по названию компании. 4. Период охлаждения в 5 дней для любого контактированного адреса, чтобы избежать перегрузки аудитории. 5. Жёсткие дневные лимиты, чтобы не раздражать глобальные антиспам-фильтры. И, наконец, шестой механизм — кнопка паники. Из всех это механизм 6, то есть kill switch, или аварийный выключатель, — это ключевой элемент. Его внедрили именно после того инцидента с 42 сообщениями. Что это на самом деле? Простая переменная, которая, если её активировать, просто запрещает центральной системе запускаться дальше.

Без исключений, без какой-либо скрытой команды override в коде. Любая серьёзная архитектура автоматизации нуждается в такой физической, фигурально говоря, кнопке, которую абсолютно любой из management может нажать, не зная программирования. Переходим к четвёртому разделу, правильное управление отписками. Потому что, внимание, это значит гораздо больше, чем просто ссылка внизу страницы. Как только вы отправили сообщение, если человек хочет выйти из базы, процесс должен быть безупречным и защищённым. Анализ показывает нам надёжный процесс в три этапа. Шаг 1. Отписка из хедера в один клик, которая соответствует новым глобальным стандартам, таким как RFC 8058. Шаг 2. Визуальный центр предпочтений, где человек может выбрать, какой тип сообщения он больше не хочет получать. Но шаг 3 — это, по сути, самый критический, и именно на нём многие системы дают сбой.

Полное удаление. Это не значит поставить галочку «неактивно». Это значит удалить адрес из, внимание, 6 разных таблиц базы данных, плюс добавить его в постоянный чёрный список. Только так вы гарантируете, что этот адрес не появится как по волшебству при следующем массовом импорте данных. И речь идёт не только о технологии. Речь идёт об уважении и соблюдении закона прямо внизу e-mail-а. Кто вы? Кто такой DPO-офицер? Каково точное правовое основание, на котором вы отправили сообщение? И, что особенно важно, из какого публичного реестра вы изначально извлекли данные? Наш источник подчёркивает золотое правило. Эти основания нужно перепроверять при каждом изменении законодательства. Почему? Потому что у вас может быть самая дорогая система в мире. Если на основе отменённого закона вы превратили технологию в серьёзный финансовый риск для компании.

Переходим к последнему, пятому разделу. Когда строить, а когда покупать? Давайте посмотрим на правильный ответ для зрелой коммерческой инфраструктуры. Документация рассматривает это решение предельно объективно. Готовый CRM «под ключ» — это абсолютно идеальный вариант. Но при одном большом условии. Чтобы ваш рабочий процесс идеально совпадал с логикой, заложенной создателями платформы. Однако решение построить индивидуальное решение становится единственным путём в трёх чётких ситуациях. Когда вы работаете с очень разными типами организаций, когда у вас огромный объём автоматизаций, в котором ручная работа становится невозможной, и, что самое важное, когда у вас есть строгие правила защиты, такие как те шесть механизмов, которые готовое программное обеспечение просто не может гарантировать вам на настолько глубоком уровне. Хорошая новость? Построить что-то безопасное внутри не значит выбросить в окно инструменты, которые команда уже знает.

Эти механизмы защиты могут работать тихо, как невидимый слой безопасности, одновременно подключаясь к привычным интерфейсам. Есть демонстрируемые архитектуры с коннекторами, которые запускают десятки двусторонних функций с популярными системами, такими как Amos ERM, Bitrix24, Zohos ERM или даже классические таблицы Google Sheets. Вкратце, ядро безопасности остаётся нетронутым, но пользовательский опыт остаётся таким же дружелюбным. И таким образом материал оставляет нам довольно неудобную тему для размышления, которую стоит забрать с собой. Суперпродвинутая коммерческая система, которую умеет остановить только программист, который её написал, — это действительно супер-актив для компании или, по сути, неприемлемый риск? В конце концов, прозрачность, тот самый аварийный выключатель на виду и чёткая документация — это вещи, которые отличают простую слепую машину от действительно масштабируемой, профессиональной и ответственной бизнес-системы. Надеюсь, этот разбор механизмов немного больше пролил света на то, как должна выглядеть правильная автоматизация. До скорого!

Что входит

Работа, по составляющим

Данные входят в поток, с дедупликацией по трем ключам

Файл размером до 50 MB загружается и обрабатывается в потоке, пакетами по 200 строк, чтобы не превысить срок выполнения базы, а прогресс возвращается в реальном времени, по одной строке на каждый шаг. Перед импортом строится индекс дедупликации по трем ключам — фискальному коду, адресу email и телефону — и проверяются адреса: формат, одноразовые домены, невалидные шаблоны. Одна и та же организация не попадает дважды под двумя по-разному написанными названиями.

Каждое касание записывается в карточку организации

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

Звонок голосового агента сам переводит lead

Когда агент завершает звонок, результат попадает в систему через webhook, чья подпись проверяется: transcript, резюме, sentiment, адрес записи, длительность. Организация идентифицируется по номеру телефона через функцию, написанную в базе для форматов, в которых номера встречаются в реальных данных, и звонок привязывается к ее карточке. Если результат — «интересуется» или «встреча запланирована», lead автоматически поднимается по маршруту, и ему обновляется дата последнего контакта.

У отправки есть тормоза, не только ускорение

Рабочие часы, записанные в коде: 08:00–18:00, часовой пояс Chișinău, понедельник — суббота. Списки исключений для школ, лицеев, детских садов, посольств и консульств. Дедупликация по адресу, записанному строчными буквами — не по организации, различие, которое имеет огромное значение, когда несколько компаний используют один и тот же почтовый ящик. Охлаждение в пять дней между кампаниями для одного и того же адреса. Общий дневной лимит, распределяемый пропорционально между кампаниями, плюс лимит на один запуск, чтобы отправки распределялись на несколько часов, а не шли блоком.

Переключатель, который нельзя обойти

Оркестратор кампаний проверяет переменную окружения прежде всего. Если она задана, он отказывается запускаться и выходит — нет аргумента командной строки, который мог бы это обойти, нет «принудительно». Это было добавлено 1 мая 2026 года после инцидента с дублирующимися отправками. Системе, которая отправляет от вашего имени, нужна остановка, которую может нажать кто-то, кто не является программистом.

Отписка в один клик, в три шага

Первый шаг — стандартный заголовок отписки в один клик, согласно RFC 8058 — требование, которое крупные email-провайдеры предъявляют к массовым отправкам. Второй — центр предпочтений, где отписку можно и отменить. Третий — полное удаление по запросу, которое удаляет адрес из шести таблиц, добавляет его в постоянный список блокировки и оставляет след в журнале. Все три защищены токеном, привязанным к получателю, чтобы никто не мог отписать другого человека.

Ответы и реакции собираются сами

Ответы на email читаются из почтового ящика через Microsoft Graph, каждые десять минут, и автоматически привязываются к отправке, которая их вызвала. Статус доставки синхронизируется от провайдера отправки. Открытия отслеживаются пикселем, клики через redirect, а панели доставляемости показывают домены с проблемами. Отдельный сервис отслеживает оставшийся кредит у платных провайдеров и подает alert до того, как он закончится — не после.

Поиск по тому, что делает организация, а не только по тому, как она называется

Помимо полнотекстового поиска, вопрос преобразуется в вектор с помощью модели вложения, а сопоставление выполняется в базе собственной функцией, с настраиваемым порогом сходства (по умолчанию 0,25) и с ограничением по проекту. На практике: «компании, которые занимаются холодильными перевозками» находит и организации, у которых нет ни одного из этих слов в названии.

Подключение к CRM, который у вас уже есть

Если ваша команда уже работает в CRM, мы не заменяем её по умолчанию. Мы написали и запустили коннектор для amoCRM — 12 серверных функций, включая полный OAuth-поток, обновление токена и проверку статуса, — а также Bitrix24 с OAuth и webhook, руководство OAuth для Zoho и десять функций для Google Sheets, от чтения структуры листа до импорта контактов.

Как это выглядит

Путь, шаг за шагом.

01

Сначала модель, потом интерфейс

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

02

Маршрут и стадии, записанные как правила, а не как привычка

Стадии, через которые проходит lead, что продвигает его дальше и что возвращает назад, кто за что отвечает на каждом этапе. Мы также пишем автоматические правила — какой результат звонка поднимает lead, какое бездействие его опускает — потому что маршрут, который движется только когда кто-то вспоминает нажать, не является маршрутом, это список.

03

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

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

04

Ограничители перед ускорением

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

05

Передача: процедуры, роли, документация

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

Один центр. Вокруг — что входит в него, по отдельным маршрутам.ЦЕНТР ОПИРАЕТСЯ НА ВСЁ, ЧТО ЕСТЬ ВОКРУГ НЕГО
Каналы, сходящиеся к одной карточке: звонок голосового агента, звонок человека, email и ответ из почтового ящика, форма на сайте, webhook из другой системы — и тормоза, решающие, что уходит обратно.

Данные

К чему прикасаемся, где оно лежит и сколько остаётся

Вопросы, которые задаёт всякий, у кого есть ответственный за защиту данных, — заданы здесь раньше, чем их задаст он.

Где хранятся данные и как они структурированы
PostgreSQL через Supabase, с 96 версионированными миграциями. Структура иерархическая: проекты, под ними организации с гибкими полями в JSONB и поисковым вектором в полном тексте, под ними контакты, а кампании зависят от проекта. Каждый проект определяет свою схему полей — поэтому одно и то же приложение поддерживает и государственные учреждения, и частные компании, без роста базы при каждом новом типе организации.
Что написано в нижнем колонтитуле каждого отправленного email
Полная идентичность компании — наименование, фискальный код, зарегистрированный офис — адрес ответственного по защите данных, указанное правовое основание и источник адреса: публичные реестры и публичные профили, сказано прямо, а не подразумевается. Плюс отписка в один клик и резервный вариант с ответом одним словом. Всё, что касается правового основания, перепроверяется при каждом изменении закона — массовая рассылка, которая ссылается на устаревшее основание, является проблемой, даже если всё остальное безупречно.
Кто что видит
Доступ осуществляется через аутентификацию, маршруты приложения закрыты за воротами, а область администрирования имеет ещё одни ворота. Роли разделены: администрирование, владелец, продажи, поиск потенциальных клиентов и отдельная роль для автоматического агента — потому что агент, который пишет в систему, не должен иметь права человека. Открытой регистрации нет.
Что мы явно проверяем при установке
Что каждый секрет действительно задан на сервере: секрет, которым подписываются входящие webhook-и, и секрет, которым подписываются токены отписки. Это проверки, которые кажутся формальными, пока не окажется, что без них и проверки подписи нечего сравнивать, а предсказуемый токен — это токен, который никого не защищает. Мы вносим их в список передачи, а не в предположения.
Что удаляется по запросу и что остается
Полное удаление убирает адрес из шести таблиц и помещает его в постоянный список блокировки, чтобы последующий импорт не вернул его обратно. В журнале остается след с причиной — потому что через год нужно будет доказать, что запрос был выполнен. Статистические агрегаты, которые никого не идентифицируют, тоже остаются.

Случай

На один адрес за день пришло 42 email. Это был не цикл.

Ситуация

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

Что мы построили

Извлечение получателей выполнялось по организации, а не по адресу. Сорок две организации использовали один и тот же почтовый ящик — абсолютно обычная ситуация в местной деловой среде, где бухгалтер, материнская компания или администратор обслуживают несколько юридических лиц. Каждая организация была, корректно, уникальным получателем; адрес — нет. Общее число затронутых лиц в этом инциденте составило 11. Исправление было из трех частей, а не из одной: дедупликация была перенесена на адрес, написанный строчными буквами, введено охлаждение в пять дней между кампаниями для одного и того же адреса, а все скрипты отправки были обязаны проходить через общий модуль защиты — тот, который отказывается регистрировать отправку без идентификатора кампании. В тот же день был добавлен и выключатель, который полностью останавливает оркестратор без обходного пути.

Что получилось

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

Чего этот случай не говорит

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

Вопросы

О чём нас спрашивают перед тем, как позвонить

Вы продаете CRM, с которым работаете сами?

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

Почему я должен строить CRM, а не купить готовую?

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

Можете связать систему с CRM, которую мы уже используем?

Да. Мы написали и запустили коннектор для amoCRM — 12 серверных функций, с потоком OAuth, обновлением токена, получением лидов и проверкой состояния — и для Bitrix24, с OAuth и webhook. Для Zoho CRM у нас документирован путь OAuth по регионам дата-центров. А когда реальным источником истины для команды является таблица, у нас есть десять функций для Google Sheets — от чтения структуры таблицы до импорта и обновления контактов.

Как именно звонки попадают в CRM?

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

Как вы убеждаетесь, что мы не начнем рассылать спам?

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

Что происходит, когда кто-то просит больше не связываться с ним?

Есть три уровня, все защищены токеном, привязанным к получателю. Отписка в один клик, прямо из заголовка email, согласно RFC 8058. Центр предпочтений, где решение можно и отменить. И полное удаление, которое убирает адрес из шести таблиц и добавляет его в постоянный список блокировки — так, чтобы импорт, выполненный через шесть месяцев, не вернул его обратно. Последняя часть — та, которую большинство систем упускает.

Где хранятся данные и кто может их видеть?

В базе PostgreSQL, на инфраструктуре, согласованной в начале проекта, с версионируемыми миграциями — то есть каждое изменение структуры это файл, а не ручное вмешательство. Доступ разграничен по ролям, с отдельной ролью для автоматических агентов, потому что системе, которая пишет в базу, не должны быть нужны права человека. Нет открытой регистрации и нет публичной поверхности.

Можете импортировать нашу старую базу, вместе с дублями?

Да, и именно дубли — причина, по которой импорт построен так. Файл обрабатывается потоково, партиями по 200 строк, с индексом дедупликации по фискальному коду, email и телефону, построенным до записи, плюс валидация адресов: формат, одноразовые домены, недопустимые шаблоны. То, что не подходит, не отбрасывается молча — оно включается в отчет, чтобы вы решали.

Вы гарантируете рост продаж?

Нет. Мы можем гарантировать, что вы будете знать, кого затронули, через какой канал, что было сказано и что дальше — и что система сама остановится, когда это потребуется. Итоговые цифры зависят от предложения, рынка и команды, которая звонит, то есть от вещей, которые мы не контролируем. Мы не публикуем проценты улучшения, которые не измеряли, ни для себя, ни для кого-либо ещё.

На чём основаны утверждения выше (24 источников)

24 из них — код и файлы из наших репозиториев. Мы не публикуем их название и строку: вместе, на одной странице, они слишком точно описали бы, как устроены системы, которые принадлежат не только нам. Мы разбираем их вместе с тобой, в репозитории, по запросу — проверка остаётся возможной, просто она проходит в разговоре.

Что вы хотели бы наладить?

Расскажите о своём процессе. Вместе определим, что стоит построить, что можно подключить и как проверим результат.

Давайте обсудим