Планируете работать с маркетплейсами по модели FBS? Тогда эта статья для вас. Рассказываем, как вывели интернет-магазин на маркетплейсы с помощью интеграции и объединили все заказы в единой CMS. А еще доработали бизнес-процессы, настроили обмен данных между Яндекс Маркетом, Ozon и тремя системами учёта.
Привет! Мы – Creonit / digital production. Много работаем с крупными компаниями из сферы ритейл и e-commerce, например с Faberlic, FixPrice, Coffee Like и другими. Выход на маркетплейсы — один из трендов в развитии интернет-магазинов. Мы часто помогаем клиентам интегрировать внутренние системы с популярными маркетплейсами. В статье поделимся и опытом и расскажем о подводных камнях.
Маркетплейсы — один из наиболее востребованных каналов продаж для многих компаний. Поэтому процесс интеграции с ними является важным шагом для роста и развития бизнеса.
Мы рассмотрим основные аспекты интеграции с Ozon и Яндекс Маркетом по модели FBS. Расскажем, как можно организовать бизнес-процессы для интеграции, как объединить информацию из различных систем учёта и маркетплейсов, а также настроить автоматический обмен данных.
Статья будет полезна для всех, кто рассматривает возможность интеграции с маркетплейсами или уже столкнулся с этой задачей. Наш опыт может помочь учесть несколько важных нюансов при организации бизнес-процессов.
FBS — это модель, при которой продавец хранит товары на своём складе, сам принимает, обрабатывает заказы с маркетплейса и доставляет их в пункты приёма.
Модель работы с маркетплейсами FBS чаще более выгодна для продавцов, чем FBO. FBO — схема, при которой товары хранятся на складе маркетплейса и доставляются им же.
При работе по модели FBS будет ниже комиссия, выше уровень безопасности, больше возможностей для защиты от мошеннической деятельности и больше выбор товаров и услуг, поэтому её выбирают чаще. FBO может ограничивать выбор только конкретными товарами или услугами.
У каждого маркетплейса есть законодательные (например, маркировка товаров) и собственные требования к каталогу товаров. Например, Ozon требует наличия уникальных идентификаторов для каждого товара, а также набор характеристик: правильное описание товара для площадки и его название, особые правила указания типа и категории товаров и другое. Посмотреть требования к данным о товарах на Ozon можно тут.
У Яндекс Маркета есть свой набор требований к описанию товаров. Характеристики товара бывают двух типов:
Подробнее изучить требования к данным о товарах на Яндекс Маркете можно тут. Перед интеграцией необходимо подготовить каталог товаров с учётом требований каждого маркетплейса.
Важный нюанс — передаваемый каталог должен соответствовать структуре разделов маркетплейса. Часто категории товаров в интернет-магазине могут не совпадать с категориями маркетплейса. Такого быть не должно. Адаптация категорий под структуру каталога маркетплейса может быть весьма ресурсозатратной и не всегда решается на стороне разработчика. Например, когда нужно рассортировать несколько десятков тысяч товаров по новым категориям.
Для работы с заказами используют личный кабинет поставщика. Для его корректной работы нужно настроить процессы обработки заказов, отслеживания статусов и управление доставкой. Это может оказаться сложной задачей для компаний, у которых нет опыта в работе с маркетплейсами.
Например, один из подводных камней — возвраты и замены. Часто есть требование, что они должны обрабатываться вручную. Контур возвратов у обоих маркетплейсов не интегрируется, поэтому важно знать, что под эти процессы нужно будет выстраивать отдельные механизмы работы и не терять их из вида.
У маркетплейсов довольно строгие правила по срокам обработки заказов. На каждый этап обработки выделяется определенное количество минут, часов или дней. Доступность сервиса для обмена данных проверяется раз в несколько минут. Если сроки этапа будут нарушены или сервис не будет доступен, то можно получить временное отключение магазина или штраф.
Выход на маркетплейс — это не просто сделать выгрузку товаров и работать в привычном ритме. Нужно быть готовым к изменениям контура работы с заказами.
Маркетплейсы требуют оперативно обновлять все данные. Например, заказ Яндекса должны принять в течение 15 минут. Что для этого надо? Не должно быть отмен, пересортицы и т.д. Товар должен быть в наличии в текущий момент времени без риска внезапно закончиться на складе продавца. Для этого можно реализовать такую фичу: если количество товара меньше Х и его могут купить в любую минуту в другом месте, то он снимается с маркетплейса. Для заказчика мы добавили временные лимиты на подтверждение и отгрузку заказов. Часть функциональности у клиента отвечает за то, чтобы критически важные статусы всегда приходили вовремя. Дополнительно Яндекс Маркет на этапе оформления заказа опрашивает CMS с целью уточнения актуальности данных по товарному набору, в том числе соответствие остатков в корзине покупателя и на складе.
Для бизнеса такие нюансы очень критичны, а они не всегда лежат на поверхности инструкций.
Заказчик решил работать с Ozon и Яндекс Маркетом по модели FBS (fulfillment by seller). Для эффективной торговли со своего склада требуется правильная и надёжная интеграция интернет-магазина с API.
Мы провели несколько предварительных встреч с заказчиком, проработали необходимые изменения в бизнес-процессах, обозначили и зафиксировали все этапы и задачи, запустили процесс интеграции.
1. Аналитика и формулирование требований. Команда Creonit при участии специалистов заказчика составила ТЗ, в котором описала, как будет проходить интеграция, спрогнозировала сроки реализации проекта. Прорешали организационные вопросы на всех этапах взаимодействия с заказом в несколько итераций. Мы с заказчиком прорисовали схемы бизнес-процессов для этого контура заказов: кто, когда и какие действия должен выполнять. Далее составляли ТЗ на то, что делает сервис: где нужно доработать административную панель заказов, интеграций и в целом все детали передачи данных между нами, сервисами клиента и маркетплейсами.
2. Интеграция. Интегрировали системы заказчика с маркетплейсами. Сначала клиент вносил необходимые изменения по итогу протокола интеграции изменения. Интеграция была двойной: наш сервис получает и отдаёт данные в системы клиента и наш сервис получает и отдаёт данные в маркетплейс.
3. Отладка. Тестирование и исправление багов. Приемка функциональности самим маркетплейсом: проверка каталога, проверка работы заказа и другое.
4. Приёмка проекта. Запустили функциональность в продакшн, провели тестирование после релиза.
Мы интегрировали интернет-магазин заказчика с маркетплейсами по очереди: сначала с Яндекс Маркетом, а затем с Ozon.
Есть сущность обмена:
Мы настроили обмен данных с помощью кастомной CMS. У Ozon и Яндекс Маркета всегда должна быть актуальная информация о количестве доступных товаров заказчика. Для передачи этой информации, API Ozon и API Яндекс Маркета объединяют ее из внутренних систем заказчика с процессами в личном кабинете Ozon и Яндекс Маркета.
Мы синхронизировали данные заказчика и маркетплейсов с помощью CMS, которая выступает в качестве агрегатора данных по товарам и системы для работы с заказами.
Заказчик использует несколько сервисов:
CMS отвечает за взаимодействие сотрудников и систем учёта заказчика и маркетплейсов. Она автоматизирует загрузку товаров и обновление информации об остатках, агрегирует данные из всех вышеперечисленных систем и отправляет их в Ozon и Яндекс Маркет. Обновляются изменяемые данные очень часто, поэтому маркетплейсы вовремя получают данные о товарах, их характеристиках, изменениях цен, товарных остатках, статусах заказов (в реальном времени, изменился статус – мгновенное обновление), поэтому информация на витринах маркетплейсов всегда актуальна.
Данные сразу попадают в базу данных, так как CMS агрегирует их из других систем продавца и валидация данных происходит там.
Благодаря интеграции по API:
1. Не нужно менять цены вручную в личном кабинете Ozon или Яндекс Маркета и контролировать их. Данные об изменениях цен автоматически подтягиваются из систем учёта заказчика и транслируются покупателям на маркетплейсе.
2. Не нужно вручную контролировать количество остатков, поскольку системы обмениваются данными, актуализируют информацию и отражают её в личном кабинете продавца и для покупателей на маркетплейсах.
3. Информация о том, какой заказ нужно собрать на складе маркетплейса, поступает сотрудникам автоматически. При сборке заказа сотрудники склада заказчика делают отметку «Собран» — и данные сразу отправляются в маркетплейс. Это очень удобно.
Реализацию проекта начали со сложных консультаций и обсуждений. Нужно было модернизировать ряд процессов, так как возникли проблемы, о которых сейчас расскажем подробнее.
У заказчика много товаров и нужно точно определять для них категории. У Ozon свой список категорий, который лишь частично совпадает с категориями товаров заказчика. Неудобство в том, что товар из CMS нужно повторно прикреплять к категории вручную. И нужен человек, чтобы определять верные категории товаров в Ozon.
Товар нужно было самостоятельно привязывать к конкретному идентификатору (автоматически сейчас Ozon так делать не может). Для решения этой проблемы мы выгрузили весь список категорий и храним его на стороне CMS. Оператор дополнительно проверяет информацию о категориях товаров.
Для работы с заказами из Ozon склад заказчика изменил алгоритм нанесения этикеток. Заказы сначала упаковывают, затем информируют CMS, которая запрашивает у Ozon этикетку для каждой коробки, получают этикетку и передают её в Infor. Таким образом, появился дополнительный этап после упаковки заказа — передача данных и получение этикетки от Ozon. Только после этого заказ считается готовым к передаче в сортировочный пункт маркетплейса.
Для интеграции с Ozon настроили:
На момент составления ТЗ не было возможности автоматически получать информацию о новых заказах через вебхуки Ozon. Для получения информации о заказах, возвратах, модерации товаров и прочего, мы реализовали дополнительный набор команд, которые опрашивают необходимые методы с определённым интервалом. Сейчас уже появились пуш-уведомления — это огромный плюс, можно просто обрабатывать их и получать информацию.
Обязательные атрибуты задаются через словарь и описывают свойства товаров: цвет, размер, бренд, материал и т.д. Нужно выполнять большое количество запросов, чтобы получить все возможные варианты заполнения атрибутов. Чтобы этого избежать, реализовали дополнительный набор команд, который получает обязательные атрибуты и варианты заполнения для них в CMS заказчика. В Ozon есть лимиты на количество запросов, поэтому их нужно растягивать во времени.
Невозможно было автоматически обновлять часть полей карточки товара — нужно отправлять в Ozon всю информацию о товаре при каждом обновлении. Заказчику было удобно, чтобы общая информация (картинки, описание, цены) подтягивалась из CMS, а часть полей (характеристики, размеры) выгружалась из шаблона.
Но то, что загружалось через API, переписывалось тем, что выгружается из шаблона, и наоборот. Полную информацию о товаре из двух источников подтягивать было нельзя. Поэтому мы реализовали дополнительную функциональность и сделали так, что запрос Ozon с целью получения информации о товаре (той, которую заказчик загрузил из шаблона) агрегируется и уже полную информацию о товаре мы выгружаем в Ozon.
Главной задачей было совместить текущие бизнес-процессы онлайн-продаж с новым направлением работы — торговлей на Яндекс Маркете. Для этого мы с заказчиком проработали отдельный бизнес-процесс под схему продаж на маркетплейсе по модели FBS.
CMS выступает в качестве связующего звена с несколькими системами учёта: SAP, Infor, Art-Trade. Всё взаимодействие этих трех компонентов с CMS происходит через обмен электронными документами по FTP.
Интеграция с этими системами уже была, мы частично переиспользовали ранее реализованную функциональность для настройки выделенного под маркетплейс контура.
Это работает так: SAP присылает каталог, автоматически из ART-TRADE подтягиваются описания и картинки товаров, из Infor с нового склада для Яндекс Маркета подтягиваем количество остатков и отдаём эту информацию в систему отгрузки по заказам Яндекса.
Дополнительно для заказов из Яндекс Маркета мы сделали отдельный модуль в админке для операторов этого направления. Он позволяет операторам работать в привычной им экосистеме с заказами из Яндекс Маркета.
CMS выступает центральным узлом для обмена данными между Яндексом, системой управления заказами и системами учёта.
При интеграции с маркетплейсами по API, триггеры являются важным инструментом для автоматизации процессов и управления данными.
Триггеры позволяют автоматически запускать определенные действия, когда происходят конкретные события.
Например, при получении нового заказа на маркетплейсе через API, триггер может автоматически создать соответствующий заказ в системе управления заказами. Это позволяет сократить время на обработку заказов и снизить вероятность ошибок.
Также, триггеры могут быть использованы для автоматического обновления товаров на маркетплейсе. Например, при изменении цены или описания товара в системе управления товаром, триггер может автоматически обновить соответствующий товар на маркетплейсе через API.
При подключении API к внутренним системам заказчика, команда Creonit создала в их CMS несколько триггеров, на которых построены события. Если произошло событие А, запускается цепочка событий B. Рассмотрим на примере.
Упаковка заказа.
Когда пользователь заказывает товар на OZON, заказчик получает информацию об этом заказе и приступает к упаковке заказа.
К основным триггерам можно отнести изменение товара, упаковку заказа, подтверждение заказа складом и другие.
1) При изменении информации о товаре (изображения, характеристики, описания, цены) со стороны SAP или ART-TRADE, товар попадает в очередь на обновление товара в маркете. По техническому заданию такое обновление происходит раз в сутки.
2) При получении уведомления от Infor об упаковке заказа, происходит операция завершения сборки заказа. Если в заказе есть маркированные товары, то в маркет передается маркировка. Товары некоторых категорий в России отслеживаются с помощью системы «Честный знак». Производитель или импортер закрепляет на каждой единице товара индивидуальный код — маркировку. Она фиксируется на всех этапах и печатается на покупательском чеке.
Для заказчика мы интегрировались через API Яндекс Маркета. Интеграция помогла автоматизировать работу с заказами, товарами и остатками.
Интегрировались с Яндекс Маркетом и Ozon и проработали схему бизнес-процессов заказчика под интеграции. Провалидировали их работу со всеми системами, запланировали доработки, которые потребовались на стороне CMS для корректной работы с точки зрения гайдлайнов Яндекс Маркета и Ozon. Помогли объединить информацию в единой CMS, которая обменивается данными с маркетплейсами и сразу тремя системами учёта. Благодаря этому передача заказов с маркетплейсов, оформление всех сопутствующих документов и пересчёт остатков происходит автоматически.
Рекомендации для тех, кто планирует интегрироваться с маркетплейсами. Что стоит учесть при подготовке к интеграции интернет-магазина с маркетплейсами.
Больше контента с интересными кейсами, решениями, лайфхаками и материалами о ведении проектов в IT можно прочитать в нашем телеграм-канале. Присоединяйтесь!