Feld-Mapping Dokumentation: reybex → GittiGidiyor
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach GittiGidiyor übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die GittiGidiyor SOAP API (XML-Format).
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und GittiGidiyor 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 GittiGidiyor-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 GittiGidiyor übertragen werden. Für jedes GittiGidiyor-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 GittiGidiyor Product)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe)
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
GittiGidiyor-Produktstruktur
- Product: Das Hauptprodukt in GittiGidiyor
- ProductId: GittiGidiyor-interne Produkt-ID
- ItemId: Händler-SKU
1. Produkt-Felder (Product Level)
Die folgenden Felder werden auf Produktebene in GittiGidiyor übertragen:
1.1 Basis-Informationen
| GittiGidiyor Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.productSellerCode |
material.sku |
Händler-SKU | Immer |
product.title |
material.name |
Produktname (max 64 Zeichen) | Immer |
product.subtitle |
material.subTitle oder material.name |
Untertitel (max 64 Zeichen) | Immer |
product.description |
material.detailDescription |
Produktbeschreibung | Immer |
product.category.id |
material.categories[].id |
Kategorie-ID | Immer |
product.currencyType |
material.price.currency |
Währungstyp (1=TRY, 2=USD, 3=EUR) | Immer |
product.approvalStatus |
Immer 1 |
Genehmigungsstatus | Immer |
product.productCondition |
Immer 1 |
Produktzustand (1=Neu) | Immer |
product.saleStartDate |
new Date() |
Verkaufsstartdatum | Immer |
1.2 Preise
| GittiGidiyor Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.price |
material.price.rrp oder material.price.value |
Verkaufspreis | Immer |
product.discount.type |
Immer "1" |
Rabatt-Typ | Immer (wenn rrp > value) |
product.discount.value |
material.price.rrp - material.price.value |
Rabatt-Wert | Immer (wenn rrp > value) |
Preislogik:
- price = rrp wenn vorhanden, sonst value
- discount wird nur übertragen, wenn rrp > value
1.3 Versand
| GittiGidiyor Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.preparingDay |
material.shipping.maxProcessDays |
Vorbereitungstage | Immer |
product.shipmentTemplate |
material.shipping.policyProfile.shippingPolicyId oder material.shipping.defaultCarrierName |
Versandvorlage | Immer |
Hinweise:
- shipmentTemplate verwendet shippingPolicyId falls vorhanden, sonst defaultCarrierName
- Kann auch aus authentication.profileShipping extrahiert werden
1.4 Bilder
| GittiGidiyor Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.images.image[] |
material.images[].image[] |
Produktbilder (max 12) | Immer |
Hinweise:
- Bilder werden auf maximal 12 begrenzt
- Format: {order: X, url: "imageUrl"}
- Hauptbild hat order = 1
- URL wird über generateImageUrl() generiert
1.5 Attribute
| GittiGidiyor Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.attributes.attribute[] |
material.categories[0].specs.spec[] |
Kategorie-Attribute | Immer |
Hinweise:
- Attribute werden aus Kategorie-Spezifikationen extrahiert
- MultiSelect-Attribute werden mit Separator getrennt
- Format: {name: "X", value: "Y"}
1.6 Varianten (Stock Items)
| GittiGidiyor Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
product.stockItems.stockItem[].gtin |
variant.gtin |
Varianten-EAN/GTIN | Export-Gruppe: VARIANT |
product.stockItems.stockItem[].quantity |
variant.stock |
Variantenbestand | Export-Gruppe: VARIANT |
product.stockItems.stockItem[].sellerStockCode |
variant.sku |
Varianten-SKU | Export-Gruppe: VARIANT |
product.stockItems.stockItem[].optionPrice |
variant.price.value + discountMain |
Variantenpreis | Export-Gruppe: VARIANT |
Hinweise:
- Varianten mit Bestand 0 werden ausgeschlossen (clearVariantWithZeroStock())
- optionPrice = variant.price.value + discountMain
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene GittiGidiyor-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | productSellerCode, title, subtitle, description, category, currencyType, approvalStatus, productCondition |
| DESCRIPTION | Beschreibung | description |
| PRICE | Preis | price, discount |
| STOCK | Bestand | stockItems.stockItem[].quantity |
| CATEGORY | Kategorien | category.id |
| ARTIKEL_ATTRIBUTE | Artikelattribute | attributes.attribute[] |
| IMAGE | Bilder | images.image[] (max 12) |
| VARIANT | Varianten | stockItems.stockItem[] |
3. Besondere Verhaltensweisen
3.1 SOAP API
GittiGidiyor verwendet SOAP API für alle Operationen:
- Produkt-Erstellung: SaveProduct (SOAP)
- Produkt-Update: SaveProduct (SOAP)
- Bestand/Preis-Update: Separate REST API (/product/tasks/price-stock-update)
3.2 XML-Format
- Alle Produkt-Updates erfolgen über XML-Format
- Verwendet
MarkupBuilderfür XML-Generierung
3.3 Separates Stock/Price-Management
- Bestand und Preise können über separate REST API übertragen werden
- Endpoint:
POST /product/tasks/price-stock-update - Format:
{payload: {integrator: "Reybex", skus: [{stockCode, quantity, salePrice, listPrice, currencyType}]}}
3.4 Produkt-Status-Prüfung
- System prüft, ob Produkt bereits verkauft wird (
getProductOnSale()) - System prüft, ob Produkt gelöscht wurde (
isProductDelete()) - Gelöschte Produkte werden neu erstellt
3.5 Varianten-Verwaltung
- Varianten mit Bestand 0 werden ausgeschlossen
- Varianten werden als
stockItemsübertragen - Format:
{gtin, quantity, sellerStockCode, optionPrice, ...}
3.6 Bild-Limit
- Maximal 12 Bilder pro Produkt
- Bilder werden auf 8 begrenzt (
forMax8imagesRule())
3.7 Deaktivierung
- Wenn
totalStock == 0undisOnlySellableWithPositiveStock = true, wird Produkt deaktiviert - Verwendet
disableMaterials()Methode
4. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| GittiGidiyor Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
productSellerCode |
material.sku |
ARTIKEL_DATA | - |
title |
material.name |
ARTIKEL_DATA | Max 64 Zeichen |
subtitle |
material.subTitle oder name |
ARTIKEL_DATA | Max 64 Zeichen |
description |
material.detailDescription |
DESCRIPTION | - |
category.id |
material.categories[].id |
CATEGORY | - |
currencyType |
material.price.currency |
ARTIKEL_DATA | 1=TRY, 2=USD, 3=EUR |
approvalStatus |
Immer 1 |
ARTIKEL_DATA | - |
productCondition |
Immer 1 |
ARTIKEL_DATA | - |
saleStartDate |
new Date() |
ARTIKEL_DATA | - |
price |
material.price.rrp oder value |
PRICE | - |
discount.type |
Immer "1" |
PRICE | Nur wenn rrp > value |
discount.value |
rrp - value |
PRICE | Nur wenn rrp > value |
preparingDay |
material.shipping.maxProcessDays |
SHIPPING | - |
shipmentTemplate |
material.shipping.policyProfile.shippingPolicyId oder defaultCarrierName |
SHIPPING | - |
images.image[] |
material.images[].image[] |
IMAGE | Max 12 Bilder |
attributes.attribute[] |
material.categories[0].specs.spec[] |
ARTIKEL_ATTRIBUTE | - |
stockItems.stockItem[].gtin |
variant.gtin |
VARIANT | - |
stockItems.stockItem[].quantity |
variant.stock |
VARIANT | - |
stockItems.stockItem[].sellerStockCode |
variant.sku |
VARIANT | - |
stockItems.stockItem[].optionPrice |
variant.price.value + discountMain |
VARIANT | - |
5. API-Endpunkte
- Produkt-Upload:
POST /listingapi/ws/IndividualProductService(SOAP) - Bestand/Preis-Update:
POST /product/tasks/price-stock-update(REST) - Produkt-Update:
POST /product/tasks/product-update(REST)
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse