Feld-Mapping Dokumentation: reybex → Cosmoshop

Übersicht

Diese Dokumentation beschreibt, welche Felder von reybex nach Cosmoshop übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die Cosmoshop SOAP API (XML-Format).

⚠️ WICHTIGER HINWEIS

Diese Dokumentation unterliegt kontinuierlichen Änderungen.

Die Integration zwischen reybex und Cosmoshop befindet sich in ständiger Entwicklung. Daher kann es vorkommen, dass:

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 Cosmoshop übertragen werden. Für jedes Cosmoshop-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

Cosmoshop-Produktstruktur

1. Produkt-Felder (Article Level)

Die folgenden Felder werden auf Produktebene in Cosmoshop übertragen:

1.1 Basis-Informationen

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.articleNumber material.sku Artikelnummer Immer
article.ean material.gtin EAN/GTIN Export-Gruppe: ARTIKEL_DATA
article.asin material.asin ASIN Export-Gruppe: ARTIKEL_DATA
article.baseUnitId Immer 1 Basiseinheit-ID Export-Gruppe: ARTIKEL_DATA
article.ignoreStockInVariants Immer 0 Bestand in Varianten ignorieren Export-Gruppe: ARTIKEL_DATA
article.maxOrderQuantity Immer 100 Maximale Bestellmenge Export-Gruppe: ARTIKEL_DATA
article.download Immer 0 Download Export-Gruppe: ARTIKEL_DATA
article.displayStock Immer 'default' Bestandsanzeige Export-Gruppe: ARTIKEL_DATA
article.liveshoppingActive Immer 0 Live-Shopping aktiv Export-Gruppe: ARTIKEL_DATA
article.productGroupId Immer 0 Produktgruppen-ID Export-Gruppe: ARTIKEL_DATA
article.notActive Immer 0 Inaktiv Export-Gruppe: ARTIKEL_DATA
article.requestable material.isRequestable ? '1' : '0' Bestellbar Export-Gruppe: ARTIKEL_DATA
article.hideArticleOutOfStock material.isOnlySellableWithPositiveStock ? '1' : '0' Bei Bestand 0 ausblenden Export-Gruppe: ARTIKEL_DATA
article.stocking material.stock.value Bestand Export-Gruppe: ARTIKEL_DATA
article.onHomepage Immer 1 Auf Startseite Export-Gruppe: ARTIKEL_DATA
article.erpExported Immer 0 ERP exportiert Export-Gruppe: ARTIKEL_DATA
article.vatId material.vatRate (gesucht in vatRates) MwSt.-ID Export-Gruppe: ARTIKEL_DATA
article.packagingUnit Immer 1 Verpackungseinheit Export-Gruppe: ARTIKEL_DATA
article.grossWeight material.grossWeight Bruttogewicht Export-Gruppe: ARTIKEL_DATA
article.netWeight material.netWeight Nettogewicht Export-Gruppe: ARTIKEL_DATA
article.condition Immer 0 Zustand Export-Gruppe: ARTIKEL_DATA
article.manufacturer material.brand.name Hersteller Export-Gruppe: ARTIKEL_DATA
article.liveshoppingStart new Date() Live-Shopping Start Export-Gruppe: ARTIKEL_DATA
article.changed new Date() Geändert Export-Gruppe: ARTIKEL_DATA

1.2 Kategorien

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.categories.item[].categoryId material.categories[].id Kategorien (als IDs) Export-Gruppe: CATEGORY

1.3 Preise

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.recommendedRetailPrice material.price.rrp UVP/Listenpreis Export-Gruppe: PRICE
article.prices.item.price material.price.value Verkaufspreis Export-Gruppe: PRICE
article.prices.item.currency material.price.currency Währung Export-Gruppe: PRICE
article.prices.item.percent Immer 0 Prozent Export-Gruppe: PRICE
article.prices.item.filter Immer 'default' Filter Export-Gruppe: PRICE
article.prices.item.scaleId Immer 1 Skalen-ID Export-Gruppe: PRICE
article.prices.item.auto Immer 0 Automatisch Export-Gruppe: PRICE
article.prices.item.scale Immer 1 Skala Export-Gruppe: PRICE
article.prices.item.displayMethod Immer 'brutto' Anzeigemethode Export-Gruppe: PRICE
article.priceSuggest Immer 0 Preisvorschlag Export-Gruppe: PRICE
article.specialPrice Immer 0 Sonderpreis Export-Gruppe: PRICE

1.4 Bestand

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.stock.actual material.stock.value Aktueller Bestand Export-Gruppe: STOCK
article.stock.timestamp new Date() Zeitstempel Export-Gruppe: STOCK
article.stock.ignore Immer 0 Ignorieren Export-Gruppe: STOCK
article.stock.minStock material.minOrderQuantity Mindestbestand Export-Gruppe: STOCK

1.5 Beschreibung (mehrsprachig)

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.languageContent.item[].languageCode material.translations[].language Sprachcode Export-Gruppe: DESCRIPTION
article.languageContent.item[].name material.name oder material.translations[].name Produktname Export-Gruppe: DESCRIPTION
article.languageContent.item[].description material.detailDescription oder material.translations[].description (als Text) Vollständige Beschreibung Export-Gruppe: DESCRIPTION
article.languageContent.item[].descriptionShort material.description Kurzbeschreibung Export-Gruppe: DESCRIPTION
article.languageContent.item[].descriptionHtml material.detailDescription oder material.translations[].detailDescription HTML-Beschreibung Export-Gruppe: DESCRIPTION
article.languageContent.item[].urlkey material.translations[].urlkey (normalisiert) URL-Schlüssel Export-Gruppe: DESCRIPTION
article.languageContent.item[].imagesAltText material.translations[].imagesAltText Bild-Alt-Text Export-Gruppe: DESCRIPTION
article.languageContent.item[].descriptionIsPlain Immer 0 Beschreibung als Plain-Text Export-Gruppe: DESCRIPTION

Hinweise:
- description wird mit Jsoup als Text extrahiert
- urlkey wird normalisiert (Umlaute ersetzt, Leerzeichen durch Bindestriche)

1.6 SEO-Felder (mehrsprachig)

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.seo.title.item[].languageCode material.translations[].language (nur "de") SEO-Titel (Sprachcode) Export-Gruppe: SEO
article.seo.title.item[].value material.translations[].metaTitle (nur "de") SEO-Titel Export-Gruppe: SEO
article.seo.description.item[].languageCode material.translations[].language (nur "de") SEO-Beschreibung (Sprachcode) Export-Gruppe: SEO
article.seo.description.item[].value material.translations[].metaDescription (nur "de") SEO-Beschreibung Export-Gruppe: SEO
article.seo.keywords.item[].languageCode material.translations[].language (nur "de") SEO-Schlüsselwörter (Sprachcode) Export-Gruppe: SEO
article.seo.keywords.item[].value material.translations[].keyWord (nur "de") SEO-Schlüsselwörter Export-Gruppe: SEO

Hinweise:
- SEO-Felder werden nur für Sprache "de" übertragen

1.7 Verteilung

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.distributionInfo.avgDeliveryTime Immer '' Durchschnittliche Lieferzeit Export-Gruppe: ARTIKEL_DATA
article.distributionInfo.salesPerDay Immer '' Verkäufe pro Tag Export-Gruppe: ARTIKEL_DATA
article.distributionInfo.articleNumber material.manufacturer.number Hersteller-Artikelnummer Export-Gruppe: ARTIKEL_DATA
article.distributionInfo.distributorId Immer 0 Händler-ID Export-Gruppe: ARTIKEL_DATA
article.distributionInfo.price material.purPrice Einkaufspreis Export-Gruppe: ARTIKEL_DATA
article.distributionInfo.deliveryDate Leer Lieferdatum Export-Gruppe: ARTIKEL_DATA

1.8 Bilder

Cosmoshop Feld reybex Feld Beschreibung Bedingung
article.media.item[] material.images[] Produktbilder Export-Gruppe: IMAGE + refreshPictures = true

Hinweise:
- Bilder werden nur übertragen, wenn refreshPictures = true gesetzt ist
- Bilder werden in 3 Größen erstellt: preview (160px), normal (500px), detail (800px)
- Alte Bilder werden vor dem Upload gelöscht (deleteImages())
- Format: {type: 'image', id: 0, preview: {...}, normal: {...}, detail: {...}}

2. Export-Felder-Gruppen

Die Übertragung wird durch Export-Felder-Gruppen gesteuert:

Export-Gruppe Beschreibung Übertragene Cosmoshop-Felder
ARTIKEL_DATA Artikeldaten ean, asin, baseUnitId, ignoreStockInVariants, maxOrderQuantity, download, displayStock, liveshoppingActive, productGroupId, notActive, requestable, hideArticleOutOfStock, stocking, onHomepage, erpExported, vatId, packagingUnit, grossWeight, netWeight, condition, manufacturer, liveshoppingStart, changed, distributionInfo
DESCRIPTION Beschreibung languageContent.item[] (mehrsprachig)
SEO SEO-Felder seo.title, seo.description, seo.keywords (nur "de")
PRICE Preis recommendedRetailPrice, prices.item[]
STOCK Bestand stock.actual, stock.timestamp, stock.ignore, stock.minStock
CATEGORY Kategorien categories.item[].categoryId
IMAGE Bilder media.item[] (nur wenn refreshPictures = true)

3. Besondere Verhaltensweisen

3.1 SOAP API

Cosmoshop verwendet SOAP API für alle Operationen:
- Produkt-Upload: setArticles (SOAP)
- Bild-Upload: setArticleMedia (SOAP)
- Bild-Löschung: deleteArticleMedia (SOAP)

3.2 Session-Management

3.3 Mehrsprachigkeit

3.4 Bild-Verarbeitung

3.5 MwSt.-Verwaltung

4. Zusammenfassung: Vollständige Feld-Mappings

Produkt-Ebene

Cosmoshop Feld reybex Feld Export-Gruppe Hinweise
articleNumber material.sku Immer -
ean material.gtin ARTIKEL_DATA -
asin material.asin ARTIKEL_DATA -
baseUnitId Immer 1 ARTIKEL_DATA -
ignoreStockInVariants Immer 0 ARTIKEL_DATA -
maxOrderQuantity Immer 100 ARTIKEL_DATA -
download Immer 0 ARTIKEL_DATA -
displayStock Immer 'default' ARTIKEL_DATA -
liveshoppingActive Immer 0 ARTIKEL_DATA -
productGroupId Immer 0 ARTIKEL_DATA -
notActive Immer 0 ARTIKEL_DATA -
requestable material.isRequestable ? '1' : '0' ARTIKEL_DATA -
hideArticleOutOfStock material.isOnlySellableWithPositiveStock ? '1' : '0' ARTIKEL_DATA -
stocking material.stock.value ARTIKEL_DATA -
onHomepage Immer 1 ARTIKEL_DATA -
erpExported Immer 0 ARTIKEL_DATA -
vatId material.vatRate (gesucht) ARTIKEL_DATA -
packagingUnit Immer 1 ARTIKEL_DATA -
grossWeight material.grossWeight ARTIKEL_DATA -
netWeight material.netWeight ARTIKEL_DATA -
condition Immer 0 ARTIKEL_DATA -
manufacturer material.brand.name ARTIKEL_DATA -
liveshoppingStart new Date() ARTIKEL_DATA -
changed new Date() ARTIKEL_DATA -
categories.item[].categoryId material.categories[].id CATEGORY -
recommendedRetailPrice material.price.rrp PRICE -
prices.item.price material.price.value PRICE -
prices.item.currency material.price.currency PRICE -
stock.actual material.stock.value STOCK -
stock.timestamp new Date() STOCK -
stock.ignore Immer 0 STOCK -
stock.minStock material.minOrderQuantity STOCK -
languageContent.item[] material.translations[] DESCRIPTION Mehrsprachig
seo.title.item[] material.translations[].metaTitle (nur "de") SEO -
seo.description.item[] material.translations[].metaDescription (nur "de") SEO -
seo.keywords.item[] material.translations[].keyWord (nur "de") SEO -
distributionInfo.* material.manufacturer.number, material.purPrice ARTIKEL_DATA -
media.item[] material.images[] IMAGE Nur wenn refreshPictures = true

5. API-Endpunkte


Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse