• Startseite
  • /
  • Blog
  • /
  • Tutorial: Bestellungen aus xt:Commerce mit cURL herunterladen
Veröffentlicht am 1. Dezember 2015 von Daniel Peters
Tutorial: Bestellungen aus xt:Commerce mit cURL herunterladen

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

Daniel Peters

Daniel Peters ist selbstständiger Software-Entwickler aus Hamburg. Er ist spezialisiert auf E-Commerce-Schnittstellen und entwickelt Software zum Verbinden von Warenwirtschaftssystemen mit Onlineshops und Marktplätzen. Zudem berät er Onlinehändler, E-Commerce-Agenturen und Softwarehersteller bei der Implementierung von Schnittstellensoftware im E-Commerce-Umfeld.

Bleiben Sie Up to Date!

Verpassen Sie keinen Blog-Beitrag mehr und erhalten Sie neue Artikel und spannende Informationen per E-Mail direkt in Ihr Postfach.

Der Newsletter erscheint etwa 1x pro Monat und enthält Informationen zu meinen Produkten, Angeboten, Aktionen und meinem Unternehmen. Hinweise zum Datenschutz, Widerruf sowie Erfolgsmessung und Protokollierung erhalten Sie in der Datenschutzerklärung.