Feld-Mapping Dokumentation: reybex → N11 Pro
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach N11 Pro übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die N11 Pro REST API.
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und N11 Pro 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 N11 Pro-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 N11 Pro übertragen werden. Für jedes N11 Pro-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 N11 Pro Product Listing)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe)
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
N11 Pro-Produktstruktur
- Product Listing: Das Hauptprodukt in N11 Pro
- SKU Capability: Varianten-SKU
- Variant Capability: Varianten-Fähigkeit
1. Produkt-Felder (Product Listing Level)
Die folgenden Felder werden auf Produktebene in N11 Pro übertragen:
1.1 Basis-Informationen
| N11 Pro Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
productListing.sellerId |
params.authentication.sellerId |
Händler-ID | Immer |
productListing.sellerNote |
material.description |
Händler-Notiz | Immer |
productListing.sellerDescription |
material.detailDescription |
Händler-Beschreibung | Immer |
productListing.shipmentTemplateId |
material.shipping.policyProfile.shippingPolicyId oder params.authentication.profileShippingId |
Versandvorlagen-ID | Immer |
Hinweise:
- sellerNote und sellerDescription werden auch bei Update überprüft
- shipmentTemplateId verwendet shippingPolicyId falls vorhanden, sonst profileShippingId
1.2 Varianten (SKU List)
| N11 Pro Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
skuList[].sellerCode |
material.sku oder variant.sku |
Händler-SKU | Immer |
skuList[].gtin |
material.gtin oder variant.gtin |
EAN/GTIN | Immer |
skuList[].unitPrice |
material.price.value oder variant.price.value |
Einzelpreis | Immer |
skuList[].currencyId |
material.price.currency (konvertiert) |
Währungs-ID | Immer |
skuList[].unitStock |
material.stock.value oder variant.stock |
Einzelbestand | Immer |
skuList[].discountType |
Berechnet aus material.price.rrp und value |
Rabatt-Typ | Immer |
skuList[].discountValue |
Berechnet aus material.price.rrp und value |
Rabatt-Wert | Immer |
skuList[].discountStartDate |
Automatisch | Rabatt-Startdatum | Immer |
skuList[].discountEndDate |
Automatisch | Rabatt-Enddatum | Immer |
skuList[].minimumSaleQuantity |
material.minOrderQuantity |
Mindestverkaufsmenge | Immer |
skuList[].baremList[] |
material.prices[] |
Mengenstaffel | Immer |
skuList[].packageType |
material.basePriceUnit.unit == "KL" ? "PACKAGE" : "SINGLE" |
Verpackungstyp | Immer |
skuList[].packageSize |
material.packUnit oder 1 |
Verpackungsgröße | Immer |
skuList[].preparingDay |
material.deliveryDays |
Vorbereitungstage | Immer |
skuList[].state |
material.isMarketplaceActive ? "ACTIVE" : "INACTIVE" |
Status | Immer |
Währungs-Mapping:
- EUR → "EURTRY"
- USD → "USDTRY"
- Sonst → "TRYTRY"
Rabattlogik:
- Wenn rrp > value: Rabatt wird berechnet
- Verwendet createGeneralDiscount() Methode
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene N11 Pro-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | sellerId, sellerNote, sellerDescription, shipmentTemplateId, skuList[].sellerCode, skuList[].gtin, skuList[].packageType, skuList[].packageSize, skuList[].preparingDay, skuList[].state |
| DESCRIPTION | Beschreibung | sellerNote, sellerDescription |
| PRICE | Preis | skuList[].unitPrice, skuList[].currencyId, skuList[].discountType, skuList[].discountValue, skuList[].baremList[] |
| STOCK | Bestand | skuList[].unitStock |
| SHIPPING | Versand | shipmentTemplateId, skuList[].preparingDay |
| VARIANT | Varianten | Alle skuList[]-Felder |
3. Besondere Verhaltensweisen
3.1 REST API
N11 Pro verwendet REST API für alle Operationen:
- Produkt-Erstellung: POST /product-listing-capability (JSON)
- Produkt-Update: PUT /product-listing-capability/{productListingId} (JSON)
- SKU-Update: POST /sku-capability/{sellerId}/{sellerCode}/{action} (JSON)
- Varianten-Prüfung: GET /variant-capability?search=gtin:{gtin} (JSON)
3.2 Produkt-Prüfung
- System prüft, ob Produkt im Katalog existiert (
checkProductOnCatalog()) - System prüft, ob Produkt auf Marktplatz existiert (
checkProductOnMarket()) - Wenn Produkt nicht existiert: Produkt wird erstellt
- Wenn Produkt existiert: Produkt wird aktualisiert
3.3 Varianten-Verwaltung
- Varianten werden als
skuListübertragen - Jede Variante hat eigenen
sellerCode,gtin,unitPrice,unitStock - Varianten können hinzugefügt oder entfernt werden
3.4 Separates Property-Update
- Einzelne Eigenschaften können über separate API-Calls aktualisiert werden
- Endpoints:
/sku-capability/{sellerId}/{sellerCode}/{action} - Actions:
activate,set-discount,set-unit-stock,set-unit-price,set-barems,set-package,set-preparing-day,set-seller-code
3.5 Mengenstaffel (Barem List)
- Mengenstaffel wird aus
material.prices[]generiert - Format:
[{minimumQuantity: X, discount: Y}] - Verwendet
createWageScaleList()Methode
3.6 Rabatt-Verwaltung
- Rabatt wird automatisch berechnet, wenn
rrp > value - Verwendet
createGeneralDiscount()Methode - Format:
{discountType: X, discountValue: Y, discountStartDate: Z, discountEndDate: W}
3.7 Produkt-Vorschlag
- Wenn Produkt nicht im Katalog existiert: Produkt wird vorgeschlagen (
suggestProduct()) - Wenn Produkt im Katalog existiert: Produkt wird erstellt (
createProduct())
4. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| N11 Pro Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
sellerId |
params.authentication.sellerId |
ARTIKEL_DATA | - |
sellerNote |
material.description |
DESCRIPTION | - |
sellerDescription |
material.detailDescription |
DESCRIPTION | - |
shipmentTemplateId |
material.shipping.policyProfile.shippingPolicyId oder profileShippingId |
SHIPPING | - |
skuList[].sellerCode |
material.sku oder variant.sku |
ARTIKEL_DATA | - |
skuList[].gtin |
material.gtin oder variant.gtin |
ARTIKEL_DATA | Erforderlich |
skuList[].unitPrice |
material.price.value oder variant.price.value |
PRICE | - |
skuList[].currencyId |
material.price.currency (konvertiert) |
PRICE | "EURTRY", "USDTRY", "TRYTRY" |
skuList[].unitStock |
material.stock.value oder variant.stock |
STOCK | - |
skuList[].discountType |
Berechnet aus rrp und value |
PRICE | - |
skuList[].discountValue |
Berechnet aus rrp und value |
PRICE | - |
skuList[].discountStartDate |
Automatisch | PRICE | - |
skuList[].discountEndDate |
Automatisch | PRICE | - |
skuList[].minimumSaleQuantity |
material.minOrderQuantity |
PRICE | - |
skuList[].baremList[] |
material.prices[] |
PRICE | - |
skuList[].packageType |
material.basePriceUnit.unit == "KL" ? "PACKAGE" : "SINGLE" |
ARTIKEL_DATA | - |
skuList[].packageSize |
material.packUnit oder 1 |
ARTIKEL_DATA | - |
skuList[].preparingDay |
material.deliveryDays |
SHIPPING | - |
skuList[].state |
material.isMarketplaceActive ? "ACTIVE" : "INACTIVE" |
ARTIKEL_DATA | - |
5. API-Endpunkte
- Produkt-Erstellung:
POST /product-listing-capability(JSON) - Produkt-Update:
PUT /product-listing-capability/{productListingId}(JSON) - SKU-Update:
POST /sku-capability/{sellerId}/{sellerCode}/{action}(JSON) - Varianten-Prüfung:
GET /variant-capability?search=gtin:{gtin}(JSON) - Produkt-Prüfung:
GET /product-listing-capability/{productListingId}(JSON)
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse