Dieses Tutorial baut auf dem letzten Tutorial auf, in dem ich gezeigt habe, wie man den Bestellungs-Export in xt:Commerce VEYTON richtig konfiguriert. In diesem Tutorial möchte ich zeigen, wie man schließlich diese Bestellungen automatisiert mit dem kostenlosen Kommandozeilen-Tool cURL herunterlädt.
Was bisher geschah…
Zuletzt habe ich beschrieben, wie man es mit Bordmitteln von xt:Commerce VEYTON schafft, Bestellungen zu exportieren. Die Ausgangslage ist also jene, dass auf dem Webserver in einem durch Kennwort geschützten Ordner eine Textdatei liegt, die Bestellungen enthält. Das Dateiformat wurde zuvor selbst bestimmt und kann zum Beispiel CSV oder XML sein.
Die Vorgehensweise auf dem xt:Commerce Server
Damit diese Datei mit Bestellungen entstehen kann, muss man nun eine URL aufrufen. Dieser Aufruf sorgt dafür, dass die offenen Bestellungen in die Datei auf dem Server geschrieben werden.
https://shopserver.danielpeters.eu/cronjob.php?feed_id=3&user=test&pass=test
(Beispiel-URL)
Dadurch ist eine Datei auf dem Server entstanden. Sie enthält alle offenen Bestellungen.
https://shopserver.danielpeters.eu/export/hidden/orders.xml
(Beispiel-URL)
Tipp: Konfigurieren Sie den Export der xt:Commerce-Bestellungen so, dass sämtliche offenen Bestellungen exportiert werden. Nachdem die Bestellungen übertragen worden sind, sollten Sie diese dann manuell im xt:Commerce Backend auf einen anderen Status ändern (z. B. „Exportiert“). So werden keine Bestellungen doppelt exportiert.
Anwendungsfall: Import in Warenwirtschaft
Die meisten Anwender verarbeiten die Bestellungen im Anschluss weiter. Dies geschieht in der Regel mit einer Faktura-Software (auch Warenwirtschaft oder Wawi). Dort werden die Bestellungen eingelesen und weiterverarbeitet (z. B. zur Rechnungs-Erstellung, Übergabe an die Finanzbuchhaltung oder Lager-Verwaltung). Diesen Schritt kann man mit Hilfe des Exports aus dem xt:Commerce Webshop nun viel einfacher erledigen.
Ich gehen in diesem Fall davon aus, dass der Export bereits in einem Format vorliegt, das die Warenwirtschafts-Software direkt verarbeiten kann.
In der Praxis würde es allerdings bedeuten, dass der Export aus xt:Commerce für die jeweilige Warenwirtschaft speziell eingestellt werden muss. Das Format ist in der Regel für jede Warenwirtschaft unterschiedlich, kann aber entsprechend angepasst werden. Bei Fragen zu solchen Fällen stehe ich Ihnen gern beratend zur Verfügung.
Bestellungen automatisiert herunterladen mit cURL
Das kostenlose Kommandozeilen-Programms cURL ermöglicht die Kommunikation mit einem Webserver und den Download von Dateien. Das Programm ist aus der Linux-Welt bekannt, aber auch für Windows verfügbar. Ich beziehe mich bei den Beispielen allerdings nur auf die Windows-Version, da die meisten Warenwirtschafts-Programme ebenfalls für Windows existieren. Dies ist das in der Praxis am häufigsten anzutreffende Szenario.
cURL kann hier heruntergeladen werden: http://curl.haxx.se/download.html
Planungen vorab
Zunächst muss man sich Gedanken darüber machen, an welcher Stelle man die Bestellungen benötigt. Hier bietet sich ein Ordner an, aus dem die Warenwirtschaft-Software Bestellungen importieren kann. Meistens ist dies ein beliebiger Ordner auf dem PC oder im Netzwerk. In meinem Fall reicht es aus, wenn die Bestellungen in einem lokalen Ordner auf dem Computer abgelegt werden.
Ich entscheide mich für folgenden Pfad: D:\shop-orders\orders\orders.xml
Darüber hinaus sollte das Programm cURL in einem Ordner abgelegt werden. Ich entscheide mich für den Ordner D:\shop-orders\curl\
.
In diesem Ordner werden dann 4 Programmdateien abgelegt.
Skript für Bestellungen
Um den Aufruf automatisieren zu können, bietet sich die Erstellung eines Skripts an. Dieses Skript ruft im ersten Schritt die URL zum Export der Bestellungen auf und lädt die Datei im zweiten Schritt herunter. Unter Windows genügt ein Batch-Skript mit der Dateiendung „.cmd“.
Das Skript hat folgenden Inhalt:
call "D:\shop-orders\curl\curl.exe" "https://shopserver.danielpeters.eu/cronjob.php?feed_id=3&user=test&pass=test" call "D:\shop-orders\curl\curl.exe" "https://shopserver.danielpeters.eu/export/hidden/orders.xml" -o "d:\shop-orders\orders\orders.xml" -uexport:export
Erklärung für die 1. Zeile
In der 1. Zeile wird die URL zum Export der Bestellungen aufgerufen. Der Befehl call
sorgt dafür, dass mit dem Ausführen des nächsten Befehls gewartet wird, bis dieser Befehl ausgeführt wurde. Die URL enthält die in xt:Commerce konfigurierten Anmeldedaten für Benutzer „test“ und das Kennwort „test“. Weitere Infos zum Aufbau der URL: Tutorial: Bestellungs-Export in xt:Commerce VEYTON richtig konfigurieren
Erklärung für die 2. Zeile
In der 2. Zeile wird der Download gestartet. Durch die Option -o
wird angegeben, dass ein Download erfolgen soll und die Datei lokal abgespeichert werden soll. Dahinter steht der Ziel-Pfad. Durch die Option -u
wird das der Benutzer „export“ und das Kennwort „export“ des geschützten Verzeichnisses angegeben. Diese Angabe erfolgt unmittelbar hinter dem „u“.
Dieses Skript wird unter folgendem Pfad gespeichert: D:\shop-orders\script\order-download.cmd
Skript testen
Das Skript wird per Doppelklick gestartet. Nach dem Ablauf des Skripts ist die Datei D:\shop-orders\orders\orders.xml
vorhanden.
Download von Bestellungen automatisieren
Nachdem das Skript getestet wurde, kann der Aufruf automatisiert werden. Hierzu verwende ich die Windows Aufgabenplanung und lasse das Skript 1x pro Tag automatisch laufen.
Wie man die Windows Aufgabenplanung einstellt, werde ich in einem nächsten Tutorial erläutern.
Bestellungen in Warenwirtschaft einlesen
Die heruntergeladenen Bestellungen werden schließlich in die Warenwirtschaft eingelesen. Dazu haben die meisten Programme eine Import-Funktion.
In diesem Beispiel verwende ich die JTL Wawi. Die Funktion kann über „Datei / Auftragsimport (*.xml)“ aufgerufen werden. Dort wählt man die Datei D:\shop-orders\orders\orders.xml
aus, wählt einige Optionen und startet den Import anschließend mit einem Klick auf den Button „Aufträge importieren“.
Links zum Beitrag
- Letztes Tutorial: Tutorial: Bestellungs-Export in xt:Commerce VEYTON richtig konfigurieren
- http://curl.haxx.se: Offizielle Homepage von cURL
- http://curl.haxx.se/download.html: Downloadseite von cURL
- Shop-Software: Offizielle Seite von xt:Commerce VEYTON
- Warenwirtschaft: JTL Wawi