Feld-Mapping Dokumentation: reybex → OpenCart Custom
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach OpenCart Custom übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die OpenCart Custom REST API.
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und OpenCart Custom 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 OpenCart Custom-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 OpenCart Custom übertragen werden. Für jedes OpenCart Custom-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 OpenCart Custom Product)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe)
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
OpenCart Custom-Produktstruktur
- Product: Das Hauptprodukt in OpenCart Custom
- Product Description: Mehrsprachige Produktbeschreibungen
1. Produkt-Felder (Product Level)
Die folgenden Felder werden auf Produktebene in OpenCart Custom übertragen:
1.1 Basis-Informationen
| OpenCart Custom Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.sku |
material.sku |
Artikelnummer | Export-Gruppe: ARTIKEL_DATA |
product.model |
material.matCode oder material.sku |
Modellnummer | Export-Gruppe: ARTIKEL_DATA |
product.name |
material.name oder material.translations[].name |
Produktname (mehrsprachig) | Export-Gruppe: ARTIKEL_DATA |
product.ean |
material.gtin |
EAN/GTIN | Export-Gruppe: ARTIKEL_DATA |
product.length |
material.length |
Länge | Export-Gruppe: ARTIKEL_DATA |
product.width |
material.width |
Breite | Export-Gruppe: ARTIKEL_DATA |
product.height |
material.height |
Höhe | Export-Gruppe: ARTIKEL_DATA |
product.weight |
material.grossWeight |
Gewicht | Export-Gruppe: ARTIKEL_DATA |
product.tax_class_id |
material.vatKeyCode |
Steuerklasse (als ID) | Export-Gruppe: ARTIKEL_DATA |
product.manufacturer_name |
material.brand.name |
Hersteller/Marke | Export-Gruppe: ARTIKEL_DATA |
product.status |
material.isMarketplaceActive oder material.stock.value == 0 |
Status (1=Aktiv, 0=Inaktiv) | Immer |
Hinweise:
- status = 0 wenn isOnlySellableWithPositiveStock = true und stock.value == 0
- tax_class_id wird anhand vatKeyCode gesucht
1.2 Beschreibung (mehrsprachig)
| OpenCart Custom Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.description[] |
material.detailDescription oder material.translations[].detailDescription |
Vollständige Beschreibung (pro Sprache) | Export-Gruppe: DESCRIPTION |
product.meta_title[] |
material.metaTitle oder material.translations[].metaTitle |
SEO-Titel (pro Sprache) | Export-Gruppe: DESCRIPTION |
product.meta_description[] |
material.metaDescription oder material.translations[].metaDescription |
SEO-Beschreibung (pro Sprache) | Export-Gruppe: DESCRIPTION |
product.meta_keyword[] |
material.keyWord oder material.translations[].keyWord |
SEO-Schlüsselwörter (pro Sprache) | Export-Gruppe: DESCRIPTION |
Hinweise:
- Alle Beschreibungsfelder sind mehrsprachig
- Format: [{language_id: X, text: "Text"}]
- Übersetzungen werden basierend auf language.code verwendet
1.3 Preise
| OpenCart Custom Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.price |
material.price.rrp oder material.price.value |
Verkaufspreis (netto) | Export-Gruppe: PRICE |
product.special_price |
material.price.value |
Aktionspreis | Export-Gruppe: PRICE (wenn rrp vorhanden) |
product.discounts[] |
material.prices[] |
Mengenrabatte | Export-Gruppe: PRICE |
Preislogik:
- Wenn rrp vorhanden: price = rrp (netto), special_price = value
- Wenn kein rrp: price = value
- Netto-Berechnung: (rrp * 100) / (100 + vatRate)
- discounts Format: [{quantity: X, customer_group_id: Y, price: Z}]
1.4 Bestand
| OpenCart Custom Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.quantity |
material.stock.value |
Bestand | Export-Gruppe: STOCK |
Hinweise:
- quantity wird auch auf 0 gesetzt, wenn stock.value == 0
1.5 Bilder
| OpenCart Custom Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.image |
material.images[].image.url (Hauptbild) |
Hauptbild-URL | Export-Gruppe: IMAGE + refreshPictures = true |
product.images[] |
material.images[].image.url (weitere Bilder) |
Weitere Bild-URLs | Export-Gruppe: IMAGE + refreshPictures = true |
Hinweise:
- Bilder werden nur übertragen, wenn refreshPictures = true gesetzt ist
- Hauptbild wird aus material.images extrahiert (isMain = true)
- Format: [{url: "imageUrl"}]
1.6 Kategorien
| OpenCart Custom Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.categories[] |
material.categories[].id |
Kategorien (als IDs) | Export-Gruppe: CATEGORY |
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene OpenCart Custom-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | sku, model, name, ean, length, width, height, weight, tax_class_id, manufacturer_name |
| DESCRIPTION | Beschreibung | description[], meta_title[], meta_description[], meta_keyword[] |
| PRICE | Preis | price, special_price, discounts[] |
| STOCK | Bestand | quantity |
| CATEGORY | Kategorien | categories[] |
| IMAGE | Bilder | image, images[] (nur wenn refreshPictures = true) |
3. Besondere Verhaltensweisen
3.1 REST API
OpenCart Custom verwendet REST API für alle Operationen:
- Produkt-Update: POST /product (Batch)
- Bild-Upload: URLs werden direkt übertragen
3.2 Mehrsprachigkeit
Alle textbasierten Felder sind mehrsprachig:
- name[], description[], meta_title[], meta_description[], meta_keyword[]
- Format: [{language_id: X, text: "Text"}]
3.3 Batch-Operationen
- Alle Produkte werden in einem Batch-Request übertragen
- Format:
{products: [product1, product2, ...]}
3.4 Status-Verwaltung
statuswird automatisch auf 0 gesetzt, wennisOnlySellableWithPositiveStock = trueundstock.value == 0
4. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| OpenCart Custom Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
sku |
material.sku |
ARTIKEL_DATA | - |
model |
material.matCode oder sku |
ARTIKEL_DATA | - |
name[] |
material.name oder translations[].name |
ARTIKEL_DATA | Mehrsprachig |
ean |
material.gtin |
ARTIKEL_DATA | - |
length |
material.length |
ARTIKEL_DATA | - |
width |
material.width |
ARTIKEL_DATA | - |
height |
material.height |
ARTIKEL_DATA | - |
weight |
material.grossWeight |
ARTIKEL_DATA | - |
tax_class_id |
material.vatKeyCode |
ARTIKEL_DATA | Als ID |
manufacturer_name |
material.brand.name |
ARTIKEL_DATA | - |
status |
material.isMarketplaceActive oder stock == 0 |
Immer | 1 oder 0 |
description[] |
material.detailDescription oder translations[].detailDescription |
DESCRIPTION | Mehrsprachig |
meta_title[] |
material.metaTitle oder translations[].metaTitle |
DESCRIPTION | Mehrsprachig |
meta_description[] |
material.metaDescription oder translations[].metaDescription |
DESCRIPTION | Mehrsprachig |
meta_keyword[] |
material.keyWord oder translations[].keyWord |
DESCRIPTION | Mehrsprachig |
price |
material.price.rrp oder value (netto) |
PRICE | - |
special_price |
material.price.value |
PRICE | Nur wenn rrp vorhanden |
discounts[] |
material.prices[] |
PRICE | - |
quantity |
material.stock.value |
STOCK | - |
categories[] |
material.categories[].id |
CATEGORY | - |
image |
material.images[].image.url (Hauptbild) |
IMAGE | Nur wenn refreshPictures = true |
images[] |
material.images[].image.url (weitere) |
IMAGE | Nur wenn refreshPictures = true |
5. API-Endpunkte
- Produkt-Update:
POST /product(Batch) - Sprachen:
GET /language - Steuerklassen:
GET /taxClass
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse