Интеграция 1С-Битрикс с Яндекс.Маркет

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с Яндекс.Маркет
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция 1С-Битрикс с Яндекс.Маркет

Каталог на сайте — это одна структура данных. Яндекс.Маркет ожидает другую: свои категории, обязательные атрибуты для каждой категории, фиды в формате YML с конкретными тегами. Без правильной настройки товары не пройдут модерацию, а прошедшие — покажут неверные цены или пустые характеристики. Интеграция 1С-Битрикс с Яндекс.Маркет — это маппинг двух разных моделей данных и поддержание синхронизации.

Архитектура интеграции

Яндекс.Маркет работает с магазином через два канала:

  1. YML-фид (Yandex Market Language) — XML-файл с товарами, который Маркет периодически забирает по URL. Основной канал для каталога.
  2. Partner API (https://api.partner.market.yandex.ru/) — REST API для управления заказами, ценами, остатками, статусами.

В 1С-Битрикс за генерацию фида отвечает модуль catalog.export с профилем экспорта «Яндекс.Маркет (YML)». За работу с API — либо модуль из Marketplace (RetailCRM, Kooplex, «МоёДело»), либо кастомный обработчик.

Генерация YML-фида: глубокая настройка

Стандартный профиль экспорта создаётся в Магазин → Настройки → Экспорт каталога → Яндекс.Маркет. Базовые параметры:

  • Тип торговли: DBS (Delivery by Seller) — доставка продавцом, FBS (Fulfillment by Seller) — отгрузка со своего склада через логистику Маркета, FBY (Fulfillment by Yandex) — товар лежит на складе Яндекса.
  • Инфоблок каталога: привязка к конкретному инфоблоку товаров.
  • Свойства для экспорта: маппинг полей инфоблока на теги YML.

Обязательные теги для каждого <offer>:

Тег YML Поле в Битрикс Примечание
<name> NAME элемента До 150 символов
<price> Цена каталога В рублях, без скидок
<currencyId> Валюта RUR / USD
<categoryId> Раздел инфоблока Маппится на категории Маркета
<picture> DETAIL_PICTURE или свойство Минимум 300×300 px, до 10 фото
<vendor> Свойство «Бренд» Обязательно для большинства категорий
<barcode> Свойство «Штрихкод» EAN-13. Без него — ограничения по размещению
<description> DETAIL_TEXT До 3000 символов, HTML-теги ограничены

Критичный момент — <param>. Яндекс.Маркет требует характеристики товара в виде <param name="Размер">42</param>. В Битрикс характеристики — это свойства инфоблока. Стандартный экспортный профиль выгружает только те свойства, которые явно отмечены в настройках экспорта. Если свойство множественное (несколько значений), каждое значение генерирует отдельный <param>.

Проблема с торговыми предложениями (SKU). Если товар имеет торговые предложения (размер, цвет), каждое предложение — отдельный <offer> в фиде. Связь задаётся через <group_id> (объединяет предложения одного товара). Стандартный экспорт Битрикс не всегда корректно формирует group_id — может потребоваться доработка обработчика экспорта в /bitrix/php_interface/include/catalog_export/.

Маппинг категорий

Яндекс.Маркет использует собственное дерево категорий. Раздел «Электроника → Смартфоны» в вашем каталоге — это конкретный categoryId в дереве Маркета. Маппинг задаётся двумя способами:

  1. Через модуль интеграции — загружается дерево категорий Маркета, и для каждого раздела инфоблока выбирается соответствие.
  2. Через market_category в YML — тег <market_category>Электроника/Смартфоны</market_category> внутри <offer>. Яндекс пытается автоматически сопоставить.

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

Управление заказами через Partner API

Когда покупатель заказывает товар на Яндекс.Маркет, заказ нужно принять и обработать. Схема:

  1. Маркет отправляет POST на ваш endpoint (callback URL) с данными заказа.
  2. Обработчик на стороне Битрикс создаёт заказ в модуле sale через Bitrix\Sale\Order::create().
  3. При смене статуса заказа в Битрикс — отправляется PUT-запрос в Partner API для обновления статуса на Маркете.

Статусы Маркета: PROCESSINGDELIVERYDELIVERED / CANCELLED. Маппинг на статусы Битрикс (N, P, F, C) настраивается в модуле интеграции.

Обновление остатков. Маркет ожидает актуальные остатки. Два подхода:

  • Через фид — тег <count> в <offer>. Фид обновляется по cron раз в 30–60 минут.
  • Через API — метод PUT /campaigns/{campaignId}/offers/stocks. Обновляет остатки в реальном времени. Используется для высокооборачиваемых товаров.

Частые ошибки при интеграции

Фид не проходит валидацию. Яндекс проверяет XSD-схему. Незакрытые теги, спецсимволы (&, <, >) в описании без CDATA, кириллица в URL картинок — всё это причины отклонения.

Цены не совпадают. Если на сайте действуют скидки, а фид выгружает цену до скидки — Маркет может заблокировать магазин за расхождение цен. Решение: в экспортном профиле выбрать тип цены, соответствующий цене на сайте, или формировать <oldprice> для зачёркнутой цены.

Дубли товаров. При переиндексации каталога меняются ID элементов инфоблока. Маркет считает товары с новыми ID новыми офферами, а старые — удалёнными. Используйте <shop-sku> на основе артикула (свойство ARTICLE), а не ID элемента.

Сроки интеграции по масштабу

Масштаб каталога Объём работ Срок
До 500 товаров, без SKU Настройка фида + базовый маппинг 3–5 дней
500–5000, с торговыми предложениями Фид + доработка экспорта + API остатков 1–1.5 недели
5000+, FBS/FBY, мультискладовость Полная интеграция: фид + API заказов + остатки + статусы 1.5–2 недели