Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Für Shop-Anbindungen kann ein ganzer Warenkorb gerechnet, und mit derselben Schnittstelle auch als Bestellung übermittelt werden. die Datenstruktur sieht wie folgt aus: 

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.

Optional können diverse Adressen mitgegeben werden, wobei immer die Online*-Adressen verwendet werden sollen (blaue Tabellen). In die gelben Adress-Tabellen sollte geschrieben werden, wenn dies im Projekt explizit so definiert wird. 

Im Folgenden wird auf den Warenkorb und die angehängten Positionen eingegangen.

Ein einfacher Warenkorb mit einer Online-Lieferadresse sieht folgendermaßen aus:

Warenkorb-Bestellung
{
  "WarenkorbAktion": 10,
  "AdresseID": 1,
  "ExterneID": "123",
  "FremdsystemID": 1,
  "WarenkorbPosition": [
    {
      "ID": 1,
      "ArtikelID": 3889,
      "Anzahl": 10
    }
  ],
  "OnlineLieferAdresse": [
  	{
  	  "Name": "LA"
  	}
  ]
}

Die Antwort ist dann:

Antwort auf Warenkorb
{
    "ID": null,
    "BereichID": null,
    "AdresseID": 1,
    "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": 20.7,
    "TotalBetragNettoInkl": 21.2,
    "ZahlungswegKarteID": null,
    "WarenkorbAktion": 10,
    "LieferbedingungID": null,
    "ZahlungskonditionID": null,
    "OnlineLieferAdresse": [
        {
            "ID": null,
            "DatumErfassung": "2019-01-22T00:00:00.000Z",
            "Eintragtyp": 1,
            "LandID": null,
            "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": 20.7,
            "TotalBetragNettoInkl": 21.2,
            "AnzahlAbzug": 0,
            "GebuehrenArtikelID": null,
            "BetragGebuehrenExkl": 0,
            "BetragGebuehrenInkl": 0,
            "WarenkorbRabatt": [],
            "WarenkorbGebindePosition": []
        }
    ],
    "WarenkorbRabatt": []
}


Warenkorb

Der Warenkorb ist eine temporäre Struktur, die nicht abgespeichert werden kann. Sie wird für das Berechnen der Preise und die Umwandlung in eine Bestellung verwendet (= Verteilung der übermittelten Daten auf die diversen Online-Tabellen). In Folge ist nur ein POST möglich:

Aufruf

URI

Methode

Return

./WarenkorbPOSTWarenkorb vervollständigt mit den angehängten Objekten

Daten

Hier werden nur diejenigen Felder beschrieben, die irgendeine Logik hinterlegt haben, oder Einfluss auf die Berechnung haben. Die vollständige Beschreibung der Tabelle kann über die Metadaten abgefragt werden.


Feld

Funktion

Richtung

Format

Bemerkungen

idId des Warenkorbes, wird in der Antwort unverändert zurückgegeben. Kann zu Steuerzwecken verwendet werden.Ikey
InklMWSTGibt an, ob der Kunde MWSt-pflichtig ist.ObooleanAlle Preise verstehen sich immer ohne MWSt. 
Ausnahme sind einige berechnete (Komfort)Felder in der Ausgabe.
BereichIDId des Bereichs, in dem der Warenkorb gerechnet werden sollIkey

Kann leer gelassen werden, falls nicht mit Bereichen gearbeitet wird

Ref nach ../Bereich

AdresseIDID der Bestelladresse, ist massgebend für die Preisfindung (Preisgruppe, Rabatte etc.)IkeyRef nach ../Adresse
LieferAdresseIDID der LieferadresseIkeyRef nach ../Adresse
RechnungsAdresseIDID der RechnungsadresseIkeyRef nach ../Adresse
ExterneIDId/Schlüssel des Warenkorbes im Shop. Wird bei der Speicherung in die Folgetabellen weitergereicht.Istring[30]Über diese ID kann der Shop ein Tracking der Weiterverarbeitung der Bestellung machen, indem er in den Online-Tabellen die generierte Bestellung sucht und weiterverfolgt.
FremdsystemIDId des Shopsystems, muss im VinX/PerformX angelegt und mitgeteilt werden. Dient der Unterscheidung der angebundenen Systeme.Ikeyz.B. 1=Test, 2=Prod, 3=QS
PreisgruppeIDZu verwendende Preisgruppe. Wenn leer gelassen findet eine Preisgruppenfindung statt,I/OkeyRef nach ../Preisgruppe
WarenkorbAktionAuszuführende Aktion:
10: nur rechnen
20: rechnen und als Bestellung speichern 
Iinteger
ZahlungswegKarteIDFalls im Shop bezahlt wird muss hier der verwendetet Zahlweg angegeben werdenIkeyRef nach ../Zahlungsweg
ZahlungskonditionIDFalls im Shop bezahlt wird kann hier zusätzlich eine Zahlungskondition angegeben werden (z.B. Sofortbezahl-Rabatt)IkeyRef nach ../Zahlungskondition
SaferPayBetragBezahlter Betrag falls im Shop bezahltInumber[20,4]
TotalBetragNettoExklTotal Nettobetrag des Warenkorb exkl MWStOnumber[20,4]TotalBetragNetto aller Positionen - möglicher Auftragsrabatt
TotalBetragNettoInkldito inkl.Onumber[20,4]

WarenkorbPosition

Die Warenkorbpositionen sind immer an den Warenkorb gebunden und sind als Unterelemente mitzugeben (siehe auch Beispiel-Aufruf oben).

Daten

Es werden wiederum nur diejenigen Felder beschrieben, die irgendeine Logik hinterlegt haben, oder Einfluss auf die Berechnung haben. Die vollständige Beschreibung der Tabelle kann über die Metadaten abgefragt werden.

Feld

Funktion

Richtung

Format

Bemerkungen

idId der Position, muss eindeutig seinIkey
AnzahlBestellmengeInumber[20,4]
ArtikelIDId des BestellartikelsIkey

Ref nach ../Artikel

BezeichnungArtikelbezeichnungOstring[40]
EinzelPreisExklPreis des Artikel exkl. MWStI/OfloatWird bei Preisermittlung = [50, 55] übernommen, ansonsten ignoriert und ausgegeben
EinzelPreisInkldito inkl.I/OfloatWird bei Preisermittlung = [50, 55] übernommen, ansonsten ignoriert und ausgegeben
MWSTProzentArtikelMWSt-Satz, der dem Artikel zugrunde liegtOnumber[20,4]
MWSTProzentInPreisMWSt-Satz welcher im Grundpreis bereits enthalten istOnumber[20,4]
PreisErmittlung

Art des Preises, kann je nach Systemeinstellung übernommen oder ignoriert werden. Gültig sind:

10        Spezialpreis
20        Aktionspreis
30        Preis aus Preisgruppe
40        Basispreis
50        Preis überschrieben 

55        Internetpreis
I/Ointeger
TotalBetragNettoExklTotal Nettobetrag der Position exkl MWStOnumber[20,4]EinzelPreis * Anzahl - Betrag aller Rabattpositionen + (Anzahl * Preis aller Gebindepositionen)
TotalBetragNettoInkldito inkl.Onumber[20,4]
BetragGebuehrenExklBetrag der hinterlegten Gebühren exkl MWStOnumber[20,4]Anzahl * GebuehrenArtikel.Grundpreis
BetragGebuehrenInkldito inkl.Onumber[20,4]
GebuehrenArtikelIDId des Gebühren-ArtikelOkeyRef nach ../Artikel






WarenkorbRabatt

WarenkorbRabatt kann auf dem Warenkorb (Auftragrabatt) wie auf der Position erscheinen und kann nicht überschrieben werden.

Daten

Feld

Funktion

Richtung

Format

Bemerkungen

RabattBasisExklBetrag auf welchem der Rabatt angewandt wurde (vor Rabatt) exkl. MWSTOnumber[20,4]
RabattBasisInkldito inkl.Onumber[20,4]
BetragExklRabattbetrag exkl. MWSTOnumber[20,4]
BetragInkldito inkl.Onumber[20,4]
BezeichnungRabattbezeichnungOstring[40]

WarenkorbGebindePosition

WarenkorbGebindePosition wird auf der Position ausgegeben und kann nicht überschrieben werden.

Daten

Feld

Funktion

Richtung

Format

Bemerkungen

AnzahlMenge des GebindeOnumber[20,4]
GebindeArtikelIDId des Gebinde-ArtikelOkeyRef nach ../Artikel
MWSTProzentArtikeldito PositionOnumber[20,4]Gebinde ist in VinX immer 0.0
MWSTProzentInPreisdito PositionOnumber[20,4]Gebinde ist in VinX immer 0.0
PreisExklPreis des Gebinde-Artikel exkl. MWSTOnumber[20,4]
PreisInkldito inkl.Onumber[20,4]
















  • No labels