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

Розробка модуля інтеграції з маркетплейсами для 1С-Бітрікс починається із задачі: синхронізувати каталог на 50 000 товарів з Ozon і Wildberries. Здається, що це кілька рядків коду, але на практиці — десятки edge-кейсів: маркетплейс змінює API без попередження, товари відхиляються через невідповідніс
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка модуля інтеграції з маркетплейсами для 1С-Бітрікс
Середній
~1-2 тижні

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

Часті запитання

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

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

Розробка модуля інтеграції з маркетплейсами для 1С-Бітрікс починається із задачі: синхронізувати каталог на 50 000 товарів з Ozon і Wildberries. Здається, що це кілька рядків коду, але на практиці — десятки edge-кейсів: маркетплейс змінює API без попередження, товари відхиляються через невідповідність атрибутів, залишки розходяться через гонку станів між складами. Втрата замовлень, штрафи за розбіжність залишків, ручне звіряння щоранку — ось ціна помилки.

Середній проєкт включає 3-5 маркетплейсів, 50 000+ товарів і 1000+ замовлень на добу. Без системи черг і грамотного маппінгу атрибутів інтеграція розвалиться під навантаженням. Ми побудували модуль, який витримує пікові навантаження і не втрачає дані. Досвід роботи з 1С-Бітрікс — понад 10 років, виконано понад 50 інтеграцій з маркетплейсами.

Як розробити модуль інтеграції з маркетплейсами для 1С-Бітрікс?

Стандартний модуль інтеграції для 1С-Бітрікс працює в рамках системи модулів (/bitrix/modules/). Він реєструється через RegisterModule(), додає агенти через CAgent::AddAgent() і вішає обробники на події інфоблоків (OnAfterIBlockElementAdd, OnAfterIBlockElementUpdate, OnAfterIBlockElementDelete). Документація 1С-Бітрікс зі створення модулів рекомендує саме цей підхід.

Мінімальний набір функцій: вивантаження товарів (маппінг полів інфоблоку на схему маркетплейсу, завантаження зображень, передача характеристик), синхронізація залишків (оновлення CATALOG_QUANTITY), отримання замовлень (створення замовлень у b_sale_order) та обробка статусів (двостороння синхронізація).

Чому черга обов'язкова? — розробка модуля інтеграції

Прямий виклик API маркетплейсу з обробника події — антипатерн. Ozon допускає не більше 10 RPS, WB — 1 запит/секунду на /api/v3/orders. Якщо товарів 5000+, масове редагування в адмінці створить шквал запитів і поверне 429.

Правильна схема:

  • Подія Бітрікс → запис задачі в чергу (HL-блок або окрема таблиця)
  • Агент кожні N хвилин → читає чергу пачками → викликає API маркетплейсу
  • Результат → лог + оновлення статусу задачі в черзі

Черга — це єдиний спосіб гарантувати, що ви не перевищите ліміти API. В одному з проєктів з каталогом у 200 000 товарів стандартний підхід (прямі запити з обробників) призводив до 429-х помилок кожні 5 хвилин. Після впровадження черги на HL-блоці навантаження на API маркетплейсу знизилося в 3 рази, а час синхронізації — з 4 годин до 20 хвилин.

Поле Тип Опис
ID int, AI
ENTITY_TYPE varchar(50) product / order / stock
ENTITY_ID int ID елемента/замовлення
ACTION varchar(50) create / update / delete
MARKETPLACE varchar(30) ozon / wb / yandex
STATUS varchar(20) pending / processing / done / error
ATTEMPTS int лічильник спроб
LAST_ERROR text текст останньої помилки
CREATED_AT datetime
PROCESSED_AT datetime

Маппінг атрибутів — найбільш трудомістке місце

У кожного маркетплейсу своя система категорій і обов'язкових атрибутів. Для Ozon потрібно отримати список атрибутів через /v3/category/attribute, для WB — /content/v2/object/charcs/{subjectId}. У модулі реалізується адміністративний інтерфейс, де задаються:

  • Відповідність категорій (розділи інфоблоку ↔ ID категорії маркетплейсу)
  • Маппінг властивостей (UF_* або PROPERTY_*attribute_id)
  • Маппінг складів (CATALOG_STORE ↔ warehouse_id)
  • Правила трансформації значень (наприклад, числові характеристики WB передаються як рядки)

Сертифіковані спеціалісти 1С-Бітрікс з багаторічним досвідом налаштовують маппінг так, щоб жоден товар не був відхилений через невірний формат.

Торгові пропозиції та варіативні товари

WB і Ozon по-різному працюють з варіативністю. WB використовує масив розмірів sizes[], Ozon — color_image. У Бітрікс ТП зберігаються в дочірньому інфоблоці. При вивантаженні отримуємо всі ТП через CCatalogSKU::GetOffersList() і збираємо структуру під формат маркетплейсу. При оновленні залишків оновлюємо кожен SKU окремо.

Отримання та обробка замовлень

Замовлення надходять через polling (агент) або webhook. При створенні замовлення в Бітрікс:

  • Покупець створюється як анонімний або прив'язується за email.
  • Спосіб доставки та оплати повинні бути заведені в системі (b_sale_delivery_service, b_sale_pay_system).
  • Артикул маркетплейсу має збігатися з CATALOG_ARTICLE або XML_ID елемента інфоблоку.
  • Зовнішній ID замовлення зберігається в b_sale_order_props для зворотної синхронізації.

Обробка помилок та моніторинг

Модуль без логування — чорна скринька. Мінімальний лог пишеться в b_event_log. Для production — власна таблиця з полями: рівень, маркетплейс, дія, HTTP-код, тіло відповіді (truncate до 4KB). Окремий агент раз на годину повторює задачі з ATTEMPTS < 3, алармує невдалі через CEvent::Send() або Telegram.

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

При замовленні розробки модуля інтеграції ви отримуєте:

  • Архітектурна документація з описом усіх сутностей і потоків даних.
  • Налаштування модуля в бойовому середовищі (доступи, конфігурація, тестовий запуск).
  • Навчання адміністраторів (2 години, можливий віддалений формат).
  • Гарантійна підтримка 2 місяці (виправлення помилок, консультації).
  • Вихідний код модуля, переданий вам у власність.

Чому наш модуль надійніший за стандартні рішення?

Використовуємо чергу як єдину точку входу для всіх API-викликів. Це гарантує дотримання rate limits, повтор при тимчасових помилках і повний лог. Модуль не зламається при стрибку навантаження — перевірено на каталогах з 500 000 товарів. Всі інтеграції виконуються на ліцензійному ПЗ, з дотриманням стандартів безпеки.

Етапи розробки модуля інтеграції

  1. Аудит поточної системи та вимог.
  2. Проєктування архітектури модуля з урахуванням навантаження.
  3. Розробка адаптерів для кожного маркетплейсу.
  4. Реалізація UI маппінгу атрибутів і категорій.
  5. Налаштування черг і агентів.
  6. Інтеграційне тестування в sandbox (де доступний).
  7. Документація з експлуатації та навчання адміністраторів.
  8. Гарантійна підтримка 2 місяці.

Строки розробки

Обсяг інтеграції Строк
Один маркетплейс, лише вивантаження товарів + залишки 3–5 тижнів
Один маркетплейс, повний цикл (товари + замовлення + статуси) 6–9 тижнів
Два маркетплейси, повний цикл 10–14 тижнів
Три і більше маркетплейсів зі спільною чергою та UI маппінгу 16–24 тижні

Строки вказані для розробки з нуля. При використанні готового ядра черги та перевикористанні адаптерів — скорочення на 25–30%.

Тестування та приймання

Кожен адаптер повинен мати unit-тести для маппінгу та інтеграційні тести з sandbox-оточенням (Ozon і Яндекс Маркет надають sandbox, WB — тестування через бій з тестовими артикулами). Перед релізом перевіряємо сценарії: масове оновлення цін (500+ позицій), прихід 50+ замовлень одночасно, обнулення залишків.

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

Отримайте консультацію з архітектури інтеграції — обговоримо деталі та строки.