Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
Der WooCommerce Onlineshop erfreut sich nicht zuletzt Dank der enorm hohen Verbreitung von WordPress-basierten Webseiten immer größerer Beliebtheit. Für die WooCommerce-Plattform sind heute unzählige Plugins zur Erweiterung verfügbar, und es ist heute kein Problem mehr, WooCommerce für Deutschland rechtssicher einzurichten. WooCommerce verfügt, wie viele andere Onlineshop- und Websysteme ebenfalls, über eine RESTful API, über die auf Daten des Onlineshops zugegriffen werden kann. In diesem Beitrag stellen wir eine Anleitung mit einer kleinen FileMaker-Lösung vor, mit der Bestellungen aus einem WooCommerce Onlineshop in eine FileMaker-Datenbank importiert werden können. Die Lösung bedient sich dabei der WooCommerce RESTful API v3 und wandelt den gelieferten JSON-Datenstrom in für FileMaker lesbare Daten um. Um die Programmierung der Schnittstelle zu erleichtern, wird für die Anmeldung an der RESTful API und für das Auslesen der JSON-Daten das MBS FileMaker Plugin von Monkeybread Software verwendet. Die Beispieldatenbank ist exemplarisch und kann prinzipiell auch für andere Onlineshopsysteme wie z.B. Shopware, Magento oder Gambio GX3 eingesetzt werden.
Um Daten von einem WooCommerce-Onlineshop auslesen zu können, muß zunächst die RESTful API in WooCommerce aktiviert werden. Diese Einstellung kann im WordPress-Backend unter [WooCommerce > Einstellungen] im Register [API] vorgenommen werden.
Klicken Sie auf die Schaltfläche [Änderungen speichern], um die Aktivierung der Schnittstelle zu bestätigen. Im nächsten Schritt erzeugen Sie einen neuen API-Schlüssel. Klicken Sie dazu auf das Register [Schlüssel/Anwendungen] und daraufhin auf die Schaltfläche [Schlüssel hinzufügen].
Im Feld [Beschreibung] können Sie eine beliebige Beschreibung hinzufügen. Wählen Sie einen Benutzer aus, dem der Zugriff auf die WooCommerce RESTful API gestattet werden soll. Je nach dem, ob der Benutzer auch Daten über die Schnittstelle in das Shopsystem schreiben soll, können Sie entsprechende Berechtigungen vergeben. Für die vorgestellte FileMaker-Lösung genügt die Berechtigung „Lesen“. Klicken Sie daraufhin auf die Schaltfläche [API-Schlüssel erstellen].
Notieren Sie sich nun den Inhalt der beiden Felder „Schlüssel (Consumer Key)“ und „Geheimis (Consumer Secret)“. Dieser Schritt ist wichtig, denn Sie können den Inhalt dieser Felder in Zukunft nicht mehr einsehen, da die Schlüsseldaten maskiert gespeichert werden.
Mit der in diesem Beitrag vorgestellten Beispiellösung können Shopbestellungen und verbundene Kundendaten wie Rechnungs- und Lieferanschrift aus einem WooCommerce Onlineshop in eine FileMaker-Datenbank übertragen werden. Die Beispieldatei (oder eigene Lösung) kann problemlos um weitere Funktionen und Tabellen erweitert werden. Folgende Endpunkte stellt WooCommerce für den Zugriff auf die RESTful API zur Verfügung:
Mit der WooCommerce RESTful API können also auch noch viele weitere Datenquellen mit FileMaker ausgelesen und/oder bearbeitet werden wie beispielsweise Gutscheine, Produkte, Produktattribute oder auch Steuerklassen. In unserer FileMaker-Beispiellösung verwenden wir den Endpunkt „Orders“, um Bestellungen aus WooCommerce in FileMaker zu importieren.
Für die Entwicklung der Schnittstelle wurde in der Beispieldatei das MBS FileMaker Plugin von Monkeybread Software verwendet. Das Plugin bietet alle Funktionen, die für eine Schnittstelle mit RESTful API erforderlich sind. Alternativ könnten auch Funktionen des kostenlos erhältlichen Base Elements Plugin genutzt werden, wenn die Software entsprechend umprogrammiert wird.
Die Testversion für die FileMaker-Lösung der Schnittstelle zu einem WooCommerce Onlineshop können Sie hier herunterladen. Die Lösung liegt im .fmp12-Format für FileMaker 13 bis 15 vor und benötigt das MBS FileMaker Plugin mindestens in Version 4.4. Nachdem Sie das Zip-Archiv entpackt und die Lösung mit FileMaker gestartet haben, müssen Sie zunächst die Daten für die RESTful-API Ihres WooCommerce Onlineshops eintragen.
Tragen Sie alle Daten in die mit gelber Farbe hinterlegten Felder ein:
Wenn alle Daten korrekt eingetragen wurden, werden nach Klick auf die Schaltfläche [Datenimport] alle Bestellungen des angegebenen WooCommerce Onlineshops und die zugehörigen Kundendaten importiert.
Die Beispieldatenbank für den Import von Shopbestellungen ist einfach aufgebaut und enthält folgende Datentabellen:
Die Tabellen „Bestellungen“ und „Positionen“ sind über den Schlüssel „_Bestellnummer“ miteinander verknüpft. Für die Integration in eigene FileMaker-Lösungen können die Felder in diesen Tabellen beliebig umbenannt werden. Die Tabelle „Einstellungen“ enthält keine Verknüpfung, weil alle Felder global definiert wurden. Wenn mehrere Drittsysteme mit RESTful API angebunden werden sollen, ist es empfehlenswert, die Felder nicht als globale Felder zu definieren und einen Primärschlüssel zur Auswahl des Fremdsystems hinzuzufügen.
Die FileMaker Beispiellösung enthält zwei Teilscripte, mit denen die Bestelldaten aus dem Onlineshop in FileMaker importiert werden können. Im Script „ts.Query_REST_API“ erfolgt zunächst die Anmeldung am Server. Dazu werden mit dem MBS-Plugin entsprechende cURL-Funktionen mit folgendem Ablauf aufgerufen:
Mit dem zweiten Teilscript „ts.Parse_JSON_Bestellungen_WC“ werden die vom Server gelieferten JSON-Daten ausgelesen und in die einzelnen Felder der Tabellen „Bestellungen“ und „Positionen“ eingetragen. Dabei werden zunächst alle Daten aus dem Startobjekt „orders“ (siehe Feld „Startobjekt“ in den Einstellungen) in die Variable $ordersJSON geschrieben. Darauf folgt eine Haupt-Ausführungsschleife zum Auslesen aller Bestellungen und eine weitere Ausführungsschleife für den Import aller Positionen zu einer Bestellung. Ein Zugriff auf den Server erfolgt in diesem Script nicht mehr.
Alle Felder der Lieferanschrift (shipping_address), Rechnungsanschrift (billing_address) und Belegpositionen (line_items) befinden sich in einer Baumstruktur und müssen mit dem Befehl:
MBS( "JSON.GetObjectItemTree"; json; names )
aus dem entsprechenden Baum ausgelesen werden. Alle anderen Felder können ganz normal mit den Funktionen MBS( „JSON.GetStringValue“; json ) oder MBS( „JSON.GetIntegerValue“; json ) ausgelesen werden.
Die FileMaker-Beispieldatenbank können Sie hier herunterladen und mit einem beliebigen WooCommerce Onlineshop testen. Die öffentliche Version ist für die Bearbeitung von Felddefinitionen und Scripten gesperrt. Sie möchten mit der Beispiellösung sofort starten und die Lösung an Ihre eigenen Anforderungen anpassen? Dann nehmen Sie gerne Kontakt mit uns auf.
Die kanadische Softwareschmiede HomeBase Software hat in ihrem Blog eine Methode vorgestellt, wie sich in FileMaker 12 ohne Zuhilfenahme eines Plugins Bilder stufenlos in der Größe skalieren lassen. Um diese Funktionalität zu realisieren, nutzen die Entwickler die FileMaker-Funktion HoleVorschaubild (Quellfeld; AnBreiteAnpassen; AnHöheAnpassen). Im Blog-Artikel haben die Autoren eine Beispieldatei zum…
Bereits seit vielen Jahren finden in Deutschland, Österreich und der Schweiz in regelmäßigen Abständen mehr als fünfzehn FileMaker Stammtische statt. Mit dem neuen FileMaker Stammtisch in Braunschweig bekommt die Riege der Stammtische nun Verstärkung. Ein neues FileMaker Regionaltreffen geht im Juni an den Start für die Region Braunschweig, Hannover und Wolfsburg. Ein geeigneter…
Rick Kalmann spricht über die Zukunft von FileMaker; Verleihung des FileMaker Magazin-Awards 2013 Pressemeldung - München/Unterschleißheim, 12.09.2013. Die FileMaker Konferenz 2013 findet vom 17.- 19. Oktober in Salzburg im Hotel Crowne Plaza statt. Die Veranstaltung richtet sich an Entwickler Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Das nunmehr vierte vom FileMaker-Verein organisierte Zusammentreffen bietet…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb
Das klingt nachdem, was ich suche. Ist denn der umgekehrte Weg auch möglich? Also Änderungen zurück in die mysql-DB schreiben?
Die in der Beispiellösung verwendeten Plugins unterstützen selbstverständlich auch den umgekehrten Weg, mit dem Daten über die RESTful API in die WooCommerce-Datenbank geschrieben werden können.
Nach der veröffentlichte FMP 16 mit integrierter RESTful API und Json, wäre es jetzt möglich mit WC zuverbinden ohne den MBC Plugin?
Ja, mit FileMaker 16 sollte das Ganze nun auch ohne Nutzung des MBS Plugins möglich sein. Die Lösung läuft dann aber eben nur auf FileMaker 16 und nicht mit älteren Versionen.
Sehr interessant, wird es notwendig sein Ihr Beispiel zu aktualisieren, um dies zu berücksichtige?
Ja, wenn die Funktionen nativ mit den neuen FileMaker-16-Funktionen laufen sollen, müssen die MBS-basierten Funktionen entsprechend umprogrammiert werden.
Hast du vor eine native FMP 16 version ohne MBS plugin zu realisieren?
wenn ja bin ich sehr interessiert
Nein, ich habe nicht vor, eine native FileMaker-Version dieser Lösung zu entwickeln, da ich für solche Funktionen grundsätzlich das MBS-Plugin nutze.
Hallo, gibt es Erfahrungen ob die aktuelle Demo auch mit der aktuellen Woocommerce Version und fm 19 läuft? Danke
Hallo, mit FileMaker 19 sollte die Software kein Problem haben – hier könnte man das Ganze aber wahrscheinlich auch mit Bordmitteln lösen, dann benötigt man nicht mehr zwingend das MBS FileMaker Plugin. In Bezug auf den Shop ist die Software nicht mehr auf dem neuesten Stand und muß ggf. für neuere WooCommerce-Versionen etwas angepaßt werden. Das Grundprinzip ändert sich dadurch jedoch nicht.
Moin! Vom Grundprinzip her hat sich seit der Entwicklung bis heute nichts geändert, außer daß evtl. in der WooCommerce-Schnittstelle noch weitere Felder hinzugekommen sind.