Shopware as a Channel
Summary
Shopware is an eCommerce platform widely used across Europe. Flxpoint connects through Shopware's Admin API using OAuth2 client credentials and supports the full channel workflow: import and sync/link listings, publish new listings with multi-image and multi-sales-channel support, import orders (with custom-field mapping), and sync shipments back with partial-shipment support. Because it uses OAuth2 rather than a simple API key, you first create a dedicated integration user in your Shopware admin.
In Flxpoint go to Channels → + Add Channel, select Shopware, then complete the setup form. First generate an integration in your Shopware admin (Settings → System → Integrations) to obtain the Client ID and Client Secret.
My Shopware Store).https://yourstore.com).Client Secret is shown only once in Shopware – save it immediately
When you create an integration in Shopware under Settings → System → Integrations, the Client Secret is displayed only at the moment of creation. If you leave the page without copying it, you must create a new integration and re-enter the credentials in Flxpoint. Store the Client Secret securely before leaving the Shopware admin.
Shopware stores dimensions in millimeters – Flxpoint converts to centimeters
Shopware sends product dimensions in millimeters. On import Flxpoint divides by 10 to produce centimeters (weight stays in kilograms, no conversion). If a downstream channel or carrier expects millimeters, add a transformation rule that multiplies dimensions back by 10.
Order custom fields require the cf_ prefix in mapping
Shopware order and line-item custom fields arrive as key-value pairs. To map one in Get Orders, reference it as cf_<custom_field_key> – e.g. a Shopware key of customfield_gift_note maps as cf_customfield_gift_note. Without the cf_ prefix the field is not captured.
Shipping-method matching is case-sensitive and name-based
When Sync Orders writes a shipment back, Flxpoint matches your shipping method name to a Shopware shipping method name exactly. If they don't match, Flxpoint falls back to the order's primary delivery method. Use the Integration Configuration fetch to retrieve the exact Shopware shipping method names before mapping.
| Shopware Field | Maps To – Notes |
|---|---|
| id | → Parent / Variant External ID. Direct mapping. |
| productNumber | → SKU. Direct mapping; also the linking key between Flxpoint and Shopware. |
| name | → Title. Variant value first; falls back to the parent name if the variant name is blank. |
| description | → Description. Direct. |
| active | → Status. If false, the listing status is set to HIDDEN. |
| media → url | → Images. Iterates the media list and extracts valid image URLs. |
| manufacturer → name | → Brand. Mapped when the manufacturer object and name exist. |
| categories[0..2] | → Category 1, 2, 3. The first three category names, in order. |
| customFields | → Custom Fields. Mapped to Flxpoint internal custom fields. |
| stock | → Quantity. Uses the variant (child) stock; falls back to parent stock when null. |
| ean / manufacturerNumber | → UPC / MPN. Child value first, then parent. |
| weight | → Weight. Child first, then parent; unit forced to kilograms. |
| width / height / length | → Dimensions. Shopware sends millimeters; Flxpoint divides by 10 (rounded to 2 decimals) to store centimeters. |
| price[0].gross / .net | → Price / Cost. From the first price object: gross → Price, net → Cost. |
| options | → Variant Options. Extracts the option group name (e.g. "Size") and option value (e.g. "Large"). |
| Shopware Field | Maps To – Notes |
|---|---|
| id (parent & variant) | → External ID. Direct mapping of the alphanumeric Shopware ID. |
| productNumber | → SKU (parent & variant). Direct mapping; this is the linking key. |
| ean (parent & variant) | → UPC. European Article Number. |
| manufacturerNumber (parent & variant) | → MPN. Direct. |
| active (parent & variant) | → Hidden Status. Inverts the boolean: active=true → hidden=false; active=false → hidden=true. When active is null, the variant inherits the parent's visibility. |
| Flxpoint Field | Maps To Shopware – Notes |
|---|---|
| SKU | → productNumber. Required. |
| Title | → name. Required. |
| Description | → description. Optional. |
| Brand | → manufacturer. Resolved to the Shopware manufacturer object by name. |
| Categories | → categories. Mapped to category UUIDs in the Shopware taxonomy. |
| Price / Cost | → price (gross / net). Currency comes from your store config. |
| Quantity | → stock. Per variant. |
| Weight / Dimensions | → weight / width / height / length. Flxpoint sends CM/KG; Shopware converts internally to MM where required. |
| Images | → media. Multi-image upload; the first position becomes the cover. |
| Visibility / Sales Channel IDs | → visibilities. A single ID from Integration Configuration, or comma-separated IDs from the mapping template. |
| Custom Fields | → customFields. Direct mapping. |
| Variant Options | → options. Option group + value pairs (e.g. Size, Color). |
| Shopware Field | Maps To – Notes |
|---|---|
| id / orderNumber | → Order Number. |
| orderDateTime / createdAt | → Order Date. |
| amountTotal / amountNet | → Total / Subtotal. |
| billingAddress | → Billing Address. |
| deliveries[0].shippingOrderAddress | → Shipping Address. |
| lineItems | → Order Items (SKU, quantity, price). |
| transactions[0].paymentMethod | → Payment Method. |
| customFields → cf_* | → Custom Fields. Reference each field as cf_<custom_field_key>. |
cf_ prefix, e.g. cf_customfield_key.ship state transition marks it fully shipped. Map tracking codes in your template – they're stored in the trackingCodes array on the delivery.fetch-order-last-x-days window to cover the order's creation date. Also verify the order's shipping method name maps to a Flxpoint shipment method – a missing or mismatched name can silently block import. Re-run Get Orders after any change.productNumber (Shopware's SKU). Confirm the Flxpoint listing SKU exactly matches the Shopware productNumber – the match is case-sensitive. Also check the SKU wasn't changed after the initial Import Listings run, which would break the existing link.How do I generate API credentials for the Shopware integration?▸
How do I publish listings to multiple Shopware Sales Channels (storefronts)?▸
How does variant visibility work when a Shopware variant has no explicit active status?▸
active field null when its visibility matches the parent. Flxpoint detects this and inherits the parent's status for that variant. If a variant shows unexpected visibility, set active explicitly to true or false on the variant in Shopware rather than leaving it null – explicit values always take precedence.