Feld-Mapping Dokumentation: reybex → Gambio
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach Gambio übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die Gambio REST API.
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und Gambio 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 Gambio-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 Gambio übertragen werden. Für jedes Gambio-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 Gambio Product)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe)
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
Gambio-Produktstruktur
- Product: Das Hauptprodukt in Gambio
- Product Links: Produkt-Kategorien-Verknüpfungen
- VPE: Verpackungseinheit (Base Price Calculation)
1. Produkt-Felder (Product Level)
Die folgenden Felder werden auf Produktebene in Gambio übertragen:
1.1 Basis-Informationen
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
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.productModel |
material.sku |
Artikelnummer | Export-Gruppe: ARTIKEL_DATA |
product.weight |
material.netWeight |
Gewicht | Export-Gruppe: ARTIKEL_DATA |
product.addonValues.brandName |
material.brand.name |
Markenname | Export-Gruppe: ARTIKEL_DATA |
product.taxClassId |
material.taxClassId |
Steuerklassen-ID | Export-Gruppe: ARTIKEL_DATA |
product.manufacturerId |
material.brand.name (gesucht in manufacturers) |
Hersteller-ID | Export-Gruppe: ARTIKEL_DATA |
product.isActive |
material.isMarketplaceActive |
Aktiv-Status | Immer |
Hinweise:
- name[] ist mehrsprachig: {DE: "Name", EN: "Name", ...}
- manufacturerId wird anhand Markenname gesucht, sonst 0
1.2 Beschreibung (mehrsprachig)
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.description[] |
material.detailDescription oder material.translations[].detailDescription |
Vollständige Beschreibung (mehrsprachig) | Export-Gruppe: DESCRIPTION |
product.shortDescription[] |
material.description oder material.translations[].description |
Kurzbeschreibung (mehrsprachig) | Export-Gruppe: DESCRIPTION |
Hinweise:
- Alle Beschreibungsfelder sind mehrsprachig
- Format: {DE: "Text", EN: "Text", ...}
1.3 SEO-Felder (mehrsprachig)
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.keywords[] |
material.keyWord oder material.translations[].keyWord |
SEO-Schlüsselwörter (mehrsprachig) | Export-Gruppe: SEO |
product.urlKeywords[] |
material.urlkey oder material.translations[].urlkey |
URL-Schlüsselwörter (mehrsprachig) | Export-Gruppe: SEO |
product.metaDescription[] |
material.metaDescription oder material.translations[].metaDescription |
SEO-Beschreibung (mehrsprachig) | Export-Gruppe: SEO |
product.metaTitle[] |
material.metaTitle oder material.translations[].metaTitle |
SEO-Titel (mehrsprachig) | Export-Gruppe: SEO |
Hinweise:
- Alle SEO-Felder sind mehrsprachig
- Format: {DE: "Text", EN: "Text", ...}
1.4 Preise
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.price |
material.price.value (netto berechnet) |
Verkaufspreis (netto) | Export-Gruppe: PRICE |
Preislogik:
- Netto-Berechnung: grossPrice / (vatRate + 1)
- grossPrice = material.price.value
1.5 Bestand
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.quantity |
material.stock.value |
Bestand | Export-Gruppe: STOCK |
product.isActive |
Automatisch (wenn stock <= 0 und isOnlySellableWithPositiveStock) |
Aktiv-Status | Export-Gruppe: STOCK |
Hinweise:
- Wenn stock <= 0 und isOnlySellableWithPositiveStock = true, wird isActive = false gesetzt
1.6 Grundpreis-Berechnung (VPE)
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.isVpeActive |
true (wenn basePriceUnit.unit vorhanden) |
VPE aktiv | Export-Gruppe: BASE_PRICE_CALCULATION |
product.vpeId |
Automatisch erstellt/gesucht | VPE-ID | Export-Gruppe: BASE_PRICE_CALCULATION |
product.vpeValue |
material.purchaseUnit |
VPE-Wert | Export-Gruppe: BASE_PRICE_CALCULATION |
Hinweise:
- VPE wird automatisch erstellt, wenn nicht vorhanden
- Format: {referenceUnit} {basePriceUnit.unit} (z.B. "100 ml")
1.7 Bilder
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.images[] |
material.images[] |
Produktbilder | Export-Gruppe: IMAGE + refreshPictures = true |
Hinweise:
- Bilder werden nur übertragen, wenn refreshPictures = true gesetzt ist
- Format: [{filename: "X", isPrimary: true/false, imageAltText: {...}, isVisible: true}]
- imageAltText ist mehrsprachig
- Dateinamen werden normalisiert (getNormalizedFileName())
1.8 Kategorien
| Gambio Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.links[] |
material.categories[] |
Produkt-Kategorien-Verknüpfungen | Export-Gruppe: CATEGORY |
Hinweise:
- Kategorien werden über separate API-Calls übertragen
- Alte Verknüpfungen werden gelöscht, neue werden erstellt
- Format: {categoryId: X}
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene Gambio-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | name[], ean, productModel, weight, addonValues.brandName, taxClassId, manufacturerId |
| DESCRIPTION | Beschreibung | description[], shortDescription[] |
| SEO | SEO-Felder | keywords[], urlKeywords[], metaDescription[], metaTitle[] |
| PRICE | Preis | price (netto) |
| STOCK | Bestand | quantity, isActive |
| BASE_PRICE_CALCULATION | Grundpreis-Berechnung | isVpeActive, vpeId, vpeValue |
| IMAGE | Bilder | images[] (nur wenn refreshPictures = true) |
| CATEGORY | Kategorien | links[] (über separate API) |
3. Besondere Verhaltensweisen
3.1 REST API
Gambio verwendet REST API für alle Operationen:
- Produkt-Erstellung: POST /products (JSON)
- Produkt-Update: PUT /products/{productId} (JSON)
- Kategorien-Verknüpfungen: DELETE /products/{productId}/links, POST /products/{productId}/links (separate Calls)
3.2 Mehrsprachigkeit
Alle textbasierten Felder sind mehrsprachig:
- name[], description[], shortDescription[]
- keywords[], urlKeywords[], metaDescription[], metaTitle[]
- imageAltText[]
- Format: {DE: "Text", EN: "Text", ...}
3.3 VPE-Verwaltung
- VPE wird automatisch erstellt, wenn nicht vorhanden
- Format:
{referenceUnit} {basePriceUnit.unit} - Verwendet
getGambioDescContent()für mehrsprachige Inhalte
3.4 Bild-Upload
- Bilder werden nur übertragen, wenn
refreshPictures = truegesetzt ist - Dateinamen werden normalisiert
- Verwendet
uploadNotExistImage()Methode
3.5 Kategorien-Verwaltung
- Kategorien werden über separate API-Calls übertragen
- Alte Verknüpfungen werden gelöscht, neue werden erstellt
- Verwendet
updateProductCategories()Methode
3.6 Pflichtfelder bei Erstellung
Bei neuer Produkterstellung werden folgende Felder automatisch gesetzt:
- metaKeywords: {DE: " ", EN: " ", ...}
- checkoutInformation: {DE: " ", EN: " ", ...}
- url: {DE: " ", EN: " ", ...}
- productTypeId: 1
- viewedCount: {DE: 0, EN: 0, ...}
4. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| Gambio Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
name[] |
material.name oder translations[].name |
ARTIKEL_DATA | Mehrsprachig |
ean |
material.gtin |
ARTIKEL_DATA | - |
productModel |
material.sku |
ARTIKEL_DATA | - |
weight |
material.netWeight |
ARTIKEL_DATA | - |
addonValues.brandName |
material.brand.name |
ARTIKEL_DATA | - |
taxClassId |
material.taxClassId |
ARTIKEL_DATA | - |
manufacturerId |
material.brand.name (gesucht) |
ARTIKEL_DATA | - |
isActive |
material.isMarketplaceActive |
Immer | - |
description[] |
material.detailDescription oder translations[].detailDescription |
DESCRIPTION | Mehrsprachig |
shortDescription[] |
material.description oder translations[].description |
DESCRIPTION | Mehrsprachig |
keywords[] |
material.keyWord oder translations[].keyWord |
SEO | Mehrsprachig |
urlKeywords[] |
material.urlkey oder translations[].urlkey |
SEO | Mehrsprachig |
metaDescription[] |
material.metaDescription oder translations[].metaDescription |
SEO | Mehrsprachig |
metaTitle[] |
material.metaTitle oder translations[].metaTitle |
SEO | Mehrsprachig |
price |
material.price.value (netto) |
PRICE | - |
quantity |
material.stock.value |
STOCK | - |
isVpeActive |
true (wenn basePriceUnit.unit vorhanden) |
BASE_PRICE_CALCULATION | - |
vpeId |
Automatisch erstellt/gesucht | BASE_PRICE_CALCULATION | - |
vpeValue |
material.purchaseUnit |
BASE_PRICE_CALCULATION | - |
images[] |
material.images[] |
IMAGE | Nur wenn refreshPictures = true |
links[] |
material.categories[] |
CATEGORY | Über separate API |
5. API-Endpunkte
- Produkt-Erstellung:
POST /products(JSON) - Produkt-Update:
PUT /products/{productId}(JSON) - Kategorien-Verknüpfungen:
DELETE /products/{productId}/links,POST /products/{productId}/links - VPE-Liste:
GET /vpe - VPE-Erstellung:
POST /vpe - Hersteller-Liste:
GET /manufacturers
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse