Главная бизнес-задача
Сократить путь заказа от площадки до производства или сборки, сохранив контроль над каждой позицией и не создавая новую ручную операцию на каждом этапе.
Связали четыре маркетплейса с amoCRM и МойСклад, реализовали автоматическую проверку остатков и научили систему выбирать маршрут заказа: сборка со склада или запуск в производство.
Сфера: e-commerce и производство. Wildberries FBS, Ozon FBS, Яндекс Маркет FBS, Лемана ПРО FBS, amoCRM, МойСклад.
Заказ нужно не только получить. Его надо правильно сгруппировать, проверить по складу, сопоставить производственные параметры, создать резерв или задание на производство, затем синхронизировать упаковку и статус отгрузки.
Сократить путь заказа от площадки до производства или сборки, сохранив контроль над каждой позицией и не создавая новую ручную операцию на каждом этапе.
Свести разные модели API одним доменным процессом, при этом не потерять уникальные правила Wildberries, Ozon, Яндекс Маркета и Лемана ПРО.
Наш подход: отдельный адаптер для каждого маркетплейса, единое ядро бизнес-логики и независимый слой работы с CRM и складом.
Пять точек, в которых заказ терял скорость и требовал ручного решения сотрудника.
Каждый маркетплейс — отдельное окно со своими правилами и статусами.
Одна покупка может быть разбита на позиции, постинги или отправления.
Остатки и параметры партии приходится сверять в разных системах.
Неверная упаковка или статус создают риск задержек и штрафов площадки.
Склад или производство — человек решает по памяти, без фиксированных правил.
У каждой площадки собственные сущности, лимиты и статусы. Мы реализовали отдельную логику для каждого канала, сохранив единый интерфейс работы в amoCRM.
Позиции одной корзины группируются по общему идентификатору в одну сделку. Система распределяет заказы по поставкам, контролирует лимит до 74 товаров и автоматически создаёт следующую поставку. Сложность: одна покупка разбивается на отдельные сборочные задания.
Несколько постингов одного заказа объединяются в одну карточку, а перевод в готовность к отгрузке синхронизирован с фактической сборкой. Сложность: не переводить заказ в готовность раньше физического завершения работ.
Перед отгрузкой система формирует разметку грузомест: товары и единицы распределяются по коробкам, затем заказ переводится в READY_TO_SHIP. Сложность: корректная структура коробок обязательна до изменения статуса.
Одно отправление создаётся как одна сделка. Система подтверждает его, формирует грузоместа и завершает комплектацию по цепочке created → packingStarted → packingCompleted. Сложность: после завершения упаковки коробки уже нельзя менять.
Для менеджера это один понятный процесс. Для интеграции — четыре независимых набора правил, ограничений и обратных вызовов.
amoCRM стала центром управления заказами. МойСклад отвечает за номенклатуру, остатки и документы. Интеграционный слой приводит данные площадок к единому формату и управляет обратными статусами.
Wildberries, Ozon, Яндекс Маркет и Лемана ПРО передают заказы через собственные API.
Карточка заказа, статусы и контроль — центр управления всем потоком.
Проверка каждой позиции и выбор маршрута заказа.
Товары, остатки, резерв и производство — источник истины по номенклатуре.
Резерв товара → заказ покупателя → сборка → коробки → готов к отгрузке.
Производственное задание → выпуск одной партией → повторная проверка → сборка.
Артикулы, количество, цена, номер заказа, источник и технические идентификаторы сохраняются в единой модели.
CRM показывает реальный этап: новый заказ, на сборку, в производство, готов к отгрузке или ошибка.
Система не только получает заказы, но и отправляет подтверждения, коробки и изменения статусов обратно.
Мы не пытались заставить четыре площадки работать одинаково. Мы сохранили их правила, но спрятали различия внутри интеграционного слоя.
Каждая позиция заказа проходит последовательную проверку. Решение принимается не по общему наличию товара, а по фактическому остатку и производственной совместимости всей партии.
Позиция ищется в МойСклад по артикулу, затем по коду.
Количество на складе должно покрывать заказ.
Атрибут «Принтер» должен быть заполнен и одинаков для всех позиций заказа.
Все товары найдены, остатка достаточно, производственный атрибут заполнен и единый — заказ резервируется и переходит на сборку.
Хотя бы одна позиция не прошла проверку или товары относятся к разным производственным партиям — создаётся производственное задание.
Сотрудник видит не общий статус, а результат по каждой строке заказа и конкретную причину: товар не найден по артикулу или коду, остаток меньше требуемого, не заполнен атрибут «Принтер» или у позиций разные значения.
Артефактом проекта стал готовый виджет интеграции маркетплейсов с amoCRM — теперь подключить Wildberries, Ozon, Яндекс Маркет и Лемана ПРО можно как тиражируемое решение, без разработки с нуля.
Виджет «Интеграция маркетплейсов» →Мы заложили защиту от типичных проблем реального API: повторных событий, временных ошибок, лимитов запросов, неполных данных и изменений статусов.
Повторный запрос не создаёт второй заказ, резерв или производственное задание.
Технические идентификаторы площадки сохраняются и проверяются до создания сделки.
Ошибки 429 и 5xx обрабатываются повторными запросами с контролируемой задержкой.
Клиенты API учитывают ограничения систем и не создают искусственную перегрузку.
Действия и ошибки фиксируются, а токены и чувствительные данные маскируются.
Доменный движок проверяется отдельно от HTTP и внешних сервисов.
Клиенту требовалось убрать ручную обработку заказов и связать продажи, CRM, склад, производство и отгрузку. Заказ проходит весь путь автоматически, а решение по каждой позиции принимается на основании реальных данных из МойСклад.
Рост потока заказов перестал означать такой же рост ручной работы. Архитектура масштабирует операции, а не нагрузку на менеджеров. Руководство видит поток заказов, узкие места, ошибки интеграции и готовность к отгрузке.
Мы работаем не только с воронками и полями amoCRM. Берём на себя проектирование процессов, интеграционную архитектуру и разработку бизнес-логики между продажами, складом и производством. Проект оценён в 260–280 часов и разбит на независимые блоки — интеграции площадок, движок принятия решений и слой МойСклад разрабатывались параллельно.
Начинаем не с API, а с пути заказа, ролей, ограничений и управленческой задачи.
Не разрабатываем с нуля то, что можно решить настройкой, и не маскируем сложную задачу готовым коннектором.
Учитываем партии, остатки, совместимость позиций, задания и повторную проверку после выпуска.
Закладываем идемпотентность, retry, логи, диагностику и тесты до выхода в эксплуатацию.
Руководитель получает прозрачные этапы и причины решений, а не чёрный ящик.
Архитектура допускает новые площадки, правила и объёмы без полной переделки ядра.
Разберём процесс, найдём узкие места и спроектируем рабочий контур автоматизации.