Pletora Интернет-магазинСтройматериалы и инженерия 1С-Битрикс

Pletora: API-интеграция поставщиков и каталог без складских программ

Интернет-магазин сантехники и товаров для дома получал ассортимент от десятков поставщиков с разными форматами выгрузок. Мы написали индивидуальные классы импорта под каждый API и ускорили вывод новых товаров в ТОП-10.

Срок: 15 дней до результата Бюджет: не разглашается
Видеообзор: интерфейсы импорта товаров от поставщиков

Результат в цифрах

Видимость в ТОП-10
13%31%запросов
+138%
за 15 дней после релиза оптимизаций
Поставщики в контуре
НесколькоAPI
Dekomo, Hogart, Rusklimat, Wasserkraft
Форматы выгрузок
разныеXML, CSV, JSONподдержка
каждый поставщик — своими классами
Складские программы
1С / Мой СкладНе требуются
загрузка напрямую от поставщиков

Стек проекта

1С-Битрикс Аспро: Максимум Docker PHP REST API XML CSV JSON агенты Bitrix

Исходная ситуация

Ассортимент магазина собирался от десятков поставщиков, и у каждого — свой формат выгрузки: XML, CSV, JSON, свои названия категорий и свой список свойств товара.

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

Что сделали

Разобрали API каждого поставщика, оценили трудозатраты и разбили проект на этапы — начиная с критичных поставщиков. Под каждого написали два класса: импорт новых товаров и обновление цен, остатков и скидок.

Сделали интерфейсы импорта и обновления в админке, справочник сопоставления категорий и свойств, обработку товаров с одинаковыми артикулами через склады и автоматизацию всех процессов на агентах Bitrix.

Автоматизация

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

У этого интернет-магазина не было 1С. Ассортимент приходил напрямую от поставщиков — у каждого свой формат выгрузки, свои категории и свои названия свойств. Мы написали индивидуальные классы импорта под каждый API, собрали справочник сопоставления и за 15 дней после релиза оптимизаций подняли видимость в ТОП-10 с 13% до 31%.

Контекст

Pletora — интернет-магазин сантехники, товаров для дома, мебели для ванных, люстр и систем вентиляции. Ассортимент широкий и собран от десятков поставщиков: Dekomo, Hogart, Rusklimat, Wasserkraft и других.

Особенность проекта — отсутствие складских программ в контуре. Товары, цены и остатки нужно забирать напрямую из систем поставщиков, а значит, для каждого писать свой код. Универсального решения здесь не существует: XML, CSV и JSON-выгрузки отличаются не только форматом, но и логикой.

Интернет-магазин Pletora: сантехника и товары для дома
Интернет-магазин Pletora: сантехника и товары для дома Открыть в полном размере

Задача

  • Автоматизировать загрузку товаров от поставщиков — без 1С и «Моего Склада».
  • Обновлять цены, остатки и скидки по расписанию, а не вручную.
  • Сопоставить категории и свойства поставщиков с тем, что уже есть на сайте.
  • Разобраться с одинаковыми артикулами — один и тот же товар может прийти от нескольких поставщиков.
  • Закрыть пустые карточки — каталог с описаниями только у части товаров плохо индексируется.

Как строили интеграцию

Аудит API каждого поставщика

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

Сроки в проекте считались не «на интеграцию вообще», а на каждого поставщика отдельно: сложность API различалась в разы.

Две операции вместо одной

Для каждого поставщика мы написали два независимых класса:

  • класс импорта — загрузка новых товаров;
  • класс обновления — актуализация цен, остатков и скидок.

Разделение принципиальное: новый товар и изменившаяся цена — разные сценарии с разной частотой. Импорт запускается редко, обновление — постоянно.

Класс импорта товаров для одного из поставщиков
Класс импорта товаров для одного из поставщиков

Интерфейсы в админке

Управление импортом вынесено в административную панель: отдельный интерфейс для загрузки новых товаров и отдельный — для обновления цен, остатков и скидок. В каждом заложена логика работы с XML, CSV и JSON.

Это важно для повседневной работы: менеджер видит, что и когда загрузилось, и может запустить импорт руками, не дожидаясь расписания.

Каталог товаров Pletora в админке 1С-Битрикс
Каталог товаров Pletora в админке 1С-Битрикс Открыть в полном размере

Справочник сопоставления

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

Мы создали справочник, где категории и свойства поставщиков соотносятся с категориями и свойствами сайта. Один раз настроенное соответствие дальше применяется автоматически ко всем загрузкам.

Сопоставление свойств товара поставщика со свойствами сайта
Сопоставление свойств товара поставщика со свойствами сайта Открыть в полном размере

Товары с одинаковыми артикулами

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

Раздел складов поставщиков в админке интернет-магазина
Раздел складов поставщиков в админке интернет-магазина Открыть в полном размере

Бренды и категории

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

Бренды поставщиков, импортированные на сайт Pletora
Бренды поставщиков, импортированные на сайт Pletora Открыть в полном размере

Автоматизация на агентах

Все процессы работают на агентах 1С-Битрикс — штатном механизме отложенных задач. Цены и остатки обновляются по расписанию, импорт новых позиций запускается без участия человека. Скидки реализованы правилами работы с корзиной.

Фрагмент кода интеграции с поставщиком Dekomo
Фрагмент кода интеграции с поставщиком Dekomo

SEO-часть: как 13% превратились в 31%

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

  • Автогенерация описаний на основе технических характеристик товара — так закрылась проблема пустых карточек.
  • Массовая оптимизация метатегов — Title, Description и H1 для товаров и категорий.
  • Тексты категорий с перелинковкой и посадочными таблицами свойств.
  • Тюнинг сервера и контейнеризация в Docker — для скорости загрузки, которую измеряет Google PageSpeed Insights.

Результат: за 15 дней после релиза оптимизаций видимость в ТОП-10 поисковой выдачи выросла с 13% до 31%.

Стек и решение

Проект работает на 1С-Битрикс с готовым решением «Аспро: Максимум». Такой выбор сэкономил время: в шаблоне уже были готовые модули и элементы интерфейса, которые оставалось адаптировать под специфику магазина, а не разрабатывать с нуля.

Всё контейнеризировано через Docker — развёртывание и масштабирование не зависят от окружения сервера.

Результат

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

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

Что забрали в другие проекты

  • Разделять импорт и обновление. Разные сценарии с разной частотой нельзя решать одним кодом.
  • Справочник сопоставления — до первого импорта. Настроить соответствия один раз дешевле, чем чинить разъехавшийся каталог.
  • Интеграция и SEO — одна команда. Каталог, наполненный данными, но не оптимизированный, не приносит трафика.

Частые вопросы

Можно ли загружать товары от поставщиков без 1С?

Да. Мы интегрировали сайт напрямую с API поставщиков: для каждого написан свой код загрузки и обновления. Это работает и без складских программ — данные приходят из систем поставщиков по расписанию.

Как быть, если у поставщиков разные форматы выгрузок?

Писать под каждый отдельный класс. Универсальный парсер здесь не работает: XML, CSV и JSON отличаются не только структурой, но и логикой — например, тем, как поставщик помечает отсутствующий товар. Для каждого формата закладывается своя логика, а справочник сопоставления приводит категории и свойства к единому виду.

Что делать, если один товар есть у нескольких поставщиков?

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

Проект выполнен в рамках услуг «Сайты на АСПРО для 1С-Битрикс» и «SEO для интернет-магазина».

Хотите такой же результат?

Начнем с аудита точек роста — покажем, где у вашего сайта утекает трафик.

Получить аудит точек роста