
BAS Exchange для WooCommerce — обмін товарами, цінами, залишками й замовленнями з BAS
Обмін WooCommerce з BAS за протоколом CommerceML 2: категорії, товари, властивості, фото, ціни й залишки приходять із BAS, а замовлення йдуть у BAS. Адреса обміну, користувач і пароль — в адмінці, BAS запускає обмін сама. Базова версія безкоштовна, Pro — замовлення, варіації, склади й акційні ціни.
- Сумісність
- WordPress 6.2+ · WooCommerce 7.0+ (перевірено на WP 7.1 / Woo 11.1) · PHP 7.4+ · HPOS · BAS з обміном із сайтом за CommerceML 2
- Ліцензія
- один сайт, річна
- Тріал
- 7 днів, без картки, один на сайт
Що є в Free,
а що дає Pro
Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.
Як це виглядає
Головне про модуль
Як це виглядає для покупця
Покупець бачить на сайті те, що є в BAS, — і не бачить самого обміну:
Що отримує адмін
Сторінка WooCommerce → Обмін з BAS з вкладками «Підключення», «Каталог», «Замовлення» (Pro), «Журнал і ручний імпорт» і «Ліцензія».

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

Один ключ — один сайт
Переносите магазин — відв’яжіть ліцензію на старому домені й активуйте на новому самі. Якщо наш сервер недоступний, Pro працює ще 14 днів. Для студій — ключі на 5, 25 сайтів або без обмежень.
Технічні вимоги
BAS з обміном із сайтом за протоколом CommerceML 2.
WooCommerce 7.0+, сумісність з HPOS, класичний і блоковий чекаут.
WordPress 6.2+ · PHP 7.4+ з розширенням XMLReader. Розширення Zip потрібне для архівів; без нього модуль просить BAS слати файли без архіву.
Сайт має бути доступний для BAS по HTTP(S) за адресою обміну. Якщо сайт закритий файрволом або паролем, цю адресу треба пропустити.
Тайм-аут запиту на сервері — більший за «Секунд на крок імпорту» (за замовчуванням 20 с).
Перевірено на WordPress 7.1 з WooCommerce 11.1, PHP 8.3 і 7.4, MySQL, з HPOS і без.
Історія версій
Перший випуск: точка обміну CommerceML 2 (авторизація, файли частинами й zip, покроковий імпорт), групи → категорії, товари з фото, властивості → атрибути, ціна з виду цін, загальний…
Разом з BAS Exchange для WooCommerce купують
4 модулі одним замовленням — на 40% дешевше, ніж окремо


Nova Poshta Premium — Нова Пошта для WooCommerce

Mono Acquiring — оплата карткою monobank для WooCommerce

Telegram-сповіщення і Viber/SMS покупцям для WooCommerce
Повний опис модуля
BAS Exchange для WooCommerce — модуль обміну між магазином на WooCommerce і BAS за протоколом CommerceML 2. Товари, ціни й залишки ведуться в BAS, а сайт отримує їх сам: без вивантажень у CSV, без ручного переписування цін і без ситуації, коли на сайті «є в наявності» те, чого вже немає на складі. У зворотний бік (у Pro) BAS забирає замовлення з сайту й повертає їхні статуси.
Обмін запускає BAS: у налаштуваннях обміну з сайтом ви вказуєте адресу, користувача й пароль із вкладки «Підключення», а далі BAS за розкладом або вручну надсилає каталог і пропозиції й забирає замовлення. Магазин відповідає рівно так, як очікує протокол.
Як це виглядає для покупця
Покупець бачить на сайті те, що є в BAS, — і не бачить самого обміну:
- Актуальні ціни й наявність. Ціна з обраного виду цін, залишок і статус «є / немає в наявності» оновлюються з кожним обміном.
- Каталог як в обліку. Групи BAS стають категоріями з тією самою вкладеністю, властивості — атрибутами, за якими працюють фільтри.
- Фото й опис приходять разом із товаром; повторний обмін не плодить копії зображень у медіатеці.
- Розміри й кольори (Pro) — варіації з власною ціною й залишком, акційна ціна показується закресленою.
- Товар, який у BAS позначили на видалення, зникає з вітрини (у чернетку або кошик — як оберете).
Що отримує адмін
Сторінка WooCommerce → Обмін з BAS з вкладками «Підключення», «Каталог», «Замовлення» (Pro), «Журнал і ручний імпорт» і «Ліцензія».
- Підключення за хвилину. Адресу, користувача й пароль модуль створює сам — їх лишається скопіювати в BAS. Користувач і пароль — окремі, це не обліковий запис WordPress.
- Контроль над полями. Назва, опис, артикул, категорії, зображення, атрибути — кожне поле можна віддати BAS або лишити редагованим на сайті.
- Види цін і склади модуль бере з файлів BAS і показує в налаштуваннях — назви не треба вгадувати.
- Журнал пише кожен крок обміну з результатом: що прийшло, скільки створено й оновлено, що пропущено і чому. Той самий журнал — у WooCommerce → Статус → Журнали.
- Ручний імпорт — завантажити import.xml, offers.xml або zip із зображеннями просто в адмінці й дивитися покроковий імпорт. Зручно для першого заповнення й для перевірки проблемного файлу.
Pro: замовлення, варіації, склади, акції
- Замовлення в BAS. Під час обміну замовленнями BAS забирає нові й змінені замовлення обраних статусів: покупець, адреса, телефон і e-mail, рядки товарів з ідентифікаторами BAS, доставка й збори як послуги, метод оплати.
- Статуси з BAS. «Скасовано», «оплачено», фінальний статус і власні правила вигляду «Відвантажено = completed». Кожна зміна пишеться нотаткою в замовлення.
- Чесна ознака «оплачено». Для післяплати — лише у статусі «Виконано», для картки — після підтвердження оплати.
- Варіації з характеристик товару: розмір, колір тощо стають варіаціями з власною ціною й залишком.
- Акційна ціна з другого виду цін (наприклад «Акційна») — коли вона нижча за звичайну.
- Склади: залишок на сайті — сума лише відмічених складів.
- Повне вивантаження: товари, які прийшли з BAS раніше, а в повному вивантаженні відсутні, — у чернетку або «немає в наявності». Коли повернуться в BAS, знову з’являться на сайті.
Як це працює — крок за кроком
- BAS звертається на адресу обміну з користувачем і паролем і отримує сесію.
- Магазин повідомляє, чи приймає zip-архіви і якого розміру частини файлів можна слати, — у межах того, що приймає ваш сервер.
- BAS надсилає файли: import.xml (групи, властивості, товари), offers.xml (ціни й залишки) і зображення — частинами або одним архівом.
- Магазин імпортує файл кроками: якщо час кроку вичерпано, відповідає «progress», і BAS повторює запит, доки імпорт не завершиться.
- Кожен товар і категорія отримують ідентифікатор BAS — наступні обміни оновлюють їх, а не створюють нові.
- Файли обміну видаляються одразу після імпорту; у журналі лишається результат кожного кроку.
- Pro: під час обміну замовленнями BAS отримує файл із замовленнями, підтверджує отримання, а наступного разу — лише нові й змінені. Статуси з BAS повертаються окремим файлом.
Що під капотом
- Потокове читання XML. Файли читаються по одному елементу, а не цілком у пам’ять, тож великий каталог не впирається в memory_limit. Файли в кодуванні windows-1251 теж читаються.
- Продовження з місця зупинки. Стан імпорту кожного файлу зберігається між кроками; повторний запит BAS продовжує, а не починає спочатку.
- Прив’язка за ідентифікатором BAS у товарах, варіаціях, категоріях і зображеннях: жодних дублів при повторних обмінах і після перейменувань.
- Безпека. Окремі користувач і пароль для BAS із порівнянням у постійному часі; імена файлів перевіряються (жодних «../» і виконуваних розширень), zip розпаковується із захистом від виходу за папку.
- Файли поза публічною папкою. Модуль сам обирає для файлів обміну папку поза коренем сайту й видаляє XML одразу після імпорту — з файлами замовлень включно, бо в них персональні дані. Адмінка показує, де лежать файли.
- Сайт на простих посиланнях отримує адресу вигляду /index.php/bas-exchange/, яка доходить до WordPress без правил переписування.
- Прибирає за собою. З галочкою «Видаляти дані» видалення модуля прибирає його налаштування, журнал, папку обміну й ідентифікатори BAS; самі товари й категорії лишаються.
Як встановити
- Плагіни → Додати новий → Завантажити плагін, оберіть
catcode-bas-exchange-for-woocommerce-free-1.0.0.zip(безкоштовна версія) абоcatcode-bas-exchange-for-woocommerce-1.0.0.zip(Pro) і активуйте. Потрібен активний WooCommerce. - WooCommerce → Обмін з BAS → Підключення: скопіюйте адресу сайту для обміну, користувача й пароль. Командою curl з цієї ж вкладки можна перевірити, що адреса відповідає «success».
- У BAS відкрийте налаштування обміну з сайтом за протоколом CommerceML і вставте ці три значення.
- На вкладці «Каталог» оберіть, які поля BAS може оновлювати, і залиште «Зіставляти за артикулом», якщо товари на сайті вже є.
- Запустіть обмін у BAS. Результат кожного кроку — у «Журналі». Після першого обміну оберіть вид цін (і для Pro — вид акційних цін і склади).
- Для Pro: вставте ліцензійний ключ із листа після оплати або запустіть 7-денний тріал на вкладці «Ліцензія», потім увімкніть обмін замовленнями.
Питання
про модуль
Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.
Де взяти адресу для BAS?
WooCommerce → Обмін з BAS → Підключення. Там адреса сайту для обміну, користувач і пароль із кнопками «Копіювати», а також команда curl для перевірки: відповідь має починатися зі «success». Параметри протоколу BAS дописує до адреси сама.
Модуль перевіряли з живою BAS?
Ні. Обмін перевірено на симуляторі протоколу CommerceML 2, який грає роль BAS: ті самі запити, файли частинами й архівом, великі каталоги, замовлення й статуси. Перший обмін із вашою BAS найкраще робити в 7-денному тріалі; якщо щось піде не так, журнал покаже, на якому кроці, і ми оперативно виправимо.
Обмін перезапише описи, які я писав на сайті?
Лише ті поля, що відмічені в «Каталог → BAS може оновлювати». Зніміть позначку з «Опис» — і BAS заповнюватиме опис тільки для нових товарів. Ціни й залишки BAS оновлює завжди.
У магазині вже є товари. Будуть дублі?
Ні, якщо ввімкнено «Зіставляти за артикулом»: товар, який BAS надсилає вперше, прив'яжеться до наявного товару з тим самим артикулом. Далі зв'язок тримається за ідентифікатором BAS, тож перейменування в BAS оновлює той самий товар.
Великий каталог обривається на імпорті.
Зменшіть «Секунд на крок імпорту» на вкладці «Підключення» нижче за тайм-аут запиту на вашому сервері (за замовчуванням 20 секунд). Магазин відповідає BAS «progress», і BAS повторює запит, доки файл не буде імпортовано повністю.
Чи піде в BAS уся історія замовлень?
Ні. Передаються лише замовлення обраних статусів, створені після ввімкнення обміну замовленнями. Якщо BAS щось не отримала, кнопка «Передати все ще раз» відправить ці замовлення повторно.
Як BAS дізнається, що замовлення оплачене?
Ознака «оплачено» ставиться лише тоді, коли гроші справді отримано: для оплати карткою — після підтвердження оплати, для післяплати — лише у статусі «Виконано». Статус «В обробці» для післяплати оплатою не вважається.
Можна спробувати без BAS?
Так. Вивантажте import.xml і offers.xml з BAS (або будь-які файли CommerceML 2) і завантажте їх на вкладці «Журнал і ручний імпорт» — імпорт пройде так само, як під час обміну.
Сайт на простих посиланнях (без ЧПУ). Це працює?
Так. Тоді вкладка «Підключення» показує адресу вигляду /index.php/bas-exchange/ — саме її треба вставити в BAS.
Поки що жодного відгуку. Будьте першим.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Не той варіант, що шукаєте?
Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—