Feld-Mapping Dokumentation: reybex → OpenCart
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach OpenCart übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die OpenCart REST API.
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und OpenCart 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-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 übertragen werden. Für jedes OpenCart-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 Product)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe)
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
OpenCart-Produktstruktur
- Product: Das Hauptprodukt in OpenCart
- Product Description: Mehrsprachige Produktbeschreibungen
- Product Options: Varianten-Optionen
1. Produkt-Felder (Product Level)
Die folgenden Felder werden auf Produktebene in OpenCart übertragen:
1.1 Basis-Informationen
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.model |
material.name |
Modellnummer | Export-Gruppe: ARTIKEL_DATA |
product.sku |
material.sku |
Artikelnummer | Export-Gruppe: ARTIKEL_DATA |
product.manufacturer_id |
material.manufacturer.number |
Hersteller-ID | 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.minimum |
material.minOrderQuantity |
Mindestbestellmenge | Export-Gruppe: ARTIKEL_DATA |
1.2 Beschreibung (mehrsprachig)
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product_description.name |
material.name |
Produktname | Export-Gruppe: ARTIKEL_DATA |
product_description.description |
material.detailDescription |
Vollständige Beschreibung | Export-Gruppe: DESCRIPTION |
Hinweise:
- Format: [{language_id: X, name: "Text", description: "Text"}]
- Standard language_id = "1"
1.3 Preise
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.price |
material.price.value |
Verkaufspreis | Export-Gruppe: PRICE |
1.4 Bestand
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.quantity |
material.stock.value |
Bestand | Export-Gruppe: STOCK |
1.5 Steuern
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.tax_class_id |
material.tax_class_id |
Steuerklasse-ID | Export-Gruppe: TAX |
1.6 Gewicht
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.weight |
material.netWeight |
Gewicht | Export-Gruppe: MESS |
1.7 Kategorien
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.product_category[] |
material.categories[].id |
Kategorien (als IDs) | Export-Gruppe: CATEGORY |
1.8 SEO-Felder
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product_description.meta_title |
material.description |
SEO-Titel | Export-Gruppe: SEO |
product_description.meta_description |
material.metaDescription |
SEO-Beschreibung | Export-Gruppe: SEO |
product_description.keyword |
material.keyword |
SEO-Schlüsselwörter | Export-Gruppe: SEO |
1.9 Bilder
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.image |
material.images[].image.url (Hauptbild) |
Hauptbild-URL | Export-Gruppe: IMAGE + refreshPictures = true |
product.other_image[] |
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 (isMainImage = true)
- Format: [url1, url2, ...]
1.10 Varianten-Optionen
| OpenCart Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.product_option[] |
material.variants.items[].nameValuePairs |
Varianten-Optionen | Export-Gruppe: VARIANT |
Option-Format:
- {type: "radio", option_id: X, required: "1", product_option_value: [{option_value_id: Y, price: Z, quantity: W, ...}]}
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene OpenCart-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | model, sku, manufacturer_id, length, width, height, minimum, product_description.name |
| DESCRIPTION | Beschreibung | product_description.description |
| PRICE | Preis | price |
| STOCK | Bestand | quantity |
| TAX | Steuern | tax_class_id |
| MESS | Gewicht | weight |
| CATEGORY | Kategorien | product_category[] |
| SEO | SEO-Felder | meta_title, meta_description, keyword |
| IMAGE | Bilder | image, other_image[] (nur wenn refreshPictures = true) |
| VARIANT | Varianten | product_option[] |
3. Besondere Verhaltensweisen
3.1 REST API
OpenCart verwendet REST API für alle Operationen:
- Produkt-Update: PUT /api/rest/products/{productId} (JSON)
- Optionen-Verwaltung: Separate API-Calls
3.2 Optionen-Verwaltung
- Optionen werden automatisch erstellt, wenn sie nicht existieren
- Option-Werte werden automatisch erstellt, wenn sie nicht existieren
- Verwendet
listOption()undgetOptionIds()Methoden
3.3 Varianten-Preise und Bestand
- Varianten-Preise und Bestand werden in
product_option_valueübertragen - Format:
{price: X, quantity: Y, ...}
3.4 Separates Stock-Management
- Bestand kann über separate
updateStockModel()Methode übertragen werden - Verwendet
PUT /api/rest/products/{productId}
4. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| OpenCart Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
model |
material.name |
ARTIKEL_DATA | - |
sku |
material.sku |
ARTIKEL_DATA | - |
manufacturer_id |
material.manufacturer.number |
ARTIKEL_DATA | - |
length |
material.length |
ARTIKEL_DATA | - |
width |
material.width |
ARTIKEL_DATA | - |
height |
material.height |
ARTIKEL_DATA | - |
minimum |
material.minOrderQuantity |
ARTIKEL_DATA | - |
product_description.name |
material.name |
ARTIKEL_DATA | - |
product_description.description |
material.detailDescription |
DESCRIPTION | - |
price |
material.price.value |
PRICE | - |
quantity |
material.stock.value |
STOCK | - |
tax_class_id |
material.tax_class_id |
TAX | - |
weight |
material.netWeight |
MESS | - |
product_category[] |
material.categories[].id |
CATEGORY | - |
product_description.meta_title |
material.description |
SEO | - |
product_description.meta_description |
material.metaDescription |
SEO | - |
product_description.keyword |
material.keyword |
SEO | - |
image |
material.images[].image.url (Hauptbild) |
IMAGE | Nur wenn refreshPictures = true |
other_image[] |
material.images[].image.url (weitere) |
IMAGE | Nur wenn refreshPictures = true |
product_option[] |
material.variants.items[].nameValuePairs |
VARIANT | - |
5. API-Endpunkte
- Produkt-Update:
PUT /api/rest/products/{productId}(JSON) - Optionen-Liste:
GET /api/rest/options - Optionen-Erstellung: Separate API-Calls
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse