Связаться
  • OpenCart
  • CRM и интеграции
  • v1.0.1

BAS Exchange для OpenCart — обмен товарами, ценами, остатками и заказами с BAS

Обмен OpenCart 4, 3 и 2.3 с BAS по протоколу CommerceML 2: категории, товары, характеристики, фото, цены и остатки приходят из BAS, а заказы уходят в BAS. Адрес обмена, пользователь и пароль — в админке, BAS запускает обмен сама. Базовая версия бесплатная, Pro — заказы, характеристики, склады и акционные цены; лицензия навсегда.

Скачать Free
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
Или все 144 Pro-модулей в All Access — 4 990 ₴ / год

Что есть во Free,
а что даёт Pro

Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.

Функция Free Pro
Адрес обмена, пользователь и пароль для BAS — всё на вкладке «Подключение», с проверкой командой curl ✔ ✔
Протокол CommerceML 2: авторизация, файлы частями и zip-архивом, пошаговый импорт больших каталогов ✔ ✔
Группы BAS → категории OpenCart с деревом, переименованиями и перемещениями ✔ ✔
Товары: название, описание (текст или HTML), артикул → SKU и модель, штрихкод → EAN, вес, производитель ✔ ✔
Фото: главное и дополнительные, без копий при повторных обменах ✔ ✔
Свойства BAS → атрибуты OpenCart в группе «Характеристики» ✔ ✔
Цена из выбранного вида цен (например «Розничная») и общий остаток ✔ ✔
SEO-адрес для новых товаров (транслитерация названия) ✔ ✔
Помеченные на удаление в BAS → выключить или оставить как есть ✔ ✔
Сопоставление с существующими товарами по артикулу (SKU или модель), без дублей ✔ ✔
Выбор полей, которые BAS может перезаписывать, и языков, в которые пишутся тексты ✔ ✔
Ручной импорт import.xml, offers.xml и zip с фото в админке ✔ ✔
Журнал обмена в админке и файл cc_basx.log ✔ ✔
Файлы обмена вне публичной папки, удаляются сразу после импорта ✔ ✔
Сборки для OpenCart 4.x, 3.x и 2.3; админка на украинском, русском, английском ✔ ✔
Обмен заказами: BAS забирает новые и изменённые заказы — ✔
Статусы заказов обратно из BAS: оплачен, финальный, отменён, свои правила — ✔
Характеристики (размер, цвет) → обязательная опция с собственным остатком и разницей в цене — ✔
Акционная цена из второго вида цен — ✔
Остатки только с выбранных складов — ✔
Товары, которых нет в полной выгрузке → выключить или остаток 0 — ✔

Как это выглядит

Вкладка «Подключение» модуля BAS Exchange в админке OpenCart: адрес сайта для обмена, пользователь и пароль для BAS
Вкладка «Подключение» (OpenCart 4.0.2.3, админка на украинском): адрес сайта для обмена, пользователь и пароль (здесь скрыт) с кнопками «Копировать», команда curl для проверки, папка файлов обмена вне публичной папки и кнопка короткого адреса в корне магазина.
Настройки каталога: сопоставление по артикулу, поля, языки, виды цен, характеристики, склады
Вкладка «Каталог»: сопоставление по артикулу, поля, которые BAS может обновлять, языки текстов, SEO-адреса, вид цен для цены и акционной цены, характеристики, склады и обработка полной выгрузки. Виды цен и склады модуль берёт из первого же обмена.
Настройки обмена заказами в OpenCart: статусы, валюта, кодировка, статусы «оплачено», правила статусов
Pro, вкладка «Заказы»: какие статусы передавать в BAS, валюта, кодировка файла, что означают статусы из BAS («оплачен», финальный, отменён), в каких статусах заказ считается оплаченным и свои правила «текст статуса BAS = статус OpenCart». Внизу — скачать файл, который получит BAS, и передать всё ещё раз.

Главное о модуле

Как это выглядит для покупателя

Покупатель видит на сайте то, что есть в 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 с).

История версий

v1.0.1 Текущая 24 сентября 2026

Исправлена фатальная ошибка на странице модуля.

v1.0.0 Первый релиз сентябрь 2026

Для OpenCart 4.x, 3.x и 2.3: точка обмена CommerceML 2 (авторизация, файлы частями и zip, пошаговый импорт), группы → категории, товары с фото, штрихкодом, весом и производителем, свойства…

Вместе с BAS Exchange для OpenCart покупают

4 модуля одним заказом — на 40% дешевле, чем по отдельности

Набор «Старт магазина» BAS Exchange Nova Poshta Premium LiqPay Telegram-уведомления и Viber/SMS покупателям Нужно больше — все 144 модулей в All Access за 4 990 ₴.
3 790 ₴ навсегда вместо 6 260 ₴ поштучно
Купить набор →

Полное описание модуля

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, снова появятся на витрине. Товары, добавленные в магазине вручную, не трогаются никогда.

Как это работает — шаг за шагом

  1. BAS обращается на адрес обмена с пользователем и паролем и получает сессию.
  2. Магазин сообщает, принимает ли zip-архивы и какого размера части файлов можно отправлять, — в пределах того, что принимает ваш сервер.
  3. BAS отправляет файлы: import.xml (группы, свойства, товары), offers.xml (цены и остатки) и изображения — частями или одним архивом.
  4. Магазин импортирует файл шагами: если время шага исчерпано, отвечает «progress», и BAS повторяет запрос, пока импорт не завершится.
  5. Каждый товар, категория и характеристика получают идентификатор BAS в таблицах модуля — следующие обмены обновляют их, а не создают новые.
  6. Файлы обмена удаляются сразу после импорта; в журнале остаётся результат каждого шага.
  7. 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 должна получить ответ протокола.
  • Убирает за собой. С галочкой «Удалять данные при удалении модуля» удаление убирает его таблицы, журнал и папку обмена; сами товары, категории и заказы остаются.

Как установить

  1. 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 или файловый менеджер хостинга).
  2. Extensions → Extensions → Modules → «Обмен с BAS» (BAS Exchange) → «Install», затем «Edit».
  3. Вкладка «Подключение»: скопируйте адрес сайта для обмена, пользователя и пароль. Командой curl с этой же вкладки можно проверить, что адрес отвечает «success».
  4. В BAS откройте настройки обмена с сайтом по протоколу CommerceML и вставьте эти три значения.
  5. На вкладке «Каталог» выберите, какие поля BAS может обновлять, и оставьте «Сопоставлять по артикулу», если товары в магазине уже есть.
  6. Сначала один обмен, потом склады. Запустите обмен в BAS и проверьте «Журнал». После первого обмена на вкладке «Каталог» появятся виды цен и склады — выберите вид цен (для Pro — ещё вид акционных цен и склады) и сохраните.
  7. Для Pro: вставьте лицензионный ключ из письма после оплаты или запустите 7-дневный триал на вкладке «Лицензия», затем включите обмен заказами на вкладке «Заказы».

Вопросы
о модуле

Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.

@catcode_support Настройка, совместимость, активация
Где взять адрес для 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) и загрузите их на вкладке «Журнал и ручной импорт» — импорт пройдёт так же, как во время обмена.

Не тот вариант, что искали?

Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль