Ефективна інтеграція Ozon та Wildberries з 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Ефективна інтеграція Ozon та Wildberries з 1С-Бітрікс
Середній
~1-2 тижні
Часті запитання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1368
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    956
  • 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
    699
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    848
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    737
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1086

Практичний посібник: інтеграція Ozon та Wildberries з 1С-Бітрікс

Інтеграція через API працює до 15 разів швидше, ніж ручне завантаження даних. Синхронізація залишків Ozon та Wildberries з 1С-Бітрікс вручну — це 5–10 людино-годин на день. Помилки в цінах або статусах замовлень ведуть до штрафів до 10 000 ₽ за інцидент. Ми автоматизуємо цей процес через офіційні API та, за необхідності, через headless-парсинг конкурентів. Наш досвід — понад 5 років та 50+ проєктів. Економія часу до 80%, окупається за 3–6 місяців.

Задача «отримувати дані з Ozon/WB» поділяється на два сценарії. Перший — ви продаєте через маркетплейси і хочете тягнути дані свого кабінету (замовлення, залишки, аналітику) через офіційний API. Другий — збирати публічні дані конкурентів. Наш досвід (5+ років, 50+ проєктів) гарантує стабільну роботу на всіх етапах.

Як підключитися до API Ozon та Wildberries?

Ozon і Wildberries надають повноцінні REST API для продавців. Це легальний шлях, і тут «парсинг» — неправильне слово. Йдеться про інтеграцію через API. Використання API у 15 разів швидше за ручне оновлення даних.

Ozon Seller API (https://api-seller.ozon.ru):

Метод URL Опис
product.list /v2/product/list Список товарів у кабінеті
product.info.list /v2/product/info/list Деталі по товарах (ціни, залишки, статуси)
posting.fbo.list /v2/posting/fbo/list Замовлення FBO
posting.fbs.list /v3/posting/fbs/list Замовлення FBS
analytics.data /v1/analytics/data Звіти по продажах
finance.transaction.list /v3/finance/transaction/list Фінансові транзакції

Авторизація: заголовки Client-Id та Api-Key. Rate limit: залежить від методу, зазвичай 1–10 RPS. Наприклад, для Ozon ліміт становить 10 RPS, для WB — 5 RPS. При перевищенні — 429, тіло відповіді містить retry-after.

Wildberries API (https://statistics-api.wildberries.ru, https://suppliers-api.wildberries.ru):

WB розділив API на кілька базових URL:

  • statistics-api.wildberries.ru — статистика продажів, залишки, замовлення
  • suppliers-api.wildberries.ru — управління товарами, цінами, складами
  • content-api.wildberries.ru — контент карток

Авторизація: заголовок Authorization: Bearer {token}. Токени створюються в особистому кабінеті WB і мають різні права.

Архітектура модуля отримання даних в 1С-Бітрікс

Дані з API маркетплейсів потрібно отримувати регулярно і структурувати. Стандартна архітектура використовує агенти Бітрікс (CAgent::AddAgent()) для запуску завдань за розкладом:

  • Кожні 15 хвилин — залишки та статуси замовлень
  • Щогодини — нові замовлення, оновлення цін
  • Раз на добу — аналітичні звіти, фінансові транзакції

Отримані дані зберігаються:

  • Замовленняb_sale_order, b_sale_basket через CSaleOrder::Add() або напряму в БД для bulk-імпорту
  • Аналітика → HighLoad-інфоблок або окремі таблиці з партиціонуванням за датою
  • Товарні даніb_iblock_element, b_catalog_price, b_catalog_product через API інфоблоків

Для зберігання сирих відповідей API створюється таблиця:

CREATE TABLE mp_api_raw_log (
    id          SERIAL PRIMARY KEY,
    marketplace VARCHAR(30) NOT NULL,
    method      VARCHAR(100) NOT NULL,
    params      JSONB,
    response    JSONB,
    status_code SMALLINT,
    created_at  TIMESTAMP DEFAULT NOW()
);
CREATE INDEX ON mp_api_raw_log (marketplace, created_at);

У Бітрікс це створюється в методі DoInstall() модуля через $DB->Query().

Чому парсинг конкурентів складніший за інтеграцію з API?

Якщо потрібні дані конкурентів (ціни, позиції, рейтинги), офіційного API немає. API-інтеграція надійніша за парсинг у 10 разів за стабільністю даних, але для збору конкурентних цін використовуємо парсинг.

Технічні підходи:

Прямі HTTP-запити працюють для частини даних WB — деякі endpoint'и (https://card.wb.ru/cards/v2/detail?nm=..., https://catalog.wb.ru/...) повертають JSON без авторизації. Це не офіційний API, структура може змінитися без попередження.

Для Ozon публічні дані доступні через https://www.ozon.ru/api/composer-api.bx/page/json/v2?url=/product/{slug} — внутрішній API фронтенду, теж без документації.

Headless-браузер (Puppeteer, Playwright) потрібен для сторінок з JS-рендерингом та антибот-захистом. WB та Ozon активно використовують fingerprinting та поведінковий аналіз. Для production-парсингу потрібні:

  • Ротація residential proxy
  • Рандомізація User-Agent, viewport, timing
  • Обхід Cloudflare/PerimeterX (вони стоять на обох маркетплейсах)

Правові ризики. Парсинг публічних даних юридично неоднозначний. Ozon та WB у користувацьких угодах забороняють автоматичний збір. Блокування IP — стандартна практика, втрати від блокування акаунта можуть перевищувати 100 000 ₽. Ми завжди рекомендуємо починати з офіційного API і переходити до парсингу тільки за відсутності альтернатив.

Як налаштувати агент Бітрікс для періодичної синхронізації?

Ось покрокова інструкція:

  1. Створіть клас-провайдер, який реалізує отримання даних з API.
  2. Зареєструйте агент через CAgent::AddAgent() з інтервалом 900 секунд (15 хвилин).
  3. Налаштуйте обробку відповідей: зберігайте замовлення в CSaleOrder, залишки — в інфоблок.
  4. Додайте логування помилок в mp_api_raw_log для налагодження.
  5. Протестуйте на тестовому кабінеті маркетплейсу.

Приклад реєстрації агента:

CAgent::AddAgent(
    "\\YourModule\\SyncAgent::run();",
    "your.module",
    "N",
    900,
    "",
    "Y",
    date("d.m.Y H:i:s"),
    30
);

Що робити, якщо потрібні дані з публічних сторінок?

Для збору публічних цін і позицій використовуємо поєднання HTTP-запитів та headless-браузера. Дані зберігаємо в HighLoad-інфоблоці:

Поле UF Тип Призначення
UF_MARKETPLACE string ozon / wb
UF_PRODUCT_ID integer ID товару на маркетплейсі
UF_ARTICLE string Артикул
UF_PRICE double Поточна ціна
UF_PRICE_OLD double Ціна до знижки
UF_RATING double Рейтинг
UF_REVIEWS_COUNT integer Кількість відгуків
UF_POSITION integer Позиція у видачі за запитом
UF_SEARCH_QUERY string Запит, за яким знімалася позиція
UF_COLLECTED_AT datetime Час збору

Реєструється через CUserTypeEntity та Bitrix\Highloadblock\HighloadBlockTable::add().

Що входить в роботу

  • Аналіз поточної архітектури Бітрікс та вимог до даних
  • Проєктування модуля інтеграції з використанням офіційного API
  • Розробка агентів та обробників подій
  • Налаштування зберігання даних (інфоблоки, HL-блоки, сирі логи)
  • Моніторинг та автоматичний репрайсинг (підвищує продажі до 30%)
  • Документація з експлуатації та навчання
  • Технічна підтримка на етапі впровадження

Ми займаємося інтеграціями понад 5 років, реалізували 50+ проєктів. Отримайте консультацію з архітектури — зв'яжіться з нами для оцінки вашого проєкту.

Терміни реалізації

Задача Термін
Інтеграція з офіційним API одного маркетплейсу (замовлення + залишки) 3–5 тижнів
Збір аналітики через офіційне API (2 маркетплейси) 5–8 тижнів
Моніторинг публічних цін через HTTP-запити (без JS) 4–6 тижнів
Повноцінний парсер з headless-браузером та антибот-обходом 8–14 тижнів
Система автоматичного репрайсингу на основі даних конкурентів 10–16 тижнів

Документація по агентах Бітрікс: dev.1c-bitrix.ru

Замовте безкоштовну оцінку вашого проєкту — ми допоможемо обрати оптимальний сценарій інтеграції. Зв'яжіться з нами прямо зараз.

Розробка маркетплейсів на 1С-Бітрікс: як подолати обмеження стандартної архітектури

Таблиця b_sale_order та пов'язані з нею b_sale_basket не розраховані на мультивендорність з коробки. У Бітріксі немає штатного модуля «маркетплейс» — кожен раз це кастомна розробка поверх модуля sale. Стандартний модуль sale не вміє розділяти замовлення за різними постачальниками: якщо в кошику товари від трьох продавців, Бітрікс створить одне замовлення з єдиним номером, статусом та загальною сумою. Неможливо відправити кожне субзамовлення в окремий особистий кабінет, розрахувати комісію для кожного продавця або дозволити їм часткове відвантаження. Нам доводиться перевизначати всю логіку: від кошика до статусної моделі. Додатково стандартний пошук (Sphinx) та кешування не оптимізовані під мультивендорний каталог — при 100 000 товарів від 500 постачальників фільтри за постачальником призводять до падіння продуктивності (запити з WHERE по IBLOCK_ELEMENT_PROPERTY стають повільнішими у 5–10 разів). Ми пишемо окремий модуль, який розширює стандартний кошик: додає прив'язку товару до постачальника через властивість замовлення, розбиває одне замовлення на субзамовлення за продавцями та маршрутизує кожне окремо.

Чому стандартні рішення не підходять для мультивендорних майданчиків?

Моделі маркетплейсів

Класичний маркетплейс — оператор не тримає склад. Уся товарна логіка лежить на продавцях, майданчик займається трафіком та платіжним шлюзом. Технічно це окремий інфоблок постачальників зі зв'язком через UF_VENDOR_ID у highload-інфоблоці каталогу.

Гібридна модель — оператор продає нарівні із зовнішніми постачальниками. Головний біль: ранжування в каталозі. Якщо постачальники бачать, що картки майданчика завжди вище — ідуть. Ми вирішуємо це окремим компонентом сортування, де позиція визначається рейтингом, швидкістю відвантаження та ціною, без привілеїв для «своїх».

Маркетплейс послуг — заявки, тендери, ескроу. Тут замість b_sale_basket працює кастомна сутність заявки з воркфлоу через бізнес-процеси Бітрікс.

B2B-маркетплейс — договори, акти звірки, кредитні лінії, EDI. Авторизація за ІПН, мультицінові групи через b_catalog_group, ліміти відвантаження.

Які технічні проблеми вирішує розробка маркетплейсів на 1С-Бітрікс?

Моделі монетизації

Модель Як реалізуємо Де найчастіше зустрічається
Комісія з продажів Обробник OnSaleOrderComplete, розрахунок за категорією та статусом продавця Універсальна
Підписка Кастомний модуль з cron-завданням та списанням через sale.paysystem B2B-майданчики
Лістингові збори Лічильник в OnAfterIBlockElementAdd Дошка оголошень
Просування Промо-слоти через окремий highload-інфоблок Додатковий дохід
Фулфілмент Інтеграція з WMS через REST Майданчики з логістикою

Що включає кабінет продавця?

Кабінет — серце маркетплейсу. Незручний кабінет = порожній майданчик. Стандартного рішення немає, пишемо з нуля на компонентах Бітрікс.

  • Управління каталогом — CRUD товарів через кастомний компонент, масове завантаження CSV/XML через CIBlockXMLFile. Вручну вбивати 10 000 SKU ніхто не буде, тому імпорт — перше, що робимо.
  • Обробка замовлень — субзамовлення потрапляють у кабінет через ajax-polling або websocket. Підтвердження, друк накладних через CSalePdf, оновлення статусу із зворотною синхронізацією в основне замовлення.
  • Фінансова аналітика — дашборд на highload-інфоблоці агрегованих даних. Виручка, комісії, виплати — деталізація за товарами та періодами. Продавець бачить, що продається, а що просто займає вітрину.
  • Налаштування доставки — власні тарифи продавця, прив'язка до sale.delivery.handler.
  • Комунікація — вбудований чат без розкриття контактів. Реалізуємо через модуль im або кастомну таблицю повідомлень.
  • Акції — знижки, промокоди через b_sale_discount з фільтром по vendor_id.

Модерація та контроль якості

Одна партія контрафакту вбиває репутацію майданчика. Тому модерація — обов'язковий шар.

  • Модерація товарів — статус ACTIVE='N' до проходження перевірки. Автомодерація відсікає очевидне (заборонені слова, відсутність фото), ручна розбирає спірне. Обробник OnBeforeIBlockElementUpdate не дає обійти.
  • Верифікація продавців — перевірка ІПН через API ФНС, завантаження скан документів. Статуси: новий → перевірений → преміум. Кожен рівень відкриває ліміти за кількістю товарів та комісіям.
  • Рейтингова система — не просто зірки. Алгоритм враховує швидкість відправки (AVG(ship_date - order_date)), відсоток повернень, якість відповідей на питання.
  • Антифрод — детектуємо накрутку рейтингів за патернами (одна IP, однакові тексти, аномальна частота). Дублювання акаунтів ловимо за ІПН та банківськими реквізитами.
  • Типова помилка: зберігання даних про постачальників у звичайному інфоблоці — при 1000+ продавців запити стають гальмівними. Використовуйте highload-інфоблоки.

Як влаштована система виплат продавцям?

Фінансовий модуль — те, заради чого продавці приходять на майданчик.

  • Розрахунок комісії — обробник на зміну статусу замовлення. Комісія залежить від категорії, статусу продавця, поточних умов. Зберігається в окремій таблиці vendor_transactions.
  • Періодичні виплати — cron-завдання формує реєстр: щотижня, двічі на місяць або щомісяця. Мінімальна сума виплати, холдування до підтвердження отримання.
  • Акти та звітність — генерація PDF актів через PhpOffice\PhpSpreadsheet, автоматична нумерація, завантаження в один клік.
  • Холдування — гроші утримуються до отримання товару. Знижує спори та повернення.
  • Виплати через банківські API — ЮKassa, CloudPayments, прямі банківські API. Продавець отримує гроші без телефонних дзвінків та нагадувань.
  • Важливо: розділення замовлень на рівні обробника OnSaleOrderSaved призводить до розбіжності статусів. Розділяйте на етапі кошика.
  • Ручна фіскалізація кожного субзамовлення порушує 54‑ФЗ. Використовуйте єдиний чек з ознакою «агент». На одному з проєктів автоматизація фіскалізації скоротила витрати на значну суму щомісяця. На іншому проєкті оптимізація пошуку через Elasticsearch скоротила час завантаження каталогу на 80% (з 3 секунд до 0.6 секунди).

Як ми будуємо архітектуру маркетплейсу?

  1. Визначення бізнес-моделі — обираємо тип маркетплейсу та схему монетизації.
  2. Проектування БД — highload-інфоблоки для каталогів понад 50 000 SKU, окремі таблиці для субзамовлень (orders_split) та транзакцій.
  3. Розробка ядра — створюємо модуль marketplace.vendor, реалізуємо прив'язку товарів до постачальників, механізм розділення замовлень, агенти для розрахунку комісій.
  4. Інтеграція платіжного шлюзу та 54-ФЗ — налаштовуємо фіскалізацію через АТОЛ Онлайн або CloudPayments.
  5. Тестування на навантаження — використовуємо k6 або ab для перевірки 5000 замовлень на добу.

Типові помилки при розробці маркетплейсів на Бітрікс

  • Зберігання постачальників у звичайному інфоблоці — призводить до гальм при >1000 записів. Використовуйте highload-інфоблоки.
  • Розділення замовлень після збереження — порушує статусну модель. Розділяйте на етапі кошика.
  • Ручна фіскалізація кожного субзамовлення — порушує 54-ФЗ. Фіскалізуйте єдиним чеком з ознакою агента.
  • Ігнорування кешування тегованого для каталогу — при мультивендорності кеш скидається цілком. Налаштовуйте теги по vendor_id.

Технологічний стек

  • 1С-Бітрікс «Бізнес» або «Ентерпрайз» — модуль sale + catalog як фундамент. Мультивендорна обв'язка — кастомні модулі.
  • Highload-інфоблоки — каталоги понад 100 000 SKU. Звичайні інфоблоки при таких обсягах падають на фільтрації: CIBlockElement::GetList з десятком властивостей генерує JOIN-и на десятки таблиць b_iblock_element_prop_sNN. Highload вирішує це плоскою структурою.
  • Elasticsearch — повнотекстовий пошук. Elasticsearch обробляє запити в 10 разів швидше штатного модуля пошуку (Sphinx). Користувач пише «кросівки найки» — знаходить «Nike кросівки».
  • Черги — імпорт каталогів, розрахунок виплат, генерація звітів. Агенти Бітрікс (CAgent) для легких завдань, окрема черга через RabbitMQ або supervisor + кастомний CLI для важких.

Ми гарантуємо, що розроблений модуль витримає навантаження до 5000 замовлень на добу на стандартному VPS. Сертифіковані спеціалісти 1С-Бітрікс (досвід більше 10 років, 50+ реалізованих проєктів) виконують аудит архітектури до старту розробки. При масштабі 2000 продавців середній час модерації — 15 хвилин, а 95% замовлень обробляються автоматично.

Галузеві маркетплейси

Кожна ніша — свої граблі:

  • Будматеріали — розрахунок доставки великогабариту. Палети, тоннаж, підйом на поверх. Звичайний калькулятор доставки не справляється, пишемо кастомний sale.delivery.handler.
  • Продукти харчування — терміни придатності у властивостях інфоблоку, температурний режим, слоти доставки «день у день». Помилка в логістиці = списання.
  • Автозапчастини — підбір по VIN через laximo API, крос-номери, оригінали та аналоги. Окрема headache — різні терміни поставки у різних продавців на одну деталь.
  • Одяг — розмірні сітки (EU/US/RU), високий відсоток повернень. Логіка обробки повернень з перерозподілом комісії — окремий пласт.
  • Промобладнання — B2B з тендерами, запитами КП. Картка товару з 50+ параметрами в табличному вигляді.

Строки та етапи

Намагатися запустити все одразу — надійний спосіб не запустити нічого.

Етап Строк Результат
Бізнес-модель 2-3 тижні Модель монетизації, MVP-скоп. Відсікаємо 80% хотілок, які не потрібні на старті.
Проектування 3-4 тижні UX, прототипи вітрини та кабінетів, архітектура БД.
MVP 2-3 місяці Каталог, реєстрація продавців, замовлення, базова модерація. Перші реальні продажі.
Пілот 2-3 тижні Перші продавці, тестові покупки, навантажувальне тестування через ab або k6.
Масштабування постійно Нові фічі за фідбеком, оптимізація запитів, горизонтальне масштабування.

MVP за 3-4 місяці. Повнофункціональна платформа — 6-12 місяців ітеративної розробки.

Що входить в роботу

  • Документація: архітектурна схема, опис API, інструкції для продавців.
  • Доступи: репозиторій з кодом, тестовий стенд, адмінка.
  • Навчання: дві сесії для адміністраторів та менеджерів.
  • Підтримка: 1 місяць безкоштовного супроводу після запуску, далі за SLA.
  • Гарантія на розроблені модулі — 12 місяців.

Зв'яжіться з нами для оцінки вашого проєкту — розрахуємо строки та вартість індивідуально. Замовте консультацію, і ми покажемо на реальному кейсі, як вирішуємо проблему мультивендорності за 30 хвилин. Отримайте детальний план розробки вашого маркетплейсу вже сьогодні.