Setting up moderation for sellers' products on the 1C-Bitrix marketplace

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
    1177
  • 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

Product Moderation Setup for Sellers on 1C-Bitrix Marketplace

Without moderation on a marketplace, sellers publish everything indiscriminately: duplicates, forbidden products, product cards without images, with incorrect prices. Moderation is the process of checking a product before publication, which needs to be automated as much as possible and made transparent to the seller.

Technical Implementation of Status Model

Each product in an infoblock receives a UF-field for moderation status: UF_MODERATION_STATUS (type — string or reference). Values:

  • draft — seller has not submitted for review
  • pending — awaiting review by moderator
  • approved — approved, product is active (ACTIVE = Y)
  • rejected — rejected with reason specified
  • revision — revisions needed (soft refusal)

When a seller adds a product, ACTIVE = N and UF_MODERATION_STATUS = 'pending' are set. The OnAfterIBlockElementAdd event handler records submission time and creates a notification for moderators.

Moderator Interface

A separate page in /bitrix/admin/ or in a custom section for moderators. Queue of products for review — query from infoblock filtered by UF_MODERATION_STATUS = 'pending', sorted by creation date.

Moderation card: product preview, all fields, images. Buttons: "Approve", "Reject", "Request Revision". On rejection — mandatory field with reason (from reference book + free text).

After moderator's decision: UF_MODERATION_STATUS and ACTIVE are updated, seller receives notification via CEvent::Send() with rejection reason (if applicable).

Automatic Checks

Some checks can be automated before manual moderation:

  • Image presence (minimum 1 photo): check via CIBlockElement::GetByID()PREVIEW_PICTURE or DETAIL_PICTURE
  • Required properties completion (description, price, category): check before sending to moderation
  • Duplicates by SKU within catalog: query CIBlockElement::GetList() by PROPERTY_ARTICLE = X

Automatically rejected products receive auto_rejected status with specific reason. Seller corrects and resubmits.

Timeline

Status model setup, moderator interface, and notifications — 1–2 weeks. Adding automatic checks — additional 3–5 days.