
This plugin is the store-side half of the Epox integration. Install it on your WooCommerce
store and Epox can publish generated images and video straight into your products, reusing
the WooCommerce API key you have already issued — there is nothing extra to configure.
It exists because the generic WooCommerce product endpoint cannot express what the
integration needs. Without this plugin, publishing one image takes three round trips
(upload, attach, verify) and WooCommerce re-downloads the file itself, which fails on some
hosting stacks and can leave duplicates behind on a retry. With it, the whole operation
happens once, on your server, in a single transaction.
What it adds:
- One call per sync. Download, media-library registration, gallery placement and
metadata all happen server-side in one request. - Safe retries. Every media item carries an idempotency key. If Epox retries a sync,
the plugin returns the attachment it already created instead of importing a second copy. - All-or-nothing. If any part of a sync fails, attachments created during that request
are removed. A failed sync leaves no orphans in your media library. - Video support. Product video can be imported and linked to your gallery plugin’s
metadata, which the standard WooCommerce product API has no way to express. The video file
itself can be imported into your media library — not just referenced by URL — verified
against “WooCommerce Gallery Slider” (gallery-slider-for-woocommerce, formerly WooGallery). - Variation images. One generated image can be assigned across several variations
without importing it more than once.
Endpoints
Management routes live under epox/v1 and authenticate with your existing WooCommerce
Read/Write API key. The shopper-facing Try-On permit exchange is same-origin and returns only a
short-lived permit, never a WooCommerce key or server-held bridge credential.
GET /wp-json/epox/v1/status— reports the plugin version and capabilities.POST /wp-json/epox/v1/media-sync— import media and attach it to a product or its variations.POST /wp-json/epox/v1/media-detach— remove synced media from a product.POST /wp-json/epox/v1/tryon-bridge— Epox-only setup of the server-held Try-On bridge.POST /wp-json/epox/v1/tryon-permit— product-page request for a short-lived Try-On permit.