Парсинг данных из Яндекс.Маркет для 1С-Битрикс

Цены и остатки на маркетплейсе меняются чаще, чем вы успеваете их править вручную, и каталог на сайте расходится с реальностью. Мы автоматизируем парсинг Яндекс.Маркет и настраиваем регулярный обмен товарными данными с вашим каталогом на 1С-Битрикс — под ключ. Сопоставление товаров идёт автоматически, а вы видите актуальные цены, остатки и характеристики.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Парсинг данных из Яндекс.Маркет для 1С-Битрикс
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1534
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1049
  • Разработка виджета онлайн-записи на прием для медицинского центра
    Разработка виджета онлайн-записи на прием для медицинского центра
    820
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    920
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    858
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1209

Парсинг Яндекс.Маркет для каталога на 1С-Битрикс: что ломается

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

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

Обновление цен и остатков, запущенное пакетом без журнала, при обрыве связи оставляет половину каталога со старыми значениями: следующая выгрузка стартует с начала и не догоняет отставшие позиции. Отсюда же и ручные правки карточек — менеджер правит заголовок или свойство, а очередной импорт его перезаписывает, потому что редакторский контент не отделён от данных поставщика.

Замыкает цепочку расхождение каталога и площадки по наличию: товары без наличия остаются активными и уходят в отказ, а кэш и поисковый индекс держат старое значение ещё сутки. Дальше разбираем, как это закрывается на стороне Битрикса.

Что даёт регулярный обмен товарными данными с маркетплейсом

Разовый сбор каталога решает задачу на день, после чего цены и остатки снова расходятся с реальностью. Регулярный обмен с Яндекс.Маркет строится как регламентная задача: система сама забирает изменения по товарам и отдаёт обновлённые цены и наличие, оставляя людям только исключения.

Первый измеримый эффект — доля позиций с актуальной ценой. При ручной правке прайса раз в неделю она проседает к концу интервала и всегда неравномерно: часть карточек уходит в отрыв, а восстановить картину без сверки невозможно. Обмен по расписанию и только по изменившимся артикулам держит долю актуальных цен у верхней границы, а расхождение по конкретному товару живёт минуты, а не дни.

Второй эффект — время на подготовку выгрузки. Сверка прайсов, чистка дублей, ручная правка описаний и характеристик сворачиваются в разовое сопоставление полей: регламент обновления выполняет ту же работу по журналу обмена, а не по памяти менеджера. Освободившиеся часы уходят на карточки и цены, которые действительно требуют решения человека.

Третий — класс отказов из-за неверного наличия. Продажа позиции, которой нет на складе, оборачивается отменой заказа и просадкой рейтинга продавца. Обмен остатков по расписанию, буферный запас по ходовым артикулам и отдельный статус «нет в наличии» вместо нулевой цены убирают эту категорию ошибок почти полностью.

Обмен не подменяет учётную систему — он держит маркетплейс в согласии с ней. Ниже разбираем, как устроен парсинг данных и на каких местах он ломается чаще всего.

Форматы парсинга: разовый импорт, расписание, поток обновлений

Формат сбора определяет не удобство работы, а допустимое расхождение между каталогом на сайте и карточкой на площадке. Данные Яндекс.Маркет можно забирать разово, по расписанию, потоком или через официальный интерфейс площадки — у каждого варианта свой класс отказов и свои ограничения сбора. Ниже — сравнение, по которому обычно и выбирают схему.

Вариант Когда подходит Ограничения
Разовая выгрузка Первичное наполнение каталога, перенос ассортимента, сверка после смены поставщика К следующему обмену цены и остатки расходятся с площадкой; годится как стартовая база, не как постоянный источник
Сбор по расписанию Регулярное обновление цен, остатков, характеристик и описаний Жёсткие лимиты на число обращений за интервал: при превышении растут задержки, а сетевой адрес попадает под временную блокировку
Поточное обновление Позиции с частой сменой цены и остатка, где важна реакция в течение дня Держит постоянный канал и очередь; нужна дедупликация событий, иначе повторные записи перегружают обмен с 1С
Официальный интерфейс площадки Когда нужна стабильность и подтверждённый источник данных Требует партнёрского доступа, отдаёт не все поля карточки, сроки выдачи доступа не зависят от нас

Выбирают не «самый быстрый» вариант, а комбинацию: разовая выгрузка задаёт базу, расписание поддерживает актуальность, поток закрывает критичные позиции. Дальше решает сопоставление — товары связываем по артикулу и штрихкоду, чтобы обновление не плодило дубли в инфоблоках, а расхождения попадали в отчёт. Опишите задачу — вернёмся с оценкой и планом под ваш случай.

Порядок внедрения: от аудита каталога до передачи регламентов

Обмен с маркетплейсом — не разовая выгрузка, а регламентная операция: цены, остатки и карточки меняются ежедневно, а заказы нужно забирать до истечения срока подтверждения. Поэтому работу строим так, чтобы каждый этап давал проверяемый результат, а не «настроили и надеемся».

  1. Аудит каталога. Сверяем номенклатуру, торговые предложения и свойства, ищем дубли, позиции без внешних идентификаторов и товары, которые в каталоге есть, а у поставщика уже сняты с продажи. На выходе — карта соответствия и список мест, которые обмен сломают.
  2. Схема обмена. Определяем направления потоков, периодичность запуска, поведение при расхождении и лимиты на объём изменений за один прогон. Схема фиксируется письменно до первой строки кода.
  3. Правила сопоставления. Основной ключ — внешний идентификатор, резервный — артикул и нормализованное название. Отдельно описываем создание новых позиций, архивацию исчезнувших и приоритет цены: из карточки или из прайса.
  4. Настройка обмена. Реализуем обмен в 1С-Битрикс, ставим задания по расписанию, подключаем журнал: каждый прогон пишет отчёт с числом созданных, обновлённых и отклонённых позиций.
  5. Проверка на копии. Прогоняем на копии боевого каталога и копии базы: повторный запуск, обрыв связи, пустой ответ, частично некорректные данные. Откат должен быть штатной операцией ещё до релиза.
  6. Передача регламентов. Инструкции для контент-менеджера: как читать отчёт, что делать при массовых отклонениях, как добавить категорию. Плюс журнал запусков и оповещения, чтобы сбой находился раньше жалобы покупателя.

Что остаётся у вас: схемы обмена, правила сопоставления, регламенты

После запуска парсинга Яндекс.Маркет у вас остаются не разовые выгрузки, а рабочий контур обмена: схемы, правила и документы, по которым команда продолжает работу без автора решения. Это главный критерий приёмки — систему можно передать другому инженеру или отдать на сопровождение, не восстанавливая логику по переписке.

  • Схема обмена данными — карта маршрута «источник → промежуточная таблица → карточка в каталоге» с перечнем полей по каждому шагу: что обновляется всегда, что только добавляется, что не перезаписывается никогда.
  • Правила сопоставления товаров — приоритет ключей (артикул производителя, затем штрихкод, затем связка «бренд + модель»), отдельные ветки для наборов, комплектов и позиций с вариантами.
  • Журнал ошибок — фиксирует тип сбоя, время, исходную запись и признак «повторять автоматически или в ручной разбор»; расхождения не проглатываются молча, а попадают в очередь с понятным статусом.
  • Регламент обновления — периодичность запусков для цен и остатков, порядок действий при недоступности источника, правила отката к предыдущему снимку каталога.
  • Инструкция для редактора — какие свойства правятся руками и какие будут перезаписаны при следующей синхронизации, чтобы ручные правки не исчезали бесследно.
  • Настроенные проверки — контроль дублей, пустых цен и аномальных скачков: изменения проходят валидацию и не попадают в боевой каталог до подтверждения.
  • Доступы и точка передачи — где размещены конфигурации, кто отвечает за расписание, как передать контур новому подрядчику.

Каждый пункт согласован с вашей командой на этапе запуска и проверен на реальной выгрузке — вам не нужно догадываться, как поведёт себя обмен при следующем изменении выдачи.

Кейс: убрали ручное обновление цен и остатков в каталоге

Каталог на 12 000 позиций держался на ручной работе: редакторы раз в неделю сводили выгрузки из трёх источников, сверяли построчно по артикулу и заливали обновление на сайт. Расхождения по цене и наличию доходили до 20% — покупатель видел актуальные данные только в момент оформления заказа, а отказы «нет в наличии» били по конверсии и репутации магазина.

На подготовку прайса уходило 12–14 часов в неделю, то есть несколько полных рабочих дней редактора в месяц на механическую сверку вместо работы с описаниями и категориями. Ошибка в одной строке всплывала не сразу: её замечали уже по обращению клиента, когда позиция неделями висела с неверным остатком.

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

Обновление идёт раз в 30 минут по цене и остатку и раз в сутки по категориям и характеристикам. Доля расхождений упала ниже 1%, ручного вмешательства требуют около 3% позиций, а нагрузка на редактора сократилась до 40 минут в день: он проверяет исключения, а не сводит таблицы. Отказы по наличию сократились в разы, и карточки перестали расходиться с реальным складом.

Что делать, если каталог уже синхронизируется сторонним модулем?

Сторонний модуль обмена — обычно чёрный ящик со своей таблицей сопоставлений и своим расписанием. Сносить его сразу нельзя: вместе с ним уйдёт накопленная привязка товаров к разделам, а часть полей заполнена только им. Первый шаг — не замена, а снятие телеметрии: сколько записей затрагивает цикл, какие свойства карточки он перезаписывает, по какому ключу сопоставляет товар.

Дальше — проверка корректности данных. Берём срез каталога и сверяем артикулы, цены, остатки, торговые предложения и привязку к разделам с источником. Отдельно смотрим дубли и позиции, которых в источнике уже нет: модуль помечает их снятыми с продажи, а не удаляет, и это поведение нужно сохранить — иначе получим битые ссылки в разделах.

Конфликт обновлений снимается разграничением владения полями: цена и остаток остаются за обменом, описание, фото и вкладки — за редактором. Без этого две схемы затирают правки друг друга, и заметно это только по истории изменений конкретной карточки, то есть уже после потери контента.

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

Технические сомнения: сопоставление, дубли, лимиты обращений

Разбор технических сомнений начинается с того, что устойчивость обмена закладывается в схему на этапе проектирования, а не правится вручную после каждой выгрузки. Ключ сопоставления, правила нормализации названий и расписание запросов описываются до первого запуска — поэтому повторный обмен обновляет каталог, а не создаёт его заново.

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

Как сопоставляются артикулы, если у поставщика нет нашего кода?

Позиция связывается по набору признаков: производитель и артикул, штрихкод, нормализованное название и ключевые характеристики. Прямое совпадение по артикулу имеет приоритет, остальные признаки работают как подтверждение. Спорные совпадения не попадают в каталог автоматически — они складываются в отдельный список для ручного подтверждения, чтобы ошибочная связка не разошлась по ценам и остаткам.

Что будет с дублями карточек при регулярном обмене?

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

Не упрёмся ли мы в лимиты обращений к источнику?

Обмен идёт по расписанию с паузами между запросами и кэшированием неизменившихся разделов. При ответе об ограничении обмен приостанавливается и продолжается с той же позиции, а повторные попытки идут с нарастающей задержкой. Журнал фиксирует каждую операцию, поэтому сбой на середине выгрузки не приводит к частично обновлённому каталогу.

Обсудим задачу: что подготовить к разговору и что вы получите

Чтобы разговор про парсинг Яндекс.Маркета шёл предметно, а не «в общем», к нему достаточно подготовить несколько вводных по каталогу. Чем точнее они описаны, тем меньше допущений в оценке сроков и тем конкретнее выходит план работ. Ниже — то, что реально влияет на состав работ.

  • Источник и приёмник. Раздел или перечень категорий Маркета, откуда берём карточки, и куда они ложатся в 1С-Битрикс: торговые предложения, свойства, разделы каталога.
  • Правила сопоставления. По какому полю связываем товар с уже существующей позицией — артикул, штрихкод, название с моделью; что делаем, когда два источника дают разные значения.
  • Состав карточки. Какие поля нужны: цена, характеристики, галерея, описание, остатки; что обновляется часто, а что достаточно загрузить один раз.
  • Регламент обновления. Запуск вручную, по расписанию или по факту изменения; что происходит с товаром, который пропал из выдачи.
  • Доступы и ограничения. Есть ли официальный программный доступ к данным или работаем через выгрузки, какие лимиты по частоте обращений, кто со стороны заказчика подтверждает правила.
  • Ответственный за спорные карточки. Кто разбирает пограничные случаи и по какому каналу согласуем правки в правилах.

Опишите задачу в свободной форме и приложите то, что уже есть, — вернёмся с оценкой и планом работ: этапами, проверкой на тестовом наборе карточек и вариантом отката, если правила сопоставления придётся пересматривать.