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

Какую проблему решает единая система обработки заявок
Без сквозного контура заявка обычно проходит несколько ручных этапов. Менеджер получает форму с сайта или письмо, создаёт сделку в CRM, ищет клиента и товар в 1С, проверяет остатки, переносит сведения обратно, ставит задачу и готовит ответ.
В процессе возникают типовые разрывы:
- часть заявок остаётся только в почтовом ящике;
- формы сайта и письма создают дубли;
- в CRM записано свободное название товара, а в 1С используется артикул;
- менеджер не понимает, обновились ли цена и остаток;
- ошибка интеграции выглядит как успешно обработанная заявка;
- ответственный назначается вручную;
- руководитель видит количество сделок, но не видит очередь необработанных обращений;
- история исправлений остаётся в переписке, а не в системе.
Цель автоматизации — не просто создать сделку в CRM. Система должна довести входящее обращение до проверяемого рабочего состояния: определить клиента, собрать данные, связать их со справочниками, показать спорные значения, назначить ответственного и зафиксировать следующий шаг.
Подробно разбор писем, форм и вложений описан в материале об AI для обработки заявок. Здесь основной вопрос другой: как построить связный контур между каналами, CRM и 1С, чтобы данные не расходились и заявки не терялись.
Сначала определите роль каждой системы
Главная архитектурная ошибка — разрешить нескольким системам независимо изменять одни и те же данные. Например, если цена редактируется и в CRM, и в 1С, интеграция не сможет определить, какое значение актуально.
До разработки составляют карту владения данными.
| Объект | Основная система | Что передаётся другим компонентам |
|---|---|---|
| Исходная форма сайта | Контур приёма заявок | Поля формы, страница, рекламные метки, дата и технический идентификатор |
| Входящее письмо | Почтовая система и архив исходников | Отправитель, тема, текст, вложения, идентификаторы письма и цепочки |
| Лид или сделка | CRM | Клиент, ответственный, этап, задачи, история контактов |
| Контрагент | Назначается правилами проекта | Ссылка на единую запись и идентификаторы в CRM и 1С |
| Номенклатура | Обычно 1С или специализированный каталог | Код, название, единица измерения, характеристики |
| Остатки и доступность | 1С, складская или ERP-система | Количество, склад, дата актуальности |
| Цена и условия | 1С либо отдельный сервис расчёта | Прайс, тип цены, ограничения и версия расчёта |
| Коммерческое решение | Менеджер | Подтверждённая цена, срок, скидка, аналог и текст ответа |
| Технический статус обработки | Интеграционный контур | Этап, ошибка, число попыток и время следующей обработки |
Эта таблица не является универсальным распределением. В конкретной компании CRM может быть реализована внутри 1С, каталог может находиться в отдельной PIM-системе, а остатки — в складском сервисе. Важно не название продукта, а наличие одного утверждённого владельца для каждого объекта.
Отдельно нужно определить направление обмена. Например, этап сделки изменяется в CRM и передаётся в 1С только после подтверждения заказа. Остатки поступают из 1С в CRM, но не редактируются менеджером в карточке сделки.
Архитектура: не соединять все системы напрямую
Связь «каждая система с каждой» быстро становится неуправляемой. Сайт пишет в CRM и 1С, почтовый обработчик отдельно пишет в CRM, CRM запускает собственный обмен с 1С, а сотрудники корректируют данные вручную. При изменении одного поля приходится обновлять несколько сценариев.
Надёжнее использовать интеграционный слой, который принимает события, преобразует данные и контролирует выполнение процесса.
- Сайт ─────────┐
- │
- Почта ────────┼─→ приём событий
- │ ↓
- Другие каналы ┘ сохранение исходника
- ↓
- нормализация данных
- ↓
- проверка и дедупликация
- ↓
- очередь обработки
- ↙ ↘
- CRM 1С
- ↘ ↙
- единый статус заявки
- ↓
- интерфейс сотрудника
- ↓
- подтверждённое действие
Интеграционный слой не обязан быть отдельной крупной платформой. Для ограниченного процесса это может быть серверное приложение с базой данных, очередью задач, журналом событий и адаптерами к CRM и 1С.
Его обязанности:
- Получить событие из сайта или почты.
- Присвоить ему устойчивый идентификатор.
- Сохранить исходное содержимое до преобразований.
- Привести данные каналов к общей структуре.
- Найти дубли и существующие обращения.
- Выполнить проверки.
- Отправить команды в CRM и 1С.
- Обработать временные ошибки и повторные попытки.
- Зафиксировать результат каждого шага.
- Передать сотруднику только те действия, которые требуют решения.
В опубликованном кейсе AI-системы для B2B-поставщика используется похожая логика: заявки из почты, документов и других каналов сопоставляются с данными 1С, склада и CRM, а менеджер проверяет спорные места и принимает финальное решение.
Как подключить сайт и почту
Формы сайта
Форма должна отправлять данные не напрямую в пользовательский интерфейс CRM или 1С, а в контролируемую серверную точку приёма.
Вместе с полями заявки полезно сохранять:
- уникальный идентификатор отправки;
- дату и время на сервере;
- адрес страницы;
- рекламные метки;
- версию формы;
- согласия пользователя;
- технический источник;
- приложенные файлы;
- результат серверной проверки.
После получения сервер возвращает сайту подтверждение регистрации. Это подтверждение означает, что событие принято и сохранено, но не обязательно уже записано в CRM и 1С.
Разделение важно при сбоях. Если CRM недоступна, посетитель не должен повторять отправку несколько раз. Заявка остаётся в очереди и передаётся после восстановления соединения.
Входящие письма
Для почты требуется хранить не только текст, но и технические идентификаторы сообщения и цепочки. Они позволяют отличить новое обращение от продолжения переписки и не создать повторную сделку при повторной доставке уведомления.
Базовый маршрут выглядит так:
- Уведомление о новом письме
- → получение сообщения и вложений
- → сохранение исходника
- → определение новой заявки или продолжения
- → поиск контакта и существующей сделки
- → извлечение нужных полей
- → создание или обновление карточки
- → задача менеджеру
Нельзя считать уведомление почтового сервиса самим письмом. Уведомление сообщает об изменении, после чего обработчик получает фактические данные через поддерживаемый интерфейс. Также нужен периодический контроль пропущенных изменений. Например, документация Gmail API прямо предусматривает работу через историю изменений и рекомендует резервную синхронизацию, поскольку отдельные push-уведомления могут задерживаться или не поступить.
Как организовать обмен между CRM и 1С
CRM и 1С решают разные задачи. CRM обычно управляет коммуникацией, ответственными, этапами и задачами. В 1С часто находятся контрагенты, номенклатура, цены, остатки, заказы и учётные документы.
Обмен следует строить не вокруг копирования всех таблиц, а вокруг конкретных операций процесса.
Что CRM может запросить у 1С
- найти контрагента по утверждённым идентификаторам;
- получить карточку номенклатуры;
- проверить остатки;
- получить доступные типы цен;
- запросить состояние заказа;
- передать подтверждённый заказ;
- получить номер созданного документа.
Что CRM не должна определять самостоятельно
CRM не должна считать актуальной локальную копию цены, если владельцем цены назначена 1С. Не следует также сопоставлять товары только по свободному названию и автоматически создавать дубли контрагентов при каждом несовпадении.
Для связи используются устойчивые идентификаторы:
- внутренний идентификатор объекта 1С;
- идентификатор CRM;
- артикул или утверждённый код товара;
- идентификатор внешней заявки;
- номер и версия документа;
- таблица соответствий между системами.
Платформа 1С поддерживает несколько механизмов интеграции, включая собственные HTTP-сервисы и автоматически публикуемый REST-интерфейс на базе OData. Конкретный механизм выбирают с учётом конфигурации, прав доступа, объёма операций и требуемых бизнес-проверок.
Для производственного контура часто безопаснее опубликовать ограниченный HTTP-сервис с прикладными методами, например «получить условия по позициям» или «создать черновик заказа», чем предоставлять интеграции широкий доступ ко всем объектам базы.
Синхронный и асинхронный обмен
Не все действия нужно выполнять в одном запросе.
Синхронный обмен подходит, когда пользователь ожидает немедленный результат:
- проверить существование клиента;
- найти товар по точному коду;
- получить текущий статус заказа;
- проверить доступность выбранной позиции.
У запроса должен быть ограниченный тайм-аут. Если 1С не ответила, интерфейс показывает состояние «данные временно недоступны», а не нулевой остаток или отсутствие товара.
Асинхронный обмен подходит для операций, которые могут завершиться позже:
- создание карточки после получения письма;
- передача подтверждённого заказа;
- обновление большого набора справочных данных;
- формирование документа;
- повторная обработка после сбоя.
При асинхронном обмене команда сохраняется в очереди. Система знает, сколько раз она выполнялась, какой ответ получила и когда должна повториться.
Как исключить дубли и повторное выполнение
Сайт, почтовый сервис, CRM или очередь могут повторно передать одно событие. Поэтому каждое действие должно быть идемпотентным: повторный вызов не создаёт второй объект и не выполняет коммерческое действие повторно.
Для этого используют:
- внешний идентификатор формы;
- идентификатор почтового сообщения;
- идентификатор события CRM;
- ключ операции при обращении к 1С;
- таблицу уже обработанных команд;
- проверку текущего состояния объекта.
Например, команда «создать черновик заказа» получает ключ, связанный с заявкой и её версией. Если интеграция повторяет запрос после тайм-аута, 1С возвращает ранее созданный документ, а не создаёт новый.
Поиск дублей по телефону или email решает только часть задачи. Один клиент может отправить два разных запроса подряд, а одна закупочная почта — представлять несколько подразделений. Поэтому система учитывает сочетание признаков: канал, сообщение, цепочку, компанию, позиции, время и существующую сделку.
Какие статусы должна иметь заявка
Одного статуса сделки в CRM недостаточно для диагностики интеграции. Нужен отдельный технический маршрут.
| Статус | Что означает | Действие |
|---|---|---|
| Получена | Исходное событие сохранено | Запустить проверки |
| Требует данных | Не хватает обязательного поля | Запросить уточнение или передать сотруднику |
| Проверяется | Идёт поиск клиента, товаров и дублей | Дождаться результата |
| Ожидает 1С | Запрос поставлен в очередь | Повторять по регламенту |
| Требует решения | Есть неоднозначность или коммерческий риск | Назначить задачу |
| Готова к записи | Данные и решения подтверждены | Создать или обновить объекты |
| Обработана | Целевое действие завершено | Зафиксировать результат |
| Ошибка | Автоматическое продолжение невозможно | Эскалировать ответственному |
Статусы должны быть видны не только разработчикам. Менеджеру нужен понятный текст: «не найден точный товар», «1С временно недоступна», «найдены две возможные компании» или «требуется подтвердить срок».
Руководителю нужна агрегированная картина: сколько заявок ожидает обработки, где находится очередь, какие ошибки повторяются и сколько времени обращение проводит на каждом этапе.
Где нужен AI, а где достаточно интеграции
Связь сайта, CRM и 1С сама по себе не требует AI. Передача данных, проверка обязательных полей, поиск по точному коду, маршрутизация и повторные попытки выполняются обычным кодом и бизнес-правилами.
AI может быть полезен, когда вход неструктурирован:
- письмо написано в свободной форме;
- клиент использует неполные названия товаров;
- нужно определить смысл обращения;
- данные находятся в разных частях переписки;
- требуется краткое резюме;
- необходимо подготовить черновик ответа;
- формат документа нельзя надёжно разобрать шаблоном.
Даже в этих случаях результат модели не должен напрямую становиться ценой, сроком или заказом. Сначала он приводится к строгой структуре, затем проверяется кодом, справочниками и правилами.
| Задача | Подходящий механизм |
|---|---|
| Передать форму в систему | API и интеграционный код |
| Проверить обязательные поля | Валидация |
| Найти товар по артикулу | Точный поиск |
| Прочитать скан | OCR |
| Разобрать стабильный шаблон | Парсер |
| Определить смысл свободного письма | Классификация или языковая модель |
| Проверить цену и лимит скидки | Бизнес-правила |
| Создать объект в CRM или 1С | Интеграционный адаптер |
| Подтвердить коммерческое условие | Сотрудник |
Когда данные уже структурированы, добавление языковой модели повышает стоимость и усложняет диагностику без полезного эффекта. Принцип выбора первого процесса и технологии подробнее разобран в статье об автоматизации бизнес-процессов.
Ошибки, которые система должна обрабатывать
Интеграция считается рабочей не тогда, когда проходит идеальная заявка, а когда предусмотрено поведение при сбоях и неоднозначностях.
| Ситуация | Неправильное поведение | Правильное действие |
|---|---|---|
| CRM не отвечает | Показать заявку успешно обработанной | Сохранить событие и повторить запись |
| 1С не отвечает | Считать остаток нулевым | Пометить данные недоступными |
| Получено повторное уведомление | Создать второй лид | Найти обработанное событие |
| Не найден товар | Создать новую номенклатуру автоматически | Показать кандидатов сотруднику |
| Найдены два контрагента | Выбрать первого | Запросить подтверждение |
| Цена изменилась во время обработки | Использовать старое значение без отметки | Повторно проверить перед подтверждением |
| Письмо содержит новый запрос в старой цепочке | Обновить прошлую сделку автоматически | Проверить контекст и предложить маршрут |
| Вложение повреждено | Проигнорировать файл | Зафиксировать ошибку и запросить документ |
| Истёк токен доступа | Потерять событие | Остановить адаптер и отправить техническое уведомление |
| Сотрудник исправил данные | Перезаписать их следующим обменом | Сохранить источник и правило приоритета |
Для каждого типа ошибки заранее определяют:
- можно ли автоматически повторить операцию;
- сколько попыток допустимо;
- через какой интервал выполняется повтор;
- кто получает уведомление;
- какие данные видит сотрудник;
- разрешено ли продолжать процесс;
- как исправленное событие запускается повторно.
Какие решения остаются за сотрудником
Автоматизация может собрать данные и подготовить действие, но не должна незаметно принимать решения с высокой стоимостью ошибки.
Человек подтверждает:
- специальную цену;
- скидку и исключение из прайса;
- обещание срока клиенту;
- выбор спорного аналога;
- создание нового контрагента при неоднозначности;
- изменение договорных условий;
- отказ клиенту;
- отправку коммерческого предложения с обязательствами;
- проведение учётного документа;
- действие при конфликте данных CRM и 1С.
Интерфейс проверки должен показывать исходную заявку, найденные значения, источник каждого поля, сработавшие правила и причину ручного контроля. Кнопки «подтвердить» недостаточно, если сотрудник не понимает, что именно будет записано в CRM и 1С.
Как запустить пилот
Первый контур не должен охватывать все формы, почтовые ящики, подразделения и типы документов.
Рассмотрим условный пример.
Компания принимает заявки с формы сайта и общей почты. Менеджеры создают сделки в CRM, а номенклатуру, цены и остатки проверяют в 1С. Для пилота выбирается один маршрут: заявки на типовую товарную группу без автоматической отправки ответа клиенту.
Пилот включает:
- Приём одной формы и одного почтового ящика.
- Сохранение исходных заявок.
- Единую структуру полей.
- Проверку обязательных данных.
- Поиск дублей.
- Создание черновика сделки в CRM.
- Получение товаров и доступности из 1С.
- Интерфейс проверки.
- Подтверждение менеджером.
- Полный журнал действий.
До разработки собирают:
- примеры обычных и проблемных заявок;
- поля будущей карточки;
- правила создания лида или сделки;
- справочники и идентификаторы;
- условия поиска дублей;
- роли и права;
- список коммерческих решений;
- тестовые доступы к CRM и 1С;
- ожидаемое поведение при сбоях.
Критерии приёмки
Пилот можно принимать, когда проверено, что:
- каждая заявка сохраняется до начала обработки;
- повторная доставка не создаёт дубль;
- исходник можно открыть из карточки;
- поля имеют источник и статус проверки;
- временная недоступность CRM или 1С не приводит к потере данных;
- сотрудник может исправить результат и повторить операцию;
- коммерческое решение не выполняется без подтверждения;
- журнал позволяет восстановить последовательность действий;
- технические статусы понятны пользователям;
- новые ошибки попадают ответственному, а не остаются скрытыми.
После этого добавляют следующие категории заявок, документы, подразделения и действия. Начинать с полной двусторонней синхронизации всех объектов обычно не требуется.
От чего зависит стоимость системы
Стоимость определяется границами процесса, а не количеством названий продуктов в схеме.
На оценку влияют:
- число сайтов, форм и почтовых ящиков;
- используемые CRM и конфигурация 1С;
- доступность и ограничения API;
- количество объектов обмена;
- объём исторических данных;
- правила поиска дублей;
- справочники и качество идентификаторов;
- частота обновления цен и остатков;
- виды вложений;
- необходимость OCR или AI;
- пользовательские роли;
- интерфейс ручной проверки;
- журналирование и мониторинг;
- требования к персональным данным;
- размещение внутри инфраструктуры компании;
- резервные сценарии;
- сопровождение при изменениях CRM, 1С и бизнес-процесса.
Пилот, промышленное внедрение и эксплуатацию оценивают отдельно. Пилот проверяет один маршрут. Промышленная версия добавляет отказоустойчивость, права, мониторинг, очереди и регламенты. Эксплуатация включает контроль обменов, обновление интеграций, поддержку справочников и обработку новых исключений.
Частые вопросы
Можно ли передавать форму сайта сразу в 1С?
Технически это возможно, но прямой публичный доступ усложняет безопасность и обработку ошибок. Обычно форму сначала принимает серверный контур, который сохраняет событие, проверяет данные и только затем обращается к CRM или 1С через ограниченный интерфейс.
Что делать, если CRM и 1С содержат разные данные о клиенте?
Нужно определить владельца каждого поля и правила разрешения конфликтов. Система не должна автоматически перезаписывать сведения без учёта источника, даты изменения и полномочий пользователя. Неоднозначные случаи передаются сотруднику.
Где должна храниться единая карточка заявки?
Рабочая карточка обычно находится в CRM, если там менеджеры ведут коммуникацию и этапы. Техническое состояние обработки, исходники и журнал событий могут храниться в интеграционном контуре. В 1С передаются только данные, необходимые для учёта и выполнения заказа.
Нужна ли постоянная синхронизация CRM и 1С?
Не обязательно. Часто достаточно событийного обмена по конкретным операциям: запросить условия, создать заказ, получить статус или передать номер документа. Полная синхронизация увеличивает количество конфликтов и стоимость поддержки.
Можно ли автоматически отвечать клиенту?
Без подтверждения можно отправлять только безопасные сообщения по утверждённым сценариям, например уведомление о регистрации обращения. Ответ с ценой, сроком, скидкой, аналогом или обязательством должен пройти проверку сотрудника. Для первого разбора достаточно предоставить несколько форм и писем, структуру карточки CRM, перечень данных из 1С и описание действий менеджера. На странице автоматизации бизнес-процессов можно разобрать один маршрут, определить владельцев данных, точки ручного контроля и состав первого рабочего контура.
Разберём поток входящих заявок
Для первого пилота достаточно одного канала, нескольких реальных писем или PDF и списка полей будущей карточки.
Обсудить автоматизацию