Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Über die CustomOfferAPI ist es möglich, Produkte in den Warenkorb zu legen die in dieser Konfiguration im Webshop nicht existieren oder bestellbar sind.

Hierbei werden 2 verschiedene Möglichkeiten unterstützt wie diese Produkte übergeben bzw. referenziert werden:

  • Ein Produkt existiert nicht als Standardprodukt im Webshop: Dies ermöglicht es individuelle oder dynamische Angebote mithilfe externer Tools flexibel zusammenstellen zu können – beispielsweise durch Konfiguratoren, Kalkulationssysteme oder CRM-Anwendungen. Die daraus entstehenden Produktofferte ist nicht als Standardprodukt im Webshop gelistet, sondern wird dynamisch generiert.

  • Ein Produkt existiert als Standardprodukt im Webshop, es können aber ausgewählte Produktdatenfelder wie z.B. der Preis oder die Rabattierfähigkeit individuell “überschrieben” werden: Dies ermöglicht es, individuell angepasste Angebote mithilfe externer Tools zu erstellen und gleichzeitig die vorhandenen Standardprodukte und Features zu nutzen

Über einen speziell erzeugten Link kann das individuell konfigurierte Angebot direkt im Webshop in den Warenkorb gelegt werden. So wird es dem Kunden ermöglicht, das personalisierte Angebot direkt zu bestellen – ohne dass es im regulären Shop-Sortiment auftauchen muss.

Info

Da es sich um nicht standardisierte Produkte handelt, muss das angebundene Warenwirtschaftssystem bzw. das System zur Weiterverarbeitung von Bestellungen in der Lage sein, diese individuellen oder abweichenden Artikel korrekt zu interpretieren und zu verarbeiten.

...

Pflichtinhalte:

  • Produktdaten

    • entweder in Form von technischen Feldern (Key-Value-Paare), wie in der Import-Dokumentation beschrieben (Variante Import-Format).
      Dem Angebot liegt kein Standardprodukt zugrunde.

    • oder aber in Form von technischen Eingabeparametern (Key-Value-Paare), analog der technischen Parameter der Produkteinzelansicht (Variante POST-Parameter-Format).
      Das Angebot basiert auf einem Standardprodukt.

  • Menge des Produkts.

Optionale Angaben Sicherungsmechanismen:

...

4. Einschränkungen und Besonderheiten

...

  • Für Angebote denen kein Standardprodukt zugrunde liegt

    • werden nur flache Produktdaten unterstützt:

      • Keine Variantenprodukte

      • Keine Set-/Bundle-Produkte

    • Es erfolgt keine inhaltliche oder logische Prüfung des Produkts durch den Shop.

  • Für Angebote denen ein Standardprodukt zugrunde liegt

    • es werden alle Produktarten und Features unterstützt welche auch von den Produkteinzelansicht aus unterstützt werden

    • Es erfolgen alle logischen und inhaltlichen Prüfungen des Standardprodukts, wie z.B.

      • es müssen alle notwendigen Eingabedaten übergeben werden

      • für ein Produkt müssen alle Varianten existieren / bekannt sein

      • der Lagerbestand muss verfügbar

      • etc

  • Eine Angebotsposition kann:

    • mehrfach in den Warenkorb gelegt werden,

    • mehrfach bestellt werden (auch mehrfach gleichzeitig),

    • nicht geändert werden,

    • nicht zusammengefasst werden (jede Angebotsposition bleibt einzeln bestehen)

...

Feld

Wert

Pflicht

Beschreibung

iss

String

X

ID des aufrufenden Systems

exp

NumericDate/String

 

Ablaufdatum

email

String

Wenn angegeben kann nur der Kunde mit der angegebenen eMailadresse das Angebot in den Warenkorb legen.
Bedeutet auch der Kunde muss angemeldet sein.

quantity

numeric

Menge

nur für producttype=free relevant

wenn nicht angegeben wird als Menge 1 verwendet

userindex

String

Wenn angegeben kann der Kunde mit dem angegebenen UserIndex das Angebot in den Warenkorb legen.
Bedeutet auch der Kunde muss angemeldet sein.

response

String

 

Steuerung ob als Antwort ein JSON-Objekt zurückgegeben oder ein Redirect zur Warenkorbseite erfolgen soll.
Wenn nicht angegeben wird response verwendet.

Mögliche Werte:
json
redirect

producttype

String

X

Definition ob das Angebot auf einem Standardprodukt basiert oder nicht. In Abhängigkeit davon werden andere Daten im Objekt product erwartet.

Mögliche Werte:
standard
free

product

Objekt

 

Produktdaten als JSON-Objekt.
Diese


Für producttype=free:

Die Daten müssen als Key-Value-Pairs analog zur Importdatendoku angegeben werden:
https://websale.atlassian.net/wiki/spaces/Doku/pages/1850343608/Format + und + Inhalt + - + WS-SFTP-Produkte + PRO +DE#Produktdaten-(wpupdate.csv%2Fwpcomplete.csv)Je nach Situation (DE)


Für producttype=standard:

Die Daten müssen als Key-Value-Pairs analog zur serialisierten Produktform auf der Produkteinzelansicht übergeben werden.

additionaldata

Objekt

 

In diesem Objekt können beliebige Daten als JSON-Daten übergeben werden.
Die Daten können im Warenkorb angezeigt und mit in den Bestelldaten übergeben werden.

PayLoad-Beispiel producttype=free:

Code Block
{
   "iss":      "OfferPunchout",
   "userindex":    "12345",
   "quantity": 1,
   "producttype":    "free",
   "product":
   {
      "ProdIndex":  "4711-12",
      "Name": "Wunderbares Produkt",
      "Number": "4711-SO",
      "Price": "199.90",
      "Weight": "218",
      "DiscountFactor":   "0",
      "DenyPayments":   "3,4,5,6",
      "ClimateNeutral":   "y",
      "DenyForRating":   "y"
   },
   "additionaldata":
   {
      "OfferDescription" : "Spezialangebot: individuelle Menge von x ..."
      "produktionsverfahren": "Spritzguss & Montage",
      "dispositionskennzeichen": "E",  
      "lagerort": "Halle 3, Regal A5",
      "fertigungstyp": "Einzelfertigung",
      "logistikklasse": "versandbereit"
   }
}

PayLoad-Beispiel producttype=standard:

Code Block
{
   "iss":      "OfferPunchout",
   "userindex":    "12345",   
   "producttype":    "standard",
   "product":
   {
      "input_extra_input_1_1": "Ohne Gestaltung",
      "input_extra_input_13_1": "false",
      "input_extra_input_15_1": "true",
      "input_var_PFYDL44_1_1": "130 g/m² Bilderdruckpapier",
      "input_var_PFYDL44_2_1": "4-seitig",      
      "cat_index_1": "2c9ceb8174d893a60174e2bbbd8b62b3",
      "prod_index_1": "PFYDL44",
      "input_var_PFYDL44_3_1": "1000",
      "input_qty_1": "1",
      "prod_index_1": "PFYDL44",
      "input_var_ZXXXXZ1Z_1_2": "1-Bruch Falz",
      "input_var_ZFYXXXXA_1_3": "glänzend gestrichen",
      "input_var_ZFYDL5AX_1_4": "bestes Preis-/Leistungsverhältnis",
      "input_var_ZFYXXX1B_1_5": "keine Bündelung",
      "input_var_ZXXXXX3D_1_6": "ohne Datencheck",
      "input_var_ZFYX420Y_1_7": "4 Arbeitstage",
      "customofferapi_price_1": "22.99",
      "customofferapi_discountfactor_1": "0",
      "customofferapi_price_2": "0",
      "customofferapi_discountfactor_2": "0",
      "customofferapi_price_3": "0",
      "customofferapi_discountfactor_3": "0",
      "customofferapi_price_4": "0",
      "customofferapi_discountfactor_4": "0",
      "customofferapi_price_5": "0",
      "customofferapi_discountfactor_5": "0",
      "customofferapi_price_6": "0",
      "customofferapi_discountfactor_6": "0",
      "customofferapi_price_7": "0",
      "customofferapi_discountfactor_7": "0"
   },
   "additionaldata":
   {
      "OfferDescription" : "Spezialangebot: individuelle Menge von x ..."
      "produktionsverfahren": "Spritzguss & Montage",
      "dispositionskennzeichen": "E",  
      "lagerort": "Halle 3, Regal A5",
      "fertigungstyp": "Einzelfertigung",
      "logistikklasse": "versandbereit"
   }
}

...