LystoSync is a WooCommerce Etsy integration that runs inside your WordPress admin. Publish products as Etsy listings, keep prices and stock in sync, and deactivate listings when items sell out. Your listing data stays in your own WordPress database.
Core features (free):
Pro features (LystoSync Pro):
How it works:
LystoSync handles Etsy OAuth tokens server-side, so you never touch API credentials. All you need is an Etsy shop: the free plugin needs no API keys and no LystoSync account.
This plugin transmits data to two external services:
LystoSync (etsy-api.lystosync.com)
All Etsy API requests go through etsy-api.lystosync.com. When you connect an Etsy shop, your site URL (and, with Pro, your license key) is sent to authenticate. Subsequent requests include product data, pricing, inventory levels, order details, and shipment information, depending on which features you use. No data is sent until you connect an Etsy shop.
Separately, the plugin can check for service notices (Etsy API outages, critical fixes, and Etsy changes that need action on your shop). This is optional and off by default, and you can turn it on or off at any time under LystoSync, Settings, General, Notifications. While it is off, or before you connect an Etsy shop, no request is made. While it is on, the check sends your plugin, WordPress, WooCommerce and PHP versions, and your site language, using the same authentication as the plugin’s Etsy requests (your site URL and, with Pro, your license key). It sends no email, Etsy shop, or customer or order data.
Etsy
Product listings, pricing, inventory, and shipment data are submitted to Etsy via the LystoSync middleware. Etsy’s own privacy policy and terms of use govern how Etsy handles that data.
The human-readable source files for all compiled assets ship with the plugin, in
resources/js/ and resources/css/, alongside the build script (build.js) and
the build dependencies (package.json). Every generated file in dist/ also
carries a header comment naming the source file it was built from.
Build tools required: Node.js, npm
To regenerate the compiled files in dist/:
npm install to install dependencies (esbuild, PostCSS, Autoprefixer).npm run build (or node build.js) to compile and minify all assets.The build uses esbuild for JavaScript bundling and minification, and PostCSS with Autoprefixer for CSS.
Compiled file => source file:
dist/admin.js => resources/js/app.jsdist/product-metabox.js => resources/js/product-metabox.jsdist/connect.js => resources/js/connect.jsdist/products-bulk-list.js => resources/js/products-bulk-list.jsdist/setup.js => resources/js/setup.jsdist/admin.css => resources/css/design-system.css + resources/css/admin.cssdist/product-metabox.css => resources/css/product-metabox.cssEach JavaScript entry point also pulls in the shared module resources/js/lib/api.js,
which is bundled into the output rather than shipped as a separate file.
Bundled fonts. The admin interface uses two self-hosted webfonts, copied from
resources/fonts/ to dist/fonts/ by the build. Nothing is loaded from a font
CDN or any other third-party host.
Both are licensed under the SIL Open Font License 1.1. The full license texts
ship as resources/fonts/OFL-DM-Sans.txt and resources/fonts/OFL-Syne.txt.