Цінова позиція в каталозі — головний біль рітейлера. Metacommerce парсить ціни конкурентів з сайтів і маркетплейсів, але без інтеграції з Бітрікс дані залишаються в окремому кабінеті. Менеджери вручну порівнюють цифри, втрачаючи час і гроші. Ми, команда інженерів з 10+ років досвіду в Бітрікс, робимо інтеграцію під ключ: від налаштування API до віджета в картці товару. Результат — ви бачите конкурентну обстановку прямо в адмінці та приймаєте рішення миттєво. Зв'яжіться з нами для оцінки вашого проекту.
Проблема: втрачаєте прибуток через розрізнені дані
Без інтеграції кожна зміна цін конкурентів — чорний ящик. Ви дізнаєтесь про зниження ціни конкурентом через 2-3 дні, коли частина клієнтів уже пішла. Metacommerce оновлює дані щодня, але якщо не переносити їх у Бітрікс, ви не зможете налаштувати динамічне ціноутворення або знижки за правилами. Ми вирішуємо цю проблему автоматичною синхронізацією: агент забирає позиції, записує в кастомні UF-поля та показує в картці. Замовте консультацію — ми підберемо оптимальний сценарій.
Як Metacommerce допомагає керувати цінами?
Metacommerce — російський сервіс моніторингу цін конкурентів. Спеціалізується на рітейлі: парсить ціни з сайтів конкурентів, маркетплейсів (Wildberries, Ozon, Яндекс.Маркет) та агрегує в єдиний звіт. Інтеграція з Бітрікс дозволяє бачити позицію за ціною прямо в картці товару і на основі цих даних приймати цінові рішення. У порівнянні з ручним вивантаженням у Excel, інтеграція скорочує час реакції на зміну ринку в 5 разів.
API Metacommerce
Metacommerce надає REST API. Базовий URL залежить від тарифу, авторизація через Authorization: Token {api_token}. Основні методи:
-
GET /api/v3/products/— список товарів у проекті Metacommerce -
GET /api/v3/products/{id}/prices/— ціни конкурентів за конкретним товаром -
GET /api/v3/reports/price-position/— звіт про цінову позицію -
POST /api/v3/products/— додавання товарів для моніторингу
Metacommerce REST API вимагає токен авторизації. Докладніше — в офіційній документації сервісу.
Чому інтеграція з Бітрікс критична?
Без інтеграції дані з Metacommerce — просто ще один звіт. У Бітрікс вони стають інструментом управління: ви виставляєте ціни на основі актуальних даних, автоматично перераховуєте націнку та бачите динаміку за тиждень. Наші клієнти збільшують конверсію на 15-20% завдяки швидкій реакції на конкурентів — це в 2 рази краще, ніж без автоматизації. Інтеграція окупається за 2-3 місяці, а вартість інтеграції починається від 30 000 грн.
Як співставляються товари Metacommerce та Бітрікс?
Metacommerce зберігає свої товари з ID, які потрібно співставити з товарами в Бітрікс. Мапінг зберігається у bl_metacommerce_product_map:
CREATE TABLE bl_metacommerce_product_map ( bitrix_product_id INT NOT NULL PRIMARY KEY, metacommerce_id VARCHAR(64) NOT NULL, last_position SMALLINT, -- місце за ціною серед конкурентів last_check TIMESTAMP, min_competitor_price NUMERIC(12,2), max_competitor_price NUMERIC(12,2), avg_competitor_price NUMERIC(12,2), UNIQUE (metacommerce_id) ); Первинне співставлення виконується за EAN/артикулом через POST /api/v3/products/match. Неспівставлені товари потребують ручного співставлення. Зверніться до нас — ми допоможемо з налаштуванням мапінгу.
Як працює синхронізація цінової позиції?
Ось покрокова інструкція:
- Агент зчитує маппінг товарів з таблиці
bl_metacommerce_product_map. - Виконує пакетний запит до Metacommerce API для отримання позицій.
- Отримуємо цінову позицію (rank), мінімальну, максимальну та середню ціни конкурентів.
- Оновлюємо таблицю маппінгу та UF-поля товару в інфоблоці.
- Результати кешуються для зниження навантаження на API.
Приклад коду агента:
function SyncMetacommercePositions(): string { $mappedProducts = MetacommerceMapTable::getList(['select' => ['BITRIX_PRODUCT_ID', 'METACOMMERCE_ID']]); $ids = array_column($mappedProducts->fetchAll(), 'METACOMMERCE_ID'); // Пакетный запрос позиций $positions = $metacommerceClient->get('/api/v3/reports/price-position/', [ 'product_ids' => implode(',', $ids), 'date' => date('Y-m-d'), ]); foreach ($positions['results'] as $pos) { $bitrixId = MetacommerceMapTable::getByMetacommerceId($pos['product_id'])['BITRIX_PRODUCT_ID'] ?? null; if (!$bitrixId) continue; MetacommerceMapTable::update($bitrixId, [ 'LAST_POSITION' => $pos['rank'], 'LAST_CHECK' => new \Bitrix\Main\Type\DateTime(), 'MIN_COMPETITOR_PRICE' => $pos['min_price'], 'MAX_COMPETITOR_PRICE' => $pos['max_price'], 'AVG_COMPETITOR_PRICE' => $pos['avg_price'], ]); // Обновляем UF-поля товара в инфоблоке для отображения в карточке \CIBlockElement::SetPropertyValuesEx($bitrixId, CATALOG_IBLOCK_ID, [ 'COMPETITOR_MIN_PRICE' => $pos['min_price'], 'PRICE_RANK' => $pos['rank'], ]); } return __FUNCTION__ . '();'; } Кешування результатів теговане — це знижує навантаження на API Metacommerce та прискорює відгук.
Відображення цінової позиції в картці товару (каталог)
В адміністративному редакторі товару додаємо вкладку «Моніторинг цін». Дані підтягуються з bl_metacommerce_product_map та bl_metacommerce_price_history.
На публічній стороні — віджет для категорійного менеджера (видимий лише авторизованим з потрібними правами): «Ви на X місці. Мінімальна ціна конкурента: Y грн.» Для налаштування віджета під ваш інтерфейс зв'яжіться з нами.
Історія цін конкурентів
Для аналітики зберігаємо історичні дані у bl_metacommerce_price_history:
CREATE TABLE bl_metacommerce_price_history ( id SERIAL PRIMARY KEY, bitrix_product_id INT NOT NULL, check_date DATE NOT NULL, our_price NUMERIC(12,2), min_competitor NUMERIC(12,2), avg_competitor NUMERIC(12,2), rank SMALLINT, UNIQUE (bitrix_product_id, check_date) ); Це дозволяє будувати графіки динаміки позиції за період у дашборді.
Що входить в інтеграцію під ключ
| Deliverable | Опис |
|---|---|
| Документація API | Опис методів Metacommerce, сценарії використання |
| Налаштування мапінгу | Автоматичне та ручне співставлення товарів (до 500 товарів) |
| Розробка агента | PHP-агент синхронізації з обробкою помилок та квот |
| Віджет у картці | Вкладка в адмінці та публічний віджет для менеджерів |
| Історія та дашборд | Графіки динаміки цінової позиції |
| Навчання команди | 2-годинна сесія з роботи з інтеграцією |
| Підтримка 1 місяць | Гарантія на код та допомога в експлуатації |
Строки
| Етап | Термін |
|---|---|
| API-клієнт + співставлення товарів | 2 дні |
| Синхронізація позицій (агент) | 2 дні |
| Відображення в картці товару | 1–2 дні |
| Історія + дашборд | 2 дні |
| Тестування | 1 день |
| Разом | 8–9 днів |
Інтеграція окупається за 2-3 місяці завдяки автоматизації ціноутворення. Замовте безкоштовну консультацію — ми проаналізуємо ваш каталог та запропонуємо оптимальне рішення.







