Разработка системы социальной коммерции на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Разработка системы социальной коммерции на 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Разработка системы социальной коммерции на 1С-Битрикс

Социальная коммерция — это продажи через механизмы социального взаимодействия: отзывы с рейтингами, вишлисты, совместные покупки, реферальные программы, лайки и шеринг товаров. Каждый из этих механизмов либо снижает барьер к покупке (социальное доказательство), либо расширяет охват (виральность). В Битрикс часть из них есть в базовой комплектации, часть требует разработки.

Модуль отзывов и рейтингов

В Битрикс встроены отзывы через компонент reviews и рейтинги через vote. Для полноценной социальной коммерции нужно расширить их:

Верифицированные покупки — отзыв может оставить только пользователь, купивший товар. Проверка: b_sale_order_basket содержит PRODUCT_ID в завершённых заказах USER_ID. Добавьте условие в PHP-обработчик перед созданием отзыва через CIBlockElement::AddSection() или через кастомную таблицу bl_product_reviews.

Фото в отзывах — стандартный компонент reviews не поддерживает медиа. Создайте свой компонент с AJAX-загрузкой файлов через \CFile::SaveFile() и связью с отзывом через пользовательскую таблицу bl_review_media.

Сортировка по полезности — кнопки «Полезно/Не полезно» с голосованием через \Bitrix\Vote\VoteTable. Результат используется для ранжирования отзывов по умолчанию.

Вишлисты и списки желаний

Вишлист — это именованный список товаров пользователя. Создайте систему на основе пользовательской таблицы:

// Структура таблицы bl_wishlists
// wishlist_id, user_id, name, is_public, share_token, created_at

// Структура bl_wishlist_items
// id, wishlist_id, product_id, added_at, note

class WishlistService
{
    public static function addItem(int $userId, int $productId, ?string $wishlistName = null): void
    {
        $wishlistId = self::getOrCreateDefault($userId, $wishlistName);

        // Проверяем, нет ли уже этого товара
        $exists = WishlistItemTable::getRow([
            'filter' => ['WISHLIST_ID' => $wishlistId, 'PRODUCT_ID' => $productId],
        ]);

        if (!$exists) {
            WishlistItemTable::add([
                'WISHLIST_ID' => $wishlistId,
                'PRODUCT_ID'  => $productId,
                'ADDED_AT'    => new \Bitrix\Main\Type\DateTime(),
            ]);
        }
    }

    public static function shareWishlist(int $wishlistId): string
    {
        $token = bin2hex(random_bytes(16));
        WishlistTable::update($wishlistId, ['SHARE_TOKEN' => $token, 'IS_PUBLIC' => 1]);
        return '/wishlist/shared/' . $token;
    }
}

Публичная страница вишлиста доступна по URL с токеном — другой пользователь может добавить товары из него прямо в корзину. Это работает как виральный механизм, особенно в подарочных категориях.

Совместные покупки

Совместные покупки — пользователь создаёт «групповой заказ», приглашает других, при достижении нужного количества участников цена снижается. Реализация:

Таблица bl_group_purchases: id, product_id, creator_user_id, target_qty, current_qty, discount_pct, price_with_discount, expires_at, status.

Таблица bl_group_purchase_members: group_id, user_id, joined_at, paid.

При достижении current_qty >= target_qty агент меняет status = active и отправляет уведомления участникам. Каждый участник оплачивает свою долю по сниженной цене — создаётся отдельный заказ в b_sale_order со скидкой.

Реферальная программа

Реферальный механизм: пользователь получает уникальную ссылку, которую распространяет в соцсетях. При переходе по ссылке новый посетитель видит специальный оффер или скидку. При покупке — реферер получает бонус.

// Генерация реферальной ссылки
$refCode = base64_encode($userId . '-' . crc32($userId . SITE_SECRET));
$refLink = 'https://' . SITE_SERVER_NAME . '/?ref=' . $refCode;

// Обработчик входящего трафика (в init.php или компоненте)
$refCode = $_GET['ref'] ?? null;
if ($refCode && !isset($_SESSION['ref_code'])) {
    $_SESSION['ref_code'] = $refCode;
    setcookie('ref_code', $refCode, time() + 86400 * 30, '/');
}

// При создании заказа — начисление бонуса рефереру
AddEventHandler('sale', 'OnSaleOrderSaved', function(\Bitrix\Sale\Order $order) {
    $refCode = $_COOKIE['ref_code'] ?? null;
    if ($refCode) {
        $referrerId = ReferralService::getUserIdByCode($refCode);
        if ($referrerId && $referrerId !== $order->getUserId()) {
            BonusService::credit($referrerId, $order->getPrice() * 0.05); // 5% от покупки
        }
    }
});

Шеринг товаров в соцсети

Кнопки «Поделиться» в карточке товара — стандартные share-ссылки. Для отслеживания шерингов добавьте AJAX-endpoint, который фиксирует событие в bl_share_events(product_id, user_id, network, created_at) и возвращает UTM-ссылку с идентификатором пользователя для атрибуции продаж через социальный трафик.

Open Graph и мета-теги для соцсетей

При шеринге соцсеть парсит Open Graph теги страницы товара. В шаблоне catalog.element добавьте:

<meta property="og:title"       content="<?= htmlspecialchars($arResult['NAME']) ?>"/>
<meta property="og:description" content="<?= htmlspecialchars($arResult['PREVIEW_TEXT']) ?>"/>
<meta property="og:image"       content="https://<?= SITE_SERVER_NAME ?>/<?= \CFile::GetPath($arResult['PREVIEW_PICTURE']) ?>"/>
<meta property="og:price:amount"   content="<?= $arResult['CATALOG_PRICE_1']['PRICE'] ?>"/>
<meta property="og:price:currency" content="RUB"/>

Сроки выполнения

Компонент Сложность Сроки
Верифицированные отзывы с фото Средняя 5–7 дней
Вишлисты с публичным доступом Средняя 4–6 дней
Реферальная программа Средняя 5–8 дней
Совместные покупки Высокая 10–15 дней
Open Graph и шеринг с атрибуцией Низкая 2–3 дня

Что разрабатываем

  • Систему верифицированных отзывов с проверкой по истории покупок и поддержкой медиа
  • Вишлисты с публичными ссылками для шеринга в соцсетях
  • Реферальную программу с отслеживанием по cookie/UTM и начислением бонусов
  • Механизм совместных покупок с порогами количества и временными ограничениями
  • Open Graph метатеги для корректного отображения товаров при шеринге