Feld-Mapping Dokumentation: reybex → Shopware

Übersicht

Diese Dokumentation beschreibt, welche Felder von reybex nach Shopware übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die Shopware REST API (/api/articles/).

⚠️ WICHTIGER HINWEIS

Diese Dokumentation unterliegt kontinuierlichen Änderungen.

Die Integration zwischen reybex und Shopware befindet sich in ständiger Entwicklung. Daher kann es vorkommen, dass:

Empfehlung:
Bitte überprüfen Sie regelmäßig die aktuelle Dokumentation und testen Sie Änderungen in einer Testumgebung, bevor Sie sie in der Produktion einsetzen.

Verwendung dieser Dokumentation

Diese Dokumentation zeigt, welche Felder von reybex nach Shopware übertragen werden. Für jedes Shopware-Feld wird angegeben:
- Welches reybex-Feld die Quelle ist
- Unter welcher Bedingung es übertragen wird (Export-Gruppe)
- Besondere Hinweise zur Übertragung

Wichtige Konzepte

reybex-Artikelstruktur

Shopware-Artikelstruktur

1. Produkt-Felder (Article Level)

Die folgenden Felder werden auf Artikelebene in Shopware übertragen:

1.1 Basis-Informationen

Shopware Feld reybex Feld Beschreibung Bedingung
article.number material.sku Artikelnummer Export-Gruppe: ARTIKEL_DATA
article.name material.name Produktname Export-Gruppe: ARTIKEL_DATA
article.active material.isMarketplaceActive Aktiv-Status Export-Gruppe: ARTIKEL_DATA
article.tax material.vatRate Steuersatz Export-Gruppe: ARTIKEL_DATA
article.supplier material.brand.name Lieferant/Marke Export-Gruppe: ARTIKEL_DATA
article.highlight material.isHighlighted Hervorhebung Export-Gruppe: ARTIKEL_DATA

1.2 Hauptvariante (Main Detail)

Shopware Feld reybex Feld Beschreibung Bedingung
mainDetail.ean material.gtin EAN/GTIN Export-Gruppe: ARTIKEL_DATA
mainDetail.weight material.netWeight Gewicht Export-Gruppe: ARTIKEL_DATA
mainDetail.width material.width Breite Export-Gruppe: ARTIKEL_DATA
mainDetail.len material.length Länge Export-Gruppe: ARTIKEL_DATA
mainDetail.height material.height Höhe Export-Gruppe: ARTIKEL_DATA
mainDetail.shippingTime material.deliveryDays Lieferzeit Export-Gruppe: ARTIKEL_DATA
mainDetail.active material.isMarketplaceActive Aktiv-Status Export-Gruppe: ARTIKEL_DATA
mainDetail.purchaseUnit material.purchaseUnit Einkaufseinheit Export-Gruppe: ARTIKEL_DATA
mainDetail.referenceUnit material.referenceUnit Referenzeinheit Export-Gruppe: ARTIKEL_DATA
mainDetail.packUnit material.packUnit Verpackungseinheit Export-Gruppe: ARTIKEL_DATA
mainDetail.unit material.basePriceUnit Grundpreis-Einheit Export-Gruppe: ARTIKEL_DATA (wenn vorhanden)
mainDetail.supplierNumber material.manufacturer.number Herstellernummer Export-Gruppe: ARTIKEL_DATA (wenn vorhanden)
mainDetail.shippingFree material.isShippingFree Versandkostenfrei Export-Gruppe: ARTIKEL_DATA (wenn vorhanden)
mainDetail.lastStock material.isOnlySellableWithPositiveStock Letzter Bestand Export-Gruppe: ARTIKEL_DATA (wenn vorhanden)
mainDetail.inStock material.stock.value Bestand Export-Gruppe: STOCK
mainDetail.purchasePrice material.purPrice Einkaufspreis Export-Gruppe: PRICE
mainDetail.prices material.prices Preise Export-Gruppe: PRICE

Hinweise:
- mainDetail.unit Format: {unit: code, name: name}
- mainDetail.shippingFree = 1 wenn true, 0 wenn false
- mainDetail.lastStock = 1 wenn true, 0 wenn false

1.3 Beschreibung

Shopware Feld reybex Feld Beschreibung Bedingung
article.descriptionLong material.detailDescription Vollständige Beschreibung Export-Gruppe: ARTIKEL_DATA

1.4 SEO-Felder

Shopware Feld reybex Feld Beschreibung Bedingung
article.metaTitle material.metaTitle SEO-Titel Export-Gruppe: SEO
article.keywords material.keyWord Suchbegriffe Export-Gruppe: SEO
article.description material.metaDescription SEO-Beschreibung Export-Gruppe: SEO (nur wenn ARTIKEL_DATA auch exportiert wird)

1.5 Übersetzungen

Shopware Feld reybex Feld Beschreibung Bedingung
translations[].data.name material.translations[].name Übersetzter Name Export-Gruppe: ARTIKEL_DATA
translations[].data.metaTitle material.translations[].metaTitle Übersetzter SEO-Titel Export-Gruppe: ARTIKEL_DATA
translations[].data.description material.translations[].description Übersetzte Beschreibung Export-Gruppe: ARTIKEL_DATA
translations[].data.descriptionLong material.translations[].detailDescription Übersetzte Langbeschreibung Export-Gruppe: ARTIKEL_DATA
translations[].data.keywords material.translations[].keyWord Übersetzte Suchbegriffe Export-Gruppe: ARTIKEL_DATA

Hinweise:
- Übersetzungen werden pro Shop/Sprache übertragen
- Format: {type: "article", key: sku, useNumberAsId: true, shopId: X, data: {...}}

1.6 Bilder

Shopware Feld reybex Feld Beschreibung Bedingung
article.images[] material.images[] Produktbilder Export-Gruppe: IMAGE + refreshPictures = true
article.images[] material.attributeImages[] Attribut-basierte Bilder Export-Gruppe: IMAGE + refreshPictures = true
article.images[] material.variants[].images[] Variantenbilder Export-Gruppe: IMAGE + refreshPictures = true

Hinweise:
- Bilder werden nur übertragen, wenn refreshPictures = true gesetzt ist
- Format: {link: url, main: 1|2, name: fileName, description: comment}
- main = 1 für Hauptbild, main = 2 für weitere Bilder
- Variantenbilder haben options: [[[name: identifyingOption]]]
- Nach Bild-Upload wird /api/generateArticleImages/ aufgerufen

1.7 Kategorien

Shopware Feld reybex Feld Beschreibung Bedingung
article.categories[] material.categories[].id Kategorien (als IDs) Export-Gruppe: CATEGORY

Hinweise:
- Format: [{id: categoryId1}, {id: categoryId2}, ...]
- Nur Kategorien, die im Shop vorhanden sind, werden übertragen

1.8 Eigenschaften (Properties)

Shopware Feld reybex Feld Beschreibung Bedingung
article.filterGroupId material.propertyGroup.name Eigenschaftsgruppe Export-Gruppe: ARTIKEL_DATA (wenn vorhanden)
article.propertyValues material.propertyValues Eigenschaftswerte Export-Gruppe: ARTIKEL_DATA (wenn vorhanden)

1.9 Kundengruppen

Shopware Feld reybex Feld Beschreibung Bedingung
article.customerGroups[] material.excludedCustomerGroups Ausgeschlossene Kundengruppen Export-Gruppe: ARTIKEL_DATA (wenn vorhanden)

Hinweise:
- Format: [{id: groupId1}, {id: groupId2}, ...]
- Werden aus Kundengruppen-Schlüsseln in IDs konvertiert

1.10 Varianten-Konfiguration

Shopware Feld reybex Feld Beschreibung Bedingung
article.configuratorSet material.variants.items[].nameValuePairs Varianten-Konfiguration Export-Gruppe: VARIANT

Hinweise:
- Format: {groups: [{name: "Größe", options: [{name: "L"}, {name: "XL"}]}, ...]}
- variantConfiguratorType wird übertragen, wenn vorhanden

2. Varianten-Felder (Article Detail Level)

Die folgenden Felder werden auf Variantenebene in Shopware übertragen:

2.1 Basis-Informationen

Shopware Feld reybex Feld Beschreibung Bedingung
detail.id variant.id Varianten-ID (bei Update) Export-Gruppe: VARIANT
detail.number variant.sku Varianten-SKU Export-Gruppe: VARIANT
detail.ean variant.gtin Varianten-EAN/GTIN Export-Gruppe: VARIANT
detail.isMain variant.sku == material.sku Hauptvariante Export-Gruppe: VARIANT
detail.active Immer 1 Aktiv-Status Export-Gruppe: VARIANT
detail.position variant.order Position/Reihenfolge Export-Gruppe: VARIANT
detail.additionaltext variant.name Zusätzlicher Text Export-Gruppe: VARIANT

2.2 Bestand

Shopware Feld reybex Feld Beschreibung Bedingung
detail.inStock variant.stock Variantenbestand Export-Gruppe: VARIANT
detail.lastStock material.isOnlySellableWithPositiveStock Letzter Bestand Export-Gruppe: VARIANT (wenn vorhanden)
detail.shippingFree material.isShippingFree Versandkostenfrei Export-Gruppe: VARIANT (wenn vorhanden)
detail.shippingTime material.deliveryDays Lieferzeit Export-Gruppe: VARIANT

2.3 Preise

Shopware Feld reybex Feld Beschreibung Bedingung
detail.prices[] variant.prices[] Variantenpreise Export-Gruppe: VARIANT

Preis-Format:
- {customerGroupKey: "EK", price: X, pseudoPrice: Y, from: 1, to: 0}
- pseudoPrice = variant.price.rrp (UVP)
- from und to für Mengenrabatte

2.4 Varianten-Optionen

Shopware Feld reybex Feld Beschreibung Bedingung
detail.configuratorOptions[] variant.nameValuePairs[] Varianten-Optionen Export-Gruppe: VARIANT

Hinweise:
- Format: [{group: "Größe", option: "L"}, {group: "Farbe", option: "Rot"}]
- Wird aus nameValuePairs generiert

2.5 Varianten-Löschung

Varianten, die in Shopware existieren, aber nicht mehr in reybex vorhanden sind, werden auf active = 0 gesetzt (deaktiviert).

3. Export-Felder-Gruppen

Die Übertragung wird durch Export-Felder-Gruppen gesteuert:

Export-Gruppe Beschreibung Übertragene Shopware-Felder
ARTIKEL_DATA Artikeldaten number, name, active, tax, supplier, mainDetail.*, descriptionLong, Übersetzungen, Bilder, Eigenschaften
DESCRIPTION Beschreibung descriptionLong
PRICE Preis mainDetail.purchasePrice, mainDetail.prices, detail.prices
STOCK Bestand mainDetail.inStock, detail.inStock
IMAGE Bilder images[] (nur wenn refreshPictures = true)
CATEGORY Kategorien categories[]
SEO SEO-Felder metaTitle, keywords, description
VARIANT Varianten Alle Varianten-Felder, configuratorSet

4. Besondere Verhaltensweisen

4.1 Batch-Operationen

Shopware verwendet Batch-Operationen für Artikel-Updates:
- Alle Artikel werden in batchBody Array gesammelt
- API-Endpoint: /api/articles/ (PUT)
- Übersetzungen werden separat über /api/translations/ übertragen

4.2 Varianten-Verwaltung

4.3 Bild-Generierung

Nach dem Upload von Variantenbildern wird /api/generateArticleImages/{sku} aufgerufen, um die Bild-URLs zu aktualisieren.

4.4 Shop-spezifische Übersetzungen

Übersetzungen werden pro Shop/Sprache übertragen:
- Jeder Shop hat eine storeId
- Übersetzungen werden nur für Shops übertragen, die in shopListByMainShop vorhanden sind

5. Zusammenfassung: Vollständige Feld-Mappings

Artikel-Ebene

Shopware Feld reybex Feld Export-Gruppe Hinweise
number material.sku ARTIKEL_DATA -
name material.name ARTIKEL_DATA -
active material.isMarketplaceActive ARTIKEL_DATA -
tax material.vatRate ARTIKEL_DATA -
supplier material.brand.name ARTIKEL_DATA -
highlight material.isHighlighted ARTIKEL_DATA -
descriptionLong material.detailDescription ARTIKEL_DATA -
metaTitle material.metaTitle SEO -
keywords material.keyWord SEO -
description material.metaDescription SEO Nur wenn ARTIKEL_DATA auch exportiert wird
categories[] material.categories[].id CATEGORY -
images[] material.images[] IMAGE Nur wenn refreshPictures = true
filterGroupId material.propertyGroup.name ARTIKEL_DATA -
propertyValues material.propertyValues ARTIKEL_DATA -
customerGroups[] material.excludedCustomerGroups ARTIKEL_DATA -
configuratorSet material.variants.items[].nameValuePairs VARIANT -
translations[] material.translations[] ARTIKEL_DATA Pro Shop/Sprache

Hauptvariante (Main Detail)

Shopware Feld reybex Feld Export-Gruppe Hinweise
mainDetail.ean material.gtin ARTIKEL_DATA -
mainDetail.weight material.netWeight ARTIKEL_DATA -
mainDetail.width material.width ARTIKEL_DATA -
mainDetail.len material.length ARTIKEL_DATA -
mainDetail.height material.height ARTIKEL_DATA -
mainDetail.shippingTime material.deliveryDays ARTIKEL_DATA -
mainDetail.active material.isMarketplaceActive ARTIKEL_DATA -
mainDetail.purchaseUnit material.purchaseUnit ARTIKEL_DATA -
mainDetail.referenceUnit material.referenceUnit ARTIKEL_DATA -
mainDetail.packUnit material.packUnit ARTIKEL_DATA -
mainDetail.unit material.basePriceUnit ARTIKEL_DATA -
mainDetail.supplierNumber material.manufacturer.number ARTIKEL_DATA -
mainDetail.shippingFree material.isShippingFree ARTIKEL_DATA 1 oder 0
mainDetail.lastStock material.isOnlySellableWithPositiveStock ARTIKEL_DATA 1 oder 0
mainDetail.inStock material.stock.value STOCK -
mainDetail.purchasePrice material.purPrice PRICE -
mainDetail.prices material.prices PRICE -

Varianten-Ebene (Detail)

Shopware Feld reybex Feld Export-Gruppe Hinweise
detail.id variant.id VARIANT Nur bei Update
detail.number variant.sku VARIANT -
detail.ean variant.gtin VARIANT -
detail.isMain variant.sku == material.sku VARIANT -
detail.active Immer 1 VARIANT -
detail.position variant.order VARIANT -
detail.additionaltext variant.name VARIANT -
detail.inStock variant.stock VARIANT -
detail.lastStock material.isOnlySellableWithPositiveStock VARIANT 1 oder 0
detail.shippingFree material.isShippingFree VARIANT 1 oder 0
detail.shippingTime material.deliveryDays VARIANT -
detail.prices[] variant.prices[] VARIANT -
detail.configuratorOptions[] variant.nameValuePairs[] VARIANT -

6. API-Endpunkte


Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse