Кейс разработки B2B-продукта, который упростил интеграцию интернет-магазинов с маркетплейсом
2018 год. Время, когда маркетплейсов в современном понимании ещё не существовало. Интернет-магазины были на пике своей формы — каждый сам привлекал клиентов, сам обрабатывал заказы, сам решал все вопросы. И многие из них работали на платформе 1С-Битрикс.
Яндекс.Маркет в тот момент активно набирал обороты, превращаясь из сервиса сравнения цен в полноценную торговую площадку. Для дальнейшего роста ему было нужно одно: чтобы как можно больше интернет-магазинов могли быстро и без боли начать продавать через него.
Всё упиралось в, казалось бы, элементарную задачу: сформировать прайс-лист в формате YML. Но именно здесь возникали основные сложности.
Штатные инструменты Битрикса для формирования YML-файлов были очень ограниченными. Они позволяли выгружать только весь товарный каталог целиком.
Не было фильтров, гибкого сопоставления полей, возможности по-разному настроить выгрузку для разных групп товаров.
Каждый магазин, который хотел работать с Маркетом, вынужден был либо нанимать программиста для написания кастомной выгрузки фида, либо покупать платные решения.
Наш ход: ТЗ до первого созвона
Мы вошли в число агентств, к которым Яндекс.Маркет обратился с запросом на разработку модуля.
Мы увидели в этом не просто заказ, а возможность создать качественный инструмент для рынка. Поэтому ещё до первого созвона с заказчиком мы подготовили техническое задание — продумали архитектуру, интерфейсы, сценарии использования.
Мы понимали, что модуль должен быть не просто «ещё одной выгрузкой», а мощным, гибким инструментом, который даст пользователям то, чего они не могли получить от штатных средств. Поэтому в ТЗ заложили гибкое сопоставление полей, мощные фильтры, удобный интерфейс настройки — всё то, что потом стало ключевыми преимуществами модуля.
На встрече мы пришли не с вопросами, а с готовым видением. Это сработало: заказчик увидел в нас не просто исполнителя, а партнёра.

Что было до нас
Чтобы оценить масштаб, нужно понимать, с чем конкурировал наш модуль на старте. Существовавшие решения для выгрузки YML можно было описать одной фразой: «выгрузить либо всё, либо ничего». Никакой гибкости:
- скудный набор тегов-характеристик для товаров: описание, производитель, цена;
- условия доставки товаров не поддерживаются как таковые;
- фильтрация по цене, бренду, наличию? Что-то из области фантастики. Отфильтровать товары возможно только по разделу инфоблока: либо включаем раздел целиком, либо не включаем вовсе.
Продавцы либо мирились с мусором в прайс-листе, либо тратили десятки тысяч рублей на кастомные доработки. Мы хотели дать им возможность настраивать выгрузку под свои задачи без программистов и лишних затрат.
Что мы сделали в первой версии
Модуль вышел в октябре 2018 года. Но это была только точка старта. В первые же месяцы мы выпускали обновления каждые несколько дней — иногда по два-три релиза за неделю. Пользователи видели, что разработка идёт активно, а их пожелания реализуются почти мгновенно.
Модуль «Яндекс.Маркет для продавцов» опубликован на Маркетплейсе. Базовая выгрузка YML с поддержкой простых товаров и торговых предложений.
Появились фильтры «Пусто/Не пусто» для отсева товаров с незаполненными полями. Добавлено копирование профилей выгрузки.
Фильтрация по типу товара: раздельная выгрузка простых товаров и товаров с торговыми предложениями. Поддержка старых версий Битрикс.
Новый тип свойства инфоблока для выбора категории маркетплейса прямо в карточке товара. Фильтрация по остаткам на складах.
Добавлен тег pickup-options. Появился тег min-quantity для минимального количества заказа.
Возможность выбора нескольких значений в фильтрах для строковых и числовых полей. Добавлены utm-метки из полей элементов.
Большое обновление: модуль научился выгружать на Маркет данные об акциях и скидках (тестовый режим).
Добавлен тег purchase_price. Появилась возможность настраивать delivery-options и pickup-options через сопоставление полей.
Версия 1.1.17: автодополнение по разделам, оптимизация фильтров, улучшение производительности.
Обработка заказов с Беру и Турбо-страниц. Подтверждение прав для Яндекс.Вебмастер. Новая эра модуля.
Расскажем про основные направления, по которым мы развивали модуль в этот период.
Гибкость выгрузки: от «всё или ничего» к тонкой настройке
С первой версии мы заложили возможность выбирать, какие товары попадают в выгрузку и как именно они там будут выглядеть.
Появились фильтры «Пусто / Не пусто» — это позволило отсекать товары с незаполненными важными полями. Добавили фильтрацию по типу товара: можно было отдельно выгружать простые товары и товары с торговыми предложениями. А фильтрация по остаткам на складах стала важной историей для магазинов, которые торгуют тем, что есть в наличии.
Можно было выбирать несколько значений в фильтрах для строковых и числовых полей, а также фильтровать по разделам каталога с учётом подразделов — включать или исключать целые ветки.
Параллельно мы давали гибкость в настройке того, что попадает в прайс-лист. Добавили возможность выбирать utm-метки из полей элементов — это позволило автоматически подставлять нужные метки в ссылки на товары.
Мы ввели специальный тип свойства инфоблока — «Категория Яндекс.Маркет», чтобы можно было прямо в карточке товара выбирать категорию маркетплейса, а не мучиться с сопоставлением через внешние таблицы.
Поддержка сложных форматов и тегов YML
Мы понимали, что магазинам нужно выгружать не только базовые поля, но и дополнительные параметры, которые требуются для разных форматов размещения. Поэтому мы постоянно следили за развитием формата YML и добавляли поддержку новых тегов по мере их появления и по запросам пользователей.
Особое внимание уделили условиям доставки и самовывоза, минимальному количеству для заказа, уценённым товарам, закупочной цене, срокам годности, габаритам и весу товаров. Всё это можно было настраивать через сопоставление полей, без правки кода.
Кроме того, мы добавили гибкую настройку utm-меток прямо из полей и свойств товаров, чтобы ссылки на Маркет автоматически формировались с нужными параметрами.
Работа со скидками и акциями
Магазины активно используют скидки, и мы сделали так, чтобы они корректно отражались в выгрузке.
Добавили возможность выгружать на Маркет данные об акциях — это была большая фича, которая сначала работала в тестовом режиме, и мы приглашали пользователей присоединяться к тестированию.
Появилось отслеживание изменения курса валют и сравнение стоимости товара по акции с ранее выгруженной ценой. Также мы реализовали поддержку подарков из инфоблоков, которые не используются в выгрузке, но нужны для скидок.
Оптимизация и стабильность
Мы сразу заботились о том, чтобы модуль работал быстро и без сбоев, особенно на крупных каталогах, где количество товаров исчислялось десятками тысяч.
Оптимизировали работу с базой данных и памятью, чтобы выгрузка не падала и не зависала. Улучшили логику обработки больших объёмов: ускорили подсчёт товаров по сложным фильтрам, исправили ошибки, которые могли возникать при параллельных запусках агентов. Сделали так, чтобы модуль корректно работал на разных версиях платформы и в разных окружениях.
Добились того, что даже самый нагруженный магазин мог выгружать свой ассортимент без проблем.
Удобство работы и интерфейс
Мы делали интерфейс понятным и удобным, чтобы менеджеры интернет-магазинов могли настраивать выгрузку самостоятельно, без привлечения программистов. Добавили удобные источники данных (например, можно было брать информацию прямо из разделов каталога), копирование профилей, автодополнение и подсказки при заполнении полей. Предусмотрели права доступа, чтобы ограничить круг лиц, которые могут менять настройки. Агент уведомлений о новых версиях помогал пользователям всегда быть в курсе обновлений.
Поддержка формата Беру (будущего Маркета)
Уже в первых версиях мы начали закладывать поддержку формата, который потом стал основой для работы с маркетплейсом. Добавили необходимые теги и режимы выгрузки для Беру, включая поддержку НДС, работу с торговыми предложениями и формат «Только цены».
Реакция: отзывы, которые говорят сами за себя
Модуль появился на Маркетплейсе 10 октября 2018 года. И уже в первые дни пользователи начали писать то, что мы бережно храним в архиве:













В обсуждениях тех лет мы отвечали на каждый вопрос, помогали с настройкой, допиливали модуль под реальные сценарии. Уже тогда было понятно: это не разовая задача, а начало долгого пути.
Что это дало рынку
С выходом нашего модуля любой интернет-магазин на Битриксе получил возможность выйти на Яндекс.Маркет буквально за пару часов, а не за недели согласований и доработок. Снизился порог входа, увеличилось количество качественных фидов, выросли продажи у селлеров. А сам Яндекс.Маркет, который тогда только набирал обороты как маркетплейс, получил надёжный инструмент для своей экосистемы.
Первая версия — начало пути
Этот кейс — только первый акт. Уже в следующих версиях мы добавили обработку заказов, поддержку «Беру», модели FBS/DBS, переход на Каталог товаров API. Но фундамент, заложенный в 2018 году — гибкость, модульность, ориентация на реальные потребности бизнеса — позволил нам развивать модуль дальше и оставаться основным разработчиком интеграции с Яндекс.Маркетом на платформе 1С-Битрикс.