Feld-Mapping Dokumentation: reybex → OTTO
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach OTTO übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die OTTO Market API (v5).
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und OTTO 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 OTTO-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 OTTO übertragen werden. Für jedes OTTO-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 OTTO Product)
- MaterialVariant: Eine Variante eines Artikels in reybex
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
OTTO-Produktstruktur
- Product: Das Hauptprodukt in OTTO
- Product Description: Produktbeschreibung mit Kategorie, Marke, Attributen
- Pricing: Preisinformationen
- Compliance: Produktsicherheitsinformationen
1. Produkt-Felder (Product Level)
Die folgenden Felder werden auf Produktebene in OTTO übertragen:
1.1 Basis-Informationen
| OTTO Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.productReference |
material.materialMarktplaceMaterialName oder material.name |
Produktreferenz (max 50 Zeichen) | Immer |
product.sku |
material.sku |
Artikelnummer | Immer |
product.ean |
material.gtin |
EAN/GTIN | Immer |
product.pzn |
material.pzn |
PZN | Immer (wenn vorhanden) |
1.2 Produktbeschreibung
| OTTO Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
productDescription.category |
material.categories[0].id |
Kategorie-ID | Immer |
productDescription.brandId |
material.brand.marketplaceBrandId |
Marken-ID | Immer |
productDescription.productUrl |
material.urlkey |
Produkt-URL | Immer |
productDescription.description |
material.detailDescription oder material.description |
Produktbeschreibung | Immer |
productDescription.bulletPoints |
material.bulletPoints |
Stichpunkte | Immer |
productDescription.productLine |
material.name |
Produktlinie (max 70 Zeichen) | Immer |
productDescription.attributes |
material.categories.specs.spec |
Kategorie-Attribute | Immer |
Hinweise:
- productReference wird auf 50 Zeichen begrenzt
- productLine wird auf 70 Zeichen begrenzt
- Kategorie ist erforderlich
1.3 Preise
| OTTO Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
pricing.standardPrice.amount |
material.price.value |
Standardpreis | Immer |
pricing.standardPrice.currency |
material.price.currency |
Währung | Immer |
pricing.vat |
Immer "FULL" |
MwSt.-Typ | Immer |
pricing.msrp.amount |
material.price.rrp |
UVP/Listenpreis | Immer (wenn vorhanden) |
pricing.msrp.currency |
material.price.currency |
Währung | Immer (wenn rrp vorhanden) |
1.4 Medien
| OTTO Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
mediaAssets[] |
material.images[] |
Produktbilder | Immer |
Hinweise:
- Bilder werden über getMediaList() verarbeitet
1.5 Compliance
| OTTO Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
compliance.productSafety.addresses[] |
material.manufacturer und material.distributor |
Produktsicherheits-Adressen | Immer |
Adress-Format:
- Hersteller: {name, address, email, phone, regionCode, roles: ["MANUFACTURER"]}
- Händler: {name, address, email, phone, regionCode, roles: ["DISTRIBUTOR"]}
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene OTTO-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | productReference, sku, ean, pzn, productDescription.* |
| DESCRIPTION | Beschreibung | productDescription.description |
| PRICE | Preis | pricing.* |
| STOCK | Bestand | Wird über separate setStocks() Methode übertragen |
| IMAGE | Bilder | mediaAssets[] |
| CATEGORY | Kategorien | productDescription.category |
| ARTIKEL_ATTRIBUTE | Artikelattribute | productDescription.attributes |
3. Besondere Verhaltensweisen
3.1 OAuth 2.0 Authentifizierung
OTTO verwendet OAuth 2.0 für die Authentifizierung:
- Client Credentials Flow für Developer Token
- User Token wird über Installation ID abgerufen
3.2 Batch-Operationen
- Alle Produkte werden in einem Batch-Request übertragen
- API-Endpoint:
POST /v5/products
3.3 Separates Stock-Management
- Bestand wird über separate
setStocks()Methode übertragen - API-Endpoint:
POST /v5/products/availability
3.4 Separates Price-Management
- Preise können über separate
setPrices()Methode übertragen werden - API-Endpoint:
POST /v5/products/pricing
3.5 Kategorie-Attribute
- Attribute werden aus Kategorie-Spezifikationen (
categories.specs.spec) extrahiert - Werden über
getAttributesForUpdateMaterials()verarbeitet
4. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| OTTO Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
productReference |
material.materialMarktplaceMaterialName oder name |
ARTIKEL_DATA | Max 50 Zeichen |
sku |
material.sku |
ARTIKEL_DATA | - |
ean |
material.gtin |
ARTIKEL_DATA | - |
pzn |
material.pzn |
ARTIKEL_DATA | - |
productDescription.category |
material.categories[0].id |
CATEGORY | - |
productDescription.brandId |
material.brand.marketplaceBrandId |
ARTIKEL_DATA | - |
productDescription.productUrl |
material.urlkey |
ARTIKEL_DATA | - |
productDescription.description |
material.detailDescription oder description |
DESCRIPTION | - |
productDescription.bulletPoints |
material.bulletPoints |
ARTIKEL_DATA | - |
productDescription.productLine |
material.name |
ARTIKEL_DATA | Max 70 Zeichen |
productDescription.attributes |
material.categories.specs.spec |
ARTIKEL_ATTRIBUTE | - |
mediaAssets[] |
material.images[] |
IMAGE | - |
pricing.standardPrice.amount |
material.price.value |
PRICE | - |
pricing.standardPrice.currency |
material.price.currency |
PRICE | - |
pricing.vat |
Immer "FULL" |
PRICE | - |
pricing.msrp.amount |
material.price.rrp |
PRICE | - |
pricing.msrp.currency |
material.price.currency |
PRICE | - |
compliance.productSafety.addresses[] |
material.manufacturer, distributor |
ARTIKEL_DATA | - |
5. API-Endpunkte
- Produkt-Upload:
POST /v5/products - Bestand-Update:
POST /v5/products/availability - Preis-Update:
POST /v5/products/pricing - Status-Update:
POST /v5/products/active-status - Versand-Update:
POST /v1/shipments
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse