Feld-Mapping Dokumentation: reybex → Magento 2
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach Magento 2 übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die Magento 2 REST API.
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und Magento 2 befindet sich in ständiger Entwicklung. Daher kann es vorkommen, dass:
- Neue Felder hinzugefügt werden - Um zusätzliche Funktionen zu unterstützen oder neue Magento 2-Features zu nutzen
- Felder temporär entfernt werden - Wenn unerwartete Probleme auftreten, die negative Auswirkungen auf die Artikel haben
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 Magento 2 übertragen werden. Für jedes Magento 2-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
- Material: Ein Artikel/Produkt in reybex (entspricht Magento 2 Product)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe) - entspricht Magento 2 Simple Product
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
Magento 2-Produktstruktur
- Product: Das Hauptprodukt in Magento 2
- Product Type: "simple", "configurable" (mit Varianten), "bundle" (Sets)
- Custom Attributes: Benutzerdefinierte Attribute
- Extension Attributes: Erweiterte Attribute (z.B. Stock Item)
1. Produkt-Felder (Product Level)
Die folgenden Felder werden auf Produktebene in Magento 2 übertragen:
1.1 Basis-Informationen
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.sku |
material.sku |
Artikelnummer | Immer |
product.name |
material.name oder material.translations[].name |
Produktname | Export-Gruppe: ARTIKEL_DATA |
product.type_id |
Automatisch | Produkttyp ("simple", "configurable", "bundle") | Export-Gruppe: ARTIKEL_DATA |
product.status |
material.isMarketplaceActive |
Status (1=Aktiv, 2=Inaktiv) | Immer |
product.visibility |
material.materialMarktplaceVisibility.id |
Sichtbarkeit | Export-Gruppe: ARTIKEL_DATA |
product.weight |
material.netWeight |
Gewicht | Export-Gruppe: ARTIKEL_DATA |
product.attribute_set_id |
material.propertyGroup.attributeSetId |
Attributsatz-ID | Export-Gruppe: ARTIKEL_ATTRIBUTE |
Produkttyp-Logik:
- "simple" = Standard-Produkt
- "configurable" = Produkt mit Varianten
- "bundle" = Set-Produkt (material.isSet = true)
1.2 Beschreibung
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
custom_attributes[].description |
material.detailDescription oder material.translations[].detailDescription |
Vollständige Beschreibung | Export-Gruppe: DESCRIPTION |
custom_attributes[].short_description |
material.description oder material.translations[].description |
Kurzbeschreibung | Export-Gruppe: DESCRIPTION |
custom_attributes[].country_of_manufacture |
material.manufacturerCountry |
Herstellungsland | Export-Gruppe: DESCRIPTION |
Hinweise:
- Übersetzungen werden basierend auf storeLanguage verwendet
1.3 SEO-Felder
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
custom_attributes[].meta_title |
material.metaTitle |
SEO-Titel | Export-Gruppe: SEO |
custom_attributes[].meta_description |
material.metaDescription |
SEO-Beschreibung | Export-Gruppe: SEO |
custom_attributes[].meta_keyword |
material.keyWord |
SEO-Schlüsselwörter | Export-Gruppe: SEO |
1.4 Preise
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.price |
material.price.value oder material.price.rrp |
Verkaufspreis | Export-Gruppe: PRICE |
product.tier_prices[] |
material.prices[] |
Mengenpreise | Export-Gruppe: PRICE |
custom_attributes[].special_price |
material.price.value (wenn rrp > value) |
Aktionspreis | Export-Gruppe: PRICE |
custom_attributes[].msrp |
material.price.rrp |
UVP/Listenpreis | Export-Gruppe: PRICE |
Preislogik:
- price = rrp wenn rrp > value, sonst value
- special_price = value wenn rrp > value, sonst null
- tier_prices werden aus material.prices generiert (nur für Kundengruppen mit Integer-Keys)
1.5 Bestand
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
extension_attributes.stock_item.qty |
material.stock.value |
Bestand | Export-Gruppe: STOCK |
extension_attributes.stock_item.is_in_stock |
material.stock.value > 0 |
Auf Lager | Export-Gruppe: STOCK |
extension_attributes.stock_item.manage_stock |
Immer true |
Bestandsverwaltung | Export-Gruppe: STOCK |
extension_attributes.stock_item.min_sale_qty |
material.minOrderQuantity |
Mindestbestellmenge | Export-Gruppe: STOCK |
extension_attributes.stock_item.use_config_min_sale_qty |
Immer 0 |
Konfiguration verwenden | Export-Gruppe: STOCK |
Hinweise:
- qty wird auf 0 gesetzt, wenn stock.value <= 0
- Bei Varianten wird manage_stock = false gesetzt
1.6 Kategorien
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
custom_attributes[].category_ids |
material.categories[].id |
Kategorien (als IDs) | Export-Gruppe: CATEGORY |
1.7 Artikelattribute (Custom Attributes)
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
custom_attributes[] |
material.propertyValues[] |
Produkteigenschaften | Export-Gruppe: ARTIKEL_ATTRIBUTE |
custom_attributes[].tax_class_id |
material.vatKeyCode |
Steuerklasse | Export-Gruppe: ARTIKEL_DATA |
custom_attributes[].disposal_fee |
material.disposalFees |
Entsorgungsgebühr | Export-Gruppe: DISPOSALFEE |
Hinweise:
- Attribute werden automatisch erstellt, wenn sie nicht existieren
- Optionen werden automatisch hinzugefügt, wenn sie nicht existieren
- Format: {attribute_code: "code", value: "value"}
1.8 Grundpreis-Berechnung
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
custom_attributes[].unit |
material.purchaseUnit + " " + material.packUnit |
Einheit | Export-Gruppe: BASE_PRICE_CALCULATION |
custom_attributes[].unit_price |
material.referenceUnit |
Referenzeinheit | Export-Gruppe: BASE_PRICE_CALCULATION |
1.9 Bundle-Produkte
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
extension_attributes.bundle_product_options[] |
material.boms[] |
Bundle-Optionen | Export-Gruppe: ARTIKEL_DATA (wenn isSet = true) |
custom_attributes[].price_view |
Immer "0" |
Preis-Ansicht | Export-Gruppe: PRICE (wenn Bundle) |
custom_attributes[].price_type |
"1" wenn Preis vorhanden, sonst "0" |
Preis-Typ | Export-Gruppe: PRICE (wenn Bundle) |
Bundle-Optionen-Format:
- {title: "Option", type: "select|checkbox|radio|multi", position: X, product_links: [{sku: "X", qty: Y, ...}]}
1.10 Configurable Produkte (Varianten)
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
extension_attributes.configurable_product_links[] |
material.variants.items[].id |
Varianten-IDs | Export-Gruppe: VARIANT |
extension_attributes.configurable_product_options[] |
material.variants.items[].nameValuePairs |
Varianten-Optionen | Export-Gruppe: VARIANT |
Hinweise:
- Varianten werden als Simple Products erstellt
- Configurable Product wird mit Varianten verknüpft
1.11 Bilder
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
media_gallery_entries[] |
material.images[] |
Produktbilder | Export-Gruppe: IMAGE + refreshPictures = true |
Hinweise:
- Bilder werden nur übertragen, wenn refreshPictures = true gesetzt ist
- Verwendet createImage() Methode
2. Varianten-Felder (Simple Product Level)
Die folgenden Felder werden auf Variantenebene in Magento 2 übertragen:
2.1 Basis-Informationen
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
variant.sku |
variant.sku |
Varianten-SKU | Export-Gruppe: VARIANT |
variant.name |
material.name + " - " + variant.name |
Variantenname | Export-Gruppe: VARIANT |
variant.type_id |
Immer "simple" |
Produkttyp | Export-Gruppe: VARIANT |
variant.status |
Immer 1 |
Status | Export-Gruppe: VARIANT |
variant.visibility |
Immer 1 |
Sichtbarkeit | Export-Gruppe: VARIANT |
variant.attribute_set_id |
material.propertyGroup.attributeSetId |
Attributsatz-ID | Export-Gruppe: VARIANT |
2.2 Varianten-Attribute
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
variant.custom_attributes[] |
variant.nameValuePairs[] |
Varianten-Optionen | Export-Gruppe: VARIANT |
variant.custom_attributes[].tax_class_id |
material.vatKeyCode |
Steuerklasse | Export-Gruppe: VARIANT |
Hinweise:
- Varianten-Optionen werden als Custom Attributes übertragen
- Format: {attribute_code: "code", value: "optionValue"}
2.3 Varianten-Preise
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
variant.price |
variant.price.value |
Variantenpreis | Export-Gruppe: VARIANT |
variant.tier_prices[] |
variant.prices[] |
Varianten-Mengenpreise | Export-Gruppe: VARIANT |
2.4 Varianten-Bestand
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
variant.extension_attributes.stock_item.qty |
variant.stock.value |
Variantenbestand | Export-Gruppe: VARIANT |
variant.extension_attributes.stock_item.is_in_stock |
variant.stock.value > 0 |
Auf Lager | Export-Gruppe: VARIANT |
variant.extension_attributes.stock_item.manage_stock |
Immer true |
Bestandsverwaltung | Export-Gruppe: VARIANT |
variant.extension_attributes.stock_item.max_sale_qty |
variant.minOrderQuantity |
Maximalbestellmenge | Export-Gruppe: VARIANT |
2.5 Varianten-Bilder
| Magento 2 Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
variant.media_gallery_entries[] |
variant.images[] |
Variantenbilder | Export-Gruppe: VARIANT |
3. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene Magento 2-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | sku, name, type_id, status, visibility, weight, attribute_set_id |
| DESCRIPTION | Beschreibung | description, short_description, country_of_manufacture |
| SEO | SEO-Felder | meta_title, meta_description, meta_keyword |
| PRICE | Preis | price, tier_prices, special_price, msrp |
| STOCK | Bestand | stock_item.* |
| CATEGORY | Kategorien | category_ids |
| ARTIKEL_ATTRIBUTE | Artikelattribute | custom_attributes[] (aus propertyValues) |
| BASE_PRICE_CALCULATION | Grundpreis-Berechnung | unit, unit_price |
| DISPOSALFEE | Entsorgungsgebühr | disposal_fee |
| VARIANT | Varianten | Alle Varianten-Felder |
| IMAGE | Bilder | media_gallery_entries[] (nur wenn refreshPictures = true) |
4. Besondere Verhaltensweisen
4.1 REST API
Magento 2 verwendet REST API für alle Operationen:
- Produkt-Erstellung: POST /rest/{storeId}/V1/products
- Produkt-Update: PUT /rest/{storeId}/V1/products/{sku}
- Bild-Upload: Separate API-Calls
4.2 Store View
- Alle Felder werden für einen spezifischen Store View übertragen (
storeId) - Wenn
storeId = "all", werden Felder für alle Store Views übertragen - Übersetzungen werden basierend auf
storeLanguageverwendet
4.3 Attribute-Verwaltung
- Attribute werden automatisch erstellt, wenn sie nicht existieren
- Optionen werden automatisch hinzugefügt, wenn sie nicht existieren
- Attribute werden zum Attributsatz hinzugefügt
4.4 Varianten-Verwaltung
- Varianten werden als Simple Products erstellt
- Configurable Product wird mit Varianten verknüpft
- Varianten-Optionen werden als Custom Attributes übertragen
4.5 Bundle-Produkte
- Bundle-Optionen werden aus
material.bomsgeneriert price_viewundprice_typewerden automatisch gesetzt
5. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| Magento 2 Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
sku |
material.sku |
Immer | - |
name |
material.name oder translations[].name |
ARTIKEL_DATA | - |
type_id |
Automatisch | ARTIKEL_DATA | "simple", "configurable", "bundle" |
status |
material.isMarketplaceActive |
Immer | 1 oder 2 |
visibility |
material.materialMarktplaceVisibility.id |
ARTIKEL_DATA | - |
weight |
material.netWeight |
ARTIKEL_DATA | - |
attribute_set_id |
material.propertyGroup.attributeSetId |
ARTIKEL_ATTRIBUTE | - |
description |
material.detailDescription oder translations[].detailDescription |
DESCRIPTION | - |
short_description |
material.description oder translations[].description |
DESCRIPTION | - |
country_of_manufacture |
material.manufacturerCountry |
DESCRIPTION | - |
meta_title |
material.metaTitle |
SEO | - |
meta_description |
material.metaDescription |
SEO | - |
meta_keyword |
material.keyWord |
SEO | - |
price |
material.price.value oder rrp |
PRICE | - |
tier_prices[] |
material.prices[] |
PRICE | - |
special_price |
material.price.value (wenn rrp > value) |
PRICE | - |
msrp |
material.price.rrp |
PRICE | - |
stock_item.qty |
material.stock.value |
STOCK | - |
stock_item.is_in_stock |
material.stock.value > 0 |
STOCK | - |
stock_item.manage_stock |
Immer true |
STOCK | - |
stock_item.min_sale_qty |
material.minOrderQuantity |
STOCK | - |
category_ids |
material.categories[].id |
CATEGORY | - |
custom_attributes[] |
material.propertyValues[] |
ARTIKEL_ATTRIBUTE | - |
tax_class_id |
material.vatKeyCode |
ARTIKEL_DATA | - |
disposal_fee |
material.disposalFees |
DISPOSALFEE | - |
unit |
material.purchaseUnit + " " + packUnit |
BASE_PRICE_CALCULATION | - |
unit_price |
material.referenceUnit |
BASE_PRICE_CALCULATION | - |
bundle_product_options[] |
material.boms[] |
ARTIKEL_DATA | Nur wenn Bundle |
configurable_product_links[] |
material.variants.items[].id |
VARIANT | - |
configurable_product_options[] |
material.variants.items[].nameValuePairs |
VARIANT | - |
media_gallery_entries[] |
material.images[] |
IMAGE | Nur wenn refreshPictures = true |
Varianten-Ebene
| Magento 2 Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
sku |
variant.sku |
VARIANT | - |
name |
material.name + " - " + variant.name |
VARIANT | - |
type_id |
Immer "simple" |
VARIANT | - |
status |
Immer 1 |
VARIANT | - |
visibility |
Immer 1 |
VARIANT | - |
attribute_set_id |
material.propertyGroup.attributeSetId |
VARIANT | - |
custom_attributes[] |
variant.nameValuePairs[] |
VARIANT | - |
tax_class_id |
material.vatKeyCode |
VARIANT | - |
price |
variant.price.value |
VARIANT | - |
tier_prices[] |
variant.prices[] |
VARIANT | - |
stock_item.qty |
variant.stock.value |
VARIANT | - |
stock_item.is_in_stock |
variant.stock.value > 0 |
VARIANT | - |
stock_item.manage_stock |
Immer true |
VARIANT | - |
stock_item.max_sale_qty |
variant.minOrderQuantity |
VARIANT | - |
media_gallery_entries[] |
variant.images[] |
VARIANT | - |
6. API-Endpunkte
- Produkt-Erstellung:
POST /rest/{storeId}/V1/products - Produkt-Update:
PUT /rest/{storeId}/V1/products/{sku} - Bild-Upload: Separate API-Calls pro Bild
- Attribute-Erstellung:
POST /rest/V1/products/attributes - Option-Erstellung:
POST /rest/V1/products/attributes/{attributeCode}/options
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse