
BAS Exchange для OpenCart — обмін товарами, цінами, залишками й замовленнями з BAS
Обмін OpenCart 4, 3 і 2.3 з BAS за протоколом CommerceML 2: категорії, товари, характеристики, фото, ціни й залишки приходять із BAS, а замовлення йдуть у BAS. Адреса обміну, користувач і пароль — в адмінці, BAS запускає обмін сама. Базова версія безкоштовна, Pro — замовлення, характеристики, склади й акційні ціни; ліцензія назавжди.
- Сумісність
- OpenCart 4.0.2 – 4.1.x, 3.0.x та 2.3.0.2 (перевірено на 4.1.0.3, 4.0.2.3, 3.0.5.0, 2.3.0.2) · PHP — як потребує ваша версія OpenCart (перевірено на 7.0, 8.2, 8.3) · BAS з обміном із сайтом за CommerceML 2
- Версія
-
v1.0.1 (OpenCart 4)
v1.0.1 (OpenCart 3.x)
v1.0.1 (OpenCart 2.3) - Ліцензія
- один сайт, назавжди
- Тріал
- 7 днів, без картки, один на сайт
- Оновлено
- 24 вересня 2026
Що є в Free,
а що дає Pro
Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.
Як це виглядає
Головне про модуль
Як це виглядає для покупця
Покупець бачить на сайті те, що є в BAS, — і не бачить самого обміну:
Що отримує адмін
Розширення → Модулі → Обмін з BAS, п’ять вкладок: «Підключення», «Каталог», «Замовлення» (Pro), «Журнал і ручний імпорт» і «Ліцензія».

Тріал стартує, коли ви попросите
Свіжий інстал — безкоштовна версія, нічого не вмикається само. Кнопка «Спробувати Pro 7 днів» → e-mail → ключ одразу у вікні і листом.

Один ключ — один сайт
Переносите магазин — відв’яжіть ліцензію на старому домені й активуйте на новому самі. Якщо наш сервер недоступний, Pro працює ще 14 днів. Для студій — ключі на 5, 25 сайтів або без обмежень.
Технічні вимоги
BAS з обміном із сайтом за протоколом CommerceML 2.
OpenCart 4.0.2 – 4.1.x (перевірено на 4.1.0.3 і 4.0.2.3), 3.0.x (перевірено на 3.0.5.0) або 2.3.0.2.
PHP — той, що потрібен вашій версії OpenCart: збірку для 2.3 перевірено на PHP 7.0, решту — на PHP 8.2 і 8.3. Потрібне розширення XMLReader; розширення Zip — для архівів (без нього модуль просить BAS слати файли без архіву).
Магазин має бути доступний для BAS по HTTP(S) за адресою обміну. Якщо перед магазином файрвол, цю адресу треба пропустити; режим обслуговування OpenCart її закриває.
Сервер має виконувати PHP у папці модуля; якщо ні — є кнопка «Створити коротку адресу» в корені магазину.
Тайм-аут запиту на сервері — більший за «Секунд на крок імпорту» (за замовчуванням 20 с).
Історія версій
Виправлено фатальну помилку на сторінці модуля.
Для OpenCart 4.x, 3.x і 2.3: точка обміну CommerceML 2 (авторизація, файли частинами й zip, покроковий імпорт), групи → категорії, товари з фото, штрихкодом, вагою й виробником, властивості…
Разом з BAS Exchange для OpenCart купують
4 модулі одним замовленням — на 40% дешевше, ніж окремо


Nova Poshta Premium — модуль Нова Пошта для OpenCart 2.3, 3.x і 4.x

LiqPay — оплата карткою для OpenCart 2.3, 3.x і 4.x

Telegram-сповіщення і Viber/SMS покупцям для OpenCart
Повний опис модуля
BAS Exchange для OpenCart — модуль обміну між магазином на OpenCart і BAS за протоколом CommerceML 2. Товари, ціни й залишки ведуться в BAS, а магазин отримує їх сам: без вивантажень у CSV чи Excel, без ручного переписування цін і без ситуації, коли на сайті «є в наявності» те, чого вже немає на складі. У зворотний бік (у Pro) BAS забирає замовлення з магазину й повертає їхні статуси.
Обмін запускає BAS: у налаштуваннях обміну з сайтом ви вказуєте адресу, користувача й пароль із вкладки «Підключення», а далі BAS за розкладом або вручну надсилає каталог і пропозиції й забирає замовлення. Магазин відповідає рівно так, як очікує протокол. Один модуль — три збірки: OpenCart 4.x, 3.x і 2.3.
Магазин на WordPress? Є BAS Exchange для WooCommerce з тим самим протоколом і тими самими налаштуваннями.
Як це виглядає для покупця
Покупець бачить на сайті те, що є в BAS, — і не бачить самого обміну:
- Актуальні ціни й наявність. Ціна з обраного виду цін і залишок оновлюються з кожним обміном.
- Каталог як в обліку. Групи BAS стають категоріями з тією самою вкладеністю (верхні — у меню вітрини), властивості — атрибутами на вкладці характеристик товару.
- Фото й опис приходять разом із товаром; повторний обмін не плодить копії зображень у image/catalog.
- Розміри й кольори (Pro) — обов’язкова опція «Розмір / Колір» з власним залишком і ціною кожного значення; значення, якого немає на складі, купити не можна. Акційна ціна показується поруч із закресленою звичайною.
- Товар, який у BAS позначили на видалення, вимикається й зникає з вітрини.
Що отримує адмін
Розширення → Модулі → Обмін з BAS, п’ять вкладок: «Підключення», «Каталог», «Замовлення» (Pro), «Журнал і ручний імпорт» і «Ліцензія».
- Підключення за хвилину. Адресу, користувача й пароль модуль створює під час встановлення — їх лишається скопіювати в BAS. Користувач і пароль окремі, це не обліковий запис адміністратора OpenCart.
- Контроль над полями. Назва, опис, артикул і штрихкод, категорії, зображення, атрибути, виробник — кожне поле можна віддати BAS або лишити редагованим у магазині. Тексти пишуться в усі мови магазину або лише в одну, якщо інші ви перекладаєте вручну.
- Види цін і склади модуль бере з файлів BAS і показує в налаштуваннях — назви не треба вгадувати.
- Журнал пише кожен крок обміну з результатом: що прийшло, скільки створено й оновлено, що пропущено і чому. Повна історія — у файлі cc_basx.log у папці журналів магазину.
- Ручний імпорт — завантажити import.xml, offers.xml або zip із зображеннями просто в адмінці. Зручно для першого заповнення й для перевірки проблемного файлу.
Pro: замовлення, характеристики, склади, акції
- Замовлення в BAS. Під час обміну замовленнями BAS забирає нові й змінені замовлення обраних статусів: покупець, адреса доставки, телефон і e-mail, рядки товарів з ідентифікаторами BAS (разом з характеристикою), доставка й збори як послуги, знижки й купони, розкладені по рядках.
- Статуси з BAS. «Оплачено», фінальний статус, «скасовано» і власні правила вигляду «Відвантажено = Complete». Зміна проходить через штатну історію замовлення OpenCart — з записом в історії, як при ручній зміні статусу.
- Чесна ознака «оплачено». Для післяплати — лише у статусі завершення, для передоплати — у статусах, які ви відмітили.
- Характеристики. В OpenCart немає варіацій, тому характеристики товару з BAS стають однією обов’язковою опцією з власним залишком і різницею в ціні; ціна товару — найдешевша характеристика.
- Акційна ціна з другого виду цін (наприклад «Акційна») — коли вона нижча за звичайну.
- Склади: залишок у магазині — сума лише відмічених складів.
- Повне вивантаження: товари, які прийшли з BAS раніше, а в повному вивантаженні відсутні, — вимкнути або залишок 0. Коли повернуться в BAS, знову з’являться на вітрині. Товари, додані в магазині вручну, не чіпаються ніколи.
Як це працює — крок за кроком
- BAS звертається на адресу обміну з користувачем і паролем і отримує сесію.
- Магазин повідомляє, чи приймає zip-архіви і якого розміру частини файлів можна слати, — у межах того, що приймає ваш сервер.
- BAS надсилає файли: import.xml (групи, властивості, товари), offers.xml (ціни й залишки) і зображення — частинами або одним архівом.
- Магазин імпортує файл кроками: якщо час кроку вичерпано, відповідає «progress», і BAS повторює запит, доки імпорт не завершиться.
- Кожен товар, категорія й характеристика отримують ідентифікатор BAS у таблицях модуля — наступні обміни оновлюють їх, а не створюють нові.
- Файли обміну видаляються одразу після імпорту; у журналі лишається результат кожного кроку.
- Pro: під час обміну замовленнями BAS отримує файл із замовленнями, підтверджує отримання, а наступного разу — лише нові й змінені. Статуси з BAS повертаються окремим файлом.
Що під капотом
- Потокове читання XML. Файли читаються по одному елементу, а не цілком у пам’ять, тож великий каталог не впирається в memory_limit. Файли в кодуванні windows-1251 теж читаються.
- Продовження з місця зупинки. Стан імпорту кожного файлу зберігається між кроками; повторний запит BAS продовжує, а не починає спочатку.
- Власні таблиці зв’язків з ідентифікаторами BAS для категорій, товарів, характеристик, атрибутів і зображень: жодних дублів при повторних обмінах і після перейменувань. Таблиці OpenCart отримують лише звичайні рядки каталогу.
- Безпека. Окремі користувач і пароль для BAS; імена файлів перевіряються (жодних «../» і виконуваних розширень), zip розпаковується із захистом від виходу за папку.
- Файли поза публічною папкою. Модуль сам обирає для файлів обміну папку поза коренем сайту й видаляє XML одразу після імпорту — з файлами замовлень включно, бо в них персональні дані. Адмінка показує, де лежать файли; іншу папку можна задати константою CC_BASX_EXCHANGE_DIR у config.php.
- Власний обробник помилок. Обмін працює під своїм error-handler: OpenCart 4 на будь-яке попередження PHP перекидає на сторінку помилки, а BAS має отримати відповідь протоколу.
- Прибирає за собою. З галочкою «Видаляти дані під час видалення модуля» видалення прибирає його таблиці, журнал і папку обміну; самі товари, категорії й замовлення лишаються.
Як встановити
- OpenCart 4: Extensions → Installer → завантажте
cc_basx.ocmod.zip(ім’я архіву не змінюйте) і натисніть «Install». OpenCart 3: Extensions → Installer →cc_basx-oc3.ocmod.zip, потім Extensions → Modifications → Refresh. OpenCart 2.3: залийте вміст папкиupload/зcc_basx-oc2.ocmod.zipу корінь магазину (FTP або файловий менеджер хостингу). - Extensions → Extensions → Modules → «Обмін з BAS» (BAS Exchange) → «Install», потім «Edit».
- Вкладка «Підключення»: скопіюйте адресу сайту для обміну, користувача й пароль. Командою curl з цієї ж вкладки можна перевірити, що адреса відповідає «success».
- У BAS відкрийте налаштування обміну з сайтом за протоколом CommerceML і вставте ці три значення.
- На вкладці «Каталог» оберіть, які поля BAS може оновлювати, і залиште «Зіставляти за артикулом», якщо товари в магазині вже є.
- Спершу один обмін, потім склади. Запустіть обмін у BAS і перевірте «Журнал». Після першого обміну на вкладці «Каталог» з’являться види цін і склади — оберіть вид цін (для Pro — ще вид акційних цін і склади) і збережіть.
- Для Pro: вставте ліцензійний ключ із листа після оплати або запустіть 7-денний тріал на вкладці «Ліцензія», потім увімкніть обмін замовленнями на вкладці «Замовлення».
Питання
про модуль
Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.
Де взяти адресу для BAS?
Розширення → Модулі → Обмін з BAS → вкладка «Підключення». Там адреса сайту для обміну, користувач і пароль із кнопками «Копіювати» і команда curl для перевірки: відповідь має починатися зі «success». Параметри протоколу BAS дописує до адреси сама.
Модуль перевіряли з живою BAS?
Ні. Обмін перевірено на симуляторі протоколу CommerceML 2, який грає роль BAS: ті самі запити, файли частинами й архівом, великі каталоги, замовлення й статуси — на OpenCart 4.1, 4.0.2, 3.0 і 2.3. Перший обмін із вашою BAS найкраще робити в 7-денному тріалі; якщо щось піде не так, журнал покаже, на якому кроці, і ми оперативно виправимо.
Склади не показуються в налаштуваннях.
Так і має бути до першого обміну: список складів і видів цін модуль бере з файлів BAS. Спершу запустіть один обмін, потім на вкладці «Каталог» оберіть склади й вид акційних цін і збережіть. Якщо зберегти раніше, залишок рахується за всіма складами.
Адреса обміну відповідає 403 або 404.
Деякі сервери не виконують PHP у папках модулів. Натисніть «Створити коротку адресу» на вкладці «Підключення» — у корені магазину з’явиться файл bas_exchange.php, який лише передає запит далі. Тоді дайте BAS адресу https://ваш-магазин/bas_exchange.php.
Обмін перезапише описи, які я писав у магазині?
Лише ті поля, що відмічені в «Каталог → BAS може оновлювати». Зніміть позначку з «Опис» — і BAS заповнюватиме опис тільки для нових товарів. Ціни й залишки BAS оновлює завжди.
У магазині вже є товари. Будуть дублі?
Ні, якщо ввімкнено «Зіставляти за артикулом»: товар, який BAS надсилає вперше, прив’яжеться до наявного товару з тим самим SKU або моделлю. Далі зв’язок тримається за ідентифікатором BAS, тож перейменування в BAS оновлює той самий товар.
Як BAS дізнається, що замовлення оплачене?
Для післяплати — лише у статусі завершення (наприклад Complete): замовлення з накладеним платежем «в обробці» ще не оплачене. Для передоплати — у статусах, які ви відмітили в «Статуси «оплачено»» на вкладці «Замовлення».
Чи піде в BAS уся історія замовлень?
Ні. Передаються лише замовлення обраних статусів, створені після ввімкнення обміну замовленнями. Якщо BAS щось не отримала, кнопка «Передати все ще раз» відправить ці замовлення повторно.
Можна спробувати без BAS?
Так. Вивантажте import.xml і offers.xml з BAS (або будь-які файли CommerceML 2) і завантажте їх на вкладці «Журнал і ручний імпорт» — імпорт пройде так само, як під час обміну.
Поки що жодного відгуку. Будьте першим.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Не той варіант, що шукаєте?
Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—