Skip to main content

Product Feed Export

[feed] [portal] [api]

Download your enabled product catalog as CSV/JSON/Shopify CSV/WooCommerce XML, or embed it automatically into your shop via a token URL.

Who it's for​

Customers (licensees) who want to bring their licensed 3D print products into their own online shop.

Feed export is part of some provider plans. If it is not included, generating a new feed token is blocked (already issued tokens keep working).

What you get​

Per product, the feed delivers (depending on your selection):

  • Product name, description
  • Category, compatibilities
  • Preview image + additional images
  • License price (recommended by the provider)
  • Tags (= compatibilities + category)
  • File formats (STL, 3MF, STEP, GCODE, ...)
  • Creation and update date

Which fields end up in the feed can be selected by you in the portal.

Step by step​

1. Go to the export page in the portal​

Open Sidebar → Products. At the top right, next to the view toggle (grid/list), click "↓ Export feed".

2. Select fields​

Which columns should appear in the export? By default, 7 fields are preselected (name, description, category, compatibilities, preview image, price, tags). You can add or remove any of them. Click Save selection, which then also applies to the automatic feed.

3. Choose a format​

Four format tiles:

  • CSV : Universal: standard table format, importable into Excel, Numbers, Google Sheets, or any shop system.
  • Shopify : Direct: columns match the Shopify product import exactly (Handle, Title, Body HTML, Vendor, Type, Tags, Variant Price, ...).
  • WooCommerce : XML: WooCommerce product XML, importable via the WooCommerce Product CSV Import Suite or similar plugins.
  • JSON : API: standard JSON array, ideal for your own importers.

4. Adjust the mapping (optional)​

Click ▼ Customize column names. For each field you can override the column name (e.g. Produktname → "Title"). This applies only to CSV and JSON; Shopify and WooCommerce use their fixed column names. Click Save mapping.

5. Manual download​

At the bottom, Download feed. The file is delivered immediately as a download (produkte.csv, produkte.json, produkte-shopify.csv, produkte-woocommerce.xml).

6. Automatic feed (token URL)​

If you want to import the feed into your shop automatically rather than manually:

  1. Click Generate feed token. You see the plaintext token only once, directly after generation, so copy it right away.
  2. The finished URL (format like):
    https://<tenant>.licensio.io/api/portal/feed?format=shopify&token=<your-token>
  3. Set up this URL in your shop system as an automatic product import (e.g. via a cron job or a built-in feed importer).
  4. The feed is generated live from the DB: changes to products or to the mapping appear automatically on the next retrieval.
  5. Copy URL, Regenerate token, or Delete token: all via the UI.

Export profiles​

Preconfigured settings for common shop systems:

  • Shopify Standard: decimal point, handle SEO slug, all images as multi-row, format Shopify CSV
  • WooCommerce: decimal comma, handle UUID, only first image, format XML
  • Custom profile: all settings configurable manually

Select the profile at the top right of the export page via radio button: the individual settings are set and saved automatically.

Export settings​

Four options that affect the output format:

  • Decimal separator: point (11.99, Shopify standard) or comma (11,99, German notation / WooCommerce)
  • Handle format (Shopify): SEO slug from the product name (licensio-ac-infinity-fan-mount) or UUID (licensio-7cf26192-cc4b-...). SEO is the default for better search appearance.
  • Multiple images per product (Shopify): "Yes" creates one row per image (first row with full data, additional rows with handle + image URL + position), the Shopify convention. "No" outputs only the preview image.
  • Separator (CSV): comma (,, Shopify standard), semicolon (;, German Excel standard / WooCommerce CSV), or tab (TSV). Applies to CSV + Shopify CSV; JSON and WooCommerce XML ignore the separator.

Column order via drag & drop​

In the mapping area you can change the order of columns in CSV + JSON via drag & drop. The handle ⠿ on the left of each row is draggable: dropping it on another row reorders. Clicking "Save mapping" saves the order together with the column name overrides. Shopify CSV and WooCommerce XML have fixed columns and ignore the ordering.

Known quirks​

  • Products without a price: are output as 0.00 (or 0,00 with comma). A warning in the UI shows how many products without a price would be exported.
  • Price range (e.g. "16,99 - 29,99" for multiple variants): only the lowest price is used.
  • Tag dedup: identical values from compatibility[], metadata.category, and metadata.tags[] are merged into a single tag list.

Data source per field​

Important for developers: not all fields come from their own DB columns. Some live in the JSONB field metadata:

Feed fieldSource in catalog_items
Product namename
Descriptionmetadata.description (JSONB path, not its own column!)
Categorymetadata.category
Compatibilitiescompatibility[]
Preview imageimages[0]
Additional imagesimages[1..]
License pricerecommended_price (text, can contain range "10-20€")
File formatsproduction_files.file_type (joined, distinct)
Created/Updatedcreated_at / updated_at

If a provider were to introduce a direct description column in the future, the feed route would have to be adjusted accordingly: it currently reads exclusively from the JSONB path.

Frequently asked questions​

Which products are in the feed? Exactly the ones you can also see in the portal. Package restrictions (Package restrictions) apply 1:1: the feed does not expose any products that are not enabled for your package.

What if the token falls into the wrong hands? Copying the token URL allows READ-only access to your product catalog (no account data). If you suspect a problem: Delete token in the portal, and the old URL stops immediately. Afterwards, optionally Regenerate token.

How often is the feed updated? The feed is live: on every retrieval the DB is queried fresh. There is no cache.

Can I use different formats in parallel? Yes, the token URL accepts format=csv|shopify|woocommerce|json. You can use the same token URL in multiple shops with different formats.

Does this also work without a token (with login)? Yes, but only in the browser with an active session. The token URL is intended for server-to-server imports that cannot do a cookie login.

How do I limit which products are in the feed? Not directly: the feed contains all products enabled for you. If you need only a subset, import only part of it in the shop (filtering in the shop system).