Individuelle Shopify Schnittstellen

Shopify ist das weltweit meistgenutzte E-Commerce-System. Entsprechend reichhaltig ist das Angebot direkt einsetzbarer Schnittstellen. So können beispielsweise Versanddienstleister wie DHL, ERP-Systeme wie weclapp oder Kassensysteme wie Zettle mittels etablierter Apps problemlos angebunden werden. Viele Systemanbieter geben sich große Mühe, für ihre Anwendungen direkt einsetzbare Schnittstellen zu Shopify zu schaffen. Aber dennoch kann es vorkommen, dass keine Schnittstelle für eine Software, die für das eigene Business unverzichtbar ist, verfügbar ist. Wie man in einem solchen Fall dennoch eine Lösung schafft, möchten wir dir anhand eines einfachen Beispiels verdeutlichen.

Ein Beispiel für eine individuelle Anbindung

Stellen wir uns also vor, ein lokaler Händler möchte sich mit Hilfe eines Shopify-Shops ein zweites Standbein schaffen. Der Händler nutzt seit Jahren eine Buchhaltungssoftware, in der zukünftig auch die bereits bezahlten Bestellungen aus Shopify zur weiteren Bearbeitung erfasst werden sollen. Ein Wechsel der Buchhaltungssoftware kommt nicht in Frage. Für die Buchhaltungssoftware existiert keine Shopify Schnittstelle, die Buchhaltungssoftware unterstützt jedoch den Import von CSV-Dateien. Die benötigten Daten und deren Reihenfolge ist dabei vorgegeben. Eine solche Anbindung kann tatsächlich mit überschaubarem Aufwand mittels der Shopify Admin API und einer Shopify Private App realisiert werden.

Die Registrierung der Private App

Es gibt drei Arten von Shopify Apps: Public Apps, Custom Apps und Private Apps. Da wir in unserem Beispiel keine allgemeinverfügbare App für den Shopify App Store erstellen wollen, aber Zugriff auf die Bestelldaten des Shopify Shops benötigen, verwenden wir eine Private App. Private Apps können im Shopify Adminbereich unter dem Menüpunkt Apps eingerichtet werden. Wichtig ist dabei, der Private App nur die tatsächlich benötigten Rechte zuzuweisen. In unserem Beispiel benötigt unsere Private App ausschließlich Lesezugriff auf die Bestellungen des Shops.

Über die Private App erhalten wir die benötigten Daten zur Authentifizierung und Authorisierung für die Shopify Admin API, über die wir über den entsprechenden API-Endpunkt die benötigten Bestelldaten programmatisch abrufen können.

Ein wenig Programmierung

Da wir jetzt Zugriff auf die Shopify Admin API haben, können wir mit der eigentlichen Programmierung unserer individuellen Schnittstelle beginnen. In unserem Beispiel benutzen wir dazu die Programmiersprache PHP. PHP ist nahezu überall verfügbar und ist als dynamisch typisierte Scriptsprache mit Fokus auf Webentwicklung für unseren Anwendungsfall wie geschaffen.

Da wir bewusst ein sehr einfaches Beispiel gewählt haben, ist die eigentliche Programmierung in unter 30 Code-Zeilen umsetzbar. Zunächst definieren wir, dass die Ausgabe des PHP-Scripts als CSV im UTF-8-Format erfolgen soll. Mit den Zugangsdaten der angelegten Private App könnnen wir dann über den entsprechenden Endpunkt der Admin API die Bestelldaten im JSON-Format abrufen. Diese JSON-Daten werden dann zur weiteren Verarbeitung in ein PHP-Array konvertiert.

Das PHP-Array enthält wiederum PHP-Objekte, die als Eigenschaften die Bestelldaten tragen. Wir können also direkt über das PHP-Array iterieren, nach Bezahlstatus filtern und die benötigten Eigenschaften der CSV-Datei zuweisen. Bei Ausführung des PHP-Scripts wird jetzt die gewünschte CSV-Datei erstellt.

Im realen Einsatz wäre jetzt noch zu definieren, wie die aus Shopify exportierten Bestellungen in die Buchhaltungssoftware importiert werden sollen. Wenn wir davon ausgehen, dass die Buchhaltungssoftware einen automatischen Import der CSV-Datei nicht unterstützt, wäre es beispielsweise vorstellbar, dass unsere PHP-Datei jeweils zum Monatsanfang per CronJob aufgerufen wird und die CSV-Datei mit den Bestellungen für den vergangenen Monat per E-Mail an die verantwortlichen Mitarbeiter gesendet wird. Die konkrete Umsetzung an dieser Stelle ist selbstverständlich abhängig von den jeweiligen Anforderungen des Projekts.

Unbegrenzte Möglichkeiten

In unserem einfachen Beispiel haben wir dir gezeigt, wie Daten zu einem bestimmten Zeitpunkt aus Shopify exportiert und programmatisch weiterverarbeitet werden können. Es ist natürlich ebenfalls möglich, Daten aus Drittsystemen in Shopify zu importieren. Ein beispielhafter Anwendungsfall für den Import von Daten aus Drittsystemen in Shopify ist die Anreicherung von Produktdaten. Die Shopify Admin API bietet auch für solche Anwendungsfälle definierte Endpunkte. Sollen Drittsysteme quasi in Echtzeit auf Shopify-Ereignisse – wie beispielsweise die Erstellung eines Kundenkontos – reagieren, stellt Shopify für eine Vielzahl von Ereignissen entsprechende Webhooks zur Verfügung. 

Wenn du Unterstützung bei der Integration von Shopify in die bestehende Systemlandschaft benötigst, komm gerne auf uns zu. Mit Sicherheit finden wir auch für deine Anforderungen eine passgenau Lösung.