Feld-Mapping Dokumentation: reybex → Amazon Selling Partner
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach Amazon Selling Partner übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die Amazon Selling Partner API (JSON Feed-basiert).
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und Amazon Selling Partner 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 Amazon-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 Amazon Selling Partner übertragen werden. Für jedes Amazon-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 Amazon Product)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe)
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
Amazon-Produktstruktur
- Product: Das Produkt in Amazon
- Variant: Die Variante in Amazon
- JSON Feed: Amazon verwendet JSON-basierte Feeds
- REST API: Amazon Selling Partner API
1. Produkt-Felder (Feed Message Level)
Die folgenden Felder werden auf Feed Message-Ebene in Amazon übertragen:
1.1 Basis-Informationen
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
message.messageId |
Automatisch generiert |
Nachrichten-ID |
Immer |
message.sku |
material.sku |
SKU |
Immer |
message.operationType |
Immer "PATCH" |
Operationstyp |
Immer |
message.productType |
material.categories[0].id (erste Komponente) |
Produkttyp |
Wenn vorhanden, sonst "PRODUCT" |
message.patches[] |
Verschiedene Patches |
Patches |
Immer |
1.2 Preis-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/purchasable_offer" |
Pfad |
Immer |
patch.value[].currency |
material.price.currency |
Währung |
Immer |
patch.value[].our_price[].schedule[].value_with_tax |
material.price.value |
Preis mit MwSt. |
Immer |
patch.value[].maximum_retail_price[].schedule[].value_with_tax |
material.price.value |
Maximaler Einzelhandelspreis |
Immer |
1.3 Verfügbarkeitsdatum-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/merchant_release_date" |
Pfad |
Immer |
patch.value[].value |
material.availabilityDate |
Verfügbarkeitsdatum |
Wenn vorhanden |
1.4 Zustand-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/condition_type" |
Pfad |
Immer |
patch.value[].value |
Immer "new_new" |
Zustand |
Immer |
1.5 Produktkennzeichnung-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/externally_assigned_product_identifier" |
Pfad |
Immer |
patch.value[].type |
material.idType |
Kennzeichnungstyp |
Wenn vorhanden |
patch.value[].value |
material.id |
Kennzeichnungswert |
Wenn vorhanden |
1.6 Beschreibung-Patches
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.path |
"/attributes/item_name" |
Pfad |
Wenn DESCRIPTION |
patch.value[].value |
material.name |
Produktname |
Wenn DESCRIPTION |
patch.path |
"/attributes/brand" |
Pfad |
Wenn DESCRIPTION |
patch.value[].value |
material.brand.name |
Marke |
Wenn DESCRIPTION |
patch.path |
"/attributes/product_description" |
Pfad |
Wenn DESCRIPTION |
patch.value[].value |
material.detailDescription oder material.description |
Produktbeschreibung |
Wenn DESCRIPTION |
patch.path |
"/attributes/bullet_point" |
Pfad |
Wenn DESCRIPTION |
patch.value[].value |
material.bulletPoints[] |
Stichpunkte |
Wenn DESCRIPTION |
patch.path |
"/attributes/generic_keyword" |
Pfad |
Wenn DESCRIPTION |
patch.value[].value |
material.keyWord |
Schlüsselwort |
Wenn DESCRIPTION |
patch.path |
"/attributes/country_of_origin" |
Pfad |
Wenn DESCRIPTION |
patch.value[].value |
material.countryOrigin |
Herkunftsland |
Wenn DESCRIPTION |
1.7 UVP-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/uvp_list_price" |
Pfad |
Immer |
patch.value[].value |
material.price.rrp (gerundet auf 2 Dezimalstellen) |
UVP |
Wenn vorhanden |
1.8 Varianten-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/child_parent_sku_relationship" |
Pfad |
Immer |
patch.value[].child_relationship_type |
Immer "variation" |
Beziehungstyp |
Immer |
patch.value[].parent_sku |
material.sku |
Eltern-SKU |
Immer |
1.9 Varianten-Theme-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/variation_theme" |
Pfad |
Immer |
patch.value[].name |
variant.name |
Variantenname |
Immer |
1.10 Parentage-Level-Patch
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.op |
Immer "replace" |
Operation |
Immer |
patch.path |
Immer "/attributes/parentage_level" |
Pfad |
Immer |
patch.value[].value |
"parent" oder "child" |
Parentage-Level |
Immer |
1.11 Kategorie-Spezifikationen-Patches
| Amazon Feld |
reybex Feld |
Beschreibung |
Bedingung |
patch.path |
"/attributes/{specName}" |
Pfad |
Wenn Kategorie-Spezifikationen vorhanden |
patch.value[].value |
spec.value |
Spezifikationswert |
Wenn Kategorie-Spezifikationen vorhanden |
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe |
Beschreibung |
Übertragene Amazon-Felder |
| ARTIKEL_DATA |
Artikeldaten |
sku, productType, condition_type |
| DESCRIPTION |
Beschreibung |
item_name, brand, product_description, bullet_point, generic_keyword, country_of_origin |
| PRICE |
Preis |
purchasable_offer, uvp_list_price |
| STOCK |
Bestand |
Wird über separate setStocks API übertragen |
| VARIANT |
Varianten |
child_parent_sku_relationship, variation_theme, parentage_level |
| CATEGORY |
Kategorie |
productType, Kategorie-Spezifikationen |
3. Besondere Verhaltensweisen
3.1 JSON Feed-basierte API
Amazon verwendet JSON Feed-basierte API:
- Feed-Erstellung: POST /feeds/2021-06-30/feeds (JSON)
- Feed-Dokument-Erstellung: POST /feeds/2021-06-30/documents (JSON)
- Feed-Upload: PUT auf Feed-Dokument-URL (JSON)
- Bestand-Update: Separate API (setStocks)
- Preis-Update: Separate API (setPrices)
- Authentifizierung: LWA (Login with Amazon) OAuth 2.0
3.2 Feed-System
- Feeds werden als JSON erstellt
- Format:
{header: {sellerId, version}, messages: []}
- Jede Nachricht enthält
messageId, sku, operationType, productType, patches[]
- Patches verwenden JSON Patch-Format (
op, path, value)
3.3 Nur Stock/Price Updates
- Wenn nur
STOCK Export-Gruppe: Nur setStocks wird aufgerufen
- Wenn nur
PRICE Export-Gruppe: Nur setPrices wird aufgerufen
- Wenn
STOCK und PRICE: Beide werden aufgerufen
3.4 Varianten-System
- Varianten werden als separate Nachrichten übertragen
- Parent-Artikel:
parentage_level = "parent"
- Child-Varianten:
parentage_level = "child"
- Varianten-Beziehung:
child_parent_sku_relationship
3.5 Produkttyp-Logik
- Produkttyp wird aus
material.categories[0].id extrahiert
- Format:
{categoryType}-{categoryId}
- Beispiel:
"PRODUCT_TYPE-CATEGORY_ID" → "PRODUCT_TYPE"
- Wenn keine Kategorie:
"PRODUCT"
3.6 Kategorie-Spezifikationen
- Kategorie-Spezifikationen werden aus
material.categories[0].specs.spec extrahiert
- Jede Spezifikation wird als Patch übertragen
- Pfad:
"/attributes/{specName}"
- Wert:
spec.value
3.7 Bestand-Update
- Bestand wird über separate
setStocks API übertragen
- Wird immer überschrieben (nicht als Delta berechnet)
- Negative Werte werden auch übertragen
3.8 Preis-Update
- Preis wird über separate
setPrices API übertragen
- Wird immer überschrieben (nicht als Delta berechnet)
4. Zusammenfassung: Vollständige Feld-Mappings
Feed Message-Ebene
| Amazon Feld |
reybex Feld |
Export-Gruppe |
Hinweise |
messageId |
Automatisch generiert |
- |
- |
sku |
material.sku |
ARTIKEL_DATA |
- |
operationType |
Immer "PATCH" |
- |
- |
productType |
material.categories[0].id (erste Komponente) |
CATEGORY |
- |
patches[].op |
Immer "replace" |
- |
- |
patches[].path |
Verschiedene Pfade |
- |
- |
patches[].value |
Verschiedene Werte |
- |
- |
Preis-Patch
| Amazon Feld |
reybex Feld |
Export-Gruppe |
Hinweise |
path |
"/attributes/purchasable_offer" |
PRICE |
- |
value[].currency |
material.price.currency |
PRICE |
- |
value[].our_price[].schedule[].value_with_tax |
material.price.value |
PRICE |
- |
value[].maximum_retail_price[].schedule[].value_with_tax |
material.price.value |
PRICE |
- |
Beschreibung-Patches
| Amazon Feld |
reybex Feld |
Export-Gruppe |
Hinweise |
path |
"/attributes/item_name" |
DESCRIPTION |
- |
value[].value |
material.name |
DESCRIPTION |
- |
path |
"/attributes/brand" |
DESCRIPTION |
- |
value[].value |
material.brand.name |
DESCRIPTION |
- |
path |
"/attributes/product_description" |
DESCRIPTION |
- |
value[].value |
material.detailDescription oder description |
DESCRIPTION |
- |
path |
"/attributes/bullet_point" |
DESCRIPTION |
- |
value[].value |
material.bulletPoints[] |
DESCRIPTION |
- |
path |
"/attributes/generic_keyword" |
DESCRIPTION |
- |
value[].value |
material.keyWord |
DESCRIPTION |
- |
path |
"/attributes/country_of_origin" |
DESCRIPTION |
- |
value[].value |
material.countryOrigin |
DESCRIPTION |
- |
Varianten-Patches
| Amazon Feld |
reybex Feld |
Export-Gruppe |
Hinweise |
path |
"/attributes/child_parent_sku_relationship" |
VARIANT |
- |
value[].child_relationship_type |
Immer "variation" |
VARIANT |
- |
value[].parent_sku |
material.sku |
VARIANT |
- |
path |
"/attributes/variation_theme" |
VARIANT |
- |
value[].name |
variant.name |
VARIANT |
- |
path |
"/attributes/parentage_level" |
VARIANT |
- |
value[].value |
"parent" oder "child" |
VARIANT |
- |
5. API-Endpunkte
- Feed-Erstellung:
POST /feeds/2021-06-30/feeds (JSON)
- Feed-Dokument-Erstellung:
POST /feeds/2021-06-30/documents (JSON)
- Feed-Upload: PUT auf Feed-Dokument-URL (JSON)
- Bestand-Update: Separate API (
setStocks)
- Preis-Update: Separate API (
setPrices)
- Authentifizierung: LWA (Login with Amazon) OAuth 2.0
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse