Gibt den Inhalt aller existierender Warenkörbe („Trolleys“) zurück (optional nur die, bei denen zwischen zwei gegebenen Zeitpunkten zuletzt ein Artikel hinzugefügt wurde und/oder optional nur die, die einer Person zugeordnet werden können).
Anmerkungen zu den Ausgabespalten „HTreeNodeID“ und „TreeNodeID“ :
Im Warenkorb werden immer „HTreeNodeID“s gespeichert. Eine „HTreeNodeID“ ist ein Element im „Artikelbaum“ mit Gültigkeitszeitraum. Jedes Element im „Artikelbaum“ besitzt einen/mehrere Gültigkeitszeitraum/-zeiträume. Für gelöschte Elemente ist dieser Zeitraum abgeschlossen, für momentan gültige (unabhängig davon ob aktiviert oder nicht !!!) Elemente ist dieser Zeitraum OFFEN. Bekommt ein Element eine andere Position im Artikelbaum (d.h. wird es „verschoben“), so existieren mindestens ZWEI Gültigkeitszeiträume : die alte(n) Position(en) im Baum haben natürlich abgeschlossene Zeiträume, die neue (nach dem Verschieben) hat entsprechend einen offenen Zeitraum.
Besonderheit : DERZEIT hat jedes Artikel-Element („NodeID“) eine EINDEUTIGE Position im Artikelbaum („TreeNodeID“). Es ist jedoch vorgesehen, ein Element MEHRFACH im Baum einordnen zu können. Dies hat zur Folge, daß man ein Artikel-Element nicht unbedingt EINDEUTIG in der Hierarchie einordnen kann. DESWEGEN gibt es zu jeder „NodeID“ GENAU EINE „HTreeNodeID“ mit einem offenen Gültigkeitszeitraum, wobei die „TreeNodeID“ unbekannt ist (Weil dieses Element aber in jedem Fall unterhalb des „Wurzel-Elementes“ liegt, ist als „TreeNodeID“ die „0“ angegeben !)
Es kann also sein, daß sich im Warenkorb des Besuchers eine „HTreeNodeID“ befindet, deren zugehörige „TreeNodeID“ „0“ ist. Zur Preisermittlung oder zur Ermittlung der Vorgänger (→ s. Parameter „CalculatePrices = 1“ oder „IncludePredecessors = 1“ von om_GetTrolley_Pu) wird aber unbedingt ein Element im Artikelbaum benötigt ! Für solche Elemente wird dann einfach EIN „repräsentierendes“ Element (i.d. R. die kleinste „TreeNodeID“ ungleich „0“ zur „NodeID“) gewählt. Die ID dieses Elementes steht in der Rückgabespalte „TreeNodeID“.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
FromDateAndTime | NULL | Falls angegeben werden nur Warenkorbs-Positionen ermittelt, die zu einem Zeitpunkt hinzugefügt wurden, der HINTER (i.S.v. später) dieser Zeitangabe (Zeitpunkt eingeschl.) liegt. Dadurch kann es passieren, daß nur ein Teil eines Warenkorbs ermittelt wird ! | datetime | 6.5.0 |
ToDateAndTime | NULL | Falls angegeben werden nur Warenkorbs-Positionen ermittelt, die zu einem Zeitpunkt hinzugefügt wurden, der VOR (i.S.v. früher) dieser Zeitangabe (Zeitpunkt eingeschl.) liegt. Dadurch kann es passieren, daß nur ein Teil eines Warenkorbs ermittelt wird ! | datetime | 6.5.0 |
OnlyForIdentifiedPersons | 1 | Gibt an, ob nur die Warenkörbe in die Ergebnismenge aufgenommen werden, die einer Person zugeordnet werden können („1“) oder nicht („0“) | bit | 6.5.0 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
PersonID | Die ID der Person, der „VisitorID“ (und damit der Warenkorb) zugeordnet ist. Gibt es keine Zuordnung zu einer Person, wird hier „NULL“ zurückgegeben (kann nur im Fall „OnlyForIdentifiedPersons = 0“ vorkommen). | integer | 6.5.0 |
IdentifyingValue | Eigenschaft von „PersonID“ zum 1. (willkürlich gewählt) Merkmal des Personentyps von „PersonID“, welches ein Pflichtmerkmal UND eindeutig ist. „NULL“ wenn dieses Merkmal komplett lesend für den Aufrufer gesperrt ist (s. pm_GetPChAccRestrForUsers_Ad). | varchar(100) | 6.5.0 |
IdentValRestrByPattern | Was enthält „IdentifyingValue“ (womöglich wegen Zugriffsbeschränkungen nur einen Teil) ? - NULL : den vollständigen Wert - „#left(<n>)#“ : die ERSTEN n Zeichen - „#right(<n>)#“ : die LETZTEN n Zeichen („n = 0“ ⇒ „IdentifyingValue“ dann „NULL“) | varchar(100) | 6.5.4 |
VisitorID | Die ID des Besuchers, dem der Warenkorb „gehört“ | integer | 6.5.0 |
HTreeNodeID | ID eines Elementes aus „HistoryTreeView“ (in dieser ist die Historie des gesamten Artikelbaums abgebildet), das der Besucher „VisitorID“ in seinen Warenkorb gelegt hat | integer | 6.5.0 |
TreeNodeID | Enthält entweder die (zum Zeitpunkt „InputDateAndTime“) zur „HTreeNodeID“ korrespondierende ID eines Elementes im Artikelbaum oder (falls diese „0“ ist) ein zur „NodeID“ (die zu „HTreeNodeID“ gehört) zugehör. aber willkürlich gewähl. Element (s. Beschr.). | integer | 6.5.0 |
ItemNo | Eigenschaft des zu „HTreeNodeID“ zugehörigen Artikel-Elementes („NodeID“) zum Merkmal mit der ID „6“ (also die Artikelnummer). Existiert zum Artikel keine Eigenschaft oder ist „IncludeItemNo = 0“, wird „NULL“ zurückgegeben. | varchar(1000) | 6.5.0 |
Quantity | Anzahl des Artikels („TreeNodeID“ bzw. „HTreeNodeID“), die der Besucher „VisitorID“ in seinen „Warenkorb gelegt“ hat | integer | 6.5.0 |
InputDateAndTime | Zeitpunkt, zu dem der Besucher „VisitorID“ das Element „HTreeNodeID“ in den Warenkorb gelegt hat | datetime | 6.5.0 |
(parameterunabängige Sortierung)
NumberOfTrolleys | Ausgabeparameter für die Anzahl ALLER existierenden Warenkörbe - unter Beachtung von „FromDateAndTime“ und „ToDateAndTime“ aber unabhängig von „OnlyForIdentifiedPersons“ ! |
Code | Beschreibung | Quelle 5) |
---|---|---|
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | direkt und indirekt |
-500 | Falsche Parameter | direkt und indirekt |
-283 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
7.0.1 | 2013-08-07 | Datentyp der Rückgabespalte „Value“ hat sich erweitert ⇒ Anpassung der Doku |
6.5.4 | 2013-04-29 | 1. Implementierung Merkmal-Zugriffsbeschränkungen 2. Neue Spalte „IdentValRestrByPattern“ 3. Optimierungen 4. Ausgabeparameter „NumberOfTrolleys“ wurde falsch initialisiert |
6.5.2 | 2013-02-26 | Fehler behoben : Wenn zu einem Artikel-Element KEIN Eigenschaft zum Merkmal „Artikelnummer“ existiert, wurde der Datensatz NICHT zurückgegeben [laut Doku soll aber dann natürlich „ItemNo“ einfach „NULL“ sein] |
6.5.0 | 2012-09-17 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetTrolleys_Ad'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/om_GetTrolleys_Ad' | xmllint --format -
use dStore_php\WebService; $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); $request = new WebService\Requests\Engine\Procedure\Request( new WebService\Requests\AccessData('default'), 'om_GetTrolleys_Ad', array( // 'FromDateAndTime' => NULL, // 'ToDateAndTime' => NULL, // 'OnlyForIdentifiedPersons' => 1 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray(); $OutputParams = $xml_result->getOutputParametersAsArray();
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="om_GetTrolleys_Ad"> <Parameters> <!-- <Parameter Name="FromDateAndTime">NULL</Parameter> --> <!-- <Parameter Name="ToDateAndTime">NULL</Parameter> --> <!-- <Parameter Name="OnlyForIdentifiedPersons">1</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>