Banbury WooCommerce Importer
WooCommerce importer via Banbury API with AJAX chunking, cron, and variation handling
by Shovon KO · github.com/shovon1988/banbury-woocommerce-importer
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/shovon1988/banbury-woocommerce-importer/archive/refs/heads/main.zipImports products from the Banbury API into WooCommerce with chunked AJAX for manual runs and cron-based background processing. Handles duplicates, variation products (size/colour), images, categories, and structured logging.
Features
- Chunked manual import: AJAX-driven, progressive updates with a UI progress bar.
- Cron support: Hourly, Twice Daily, or Daily imports.
- Duplicate handling: Matches existing products by SKU (styleCode).
- Variations: Creates size and colour attributes with product_variation posts.
- Media: Featured image, gallery, and variation thumbnails via sideload.
- Categories: Builds hierarchical product_cat terms from API paths.
- Logging: Timestamped logs persisted via options.
- Caching: Caches API payload during run to minimize repeated fetches.
Requirements
- WordPress: 6.x
- WooCommerce: 7.x+
- PHP: 7.4+ (recommended 8.0+)
Installation
- Download or clone this repository.
- Copy the folder
Banbury-WooCommerce-Importer(or the PHP file) intowp-content/plugins/. - In WP Admin, go to Plugins and Activate “Banbury WooCommerce Importer”.
Configuration
- Go to Banbury Importer in WP Admin.
- Enter API Key and API Password (Basic Auth).
- Click Run Import for manual import (progress bar updates).
- Configure Cron Import (Hourly, Twice Daily, Daily) if desired.
How it works
- API fetch: GET
https://apical.beyondexpectations.co.nz/api/banbury/products(Basic Auth). - Products: Creates variable products with SKU, images, gallery, and categories.
- Attributes: Uses
pa_sizeandpa_colourfor variation taxonomy terms. - Variations: Sets SKU, price, stock, and attributes per option.
- Logging: Saves to
banbury_importer_logs; clear via button.
Notes
- API credentials are stored via WordPress options; do not hardcode secrets.
- Chunked AJAX and cron reduce timeouts for large catalogs.
License
MIT