Das vollständige Schema finden Sie unter orders_out_v1_1.xsd
Im folgenden gehen wir auf die wichtigsten Elemente des Schemas ein. Beim Lesen hilft es sich die unten stehende Beispieldatei vor Augen zu halten.
Eine Liste von exportierte Aufträgen.
Attribut | Pflicht? | Erklärung |
---|---|---|
CreationDate | ja | Zeitpunkt, an dem die Liste auf dem Fremdsystem erstellt wurde (z.B. UNIX-Timestamp) |
Unterhalb des Order-Elementes befinden sich immer allen Informationen zu dem entsprechenden Auftrag. Der Auftrag ist unterteilt in OrderHeader, OrderInformation (optional), OrderContent, OrderSurcharges, InvoiceAdress und DeliveryAdress (optional).
Attribut | Pflicht? | Erklärung |
---|---|---|
OrderID | ja | OrderID. Sollte als Referenz für spätere Statusrückmeldungen per orders_in im Fremdsystem gespeichert werden. |
Im OrderHeader werden allgemeine Informationen zum Auftrag übergeben. Der OrderHeader hat keine Attribute, jedoch folgende Nachfolge-Elemente:
Element-Name | Pflicht? | Erklärung |
---|---|---|
OrderDateAndTime | ja | Auftragszeitpunkt |
DeliveryDateAndTime | nein | Ein optionaler Lieferzeitpunkt |
Currency | ja | Währung des Auftrags, als Attribute werden UnitID und Symbol geliefert |
BruttoSum | ja | Brutto-Warenwert (ohne PaymentCost und ShippingCost und OrderSurcharges) des gesamten Auftrags. Da je nach Konfiguration (siehe auch Einstellung „SkipOrdersHavingDifferentOrderStates“) nicht alle Auftragspositionen exportiert werden kann die Summe der Warenwerte der Auftragspositionen von der BruttoSum unterschiedlich sein. |
NettoSum | ja | Netto-Warenwert |
PositionCount | ja | Anzahl Positionen im Auftrag (unabhängig des Status). Daran ist zu erkennen, ob alle Positionen des Auftrags exportiert wurden (siehe auch Einstellung „SkipOrdersHavingDifferentOrderStates“) |
Shipping | ja | |
Payment | ja |
Unterhalb dieses Elementes werden allgemeine Auftragsinformationen zurückgegeben. Pro Informationstyp gibt es ein Information-Element, welches als Wert die Information enthält.
Attribut | Pflicht? | Erklärung |
---|---|---|
InformationTypeID | ja | ID des Informationstyps (OrderInformationTypeID) |
Description | nein | Bezeichnung des Informationstyps |
Rechnungsanschrift des Auftrags.
Welche Merkmale exportiert werden sollen, muß in „PersonTypeSettings“ zum Schlüssel „PersonOutputCharacteristicIDsForOrderLists“ (pro „PersonTypeID“) hinterlegt werden.
Attribut | Pflicht? | Erklärung |
---|---|---|
PersonID | ja | PersonID der Person. |
(Optionale) Lieferanschrift des Auftrags. Die Lieferanschrift ist ebenfalls eine Person aus dem dStore. Ist die Lieferanschrift identisch mit der Rechnungsanschrift, so sind die PersonID-Attribute identisch.
Welche Merkmale exportiert werden sollen, muß in „PersonTypeSettings“ zum Schlüssel „PersonOutputCharacteristicIDsForOrderLists“ (pro „PersonTypeID“) hinterlegt werden.
Attribut | Pflicht? | Erklärung |
---|---|---|
PersonID | ja | PersonID der Person. |
(Personen-)Eigenschaft zu einer Invoice- bzw. DeliveryAddress. Es ist konfigurierbar, ob die Eigenschaften zum Zeitpunkt des Auftrags (OrderDateAndTime) oder zum aktuellen Zeitpunkt zurückgegeben werden sollen.
Attribut | Pflicht? | Erklärung |
---|---|---|
Characteristic | ja | Bezeichnung des Personen-Merkmals |
ID | ja | PersonCharacteristicID. Diese sollte als Referenz bei einem eventuellen Mapping verwendet werden, da die Bezeichnung grundsätzlich von einem Administrator veränderbar ist. |
Iso-Code | nein | Iso-Code zum Wert. Derzeit lediglich für Länder-Merkmale implementiert. |
Unterhalb des OrderContents (Position-Elemente) befinden sich die exportierten Auftragspositionen mit allen dazugehörigen Informationen.
Zu jeder Auftragsposition können drei konfigurierbare Eigenschaften (z.B. empf. VK, EAN und Beschreibung) mit exportiert werden. Dabei werden immer die Werte der Eigenschaften zum Auftragszeitpunkt („OrderDateAndTime“) zurückgegeben.
Wie an anderer Stelle erwähnt, müssen nicht alle Positionen zur gleichen Zeit exportiert werden.
Attribut | Pflicht? | Erklärung |
---|---|---|
No | ja | Positionsnummer (PositionNo) der Position. |
OrderContentID | ja | OrderContentID der Auftragsposition (jede Auftragsposition hat eine eigene ID). |
Quantity | ja | Wieviel wurde vom Artikel-Element bestellt (Menge)? |
NettoSum | ja | Netto-Betrag (in der durch „CurrencyID“ angegebenen Währung) der Auftragsposition |
BruttoSum | ja | Brutto-Betrag (in der durch „CurrencyID“ angegebenen Währung) der Auftragsposition |
OrderStateID | ja | OrderStateID des Status für die Auftragsposition |
HTreeNodeID | ja | HTreeNodeID des Elemente im Artikelbaum. |
Unterhalb dieser (optionalen) Elementes befinden sich die Informationen zur Auftragsposition (OrderContentInformation).
Attribut | Pflicht? | Erklärung |
---|---|---|
InformationTypeID | ja | OrderContentInformationTypeID |
Unterhalb dieses Elementes befinden sich die OrderSurcharges (Rabatte und Aufschläge zu Aufträgen).
Die Beispieldatei zeigt die umfangreichen Daten die mit dem Auftrag exportiert werden:
<?xml version="1.0" encoding="UTF-8"?> <ListOfOrders xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://resources.dstore.de/xsd/xml_SmartGate/orders_out_v1_1.xsd" CreationDate="1159151210"> <Order OrderID="10834"> <OrderHeader> <OrderDateAndTime>07.04.2004 07:46:54:500</OrderDateAndTime> <DeliveryDateAndTime/> <!-- PaymentCost und ShippingCost nach Steuern aufgeschluesselt finden sich unter OrderContent --> <Shipping ShippingTypeID="1" NettoCost="1.33" BruttoCost="1.5">Inland mit Porto (inkl. Vers.)</Shipping> <Payment PaymentTypeID="3" NettoCost="0" BruttoCost="0">Rechnung</Payment> <!-- Die Currency bezieht sich auf alle Betraege des Auftrags --> <Currency CurrencySymbol="EUR" CurrencyID="1"/> <!-- BruttoSum und Netto Sum sind die Summe aller Auftragspositionen, also der Warenwert des Auftrags unabhaengig vom Status --> <BruttoSum>36.9</BruttoSum> <NettoSum>31.01</NettoSum> <!-- Die gesamte Anzahl Positionen des Auftrag, was nicht zwingend die Anzahl exportierter Position sein muss --> <PositionCount>1</PositionCount> </OrderHeader> <!-- Zusätzliche Informationen zum Auftrag --> <OrderInformation> <Information Description="Order-Code" InformationTypeID="3">1183713711166cf</Information> </OrderInformation> <InvoiceAddress PersonID="4567"> <Property Characteristic="Kundennummer" ID="1">GEN9151208</Property> <Property Characteristic="E_Mail Person" ID="101">max@web.de</Property> <Property Characteristic="Firma" ID="108"/> <Property Characteristic="Vorname" ID="104">Ralf</Property> <Property Characteristic="Nachname" ID="103">Mustermann</Property> <Property Characteristic="Straße" ID="105">Bahnhofstr.</Property> <Property Characteristic="Hausnummer" ID="110">2</Property> <Property Characteristic="Hausnummer_Zusatz" ID="111">a</Property> <Property Characteristic="PLZ" ID="106">66955</Property> <Property Characteristic="Ort" ID="107">Pirmasens</Property> <Property Characteristic="Land" ID="109">D</Property> </InvoiceAddress> <!-- Ist die PersonID identisch zur PersonID der InvoiceAdress ist die Lieferanschrift die Rechnungsanschrift --> <DeliveryAddress PersonID="4567"> <Property Characteristic="Kundennummer" ID="1">GEN9151208</Property> <Property Characteristic="E_Mail Person" ID="101">max@web.de</Property> <Property Characteristic="Firma" ID="108"/> <Property Characteristic="Vorname" ID="104">Ralf</Property> <Property Characteristic="Nachname" ID="103">Mustermann</Property> <Property Characteristic="Straße" ID="105">Bahnhofstr.</Property> <Property Characteristic="Hausnummer" ID="110">2</Property> <Property Characteristic="Hausnummer_Zusatz" ID="111">a</Property> <Property Characteristic="PLZ" ID="106">66955</Property> <Property Characteristic="Ort" ID="107">Pirmasens</Property> <Property Characteristic="Land" ID="109">D</Property> </DeliveryAddress> <!-- Die Auftragspositionen: --> <OrderContent> <Position No="1" OrderContentID="4975" Quantity="1" NettoSum="31.01" BruttoSum="36.9" OrderStateID="6" HTreeNodeID="4615"> <!-- Eigenschaften des Artikels (max. 3) --> <Value1>001467</Value1> <Value2>Muster rot / XL</Value2> <!-- Zusätzliche Informationen zur Auftragsposition --> <OrderContentInformation> <Information InformationTypeID="4">gutschein015g</Information> </OrderContentInformation> </Position> </OrderContent> <!-- Ab- und Aufschläge abseits der Auftragspositionen/des Warenwertes wie Versandkosten, Guthabenverrechnungen, Gutscheine: --> <OrderSurcharges> <Surcharge No="1" TypeID="1" Description="Versandkosten" AbsoluteNetSurcharge="1.33" AbsoluteGrossSurcharge="1.5"> <!-- Aufschlüsselung nach Steuersätzen --> <ByTax TaxesMultiplier="1.07" AbsoluteNetSurcharge="0.76" AbsoluteGrossSurcharge="0.81"/> <ByTax TaxesMultiplier="1.2" AbsoluteNetSurcharge="0.57" AbsoluteGrossSurcharge="0.69"/> </Surcharge> <Surcharge No="2" TypeID="0" Description="Zahlungskosten" AbsoluteNetSurcharge="0" AbsoluteGrossSurcharge="0"> <ByTax TaxesMultiplier="1.2" AbsoluteNetSurcharge="0" AbsoluteGrossSurcharge="0"/> </Surcharge> </OrderSurcharges> </Order> </ListOfOrders>