Formatbeschreibung: SkuOrder¶
Allgemeines¶
Das XML-Format für SkuOrders basiert auf dem Standardformat für XML-Kataloge. In einer Bestellung ist eine Bestellposition genau eine mögliche Konfiguration eines Lieferbereichs, der im Katalog definiert wurde.
Der Webservice PlaceSkuOrder bietet die Möglichkeit, Bestellungen einfach nur mit der SKU-ID zu übertragen und somit eine alternative Möglichkeit, Fassungen nur mit der SKU-ID (normalerweise EAN-Code) ohne Angabe von bestellrelevanten Features zu bestellen. Der Webservice generiert automatisch die entsprechende Order.xml-Datei und auch die Prüfungen werden auf die gleiche Weise durchgeführt wie im Kapitel PlaceOrder beschrieben. Alle Bestellungen werden immer im gleichen Format an die Lieferanten übertragen.
Wichtig für die korrekte Zuordnung der Bestellung für die Abfrage von OrderResponse und ASN, sind die Parameter
clientID
, clientOrderID
(eindeutige Bestellnummer , die in der Bestellung z.B. von der
Optiker-Software definiert werden können) und clientOrderItemID
(Positionsnummer, die
auch von der Optiker-Software definiert werden kann).
Darüber hinaus muss in der Bestellung mit den Feldern supplierID
und catalogID
definiert werden.
Damit wird definiert, für welchen Hersteller der Auftrag gilt und für welchen Katalog bzw. welches Land.
Die entsprechenden Spezifikationen werden vom Web Service GetCatalogInfo.ashx zurückgegeben.
Aufbau des Bestellformates (SkuOrder.xml)¶
Im Element SkuOrder
werden allgemeine Informationen zur Bestellung definiert. Es gliedert sich in
die zwei Bereiche Client
und SkuOrderItems
.
Die Validierung erfolgt auf Basis der jeweils aktuellsten Schema-Version. Diese ist unter folgender Url erreichbar:
https://templates.look4optics.com/v_1_13/skuorder.xsd
Unter Client
besteht die Möglichkeit optional Adressinformationen zum Besteller, bzw.
abweichende Lieferadressen, anzugeben.
Im Anschluss erfolgt die Beschreibung der einzelnen Auftragspositionen. Hier muss
lediglich Stückzahl (quantity
) und die SkuID
(normalerweise EAN-Code)
sowie die Positionnummer (clientOrderItemID
) angegeben werden.
Das Element SkuOrder
¶
Das Element SkuOrder enthält die Elemente Client
(Informationen zum Besteller) und
SkuOrderItems
(Bestellpositionen).
Das Element SkuOrder
beginnt mit der Definition allgemeiner Informationen zur
Bestellung.
Die Werte schemaMajorVersionID
und schemaMinorVersionID
sollten beim Schreiben
fest in der Bestellsoftware hinterlegt sein, da sie zeigen, welche Version des
Standards beim Aufbau des Dokuments verwendet wird.
So können sich andere Programme beim Parsen des Dokuments darauf einstellen.
Die Werte können in der Sendersoftware hochgesetzt werden, wenn es eine neue
Standard-Version gibt und das Programm auf Kompatibilität geprüft wurde.
Für die Beschreibung stehen nachfolgende Attribute zur Verfügung:
Attribute | Type / Use | Description / Example |
---|---|---|
catalogID |
xs:string required |
Version des Katalogformates auf dessen Basis die Erfassung der Auftragspositionen erfolgte (z.B. Schema_Catalog_1_6 ) |
clientOrderID |
xs:string required |
ID der Bestellung (des Übertragungssatzes) auf Senderseite (z.B. 00023-345785 ) |
generatorInfo |
xs:string required |
Information zur Generierungsquelle, Bezeichnung bzw. Version der Software (z.B. Look4 Webservices Test ) |
supplierID |
xs:string required |
UstID des Herstellers an den die Bestellung gesendet wird, Land und Nummer ohne Trennzeichen (z.B. DE813058544 ) |
Das Element Client
¶
Das Element Client
enthält das Attribut clientID
(Kundennummer beim
Lieferanten). Außerdem können optional noch Adressangaben gemacht werden
(z.B. abweichende Lieferadresse) falls diese nicht mit der Bestelladresse
übereinstimmt.
Attribute | Type / Use | Description / Example |
---|---|---|
clientID |
xs:string required |
Kundennummer beim Lieferanten (z.B. 012345 ) |
Das Element Address
hat folgende Attribute:¶
Im Element Address
können mehrere Adressen mitgegeben werden. Diese Angaben sind optional.
Für die Mitgabe von abweichenden Lieferadressen wird die Lieferadresse hier mitgegeben und kann
unter SkuOrderItems
einzelnen Auftragspositionen zugeordnet werden. Somit können beispielsweise
durch die Firmen-Zentrale Bestellungen für mehrere Filialen in einem Auftrag versendet werden.
Mit der Adresse können auch die zugehörigen clientID
(Kundennummer der Filiale beim Lieferanten)
übergeben werden.
Das Handling für abweichende Lieferadressen ist bei den Herstellern unterschiedlich und sollte deshalb immer mit LOOK4 oder den betreffenden Lieferanten abgestimmt bzw. in der Testphase umfassend getestet werden.
Attribute | Type / Use | Description / Example |
---|---|---|
addressID |
xs:string required |
Eindeutige ID für eine Adresse. Diese kann später einem oder mehreren Aufträgen zugeordnet werden - abweichende Lieferadresse (z.B. 123456 ) |
addressType |
xs:NMTOKEN required |
Adresstyp, Standardwerte: MainAddress, ShippingAddress, BillingAddress (z.B. MainAddress ) |
city |
xs:string required |
Stadt (z.B. Berlin ) |
clientID |
xs:string optional |
Kundennummer (z.B. 123423 ) |
email |
xs:string optional |
E-Mail-Adresse (z.B. mail@optician-test-smith.co.uk ) |
isoCountryCode |
xs:language required |
ISO Länderkennzeichen (z.B. GB ) |
name |
xs:string required |
Name (z.B. Schmidt Optik GmbH ) |
street |
xs:string required |
Strasse (z.B. Hauptstrasse 123 ) |
zip |
xs:string required |
PLZ (z.B. 12345 ) |
Beispiel XML-Code:
<Addresses> <Address clientType="Branch" addressID="1" addressType="MainAddress" name="Schmidt Optik GmbH" name2="Augenoptik und mehr" zip="10995" city="Berlin" isoCountryCode="DE" phone="+0049 030 1239-0" fax="+0049 030 123459-1" email="filiale@optik-test-schmidt.de" /> <!-- Adresse der Filiale --> <Address clientType="Retailer" addressID="2" addressType="BillingAddress" name="Schmidt Optik GmbH Verwaltung" name2="Augenoptik und mehr" zip="10999" city="Berlin" isoCountryCode="DE" phone="+0049 030 1236-0" fax="+0049 030 123456-1" email="zentrale@optik-test-schmidt.de" /> <!-- Adresse der Zentrale --> <Address clientType="Consumer" addressID="3" addressType="ShippingAddress" name="Heinrich Kiefer" street="Kurze Straße 1" zip="41235" city="Frankfurt" isoCountryCode="DE" phone="+0049 069 1239-0" email="mail@Heinrich-Kiefer-Test.de" /> <!-- Adresse des Endkunden --> </Addresses>
Das Element SkuOrderItems
¶
Jedes Element SkuOrderItems
kann aus einem oder mehreren Elementen SkuOrderItem
bestehen. Jede SkuOrderItem
beschreibt eine Bestellposition. Die Referenzierung für
die Statusabfrage und Zuordnung einzelner Auftragspositionen erfolgt über das
Attribut clientOrderItemID
. Dieses Feld muss bei Bestellungen per Webservice immer
gefüllt sein.
Zur Beschreibung werden die folgenden Attribute verwendet:
Attribute | Type / Use | Description / Example |
---|---|---|
skuID |
xs:string required |
Artikelnummer beim Lieferant (z.B. A2780 ) |
skuIDType |
xs:NMTOKEN optional |
SKU-ID (beschreibt eindeutig eine Artikel-Variante: Default=GTIN (z.B. standard ) |
quantity |
xs:positiveInteger required |
Gewünschte Menge (z.B. 1 ) |
clientOrderItemID |
xs:string required |
ID die (eindeutig) das OrderItem auf Senderseite bezeichnet. (z.B. LOOK4-WLK-01 ) |
addressID |
xs:string optional |
ID der zugehörigen Adresse (z.B. 123456 ) |
deliveryDate |
xs:dateTime optional |
Gewünschter Liefertermin (z.B. 2011-02-12T09:00:00 ) |
referenceName |
xs:string optional |
Kommission, Kunde / Auftragsnummer AO (z.B. Lager ) |
Beispiel XML-Code:
<SkuOrderItems> <SkuOrderItem skuID="5055022613306" quantity="2" clientOrderItemID="1"/> <SkuOrderItem skuID="5055022613269" quantity="1" clientOrderItemID="2"/> <SkuOrderItem skuID="5055022614150" quantity="3" clientOrderItemID="=3"/> </SkuOrderItems>
Beispiel XML-Code für eine komplette Bestellung¶
<SkuOrder catalogID="catalog_de_de.xml" clientOrderID="46789" generatorInfo="Test-App" supplierID="DE812671943" schemaMajorVersionID="1" schemaMinorVersionID="13" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://templates.look4optics.com/v_1_13/SkuOrder.xsd"> <Client clientID="10627"> <Addresses> <Address clientType="Branch" addressID="1" addressType="MainAddress" name="Schmidt Optik GmbH" name2="Augenoptik und mehr" zip="10995" city="Berlin" isoCountryCode="DE" phone="+0049 030 1239-0" fax="+0049 030 123459-1" email="filiale@optik-test-schmidt.de" /> <!-- Adresse der Filiale --> <Address clientType="Retailer" addressID="2" addressType="BillingAddress" name="Schmidt Optik GmbH Verwaltung" name2="Augenoptik und mehr" zip="10999" city="Berlin" isoCountryCode="DE" phone="+0049 030 1236-0" fax="+0049 030 123456-1" email="zentrale@optik-test-schmidt.de" /> <!-- Adresse der Zentrale --> <Address clientType="Consumer" addressID="3" addressType="ShippingAddress" name="Heinrich Kiefer" street="Kurze Straße 1" zip="41235" city="Frankfurt" isoCountryCode="DE" phone="+0049 069 1239-0" email="mail@Heinrich-Kiefer-Test.de" /> <!-- Adresse des Endkunden --> </Addresses> </Client> <SkuOrderItems> <SkuOrderItem skuID="5055022613306" quantity="2" clientOrderItemID="1"/> <SkuOrderItem skuID="5055022613269" quantity="1" clientOrderItemID="2"/> <SkuOrderItem skuID="5055022614150" quantity="3" clientOrderItemID="=3"/> </SkuOrderItems> </SkuOrder>
Vorankündigung für Schema 2.0¶
Die beiden IDs clientOrderID
und clientOrderItemID
werden verpflichtend. Dabei müssen
die beiden IDs nicht für sich genommen unique sein, aber in Kombination.
So werden auch nach Teilannahme und Korrektur gesplittete Aufträge unterstützt.
Übertragung der Bestellung¶
Das Format ist unabhängig von der Art der Datenübertragung. Die Übertragung erfolgt per Webservice mit einer HTTP-Anforderung (POST). Die Bestellung über die Webservices von LOOK4Optics erfolgt an folgende URL:
** Produktiv: ** https://www.look4optics.de/OrderService/PlaceSkuOrder.ashx
Für detaillierte Informationen kontaktieren Sie bitte den LOOK4 Support oder direkt den Lieferanten. Die URLs für Hersteller die eigene Webservices betreiben, finden Sie in den jeweiligen Katalogen im Element WebServices.