Inhaltsverzeichnis
Dieses Modul ist Teil der universellen Shopschnittstelle, kann aber auch als eigene Option unter der ArtNr. 2025 gebucht werden.
Voraussetzung für den reibungslosen Import ist die Einhaltung des folgenden XML-Formats. Nicht gelieferte Datenfelder oder -bereiche können weggelassen werden.
Als Zeichensatz ist der Standard-Windows 1252 Zeichensatz zu verwenden, kein UTF8! Die maximalen Feldlängen für die Datenfelder im Kundenstamm und dem Auftragskopf entnehmen Sie bitte der Tabellenbeschreibung im Anhang.
Geben Sie am besten nur die XML-Tags mit, die Ihnen wirklich bekannt sind! So kann man den Netzwerk-Traffic verringern und unnötige Fehlerquellen vermeiden! (z.B. <kundID>0</kundid>)
Achten Sie zudem darauf, dass Verweise über IDs oder Nummern auch wirklich einen Treffer im IOS/DIALOG landen und nicht ins Leere verweisen.
Aufbau der Auftragsdateien (XML-Format)
Hier sehen Sie das Grundgerüst der XML-Struktur. In den folgenden Abschnitten, wird erläutert, wie sich die einzelnen Tags zusammensetzen.
Es können beliebig viele Bestellungen pro Datei importiert werden (Mehrfachverwendung des Tags <onlinebestellung />), allerdings sollten die Dateien nicht übermäßig groß werden, da es sonst zu Verarbeitungsfehlern kommen könnte.
<onlinebestellung>
<!-- Erweitertes Verarbeitungsprotokoll schreiben 0/1 -->
<debug>1</debug>
<!-- Daten für den Auftragskopf -->
<auftragskopf />
<!-- Positionsdaten -->
<positionen>
<!-- Beliebig viele Positionen -->
<position />
</positionen>
<!-- Daten für den Auftragsfuß -->
<auftragsfuss />
</onlinebestellung>
XML-Auftragskopf (Inhalt des Tags „auftragskopf“)
<!-- Zustimmung der Shop-AGB seitens des Kunden -->
<agbakzeptiert>JA</agbakzeptiert>
<!-- z.B. Interne AuftrNr vom Shop -->
<referenznummer>1455</referenznummer>
<!-- Zus. Referenznummer oder leer = „OrderNr: {referenznummer}“ -->
<bestellzeichen>Online-Order vom 01.01.2018</bestellzeichen>
<!-- Eindeutige Identifizierung des Vorgangs in Hyperlinks (info3) -->
<linkcode>8454h4iu3iu5</linkcode>
<!-- Termine -->
<BestellDatum>12.10.2008 14:50:00</BestellDatum>
<WunschTermin>TT.MM.JJJJ</WunschTermin>
<BestTermin>TT.MM.JJJJ</BestTermin>
<BestTerminEnde>TT.MM.JJJJ</BestTerminEnde>
<!-- ID des Vertreters in IOS -->
<vertreterid>10</vertreterid>
<!-- ID der Zahlungsart in IOS -->
<zartid>1</zartid>
<!-- ID des Lieferart in IOS -->
<lartid>3</lartid>
<!-- 11 = Internetshop, 12 = eBay, 13 = Amazon -->
<bestellart>11</bestellart>
<!-- Abweichende DruckerID für den Druck im IOS? (optional) -->
<druckerid>0</druckerid>
<!-- Bemerkung zum Auftrag -->
<externeBemerkung>Bemerkung des Kunden zum Auftrag</externeBemerkung>
<interneBemerkung>Bemerkung intern</interneBemerkung>
<!-- Zahlungstransaktionsnummer (optional) (alphanumerisch, max. 200 Stellen) -->
<ZartTransNr>XX10020</ZartTransNr>
<!-- Standard-Anschrift des Kunden-->
<kundenanschrift>
<!-- ID des Kunden in IOS (wenn bekannt) -->
<kundid>0</kundid>
<!-- z.B. KundenNr aus dem Shop -->
<kundennr2>833</kundennr2>
<!-- ID der Werbegruppen in IOS -->
<werbegruppenid>0</werbegruppenid>
<!-- Brutto? J/N, wenn leer dann J -->
<bruttorechnung>J</bruttorechnung>
<!-- Kontakt anlegen? -->
<kontaktart>IMP</kontaktart>
<Anrede>Herr</Anrede>
<!-- Nachname oder Vor- und Nachname des Kunden -->
<Name1>Meier</Name1>
<!-- Vorname des Kunden -->
<Name2>Peter</Name2>
<Name3>Dr.</Name3>
<Strasse>Kanalstrasse 21</Strasse>
<Land>D</Land>
<PLZ>42499</PLZ>
<Ort>Hückeswagen</Ort>
<Email>meier@aol.com</Email>
<Telefon>02192-92360</Telefon>
<Telefax></Telefax>
<Handy>171-4455666</Handy>
</kundenanschrift>
<!-- Wenn leer, dann wie Kundenanschrift -->
<lieferanschrift>
<Anrede>Herr</Anrede>
<Name1>Meier</Name1>
<Name2>Peter</Name2>
<Name3>Dr.</Name3>
<Strasse>Kanalstrasse 21</Strasse>
<Land>D</Land>
<PLZ>42499</PLZ>
<Ort>Hückeswagen</Ort>
</lieferanschrift>
<!-- Wenn leer, dann wie Kundenanschrift -->
<rechnungsanschrift>
<Anrede>Herr</Anrede>
<Name1>Meier</Name1>
<Name2>Peter</Name2>
<Name3>Dr.</Name3>
<Strasse>Kanalstrasse 21</Strasse>
<Land>D</Land>
<PLZ>42499</PLZ>
<Ort>Hückeswagen</Ort>
</rechnungsanschrift>
Erweiterung für Anwendung in der DIALOG Version ab 02/2011 das oder die Fahrzeuge werden angelegt und dem Kundensatz zugeordnet Aus Vereinfachungsgründen für das Importprogramm wurden als Tagnamen die Feldnamen der Datenbank gewählt.
<fahrzeuge>
<fahrzeug>
<ktypnr>interne ID Nummer des Kataloganbieters</ktypnr>
<fahrgestnr>WAUZZZ8K05022114</fahrgestnr>
<marke>Ford</marke>
<typ>Mondeo Kombi 24V</typ>
<modellcode></modellcode>
<!-- HSN, TSN und TypID/KtypNr -->
<schluesselnr1>0928</schluesselnr1>
<schluesselnr2>645</schluesselnr2>
<schluesselnr3>5600</schluesselnr3>
<motorcode>SEB</motorcode>
<kennzeichen>RS-J 7663</kennzeichen>
<erstzulassung>23.09.2004</erstzulassung>
<kmstand>14500</kmstand>
<bemerkungen />
<briefnr />
<MotorNr />
<Hubraum />
<KW />
<Gaenge />
<Farbe />
<FarbCodeAussen />
<FarbCodeInnen />
<Reifengroesse />
<Felgengroesse />
<Zuendschluessel />
<MobGarNummer />
<Baujahr />
<terminMobGar />
<terminAU />
<terminHU />
<terminTA />
<terminSI />
<terminS1 />
<terminS2 />
<leRechnung />
<BildName />
<Zubehoer />
<InternerAufwand />
<fahrzeug>
</fahrzeuge>
XML-Position (Inhalt des Tags „position“ innerhalb von „positionen“)
<!-- Positionsnummer, fortlaufender Counter -->
<positionsnr>1</positionsnr>
<!--
Suchbegriffe, jeder wird wenn vorhanden, einzeln in dieser Reihenfolge gesucht
-->
<!-- IOS ArtID oder leer, wenn es eine eindeutige Artikelnummer gibt -->
<artid>4711</artid>
<!-- eindeutige Artikelnummer aus IOS, wenn ArtID leer -->
<artnr>C20399</artnr>
<!-- EAN aus IOS, wenn ArtID leer -->
<ean>4012343512335</ean>
<!--
Als Alternative für die eindeutigen Suchbegriffe ist eine Kombination aus
ArtNrLf (Artikelnummer des Lieferanten) und LiefID möglich (Ohne die Angabe der LiefID könnten falsche Artikel gezogen werden!)
-->
<artnrlf>W712</artnrlf>
<liefid>112</liefid>
<!--
Die Artikeltexte ÜBERSCHREIBEN im Auftrag den Artikeltext aus dem Artikelstamm, wenn angegeben
-->
<artikeltext1>Bürste, Naturhaar</artikeltext1>
<artikeltext2></artikeltext2>
<artikeltext3></artikeltext3>
<artikeltext4></artikeltext4>
<!--
Die hier übergebenen Preise ÜBERSCHREIBEN die IOS-Preise und die Preisfindung! Ist das nicht gewollt, die Preise mit 0 (oder gar nicht) übergeben, dann wird der empf. Endkundenpreis bzw. der Preis nach Preisfindung bei identifizierten Kunden genommen
-->
<!-- Preis ohne Rabattabzug und ohne Berücksichtigung der VK-Einheit -->
<basispreis>19,90</basispreis>
<!-- evtl. Rabatt in Prozent -->
<posrabatt>0</posrabatt>
<!-- Einzelpreis inkl. Rabattabzug -->
<poseinzel>19,90</poseinzel>
<!-- Gesamtbetrag der Position -->
<posgesamt>19,90</posgesamt>
<bemerkung>Bemerkungen des Kunden zum Artikel</bemerkung>
<bestellmenge>1</bestellmenge>
<farbe />
<groesse />
XML-Auftragsfuß (Inhalt des Tags „auftrfuss“)
<!-- Anzahl Positionen -->
<poscount>1</poscount>
<!-- Auftragswert inkl. MwSt -->
<ordervalue>19,90</ordervalue>
Verarbeitung der Dateien
Die Shopaufträge können nur verarbeitet werden, wenn sie in dem o.a. XML-Format vorliegen. Das Arbeitsverzeichnis für die zu importierenden Shopaufträge ist festgelegt auf das Verzeichnis ..\import\shop unterhalb des Mandanten.
z.B.: D:\IOS2000\mand0\import\shop
Entweder werden die einzelnen Shopaufträge manuell in das Arbeitsverzeichnis kopiert oder der Abruf erfolgt aus dem Shop. Der manuelle Import dieser Dateien (Verbuchung) kann über Dienste → CC-Aktionen → Shop-XML-Import gestartet werden oder erfolgt wahlweise auch per Automatik in regelmäßigen Abständen.
Vom FTP-Server erfolgreich abgerufene Auftragsdateien werden im Anschluss gelöscht! Alte bereits verarbeitete Auftragsdateien (lokal) werden automatisch bei Erreichen des von Ihnen gewählten Alters gelöscht.
ACHTUNG! Bei der Neuanlage von Kunden wird das MwSt-Kennzeichen immer so vergeben, wie das des im ControlCenter gewählten Vorgabekunden. Wir können nicht erkennen, ob es sich um einen EU-Kunden mit oder ohne USt-ID handelt. Prüfen Sie bitte bei der ersten Verarbeitung eines Auslandskunden das MwSt-Kennzeichen und korrigieren Sie es ggfs. im Kundenstamm UND im Auftrag.
ACHTUNG! Versandkosten müssen vom Shop ermittelt und als Artikel in den Warenkorb eingefügt werden! Welche Artikel-ID’s für die Versandkosten zu verwenden sind, muss der Shopbetreiber mit dem Händler klären.
Verbuchung der Aufträge
Kundenzuordnung
Zuerst wird anhand der Merkmale Name/PLZ/Straße/E-Mail-Adresse geprüft, ob der Kunde schon angelegt ist. Falls nicht, wird er angelegt. Bei gleicher E-Mail-Adresse und unterschiedlichen Adressdaten wird der Kunde nicht neu angelegt, es werden nur die Adressdaten überschrieben.
Auftragsbearbeitung
Dann wird der Auftrag unter der vorgewählten Belegart neu angelegt. In der Regel ist das die Belegart Warenkorb (Buchungskreis eines Angebotes). Über Druck und Mailversand entscheidet die Einstellung in der Belegart selbst. Über das ControlCenter kann nur eingestellt werden, ob gedruckt oder exportiert werden soll.
Nach erfolgter Verarbeitung erhält der Shop-Administrator eine interne Nachricht mit allen Informationen und Fehlermeldungen zu diesem Verarbeitungslauf.
Die neuen Aufträge sind dann innerhalb der normalen Auftragsbearbeitung weiter zu verarbeiten und ggf. in andere Belegarten zu Wandeln.
Import der Aufträge im FTP Format von einem beliebigen Server
Diese Funktion ist in der universellen Shop-Schnittstelle enthalten und integriert. Für die Option 2025 können neue Aufträge mit dem Standard-FTP Import abgerufen werden.
Dazu muss im ControlCenter ein Task eingetragen werden (macht der MS Support) mit folgenden Parametern:
<ios_handle>0000000030</ios_handle>
<ios_dll>ios_comm</ios_dll>
<ios_class>ios_ftp</ios_class>
<ios_func>synclocaldirectory</ios_func>
<ftp_id>11</ftp_id> ' FTP-ID des angelegten FTP-Servers
<ftp_destdir>[import]\shop\</ftp_destdir> ' Zielverzeichnis für die Aufträge
<ftp_srcdir>/orders</ftp_srcdir> ' Quellverzeichnis auf dem FTP-Server
<delete>1</delete> ' 1=Quelldateien nach dem Laden löschen