👕 Products

Create and manage the products offered in your configurator. New here? Start with the Quickstart.

Two ways to add a product

Products live in your tenant workspace under Products. 3D models themselves are always managed by PrintWearAI — you cannot upload a GLB directly to a tenant product. That leaves two paths:

Imports count against the max_products quota of your plan — you get an explicit "quota reached, upgrade plan" error when the limit is hit.

Product fields

FieldMeaning
name *Display name. A unique URL slug is generated automatically (you can override it).
categorySport category — drives the configurator's sport tabs, see Categories.
sizesList of sizes offered (comma-separated in the UI). Default: XS,S,M,L,XL,XXL. Each size can have its own 2D pattern — see 2D Pattern & UV.
price_baseBase unit price excl. VAT, shown in the widget.
price_tiersVolume discount tiers: a list of { min, price } pairs — from min units, the unit price becomes price. Rows with an empty quantity or price are ignored.
min_qtyMinimum order quantity (MOQ). Default: 1.
glb_pathPath/URL of the 3D model. Set by the catalog import; its zones come with it (see Zones & restrictions).
thumbnail, descriptionCard image and description text.

Linking to your store (embed)

If the configurator is embedded on Shopify, WooCommerce, PrestaShop or a custom site (see Embed), fill in the external catalog link so "Add to cart" adds the right store product with the personalized config attached:

Leave the platform empty for a standalone configurator.

Active / visibility

Each product has an active flag — the Activate / Deactivate button on the product card. Inactive products are hidden from your configurator without being deleted. On the catalog side, PrintWearAI publishes models through a draft → staged → published workflow; a catalog product cannot be published until its 2D pattern is defined (see 2D Pattern & UV).

Resync with the catalog

An imported product is your own copy. When PrintWearAI updates the source model, use resync (POST /api/products/{id}/resync): it refreshes the 3D fields only — glb_path, zones_config, thumbnail, category — and never touches your customizations (name, prices, sizes, tiers, store links).

GLB good practices

When requesting or supplying a 3D model, keep in mind how PrintWearAI reads a GLB:

Next steps