Інтеграція 1С-Бітрікс з Competera (моніторинг цін)

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Інтеграція 1С-Бітрікс з Competera (моніторинг цін)
Проста
~1-2 тижні
Часті питання

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

Етапи розробки

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

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

Інтеграція 1С-Бітрікс із Competera (моніторинг цін)

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

API Competera

Competera надає REST API. Базовий URL: https://api.competera.io/v1/. Авторизація — API-ключ у заголовку X-Api-Key. Ключові ендпоінти:

  • GET /products — каталог товарів у Competera
  • POST /products/upload — завантаження/оновлення каталогу
  • GET /repricing/recommendations — рекомендації щодо цін
  • POST /prices/upload — завантаження актуальних цін магазину
  • GET /competitors/prices — ціни конкурентів по ваших товарах

Синхронізація каталогу 1С-Бітрікс → Competera

Competera потрібен каталог товарів з вашого боку: SKU, назва, EAN, поточна ціна, собівартість (опційно). Формат — CSV або JSON.

Агент вивантажує зміни раз на добу (або при зміні товару):

function SyncCatalogToCompetera(): string
{
    $products = \CIBlockElement::GetList(
        ['ID' => 'ASC'],
        ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'],
        false,
        ['nPageSize' => 1000],
        ['ID', 'NAME', 'PROPERTY_ARTICLE', 'PROPERTY_BARCODE']
    );

    $rows = [['sku', 'name', 'ean', 'price', 'cost', 'category']];
    while ($product = $products->GetNext()) {
        $price = \CCatalogProduct::GetOptimalPrice($product['ID'])['PRICE']['PRICE'] ?? 0;
        $cost  = \CIBlockElement::GetProperty(CATALOG_IBLOCK_ID, $product['ID'], [], ['CODE' => 'COST_PRICE'])->Fetch()['VALUE'] ?? 0;
        $rows[] = [
            $product['PROPERTY_ARTICLE_VALUE'],
            $product['NAME'],
            $product['PROPERTY_BARCODE_VALUE'],
            $price,
            $cost,
            $product['SECTION_NAME'],
        ];
    }

    $csv = implode("\n", array_map('str_getcsv', $rows));
    $competera->post('/products/upload', ['file' => $csv, 'format' => 'csv']);

    return __FUNCTION__ . '();';
}

Отримання рекомендацій і застосування цін

GET /repricing/recommendations повертає масив із рекомендованими цінами, причинами зміни та рівнем впевненості алгоритму:

{
  "recommendations": [
    {
      "sku": "ART-12345",
      "current_price": 4990.00,
      "recommended_price": 4750.00,
      "reason": "competitor_undercut",
      "confidence": 0.87,
      "competitor_min": 4720.00
    }
  ]
}

Логіка застосування залежить від налаштувань:

foreach ($recommendations as $rec) {
    $product = ProductRepository::findBySku($rec['sku']);
    if (!$product) continue;

    $autoApply = (bool)\Bitrix\Main\Config\Option::get('competera', 'auto_apply_' . $product['SECTION_ID'], false);
    $minConfidence = (float)\Bitrix\Main\Config\Option::get('competera', 'min_confidence', 0.8);

    if ($autoApply && $rec['confidence'] >= $minConfidence) {
        // Застосовуємо автоматично
        \CCatalogProduct::Update($product['ID'], ['PRICE' => $rec['recommended_price']]);
        \CCatalogProduct::SetPrice($product['ID'], BASE_PRICE_TYPE_ID, $rec['recommended_price']);
        PriceChangeLog::write($product['ID'], $rec['current_price'], $rec['recommended_price'], 'competera_auto');
    } else {
        // Ставимо в чергу на схвалення менеджеру
        CompeteraPendingTable::add([
            'PRODUCT_ID'    => $product['ID'],
            'CURRENT_PRICE' => $rec['current_price'],
            'RECOMMENDED'   => $rec['recommended_price'],
            'CONFIDENCE'    => $rec['confidence'],
            'REASON'        => $rec['reason'],
            'STATUS'        => 'pending',
        ]);
    }
}

Інтерфейс схвалення рекомендацій

В адміністративній частині 1С-Бітрікс — сторінка «Рекомендації Competera» з таблицею:

Товар Артикул Поточна ціна Рек. ціна Зміна Конкуренти від Впевненість Дія
Фен Philips BHD... ART-12345 4990 4750 −4.8% 4720 87% [Застосувати] [Відхилити]

При кліку «Застосувати» — виклик API зміни ціни в 1С-Бітрікс + оновлення статусу в bl_competera_pending. При «Відхилити» — статус rejected, рекомендація не застосовується.

Терміни

Етап Термін
API-клієнт Competera + автентифікація 1 день
Синхронізація каталогу і цін 2 дні
Отримання рекомендацій + логіка застосування 2 дні
Інтерфейс схвалення менеджером 2 дні
Логування і тестування 1 день
Разом 8–10 днів