Allgemein
...
- Berechnen, ohne den Auftrag auszulösen → calculate
- Auftrag auslösen mit Berechnungen → order
- der Auftrag wird in die VinX-Tabelle Online-Bestellung geschrieben, welche es erlaubt die Aufträge in VinX zu übernehmen. Dokumentation Benutzersicht: Online- Bestellungen.
Datenschema
Die Zuweisung eines Auftrages an eine Adresse erfolgt entweder direkt mit der Angabe der entsprechenden Id (Adress-Tabelle)
Drawio | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Adressen
|
Adressen
Die Zuweisung eines Auftrages an eine Adresse erfolgt entweder direkt mit der Angabe der entsprechenden Id (Adress-Tabelle) oder als Unterobjekte von Onlineadressen.
...
Pro Bestellposition müssen zwingend folgende Werte mitgegeben werden:
- articleId: Artikel-Id
- orderedQuantity: Bestellmenge
Optional kann der Preis vom Shop vorgegeben werden:
- unitPrice (oder unitPriceWithTax): Einheitspreis exkl. (oder inkl. MWSt)
- priceCalculationRule = "fromShop"
...
- specialConditionId: sobald eine specialConditionId mitgegeben wird, wird diese berücksichtigt. Falls eine Spezialkondition auf dem Kundenrabatt schon vorliegt, wird diese dann ignoriert. Spezialkonditionen - Hauptseite
Umgang mit Promocodes, Gutscheinen etc.
VinX unterstützt aktuell die Verwaltung von Promocodes, Gutscheinen, Einmalrabatten etc. nicht. Der Grund ist die enorme Vielvalt der Rabatt- und Aktionsmöglichkeiten, die nicht in einer allgmeinen Schnittstelle sinnvoll abgebildet werden können.
In der Warenkorbschnittstelle können diese Funktionalitäten aber ins VinX übergeben werden, wenn der Shop diese verwalten kann. Dazu muss wie folgt vorgegangen werden:
- Im Shop müssen die Spezialkonditionen, Aktionen, Gutscheine etc. verwaltet werden.
- Im VinX muss für die Fibu, Kostenrechnung oder Nachkalkulation je nach Anforderungen mindetstens ein Promo-Artikel angelegt werden. Dieser muss dem Shop bekannt sein, analog zu den Versandkosten.
- Wird ein Rabatt eingelöst, muss der Shop wie folgt vorgehen:
- Der Warenkorb muss im Modus "nur berechnen" übermittelt werden (Flag "action" = "calculate")
- Rabatte bestimmen, Z.b. Fixpreis-Promo, z.B. 20.- ab 100.- Bestellwert:
- Im Warenkorb ist eine neue Bestellposition hinzuzufügen, die
- als Artikel den obigen Promoartikel hat
- als Preis den negative Rabatt hat, im Beispiel hier wären das -20.-
- in der Preisregel (Feld priceCalculationRule) muss "fromShop" sein. Damit macht der Warenkorb keine Neuberechnung des Preises.
- Der Warenkorb wird normal übermittelt
Lieferpauschale
Pro Basket gibt es eine Lieferzuschläge siehe Lieferzuschläge - Hauptseite. Für den Warenkorb sind nur die Zuschläge "Für Verkauf" relevant.
Die Lieferzuschläge werden zusätzlich zu anderen Rabatten als Positionen agezeigt. Lieferzuschläge werden nur mit Flag "action" = "calculate" berechnet. "action" = "order" wird ohne berechnung ins VinX übernommen, dort findet dann die Berechnung statt.
Beispiel
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "action": "calculate", "conditionAddressId": 1002, "positions": [ { "posNumber": "1", "orderedQuantity": 12, "articleId": 5000 } ] } |
...