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

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с Competera (мониторинг цен)
Простая
~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С-Битрикс с Competera (мониторинг цен)

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

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 — цены конкурентов по вашим товарам

Синхронизация каталога Битрикс → 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',
        ]);
    }
}

Интерфейс одобрения рекомендаций

В административной части Битрикс — страница «Рекомендации Competera» с таблицей:

Товар Артикул Текущая цена Рек. цена Изменение Конкуренты от Уверенность Действие
Фен Philips BHD... ART-12345 4990 ₽ 4750 ₽ −4.8% 4720 ₽ 87% [Применить] [Отклонить]

При клике «Применить» — вызов API изменения цены в Битрикс + обновление статуса в bl_competera_pending. При «Отклонить» — статус rejected, рекомендация не применяется.

Сроки

Этап Срок
API-клиент Competera + аутентификация 1 день
Синхронизация каталога и цен 2 дня
Получение рекомендаций + логика применения 2 дня
Интерфейс одобрения менеджером 2 дня
Логирование и тестирование 1 день
Итого 8–10 дней