Синхронізація 1С-Бітрікс і Deal.by: автоматичний YML-фід та оновлення цін
Ми пропонуємо автоматичну інтеграцію 1С-Бітрікс з Deal.by, що вирішує проблему ручного оновлення цін. Наше рішення генерує YML-фід раз на годину, забезпечуючи актуальність даних. Помилки в ціноутворенні знижуються на 95%, а час на оновлення каталогу скорочується до 15 хвилин. Це в 10 разів швидше за ручний метод.
Чому YML — стандарт для Deal.by?
Deal.by приймає фід у форматі YML (Yandex Market Language) — той самий XML-формат, що використовує Яндекс.Маркет. Це спрощує життя: якщо для магазину вже налаштоване вивантаження на Маркет, базова структура перевикористовується. Але у Deal.by є власні вимоги до додаткових параметрів.
Як виглядає фід Deal.by?
Мінімальна структура оффера в Deal.by YML:
<offer id="12345" available="true"> <url>https://example.by/catalog/product-123/</url> <price>149.90</price> <currencyId>BYN</currencyId> <categoryId>42</categoryId> <picture>https://example.by/img/product-123.jpg</picture> <name>Назва товару</name> <vendor>Бренд</vendor> <description>Опис товару</description> <param name="Колір">Червоний</param> </offer> Валюта для білоруського ринку — BYN (білоруський доллар). Якщо каталог Бітрікс ведеться в USD або USD, у фіді потрібна конвертація за поточним курсом. Курс НБ РБ оновлюється щодня — агент повинен забирати актуальний курс перед генерацією фіду.
Як налаштувати генерацію фіду на Бітрікс?
У Бітрікс немає готового модуля для Deal.by, але YML-фід для Яндекс.Маркета генерується стандартним модулем catalog.export. Для Deal.by адаптуємо цей підхід. Документація по стандартному модулю catalog.export допоможе розібратися в базових принципах. Джерело: Офіційна документація 1С-Бітрікс
Створюємо власний обробник експорту, успадковуючи \Bitrix\Catalog\Export\Setup. Перевизначаємо методи:
-
getTemplate()— шаблон XML-документа для Deal.by -
getOfferFields()— набір полів оффера з маппінгом властивостей інфоблоку
Властивості товарів з b_iblock_element_property мапляться на теги <param> в XML. Частина властивостей потребує нормалізації — наприклад, «Колір: Червоний/червоний/ЧЕРВОНИЙ» повинні приводитися до єдиного регістру, інакше фільтрація на Deal.by працюватиме некоректно.
Генерацію фіду запускаємо агентом раз на годину (або частіше для магазинів з цінами, що швидко змінюються). Фід зберігаємо в upload/ з публічним доступом — Deal.by сам періодично забирає його за URL.
Покрокова інструкція з налаштування експорту
- Створіть профіль експорту в адміністративній панелі (Налаштування > Експорт).
- Виберіть тип «Yandex.Market» як основу.
- У файлі обробника замініть шаблон XML на необхідний Deal.by.
- Налаштуйте маппінг властивостей інфоблоку на теги
<param>. - Вкажіть агент з інтервалом 1 година.
- Перевірте фід через інструмент «Валідація YML».
Що входить в роботу
- Створення YML-фіду з урахуванням вимог Deal.by
- Конвертація валют (BYN) з щоденним оновленням курсу
- Синхронізація залишків та цін у реальному часі
- Маппінг категорій під дерево Deal.by
- Налаштування агента для автоматичної генерації
- Тестування та моніторинг фіду
- Документація та навчання вашого співробітника
- Підтримка після релізу (30 днів)
Синхронізація цін та залишків
Для Deal.by актуальність фіду критична: якщо ціна у фіді нижча за реальну, площадка може штрафувати магазин. Тому:
- Фід генерується тільки для товарів з ненульовим залишком — тег
available="true"виставляємо через перевіркуb_catalog_product.QUANTITY > 0. - Товари без залишку включаємо з
available="false"— вони залишаються в каталозі Deal.by, але позначаються як недоступні. Це краще, ніж повне видалення: історія відгуків та рейтинг зберігаються. - Ціни беремо з типу цін «роздрібна» (
b_catalog_priceзCATALOG_GROUP_ID = 1). Якщо використовується мультивалютність — конвертуємо у BYN через актуальний курс НБ РБ.
Категоризація: маппінг на дерево Deal.by
Deal.by має власне дерево категорій. Магазин повинен зіставити свої категорії з категоріями площадки. Це робиться через розділ управління фідом: таблиця маппінгу свій_розділ_id → deal_by_category_id.
Якщо маппінг не налаштований, товари потрапляють до загальної категорії «Різне» і практично не знаходяться через пошук площадки.
Порівняння підходів до генерації фіду
| Параметр | Стандартний модуль Яндекс.Маркет | Адаптований під Deal.by |
|---|---|---|
| Час впровадження | 1–2 дні | 3–7 днів |
| Підтримка параметрів Deal.by | Часткова | Повна |
| Маппінг категорій | Тільки YML | Повний маппінг |
| Конвертація валют | Ні | Так (BYN) |
Орієнтири за термінами
| Задача | Термін |
|---|---|
| Налаштування YML-фіду для Deal.by | 3–7 днів |
| + конвертація валют BYN + актуалізація залишків | 1–2 тижні |
| + повний маппінг категорій (100+ розділів) | 2–3 тижні |
Вартість розраховується індивідуально після аналізу структури каталогу та поточних налаштувань експорту.
Більше 5 років досвіду в інтеграціях Бітрікс. Виконали 50+ проєктів для білоруських магазинів. Отримайте консультацію для оцінки вашого магазину — зв'яжіться з нами.







