Feld-Mapping Dokumentation: reybex → Shopapotheke
Übersicht
Diese Dokumentation beschreibt, welche Felder von reybex nach Shopapotheke übertragen werden und wie sie gemappt werden. Die Übertragung erfolgt über die Shopapotheke REST API.
⚠️ WICHTIGER HINWEIS
Diese Dokumentation unterliegt kontinuierlichen Änderungen.
Die Integration zwischen reybex und Shopapotheke 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 Shopapotheke-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 Shopapotheke übertragen werden. Für jedes Shopapotheke-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 Shopapotheke Offer)
- MaterialVariant: Eine Variante eines Artikels in reybex (z.B. Größe, Farbe)
- MaterialMarktplace: Marktplatz-spezifische Einstellungen für einen Artikel
Shopapotheke-Produktstruktur
- Offer: Das Angebot in Shopapotheke
- Product: Das Produkt in Shopapotheke
- REST API:
POST /api/offers(JSON)
1. Produkt-Felder (Offer Level)
Die folgenden Felder werden auf Angebotsebene in Shopapotheke übertragen:
1.1 Basis-Informationen
| Shopapotheke Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
offer.shop_sku |
material.sku oder material.matCode |
Shop-SKU | Immer |
offer.product_id |
material.marketplaceProductId oder automatisch |
Produkt-ID | Immer |
offer.product_id_type |
Immer "SKU" |
Produkt-ID-Typ | Immer |
offer.state_code |
Immer "11" |
Zustandscode (11 = Neu) | Immer |
1.2 Beschreibung
| Shopapotheke Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
offer.description |
material.detailDescription |
Produktbeschreibung | Immer |
offer.internal_description |
material.description |
Interne Beschreibung | Immer |
1.3 Preise
| Shopapotheke Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
offer.price |
material.price.value |
Verkaufspreis | Immer |
offer.offer_additional_fields[].code |
Immer "strike-price-type" |
Zusatzfeld-Code | Immer |
offer.offer_additional_fields[].type |
Immer "LIST" |
Zusatzfeld-Typ | Immer |
offer.offer_additional_fields[].value |
Immer "recommended-retail-price" |
Zusatzfeld-Wert | Immer |
1.4 Bestand
| Shopapotheke Feld | reybex Feld | Beschreibung | Bedingung |
|---|---|---|---|
offer.quantity |
material.stock.value |
Bestand | Immer |
2. Export-Felder-Gruppen
Die Übertragung wird durch Export-Felder-Gruppen gesteuert:
| Export-Gruppe | Beschreibung | Übertragene Shopapotheke-Felder |
|---|---|---|
| ARTIKEL_DATA | Artikeldaten | shop_sku, product_id, product_id_type, state_code |
| DESCRIPTION | Beschreibung | description, internal_description |
| PRICE | Preis | price, offer_additional_fields[] |
| STOCK | Bestand | quantity |
3. Besondere Verhaltensweisen
3.1 REST API mit Import-System
Shopapotheke verwendet REST API mit Import-System:
- Angebot-Update: POST /api/offers (JSON)
- Import-Prüfung: GET /api/offers/imports/{importId} (JSON)
- Fehlerbericht: GET /api/offers/imports/{importId}/error_report (CSV)
3.2 Batch-Übertragung
- Alle Angebote werden in einem Batch übertragen
- Format:
{offers: [offer1, offer2, ...]} - Response enthält
import_idfür Status-Prüfung
3.3 Produkt-ID-Auflösung
- Wenn
marketplaceProductIdnicht vorhanden: Automatische Suche überGET /api/offers?sku={sku} - Verwendet
product_skuaus der Response
3.4 Fehlerbehandlung
- Fehler werden aus CSV-Fehlerbericht extrahiert
- Format:
{product-id, error-message} - CSV wird mit Semikolon als Trennzeichen geparst
3.5 Bestellungen
- Bestellungen mit Status "WAITING_ACCEPTANCE" werden automatisch akzeptiert
- Verwendet
PUT /api/orders/{orderId}/accept
4. Zusammenfassung: Vollständige Feld-Mappings
Produkt-Ebene
| Shopapotheke Feld | reybex Feld | Export-Gruppe | Hinweise |
|---|---|---|---|
shop_sku |
material.sku oder matCode |
ARTIKEL_DATA | - |
product_id |
material.marketplaceProductId oder automatisch |
ARTIKEL_DATA | - |
product_id_type |
Immer "SKU" |
ARTIKEL_DATA | - |
state_code |
Immer "11" |
ARTIKEL_DATA | - |
description |
material.detailDescription |
DESCRIPTION | - |
internal_description |
material.description |
DESCRIPTION | - |
price |
material.price.value |
PRICE | - |
offer_additional_fields[] |
Immer feste Werte | PRICE | - |
quantity |
material.stock.value |
STOCK | - |
5. API-Endpunkte
- Angebot-Update:
POST /api/offers(JSON) - Import-Prüfung:
GET /api/offers/imports/{importId}(JSON) - Fehlerbericht:
GET /api/offers/imports/{importId}/error_report(CSV) - Authentifizierung: API-Key (Authorization Header)
Version: 1.0
Erstellt: 2024
Zielgruppe: Externe Nutzer ohne reybex-Kenntnisse