Anbindung an Online-Shops

Installationsanleitung für ShopImport-Skripte. Die Faktura bietet eine Schnittstelle, über die Bestellungen aus Onlineshops (z.B. Shopware, xtCommerce, Veyton, xtc-modified oder osCommerce) importiert werden können.

ShopImport-Skripte

ShopImport-Skripte werden genutzt, um Bestellungen aus Online-Shops in eine XML-Struktur zu exportieren. Die Skripte ermöglichen es somit der Faktura, Bestellungen vom jeweiligen Onlineshopsystem herunterzuladen und diese in die Faktura zu importieren.

Es sind Scripte für die Shopsysteme Shopware, xtCommerce (Veyton), xtc-modified und osCommerce bereits fertig enthalten. Für andere Shops können passende Scripte erstellt werden, welche die Bestellungen in ein XML-Struktur konvertieren, die dann von der Faktura gelesen werden kann.

Systemvoraussetzungen

Angenommen wird, dass das Onlineshopsystem bereits auf einem Webserver installiert ist. Damit sind zwingend alle Voraussetzungen für den Einsatz der Skripte erfüllt.

Abhängig vom eingesetzten System wird ein passemdes Skript benötigt, welches die Bestellungen als XML-Daten anbietet. Es sind Beispiel-Skripte im Verzeichnis <Installationsverzeichnis>/doc/Faktura/ShopImport/ vorhanden:

Hinweise

Die Faktura ignoriert Währungen. Das heißt, dass Freeware Faktura beim Import nicht zwischen Währungen unterscheidet und diese auch nicht umrechnet. Beispiel: Im Shop sind Artikel mit einem Preis von 100 US-Dollar eingestellt. Wird nun eine Bestellung über diesen Artikel getätigt und diese wiederum in Freeware Faktura importiert, wird ein Preis von 100 Euro veranschlagt.

Installation

  1. Variablen mit Werten belegen
  2. Upload des Skripts
  3. Eingeben der Informationen in der Faktura und der Download von Bestellungen

Variablen mit Werten belegen

Zunächst müssen einige Variablen im Skript mit Werten belegt werden.

Hierzu ist das für den Shop relevante PHP-Skript in einem Editor zu öffnen.

Beispiel osCommerce: geöffnet werden muss die Datei export_oscommerce.php

Hinweis: Speichern Sie das nun geöffnete Skript unter einem neuen Namen ab. So ist die ursprüngliche Version auch in Zukunft verfügbar.

Um das vorliegende Skript nutzen zu können, müssen zunächst alle Variablen zwischen den Zeilen ### <VARIABLEN> ### und ### </VARIABLEN> ### (ganz oben im Skript) mit entsprechenden Werten belegt werden.

Um die Funktionalität des Skripts sicherzustellen, darf der restliche Quellcode nicht verändert werden.

Relevante Variablen werden im Folgenden kurz definiert und deren Funktion beschrieben.

  // MySql-Servers IP-Address or name
  $mySqlHost = "localhost"; 

Die Variable $mySqlHost enthält die IP-Adresse oder den Namen des Servers auf dem die Datenbank des Onlineshopsystems betrieben wird.

Beispiele für richtige Wertzuweisungen sind:

  // für die Zuweisung einer IP-Adresse des Servers
  $mySqlHost = "127.0.0.1"; 
  
  // für die Zuweisung des entsprechenden Servernamens
  $mySqlHost = "localhost"; 
  
  // MySql Username
  $mySqlUsername = "oscommerce";
  
  // MySql Password
  $mySqlPassword = "oscommerce"; 

Die Variablen $mySqlUsername und $mySqlPassword enthalten den Namen des MySql-Users und dessen Passwort.

Wichtig ist in diesem Zusammenhang sicherzustellen, dass der angegebene Benutzer berechtigt ist, Informationen aus der Datenbank zu selektieren. Der entsprechende Benutzer sowie dessen Berechtigungen müssen auf dem MySql-Server hinterlegt sein. Benutzer und Berechtigungen können über Datenbankverwaltungs- software wie MySql Administrator oder PhpMyAdmin verwaltet werden.

Achtung: Um Missbrauch vorzubeugen, sollte die Berechtigung des hier angegebenen Benutzers auf SELECT beschränkt sein. Auf keinen Fall sollte der DB-Administrator root als Benutzer angegeben werden!

  // Name of the MySql database which contains the onlineshop orders
  $mySqlDatabaseName = "oscommerce"; 

Die Variable $mySqlDatabaseName enthält den Namen der MySql-Datenbank, die vom Onlineshopsystem genutzt wird.

Wenn der Name der Datenbank nicht bekannt ist, kann dieser mit Hilfe einer Datenbankverwaltungssoftware wie MySql-Administrator oder phpMyAdmin ausgelesen werden. Hierzu wird die entsprechende Software aufgerufen und überprüft, welche Datenbank die Tabellen des Shopsystems enthält. Beispiele für entsprechende Tabellennamen sind orders oder orders_products. Zu beachten ist, dass ein Präfix wie “osc_” abhängig von der Installation vorhanden sein kann.

  // Prefix for Tables
  $tablePrefix = "osc_"; 

Die Variable $tablePrefix enthält das Präfix für die Tabellennamen, das bei der Installation festgelegt wurde.

Der Defaultwert bei osCommerce ist hier:

  $tablePrefix = "osc_";

Der Defaultwert bei xt:Commerce ist hier:

  $tablePrefix = "";

Mit Hilfe der Variable $passwordForRequestOrders wird sichergestellt, dass das vorliegende Skript nur von berechtigten Programmen genutzt wird.

  // Password which ensures that only permitted programs get Order-Details using the script
  $passwordForRequestOrders = "default";

Beispiel: Wird im vorliegenden Skript das Passwort “defaultPassw0rt” hinterlegt ($passwordForRequestOrders = “defaultPassw0rt”;), muss in der Faktura im Feld “Passwort:” ebenfalls das Passwort “defaultPassw0rt” eingegeben werden. Die Faktura überträgt es automatisch beim Aufruf des Skripts.

Wurden alle Werte zugewiesen, erfolgt der Upload des Skripts auf den Webserver, auf dem die Datenbank des Shops betrieben wird. Es kann jedoch auch ein unabhängiger Webserver genutzt werden.

Upload des Skripts

Um das Skript mithilfe der Faktura im Internet erreichen zu können, muss dieses auf einem Webserver gespeichert werden. Hierzu können unterschiedliche, im Internet verfügbare FTP-Programme genutzt werden. Entscheidend ist, dass das Skript letztendlich online verfügbar ist.

Beispiel: Das vorliegende PHP-Skript wird auf ihrem Server www.ihrserver.de im Verzeichnis /ShopDownload/ gespeichert. Um zu prüfen, ob das Skript erreichbar ist, kann dieses nun mit einem üblichen Browser aufgerufen werden (z.B. mit Internet Explorer oder Firefox). Hierzu wird die URL, z.B. www.ihrserver.de/ShopDownload/skriptname.php, verwendet. Ist das Skript funktionsfähig, generiert es die folgende Fehlermeldung:

“Es wurde ein falsches Passwort uebergeben. Bitte pruefen Sie das in der PHP-Datei hinterlegte und das in der Faktura eingegebene Passwort.”

Wurden die Variablen mit den benötigten Werten belegt und das Skript auf dem Webserver gespeichert, können nun Bestellungen in Freeware Faktura importiert werden.

Eingeben der Informationen in der Faktura und der Download von Bestellungen

Mit Hilfe der Funktion “Shop Import…” im Menü “Datei” können die Bestellungen in Freeware Faktura importiert werden.

Folgendes Vorgehen ist hierzu nötig: