Weitere Informationen zum XML-Auftragsimport
Schema
Für die einfache Validierung eines Auftragsimports in Form einer XML-Datei stellen wir Ihnen ein Schema bereit. Dieses Schema deckt die grundlegend erforderlichen Informationen der XML-Datei ab.
Aufbau XML-Datei
Nachfolgend wird der Aufbau der XML-Datei beschrieben, dabei wird jeder XML-Tag genau erläutert. Eine Beispiel-Datei finden Sie hier: XML-Datei herunterladen (als Zip-Archiv)
Header
Die XML-Datei ist mit folgenden Kopfinformationen zu versehen:
<?xml version="1.0" encoding="ISO-8859-1"?>
Tag ‹tBestellungen›
Darunter befindet sich immer der Tag <tBestellungen>, welcher beliebig viele Bestellungen zum Import bereitstellen kann.
<?xml version="1.0" encoding="ISO-8859-1"?>
<tBestellungen>
<tBestellung>
</tBestellung>
<tBestellung>
</tBestellung>
<tBestellung>
</tBestellung>
</tBestellungen>
Tag ‹tBestellung›
Der Tag <tBestellung> enthält alle Tags, die für den Import einer Bestellung verwendet werden. Zusätzlich stellt er Attribute bereit, über welche der Import individuell gesteuert werden kann. Zum Beispiel kann hier definiert werden, ob ein Lieferschein erstellt oder gedruckt werden soll.
Folgende Attribute können im Tag <tBestellung> für den Import angegeben werden:
<xs:attribute name ="cRechnungsNr" type="string50" use="optional" />
<xs:attribute name="kFirma" type="xs:unsignedLong" use="optional" />
<xs:attribute name="kBenutzer" type="xs:unsignedLong" use="optional" />
‹tBestellung› Tags
Innerhalb des Tags <tBestellung> werden die Informationen zur Bestellung hinterlegt, die übertragen werden sollen.
Dies beinhaltet zum einen Informationen, die direkt für den Auftrag erforderlich sind und zum anderen Auflistungen der Positionen und Zahlungen. Des Weiteren werden hier die Lieferadresse und Zahlungsinformationen hinterlegt.
Im Folgenden werden die Tags beschrieben, die unmittelbar in die Erzeugung eines Auftrags einfließen.
<tBestellungen>
<tBestellung cRechnungsNr="" kFirma="1" kBenutzer="1"><!--cRechnungsNr, kFirma und kBenutzer sind Optional-->
<cSprache>ger</cSprache><!-- Pflichtfeld, siehe XSD für Werte -->
<cWaehrung>EUR</cWaehrung><!-- Pflichtfeld, siehe XSD für Werte -->
<fGuthaben>0.00</fGuthaben><!-- Optional -->
<fGesamtsumme>0.00</fGesamtsumme><!-- Optional -->
<cBestellNr>Test-1</cBestellNr>
<cExterneBestellNr/>
<cVersandartName>Selbstabholer</cVersandartName>
<cVersandInfo/>
<dVersandDatum/>
<cTracking/>
<dLieferDatum/>
<cKommentar/>
<cBemerkung/>
<!--<dErstellt></dErstellt>--> <!--Optional, wenn nicht angegeben DateTime.Now -->
<cZahlungsartName>Bar</cZahlungsartName>
<dBezahltDatum/>
<fBezahlt>0.00</fBezahlt><!--Optional-->
Tag ‹twarenkorbpos›
Jeder Auftrag beinhaltet beliebig viele Positionen, die im Tag <twarenkorbpos> einzeln definiert werden können.
<twarenkorbpos>
<cName>Mein Testartikel</cName>
<cArtNr>123</cArtNr>
<cBarcode/>
<cSeriennummer/> <!--Optional-->
<cEinheit/>
<fPreisEinzelNetto>16.79832</fPreisEinzelNetto>
<fPreis>19.99</fPreis> <!--Optional-->
<fMwSt>19.00</fMwSt>
<fAnzahl>1.00</fAnzahl>
<cPosTyp>standard</cPosTyp><!-- Pflichtfeld, siehe XSD für Werte -->
<fRabatt>7.00</fRabatt>
<!--<kArtikel>123</kArtikel><!--Optional-->
<twarenkorbposeigenschaft> <!--Artikeleigenschaften,optional -->
<cArtNr/>
<cBarcode/>
<cEigenschaftname/>
<cEigenschaftWertName/>
<cFreifeldWert/>
<fAufpreis/>
<kEigenschaft/><!--Optional-->
<kEigenschaftWert/><!--Optional-->
</twarenkorbposeigenschaft>
</twarenkorbpos>
<twarenkorbpos>
<cName>Selbstabholer</cName>
<cArtNr/>
<cBarcode/>
<cSeriennummer/> <!--Optional-->
<cEinheit/>
<fPreisEinzelNetto>0.00000</fPreisEinzelNetto>
<fPreis>0.00</fPreis><!--Optional-->
<fMwSt>19.00</fMwSt>
<fAnzahl>1.00</fAnzahl>
<cPosTyp>versandkosten</cPosTyp><!-- Pflichtfeld, siehe XSD für Werte -->
<fRabatt>0.00</fRabatt>
</twarenkorbpos>
Folgende Tags müssen innerhalb eines <twarenkorbpos>-Tags enthalten sein:
Tag ‹twarenkorbposeigenschaft›
Ein Tag <twarenkorbpos> kann beliebig viele Tags <twarenkorbposeigenschaft> abbilden. Diese beinhalten jeweils einen Verweis auf eine kEigenschaftwert (entspricht einer Variation) (Tabelle: teigenschaftwert Feld: kEigenschaftWert)
Tag ‹tKunde›
Über den Tag <tKunde> wird dem Auftrag der Kunde zugeordnet. Es kann nur die Kundennummer angegeben werden, wenn es sich um einen Bestandskunden handelt. Wenn keine Kundennummer angegeben ist, wird der Kunde neu angelegt.
<tkunde> <!-- Hier kann noch kKunden angegeben werden -->
<cKundenNr>1</cKundenNr>
<cAnrede>Herr</cAnrede>
<cVorname>Max</cVorname>
<cNachname>Mustermann</cNachname>
<cTitel/>
<cFirma/>
<cStrasse>Musterstraße 1</cStrasse>
<cAdressZusatz/>
<cPLZ>12345</cPLZ>
<cOrt>Musterstadt</cOrt>
<cBundesland>NRW</cBundesland>
<cLand>Deutschland</cLand>
<cTel>01234 56789</cTel>
<cMobil/>
<cFax>01234 567890</cFax>
<cMail>max.mustermann@musterprovider.de</cMail>
<cUSTID/>
<cWWW>www.musterseite.de</cWWW>
<dErstellt></dErstellt> <!--Optional, wenn nicht angegeben DateTime.Now -->
<cHerkunft>Wawi</cHerkunft>
</tkunde>
Tag ‹tlieferadresse›
Über den Tag <tlieferadresse> wird einem Auftrag die entsprechende Lieferadresse zugewiesen. Im Folgenden werden die selbsterklärenden Tags innerhalb von <tlieferadresse> angegeben, bei allen handelt es sich um Freitext-Felder:
<tlieferadresse>
<cAnrede>Herr</cAnrede>
<cVorname>Max</cVorname>
<cNachname>Mustermann</cNachname>
<cTitel/>
<cFirma/>
<cStrasse>Musterstraße 1</cStrasse>
<cAdressZusatz/>
<cPLZ>12345</cPLZ>
<cOrt>Musterstadt</cOrt>
<cBundesland>NRW</cBundesland>
<cLand>Deutschland</cLand>
<cTel>01234 56789</cTel>
<cMobil/>
<cFax>01234 567890</cFax>
<cMail>max.mustermann@musterprovider.de</cMail>
<kLieferadresse/><!--Optional-->
</tlieferadresse>
Tag ‹tzahlungsinfo›
Der Tag <tzahlungsinfo> definiert zusätzliche Zahlungsinformationen zu einem Auftrag. Bis auf den Tag <dGueltigkeit> (Typ Datum, Format: yyyy-mm-dd) handelt es sich hierbei ausschließlich um Textfelder:
<tzahlungsinfo>
<cBankName/>
<cBLZ/>
<cKontoNr/>
<cKartenNr/>
<dGueltigkeit/>
<cCVV/>
<cKartenTyp/>
<cInhaber/>
<cIBAN/>
<cBIC/>
</tzahlungsinfo>