Представьте: ваш отдел закупок вручную обновляет 5000 товаров на Wildberries каждую неделю. Ошибки в ценах, дубли карточек, просроченные остатки — это не исключения, а норма. Ручная работа отнимает до 20 часов в неделю, а клиенты жалуются на недоступные позиции. Мы автоматизируем обмен данными между 1С-Битрикс и Wildberries через Wildberries API, исключая человеческий фактор и ускоряя операции в 3 раза.
В отличие от Ozon и Яндекс.Маркета, Wildberries использует несколько независимых сервисов — Content, Marketplace, Prices, Statistics, Analytics. У каждого своя авторизация, лимиты и форматы. Мы закрываем все эти точки входа единым модулем, синхронизирующим карточки, остатки, цены и заказы. Интеграция работает на агентах Битрикс с тегированным кэшированием и очередями, чтобы не превышать лимиты API.
Почему стандартные модули не подходят?
Готовые решения из Маркетплейса часто не учитывают FBS — они работают только с DBS. Многие модули не поддерживают размерную сетку, что приводит к дублям карточек. Мы не используем сторонние библиотеки — пишем код под ваш стек: PHP 8.1+, инфоблоки v2.0, ORM. Это даёт гибкость и контроль над каждым запросом.
Структура API Wildberries
Авторизация — через токены, генерируемые в личном кабинете поставщика: Настройки → Доступ к API. Для каждого сервиса можно создать отдельный токен с ограниченными правами.
| Сервис API |
Base URL |
Назначение |
| Content API |
https://content-api.wildberries.ru |
Создание и обновление карточек товаров |
| Marketplace API |
https://marketplace-api.wildberries.ru |
Заказы, поставки, остатки FBS |
| Prices API |
https://discounts-prices-api.wb.ru |
Управление ценами и скидками |
| Statistics API |
https://statistics-api.wildberries.ru |
Продажи, заказы, склады |
| Analytics API |
https://seller-analytics-api.wildberries.ru |
Отчёты |
Все запросы — REST, JSON. Авторизация через заголовок Authorization: Bearer <token>.
Как загрузить карточки товаров без дублей?
Создание карточки — POST /content/v2/cards/upload. Структура карточки WB принципиально отличается от инфоблока Битрикс: nmID — верхний уровень, объединяющий варианты товара. Внутри — массив sizes, где каждый размер имеет свой skus[] (список штрихкодов). WB идентифицирует конкретный товар по штрихкоду, а не по артикулу.
Обязательные поля при создании карточки:
-
vendorCode — артикул поставщика. В Битрикс — свойство ARTICLE или ARTNUMBER.
-
brand — бренд. Должен совпадать с зарегистрированным в WB.
-
title — название. WB генерирует его автоматически из категории + бренд + характеристики. Ручное название может быть отклонено.
-
description — до 5000 символов.
-
subjectID — ID категории WB. Получается через GET /content/v2/object/all.
-
characteristics — массив характеристик, зависящих от категории.
-
sizes[].skus[] — штрихкоды для каждого размера.
Характеристики (characteristics). У каждой категории WB — свой набор обязательных характеристик. Получить список: GET /content/v2/object/charcs?subjectID={id}. Характеристики бывают текстовые и справочные. Для справочных — значение должно точно совпадать с вариантом из справочника WB.
Маппинг на инфоблок Битрикс:
Элемент инфоблока → nmID (после создания WB возвращает nmID)
├── NAME → title (но WB может переопределить)
├── PROPERTY_ARTICLE → vendorCode
├── PROPERTY_BRAND → brand
├── DETAIL_TEXT → description
├── PROPERTY_COLOR → characteristics[{id: N}]
└── DETAIL_PICTURE + PROPERTY_PHOTOS → mediaFiles[]
Торговые предложения → sizes[]
├── PROPERTY_SIZE → techSize
├── PROPERTY_BARCODE → skus[]
└── Цена → (через Prices API отдельно)
Почему возникают дубли карточек?
WB может объединять карточки с одинаковым штрихкодом или артикулом. Если при интеграции штрихкоды некорректны — вместо обновления существующей карточки создаётся новая. Чтобы этого избежать, мы проверяем уникальность vendorCode и skus[] на стороне Битрикс, а также используем GET /content/v2/cards/search для поиска существующих карточек перед созданием. В автоматизируемом решении мы добавили проверку на совпадение артикула: если карточка уже есть, вызывается PATCH /content/v2/cards/update, а не upload.
Управление ценами
Prices API работает отдельно от Content API. Метод POST /api/v2/upload/task устанавливает цену и скидку:
-
price — цена до скидки (розничная).
-
discount — процент скидки. Итоговая цена = price * (1 - discount/100).
WB навязывает SPP (скидку постоянного покупателя) поверх вашей скидки. Итоговая цена для покупателя = ваша цена - ваша скидка - SPP. Это значит, что при установке цены из Битрикс нужно учитывать SPP — иначе маржинальность будет ниже ожидаемой.
Синхронизация: cron-агент в Битрикс каждые 15–30 минут проверяет товары с изменённой ценой в b_catalog_price и отправляет пакетный запрос. Лимит — 1000 товаров за запрос.
Остатки и заказы (FBS)
Остатки FBS. Метод PUT /api/v3/stocks/{warehouseId} обновляет остатки на складе поставщика. warehouseId — ID вашего склада в WB (создаётся в ЛК). Каждый товар идентифицируется по штрихкоду (sku), а не по артикулу. Маппинг штрихкод → элемент инфоблока должен быть однозначным.
Заказы FBS. Получение новых заказов: GET /api/v3/orders/new. Каждый заказ содержит skus[] — штрихкоды заказанных товаров. Обработчик на стороне Битрикс:
- По штрихкоду находит элемент инфоблока / торговое предложение.
- Создаёт заказ в
sale с маппингом товаров.
- При сборке — вызывает
PUT /api/v3/orders/{orderId}/confirm и формирует стикер для упаковки через POST /api/v3/orders/stickers.
Важно: WB не передаёт данные покупателя (имя, адрес, телефон) поставщику. Заказ в Битрикс создаётся с минимальным набором данных — по сути, только список товаров и сумма.
Как избежать rate limiting?
Content API — до 100 запросов в минуту. При массовой загрузке каталога нужна очередь с задержкой. В Битрикс мы реализуем агенты с пошаговой обработкой: каждый агент обрабатывает не более 50 элементов, затем ставит следующий агент через 10 секунд. Это гарантирует, что лимит не превышен, и интеграция стабильна.
Типичные ошибки при интеграции
- Карточка не создаётся. Причина — неправильный
subjectID или отсутствие обязательной характеристики. API возвращает ошибку с описанием, но иногда описание неинформативно. Проверяйте набор характеристик для категории через /content/v2/object/charcs.
- Ошибка 429 Too Many Requests. Возникает при частых запросах. Решение — внедрить очередь с экспоненциальной задержкой и контролировать количество запросов в минуту.
- Несоответствие цен в Битрикс и на WB. Возникает, если не учитывать SPP или автоматические скидки маркетплейса. Мы добавляем лог изменений и сверяем расчётную цену с фактической на WB.
Что входит в работу по интеграции
- Аудит текущего сайта и каталога.
- Настройка API-ключей Wildberries.
- Разработка модуля обмена (карточки, цены, остатки, заказы).
- Настройка агентов синхронизации и очередей.
- Тестирование на боевых данных.
- Обучение сотрудников работе с интеграцией.
- Передача документации и исходного кода.
- Гарантийная поддержка 12 месяцев.
Средний срок выполнения — от 5 дней до 2 недель в зависимости от объёма. Мы выполнили более 50 интеграций с Wildberries для клиентов из СНГ. Каждое изменение API обрабатывается в рамках гарантийной поддержки — вы не рискуете, даже если Wildberries обновит протокол. Интеграция окупается в среднем за 3 месяца за счёт снижения ручного труда.
| Масштаб |
Срок |
| До 500 товаров, без размеров |
5–7 дней |
| 500–5000, с размерной сеткой |
1–1.5 недели |
| 5000+, FBS + заказы + аналитика |
1.5–2 недели |
Хотите оценить проект? Свяжитесь с нами — бесплатно проанализируем ваш каталог и подготовим коммерческое предложение. Закажите интеграцию сейчас и получите скидку на первый месяц поддержки.
Интеграция 1С-Битрикс с маркетплейсами
Менеджер вручную обновляет остатки на Ozon, а Wildberries продаёт товар, которого на складе нет. Клиент получает отмену, рейтинг падает, площадка режет показы. Мы решаем это автоматической синхронизацией через API: заказы падают в Битрикс, остатки и цены обновляются из единой админки. Наш опыт — 60+ проектов по интеграции с Ozon, WB, Яндекс.Маркет. Гарантируем, что после настройки ни один товар не уйдёт в минус.
Важность автоматизации: 70% онлайн-покупок в России проходят через маркетплейсы. Товары с корректными остатками получают вдвое больше показов. Без автоматизации вы либо теряете продажи из-за оверстейтов, либо тратите часы на ручное обновление. Мы предлагаем интеграцию под ключ — от аудита каталога до мониторинга. Оценим ваш проект за один день: напишите для консультации.
Стабильность подтверждаем SLA: время реакции на сбой — 2 часа в рабочее время. Используем тегированное кэширование и агенты Битрикса, чтобы нагрузка на сервер не росла. Экономия на ручном труде после интеграции — до 40 часов в месяц, что при ставке менеджера даёт около 60 000 ₽ экономии.
Зачем подключать маркетплейсы
Маркетплейсы — готовый трафик, который один интернет-магазин не соберёт. Более половины онлайн-покупок — через площадки. Вам остаётся ассортимент и цены.
- Каналы продаж — миллионы покупателей с картой в руке.
- Единое управление — товары, остатки, заказы из всех каналов в Битриксе. Никакого ручного ввода.
- Сквозная аналитика — маржинальность по каждому каналу. Решения на цифрах, не на интуиции.
Как работает синхронизация остатков с Wildberries?
API поставщика WB требует обновлять стоки на складах каждые 15–30 минут. Иначе остатки расходятся с сайтом, покупатель оформляет заказ на несуществующий товар. Мы настраиваем агент Битрикса: CAgent::AddAgent() с интервалом 15 минут, который дёргает /api/v3/stocks. Данные берутся из торгового каталога с учётом резервов.
Типичная ошибка: в Битриксе остаток 10 единиц, на WB стоит 10, но 3 уже зарезервированы в заказах WB. Наш модуль вычитает резерв перед отправкой. Результат: после интеграции расхождений нет, рейтинг продавца растёт. Потери от оверстейтов на каталоге в 5 000 SKU составляют в среднем 150 000 ₽ в месяц — интеграция окупается за 3–4 недели.
Какие маркетплейсы подключаем
-
Ozon — Seller API v3. Создание карточек (
/v3/product/import), обновление цен (/v1/product/import/prices), остатки (/v2/products/stocks), заказы FBO/FBS (/v3/posting/fbs/list), возвраты. Настраиваем автогенерацию штрихкодов и этикеток через label/task.
-
Wildberries — API поставщика. Выгрузка номенклатуры с характеристиками по категориям (
/content/v2/cards/upload), баркоды, синхронизация остатков на складах WB (/api/v3/stocks), обработка заказов и поставок, медиаконтент.
-
Яндекс.Маркет — Partner API. Каталог через фид или push-модель, цены, остатки, заказы DBS/FBS/FBY (
/campaigns/{campaignId}/orders), интеграция с Яндекс.Доставкой.
-
СберМегаМаркет — Merchant API. Товары, офферы, заказы, синхронизация статусов.
-
Другие — AliExpress Россия, Авито, отраслевые площадки (Lamoda, Leroy Merlin).
Механизмы интеграции: прямой API или агрегатор?
Прямая интеграция через API — самый надёжный путь. Разрабатываем кастомный модуль Битрикс, который напрямую дёргает эндпоинты площадки. Полный контроль: если маркетплейс ломает обратную совместимость (а WB делает это регулярно) — обновляем модуль сами, не ждём третью сторону. Каждый запрос логируется в b_event_log, ретраи на 429/500 — автоматические.
Агрегаторы — RetailCRM, МойСклад, ApiShip. Быстрый старт, но чёрный ящик: когда что-то ломается, дебажить через чужой слой — удовольствие сомнительное. Подходит при ограниченном бюджете. Фиды (YML/XML) — выгрузка каталога в формате Яндекс.Маркет (YML), Google Merchant (XML). Генерация настраивается через модуль catalog.export или кастомный обработчик на CIBlockXMLFile.
Почему прямая интеграция выгоднее агрегаторов? Агрегаторы унифицируют обмен с разными площадками, но каждая новая версия API маркетплейса требует обновления со стороны агрегатора. Ждать исправления — дни. Прямая интеграция даёт контроль: мы обновляем модуль в день изменения. Типичное время реакции на сбой в интеграции через агрегатор — от 24 часов, у нас — 2 часа. Экономия на потерянных заказах за месяц может достигать 200 000 ₽. Практика показывает: на highload-каталогах (10 000+ SKU) прямая работа через API в три раза дешевле в долгосрочной поддержке, чем ежемесячная плата за агрегатор плюс потеря выручки от простоев.
Выгрузка товаров и синхронизация
Выгрузка — не «нажал кнопку». За ней серьёзная подготовительная работа.
- Маппинг категорий — сопоставление разделов инфоблока Битрикс с деревом категорий площадки. У Ozon своя таксономия (
/v1/description-category/tree), у WB — своя. Обязательные атрибуты различаются.
- Маппинг свойств — свойства инфоблока (
PROPERTY_*) → характеристики маркетплейса. Конвертация единиц, форматов — автоматически через таблицу соответствий в highload-инфоблоке.
- Обогащение карточек — rich-контент для Ozon, видеообзоры для WB, 360-фото. Площадки ранжируют по заполненности: между «голой» и проработанной карточкой разница в продажах двукратная.
- Изображения — автоматическая генерация в нужных разрешениях через
CFile::ResizeImageGet().
Синхронизация — по расписанию через агенты CAgent::AddAgent():
| Данные |
Частота |
Направление |
| Остатки |
15-30 мин |
Битрикс → Маркетплейс |
| Цены |
30-60 мин |
Битрикс → Маркетплейс |
| Заказы |
5-10 мин |
Маркетплейс → Битрикс |
| Статусы |
Реалтайм (webhook) |
Двусторонний |
| Карточки |
По изменению |
Битрикс → Маркетплейс |
Обработка заказов
Заказы с площадок падают в b_sale_order автоматически и обрабатываются в едином потоке.
- Создание — заказ приходит со всеми реквизитами. Модуль парсит ответ API, создаёт заказ через
\Bitrix\Sale\Order::create(), привязывает к типу плательщика и платёжной системе маркетплейса.
- Единый поток — менеджеры работают с заказами из всех каналов в одном интерфейсе. Источник заказа виден в свойстве
ORDER_PROP.
- Синхронизация статусов — собрали, отгрузили, доставили — статус обновляется на маркетплейсе через callback. Обработчик
OnSaleStatusOrder.
- Возвраты — отмена на маркетплейсе создаёт возврат в Битрикс. Остатки возвращаются на склад автоматически.
- Передача в 1С — заказы уходят в 1С:Предприятие через штатный обмен CommerceML. Один источник правды.
Мониторинг и стабильность
Мультиканальная торговля без мониторинга — хаос. Мы ставим на контроль каждый канал.
- Контроль остатков — оповещения при расхождениях между Битрикс, маркетплейсом и 1С. Товар с нулевым остатком блокируется автоматически — нельзя продать то, чего нет. Проверка через cron каждые 10 минут.
- Логирование и ретраи — каждый запрос к API логируется в
b_event_log с телом запроса и ответа. Сбой? Автоповтор с экспоненциальным backoff. Критическая ошибка? Уведомление в Telegram-бот админа.
- Ценообразование — автоматический расчёт с учётом комиссий площадки, логистики и целевой маржи. Формула в настройках модуля:
price = base_price / (1 - commission) + logistics.
- Аналитика — дашборд: выручка, заказы, средний чек, возвраты, маржинальность по каждому маркетплейсу отдельно. Обновляется раз в час.
Подход к интеграции и объём работ
- Аудит — смотрим каталог Битрикс, структуру инфоблоков, существующие обмены с 1С. Определяем готовность данных. Бывает, 80% работы — привести карточки в порядок: заполнить обязательные свойства, унифицировать единицы измерения.
- Стратегия — приоритетные площадки, модель (FBO/FBS/DBS), глубина интеграции.
- Разработка модулей — маппинг, валидация, обработка ошибок. Покрываем unit-тестами критичные сценарии: разбиение заказа, пересчёт остатков при частичной отмене.
- Тестирование — выгрузка тестовых товаров, эмуляция заказов через sandbox API площадок, пограничные случаи (нулевой остаток, товар без фото, цена ниже минимальной).
- Запуск — последовательно запускаем интеграции, мониторим первые обмены в реалтайме.
- Сопровождение — площадки регулярно обновляют API (WB — без предупреждения). Адаптируемся оперативно.
В работу входит:
- Аудит текущего каталога, инфоблоков и обмена с 1С — документация с рекомендациями.
- Разработка модуля интеграции (на каждый маркетплейс) с исходным кодом.
- Настройка маппинга категорий и свойств.
- Конфигурация агентов и webhook’ов.
- Тестирование в sandbox и на реальных данных.
- Обучение менеджеров работе с единым потоком заказов.
- Мониторинг в течение первых двух недель после запуска.
- Техническая поддержка и обновления при изменениях API площадок.
Сроки
| Задача |
Сроки |
| Интеграция с одним маркетплейсом (базовая) |
2–4 недели |
| Интеграция с одним маркетплейсом (расширенная) |
4–6 недель |
| Мультиканальная (3+ площадки) |
6–12 недель |
| Генерация фидов (YML, XML) |
3–5 дней |
| Мониторинг и аналитика |
1–2 недели |
Конкретные сроки зависят от объёма каталога, количества площадок, сложности маппинга и состояния обмена с 1С. Детальную оценку даём после аудита. Закажите аудит каталога — бесплатно оценим ваш проект и предложим решение под ключ. Свяжитесь с нами, чтобы получить консультацию по интеграции и рассчитать индивидуальную стоимость.