...
Für Shop-Anbindungen kann ein ganzer Warenkorb gerechnet, und mit derselben Schnittstelle auch als Bestellung übermittelt werden. die Datenstruktur sieht wie folgt aus:
Drawio | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Als Wurzelelement steht der Warenkorb, dem die Positionen angehängt sind. Auf dem Warenkorb, wie auch der Position, kann ein Rabatt ausgegeben werden, dieser kann aber nicht übersteuert werden (Output only). Das selbe gilt für die Gebinde-Position.
...
Feld | Funktion | Richtung | Format | Bemerkungen |
---|---|---|---|---|
Anzahl | Menge des Gebinde | O | number[20,4] | |
GebindeArtikelID | Id des Gebinde-Artikel | O | key | Ref nach ../Artikel |
MWSTProzentArtikel | dito Position | O | number[20,4] | Gebinde ist in VinX immer 0.0 |
MWSTProzentInPreis | dito Position | O | number[20,4] | Gebinde ist in VinX immer 0.0 |
PreisExkl | Preis des Gebinde-Artikel exkl. MWST | O | number[20,4] | |
PreisInkl | dito inkl. | O | number[20,4] |
Vorgehen Adressen
Bestellung als Gast
Mindestanforderung: OnlineLieferadresse
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 WarenkorbAktion = 10)
- 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 PreisErmittlung) muss 55 sein. Damit macht der Warenkorb keine Neuberechnung des Preises.
- Der Warenkorb wird normal übermittelt (Flag WarenkorbAktion = 20)
Vorgehen Adressen
Bestellung als Gast
Mindestanforderung: OnlineLieferadresse
Optional: OnlineRechnungsadresse
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
--Aufruf: { "WarenkorbAktion": 10, "ExterneID": "123", "FremdsystemID": 1, "WarenkorbPosition": [ { "ID": 1, "ArtikelID": 3889, "Anzahl": 10 }, { "ID": 2, "Anzahl": 1, "ArtikelID": 700, "EinzelPreisInkl": 15.0, "PreisErmittlung": 55 }, { "ID": 3, "Anzahl": -1, "ArtikelID": 2035, "EinzelPreisInkl": 5.0, "PreisErmittlung": 55 } ], "OnlineLieferAdresse": [ { "Name": "LA" } ] } --Antwort: { "ID": null, "BereichID": null, "AdresseID": null, "ExterneID": "123", "FremdsystemID": 1, "Hinweis": null, "InklMWST": true, "KundenkonditionID": null, "LieferAdresseID": null, "Lieferdatum": null, "OnlineAdresseID": null, "OnlineLieferAdresseID": null, "OnlineRechnungsAdresseID": null, "PreisgruppeID": 2, "RechnungsAdresseID": null, "SaferPayBetrag": null, "SaferPayID": null, "SaferPayToken": null, "TotalBetragNettoExkl": 31.37, "TotalBetragNettoInkl": 33, "ZahlungswegKarteID": null, "WarenkorbAktion": 10, "LieferbedingungID": null, "ZahlungskonditionID": null, "OnlineLieferAdresse": [ { "ID": null, "DatumErfassung": "2019-04-29T00:00:00.000Z", "Eintragtyp": 1, "LandID": 1, "OnlineAktiv": false, "OnlineMailIstVerifiziert": false, "OnlinePasswortIstGeaendert": false, "Verarbeitet": false, "Name": "LA" } ], "WarenkorbPosition": [ { "ID": 1, "Anzahl": 10, "ArtikelID": 3889, "Bezeichnung": "Coca-Cola 6-Pack 1.5 L PET EW", "EinzelPreisExkl": 2.24, "EinzelPreisInkl": 2.3, "MWSTProzentArtikel": 2.5, "MWSTProzentInPreis": 2.5, "PreisErmittlung": null, "TotalBetragNettoExkl": 22.44, "TotalBetragNettoInkl": 23, "AnzahlAbzug": 0, "GebuehrenArtikelID": null, "BetragGebuehrenExkl": 0, "BetragGebuehrenInkl": 0, "WarenkorbRabatt": [], "WarenkorbGebindePosition": [ { "Anzahl": 1, "GebindeArtikelID": "50009", "MWSTProzentArtikel": 0, "MWSTProzentInPreis": 0, "PreisExkl": 0, "PreisInkl": 0 } ] }, { "ID": 2, "Anzahl": 1, "ArtikelID": "700", "Bezeichnung": "Lieferbeitrag Fr. 5.- (da Warenwert unter Fr. 100.-)Versandkosten", "EinzelPreisExkl": "13.93", "EinzelPreisInkl": "15", "MWSTProzentArtikel": 7.7, "MWSTProzentInPreis": 7.7, "PreisErmittlung": "55", "TotalBetragNettoExkl": "13.93", "TotalBetragNettoInkl": "15", "AnzahlAbzug": "0", "GebuehrenArtikelID": null, "BetragGebuehrenExkl": "0", "BetragGebuehrenInkl": "0", "WarenkorbRabatt": [], "WarenkorbGebindePosition": [ { "Anzahl": 1, "GebindeArtikelID": "", "MWSTProzentArtikel": 0, "MWSTProzentInPreis": 0, "PreisExkl": 0, "PreisInkl": 0 }, { "Anzahl": 1, "GebindeArtikelID": "", "MWSTProzentArtikel": 0, "MWSTProzentInPreis": 0, "PreisExkl": 0, "PreisInkl": 0 } ] }, { "ID": 3, "Anzahl": -1, "ArtikelID": "2035", "Bezeichnung": "SCHÜWO Geschenkgutschein", "EinzelPreisExkl": "5", "EinzelPreisInkl": "5", "MWSTProzentArtikel": 0, "MWSTProzentInPreis": 0, "PreisErmittlung": "55", "TotalBetragNettoExkl": "-5", "TotalBetragNettoInkl": "-5", "AnzahlAbzug": "0", "GebuehrenArtikelID": null, "BetragGebuehrenExkl": "0", "BetragGebuehrenInkl": "0", "WarenkorbRabatt": [], "WarenkorbGebindePosition": [ { "Anzahl": -1, "GebindeArtikelID": "", "MWSTProzentArtikel": 0, "MWSTProzentInPreis": 0, "PreisExkl": 0, "PreisInkl": 0 } ] } ], "OnlineAdresse": [], "WarenkorbRabatt": [] } |
...