Developing Bitrix24 integration with marketplaces

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
    1173
  • 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
    745
  • 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

Developing Bitrix24 Integration with Marketplaces

Integration of Bitrix24 with Ozon, Wildberries, or Yandex Market is needed by companies that use CRM to manage customers and want to see marketplace orders in a single space. The typical problem: a manager works in Bitrix24, but views order data in the marketplace's personal account in a different tab. Integration eliminates this gap.

What Gets Integrated and Why

Bitrix24 is primarily a CRM and team collaboration tool, not a full-fledged e-commerce platform. So integration with marketplaces solves specific tasks:

Orders → CRM. Each marketplace order is created as a deal (crm.deal.add) or lead in Bitrix24. The manager sees the order, processes it, calls the customer — all within the CRM. Statuses sync in both directions.

Notifications. When a new order arrives or its status changes — notification to the responsible manager via im.notify.system.add or through a task/deal in the CRM.

Analytics. Data about marketplace sales goes into CRM reports. You can see the funnel by source, compare marketplaces with each other.

Communications. Messages from marketplace buyers (where the marketplace provides an API for correspondence, like Ozon) — in the activity stream of the deal in Bitrix24.

Architecture: Middleware Service

Bitrix24 and the marketplace are two independent APIs. There's no direct way to connect them. You need an intermediate service (middleware) that:

  1. Listens to webhooks from the marketplace (new orders, status changes)
  2. Translates marketplace data into Bitrix24 REST API format
  3. Creates/updates entities in Bitrix24 via REST
  4. In reverse: when a deal status changes in Bitrix24 — updates the order status on the marketplace

This service is a separate application that can be:

  • Deployed as your own server (PHP/Node.js/Python)
  • Formalized as an application for the Bitrix24 marketplace (then it's available to other users)
  • Use ready-made no-code connectors like n8n/Make (for simple scenarios)

For serious load (hundreds of orders per day) you need your own service with queue and retry logic.

Data Mapping: Deal vs Order

The data from a marketplace order doesn't match the deal fields in Bitrix24 CRM. Mapping is needed:

Marketplace Order Field Bitrix24 CRM Field
order_id UF_CRM_DEAL_* (custom field) or TITLE
buyer name / email crm.contact (find or create)
product list crm.deal.productrows.set
total_price OPPORTUNITY
status STAGE_ID (status mapping)
marketplace name SOURCE_ID or custom field
created_at DATE_CREATE
delivery address CONTACT.ADDRESS or custom field

Status mapping is a separate task. Marketplace statuses and Bitrix24 deal funnel stages need to be explicitly mapped in the integration configuration.

Working with Contacts: Deduplication

One buyer can place orders from different marketplaces and directly on the website. When creating a contact in Bitrix24, check for duplicates via crm.duplicate.find.by.comm (search by email/phone). If the contact already exists — link the deal to it, don't create a new one.

On marketplaces, buyer personal data is often hidden (WB doesn't expose email, Ozon — only on request). In this case, the external buyer ID on the marketplace is used as an identifier, stored in a custom contact field.

Status Synchronization

Reverse synchronization (Bitrix24 → marketplace) is needed when a manager changes the deal stage and it should reflect in the marketplace personal account. This works through:

  1. Subscription to the ONCRMDEALUPDATE event in Bitrix24
  2. When STAGE_ID changes — check if the deal is a marketplace order (by custom field UF_MARKETPLACE_SOURCE)
  3. Call the appropriate marketplace API to update the status

For WB this is /api/v3/orders/{orderId}/status, for Ozon — /v3/posting/fbs/status/set. Not all statuses are available for external modification — marketplaces only allow transitioning orders from certain states to certain states.

Product Catalog: Is Synchronization Needed

Some companies want not just orders but also catalog synchronization: products from Bitrix24 (or from the website on Bitrix) should automatically upload to the marketplace. This is a separate, larger task (see 1C-Bitrix integration with marketplaces).

In the context of Bitrix24, the product catalog (crm.product.*) is often used for CRM products, not as a full-fledged e-commerce catalog. If the catalog is maintained there — synchronization is possible, but requires non-trivial mapping to marketplace attributes.

Development Timeline

Scenario Timeline
One marketplace, orders only → leads/deals in CRM 3–5 weeks
One marketplace, bidirectional status synchronization 5–8 weeks
Two marketplaces, common CRM integration with notifications 8–12 weeks
Full cycle: orders + catalog + analytics, multiple marketplaces 14–20 weeks

Ready-Made Solutions and Their Limitations

The Bitrix24 marketplace has several connector applications for Ozon and WB. They cover basic scenarios and cost significantly less than custom development. Limitations: fixed mapping logic, inability to add non-standard fields, dependency on the application vendor's updates.

Custom development is justified when: specific order processing logic, integration with multiple systems simultaneously (marketplace + 1C + warehouse), reliability requirements higher than ready-made applications can provide.