Integrating 1C-Bitrix with SberMegaMarket

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

1C-Bitrix Integration with SberMegaMarket

SberMegaMarket (formerly goods.ru) operates on DBS and FBS model, but integration is different from Ozon and Wildberries. Main product upload channel — XML feed, close in format to YML but with extensions. Order management — via Merchant API. This duality (feed for catalog + API for orders) requires setup of two independent mechanisms on Bitrix side.

Product Feed: Format and Requirements

SberMegaMarket accepts feed in YML-compatible format, but with additional tags. Feed URL specified in seller's personal account, marketplace retrieves it on schedule (usually every 2–4 hours).

Structure of <offer>:

Tag Mandatory Description Field in Bitrix
<name> Yes Title NAME
<price> Yes Price Catalog price type
<categoryId> Yes Category Infoblock section
<picture> Yes Photo (min 1) DETAIL_PICTURE
<vendor> Yes Brand Property
<barcode> Yes EAN-13 Property
<description> Yes Description DETAIL_TEXT
<outlets> Yes (DBS) Inventory by points Warehouses
<shipment-options> Yes (DBS) Shipment terms Settings

<outlets> — key tag for DBS model. Contains <outlet id="ID" instock="QUANTITY"/> for each point of sale. Point ID created in SberMegaMarket personal account. In Bitrix, inventory taken from warehouse accounting of catalog module or separate element property.

<shipment-options> — indicates how many days seller ready to ship product. Example: <option days="1" order-before="14"/> — shipment in 1 day when ordered before 2 PM. Marketplace uses this for buyer delivery time calculation.

Feed Generation in Bitrix

Standard YML export in Bitrix (catalog.export, "Yandex.Market" profile) doesn't generate <outlets> and <shipment-options> tags. Options:

1. Standard export modification. In handler file /bitrix/php_interface/include/catalog_export/ modify XML generation template — add needed tags. Inventory pulled from CCatalogStoreProduct::GetList() for each product.

2. Marketplace module. Ready solutions for SberMegaMarket (e.g., from Kooplex or RetailCRM) add export profile with support for all specific tags.

3. Separate PHP script. Script via cron generates XML, selecting data from infoblock via CIBlockElement::GetList() API. Advantage — full control without module export dependency.

Merchant API: Order Processing

SberMegaMarket API (https://partner.sbermegamarket.ru/api/) works via POST requests with JSON. Authorization — token in header.

DBS order cycle:

  1. Get new orders. POST /api/market/v1/orderService/order/new — returns orders in NEW status.
  2. Confirm. POST /api/market/v1/orderService/order/confirm — seller confirms order and specifies shipment term.
  3. Ship. POST /api/market/v1/orderService/order/packing — transmit tracking number and confirm shipment.
  4. Cancel. POST /api/market/v1/orderService/order/reject — cancel with reason.

On Bitrix side cron agent every 5–10 minutes polls API for new orders. When received:

  • Creates order in Bitrix\Sale\Order with product mapping by offerId (article) or barcode.
  • Sets order properties: SberMegaMarket order number, delivery method, buyer data (SberMegaMarket transmits name, phone, address).
  • When order status changes in Bitrix — event handler OnSaleOrderSaved calls corresponding API method.

Price and Inventory Updates

Through feed. Prices and inventory update on next marketplace feed parse. Delay — up to 4 hours. For most stores this is sufficient.

Through API (accelerated update). For fast-moving products — method POST /api/market/v1/offerService/manualPrice/save for prices and inventory update via <outlets> in feed with forced refresh.

Problem of inventory delay: if product out of stock but feed not updated yet — marketplace accepts order for unavailable product. Cancellation = penalty + seller rating drop. Solution: configure feed generation via cron every 30 minutes and use API for critical products.

Categories and Moderation

SberMegaMarket uses its own category tree. Mapping set in personal account when configuring feed — for each <categoryId> from your feed specify correspondence to marketplace category.

Product moderation takes 1–3 days. Rejection reasons:

  • Missing barcode.
  • Incorrect brand (not in marketplace directory).
  • Photos don't meet requirements (watermarks, collages, text on image).

Integration Timeline

Scenario Timeline
Feed + manual order processing 3–5 days
Feed + order API, up to 1000 products 1 week
Full integration: feed + orders + inventory + statuses 1.5–2 weeks