Produkte aus Shopify als CSV-Datei exportieren
Shopify ist eine äußerst beliebte E-Commerce-Plattform, die von großen und kleinen Einzelhandelsunternehmen weit verbreitet ist. Obwohl Shopify benutzerfreundliche Tools zur Einrichtung und zum Betrieb eines Online-Shops bietet, kann die Verwaltung der großen Datenmengen im Hintergrund, wie z. B. Produktkataloge, Kundeninformationen, Bestellhistorien und Lagerbestände, schnell komplex werden.
Unternehmen benötigen oft eine Integration von Shopify-Daten mit Backend-Datenbanken, ERP-Systemen, CRM-Systemen, Data-Warehouses oder anderen Plattformen, um Abläufe zu optimieren, detailliertere Analysen durchzuführen oder Automatisierungsprozesse zu unterstützen.
Hier wird ein Tool zur Datenabgleichung mit Shopify-Unterstützung unerlässlich. Es ermöglicht Unternehmen, Daten effizient und präzise zwischen Shopify und anderen Systemen zu transformieren, zuzuordnen und zu übertragen.
Betrachten wir ein Beispiel für eine typische Situation: das Extrahieren von Produktdaten von Shopify in eine CSV-Datei – und zwar unter Verwendung visueller Werkzeuge in MapForce.

How Can You Get Data Out of Shopify?
Obwohl Shopify die Werkzeuge bereitstellt, die Unternehmen benötigen, um ihre Online-Shops einzurichten und zu verwalten, ist es etwas komplizierter, die Daten zu extrahieren, die sie für andere Aufgaben benötigen.
Shopify hat in der Vergangenheit verschiedene APIs und Tools bereitgestellt, die Entwicklern helfen sollten, auf Daten zuzugreifen und diese zu exportieren. In jüngster Zeit hat das Unternehmen jedoch eine Standardisierung auf GraphQL als bevorzugtes API-Format vorgenommen. Tatsächlich wird Shopify in Kürze vorschreiben, dass alle neuen Anwendungen GraphQL verwenden müssen. Der GraphQL-Ansatz ermöglicht hochpräzise Abfragen, sodass Händler nur die spezifischen Daten anfordern können, die sie benötigen, und zwar in einem einzigen API-Aufruf. Dies verbessert die Leistung und reduziert unnötige Datenübertragungen.

Shopify bietet zwei Haupt-GraphQL-APIs, die Entwicklern oder IT-Experten dabei helfen sollen, auf Shop-Daten zuzugreifen:
Shopify Admin GraphQL API**: Dies ist die Haupt-API für Backend-Operationen. Sie bietet Zugriff auf Daten des Online-Shops, wie z. B. Produkte, Bestellungen, Kunden, Lagerbestände, Informationen zur Auftragsabwicklung und mehr. Entwickler können die Admin GraphQL API nutzen, um Daten abzurufen und in andere Systeme zu integrieren.
Shopify Storefront GraphQL API: Obwohl die Storefront API hauptsächlich dazu dient, individuelle Einkaufserlebnisse und Front-End-Anwendungen zu ermöglichen, bietet sie auch Zugriff auf öffentlich zugängliche Shop-Daten wie Produktlisten, Kategorien und Bestellabläufe. Dies ist besonders nützlich für Unternehmen, die Shopify-Daten in kundenorientierte Plattformen integrieren möchten, beispielsweise in individuelle mobile Anwendungen.
Die Integration von Shopify-Daten mit MapForce
Entwickler können MapForce nutzen, um Shopify-Daten mit anderen Datenformaten und Systemen zu integrieren, indem sie benutzerdefinierte Zuordnungen erstellen, die direkt auf diese GraphQL-APIs zugreifen. MapForce unterstützt die Verwendung von Shopify-Daten als Quelle oder Ziel für jedes Datenintegrationsprojekt und fungiert als Brücke, die die Datenstrukturen von Shopify in die Formate umwandelt, die von der Zielstruktur benötigt werden – oder umgekehrt.
Um zu beginnen, müssen Entwickler eine maßgeschneiderte App innerhalb ihres Shopify-Shops erstellen. Eine maßgeschneiderte App stellt die erforderlichen API-Zugangsdaten und Berechtigungen bereit, um sicher mit den Shopify-APIs zu interagieren. Im Gegensatz zu öffentlichen Apps, die im Shopify App Store aufgeführt sind und von Shopify-Partnern für den allgemeinen Gebrauch angeboten werden, werden maßgeschneiderte Apps speziell für den privaten Gebrauch eines einzelnen Shops entwickelt und sind für andere Shops nicht verfügbar. Dies gibt Unternehmen die volle Kontrolle darüber, wie Daten abgerufen und in ihren Datenintegrations- oder ETL-Projekten verwendet werden.
Die Verbindung von MapForce mit GraphQL-APIs
Um Shopify-Daten in andere Systeme zu integrieren, und zwar mithilfe der GraphQL-Schnittstelle für das Admin-Bereich oder den Shop, müssen Shop-Betreiber innerhalb von Shopify mehrere wichtige Schritte durchführen:
- Ermöglichen Sie die Entwicklung von individuellen Anwendungen Shopify schränkt die Erstellung benutzerdefinierter Apps standardmäßig ein, um Händler vor unbefugtem Zugriff auf die API zu schützen. Bevor eine benutzerdefinierte App erstellt wird, muss der Shop-Besitzer oder -Administrator zunächst die Entwicklung benutzerdefinierter Apps in den Einstellungen seines Shopify-Administrationsbereichs aktivieren.
2. Erstellen Sie eine individuelle App („Apps entwickeln“) Sobald die Entwicklung von benutzerdefinierten Anwendungen aktiviert ist, besteht der nächste Schritt darin, die benutzerdefinierte Anwendung selbst zu erstellen. Dies geschieht über den Bereich "Anwendungen entwickeln", in dem der Shop-Betreiber oder Entwickler eine neue Anwendung speziell für die Integration mit APIs definieren kann.
3. Weisen Sie die korrekten API-Zugriffsberechtigungen zu
Shopify verwendet detaillierte Berechtigungsbereiche, um zu steuern, auf welche Daten eine App zugreifen kann. Je nach Anwendungsfall benötigt die App die entsprechenden Berechtigungen für die Admin-API oder die Storefront-API (z. B. read_orders, write_products, read_customers).
4. Installieren Sie die benutzerdefinierte App im Shopify-Shop
Nachdem die App konfiguriert wurde und die erforderlichen Berechtigungen zugewiesen wurden, muss sie direkt in den Shopify-Shop installiert werden. Dieser Installationsprozess generiert die notwendigen API-Zugangsdaten, einschließlich des API-Zugriffstokens.
5. Abrufen und Speichern des API-Zugriffstokens
Der Zugriffstoken ermöglicht einen sicheren und authentifizierten Zugriff auf die Shopify-APIs. Dieser Token wird von Ihrem externen Datenmapping-Tool verwendet, um API-Anfragen zu authentifizieren.
Shopify-Daten in eine CSV-Datei exportieren
Schauen wir uns nun ein Beispiel für eine GraphQL-Zuordnung in MapForce an. Dieses Mapping-Projekt erfüllt eine häufige Anforderung: die Extraktion von Produktdaten von Shopify in eine CSV-Datei, die dann in ein anderes System hochgeladen oder einfach in Excel importiert werden kann, um sie zu analysieren.
Beim Einfügen einer Shopify-Komponente in ein Mapping-Projekt führt MapForce Sie durch den Prozess der Eingabe Ihres Shop-Namens, der Auswahl der Admin- oder Storefront-API sowie der Eingabe Ihres API-Zugriffstokens. Anschließend können Sie die Verbindungseinstellungen definieren, die HTTP-Sicherheitsoptionen konfigurieren (falls erforderlich), relevante Header-Parameter hinzufügen und eine Abfrage oder eine Mutation erstellen.

Um dies zu erreichen, können Sie die GraphQL-Abfrage auf der linken Seite dynamisch erstellen, indem Sie Elemente aus den verfügbaren Optionen auf der rechten Seite auswählen. Diese Optionen führen Sie durch den Prozess. Sie können auch auf die Schaltfläche "Schema abrufen" klicken, um MapForce anzuweisen, automatisch eine JSON-Schema-Definition für die API-Antwort basierend auf der Selbstprüfung des Servers und der GraphQL-Abfrage zu erstellen. Sie können eine zwischengespeicherte Version dieses Schemas lokal speichern, um sie bei zukünftigen Verwendung beim Öffnen der Zuordnung wiederzuverwenden.
Für dieses Beispiel verwenden wir eine Abfrage für Produkte und geben dabei an, welche Daten wir für die jeweiligen Knoten auf der linken Seite der Abfrage zurückerhalten möchten: die ID, den Titel sowie die Varianten mit ihren jeweiligen Artikelnummern (SKU) und Preisen. In diesem Blogbeitrag werden wir nicht alle Details dazu erläutern, wie GraphQL funktioniert, aber es gibt zahlreiche Online-Ressourcen, wie z.B. https://graphql.org/learn/ und https://www.shopify.com/partners/blog/getting-started-with-graphql, mit denen Sie mehr darüber lernen können.
Im nächsten Schritt fügt MapForce den Shopify-Aufruf als grafisches Element ein, das die Struktur der API-Anfrage und -Antwort anzeigt.

Hier wird es etwas komplizierter: Da die Shopify GraphQL-API auf Paginierung basiert und bei jedem Aufruf nur eine bestimmte Anzahl von Ergebnissen zurückgibt (also eine "Seite" mit Ergebnissen), müssen wir die API mehrfach aufrufen, um alle Ergebnisse unserer Anfrage abzurufen. Wir werden dies tun, indem wir diesen API-Aufruf in eine benutzerdefinierte Funktion einbetten, die wir "getProducts" nennen. Diese Funktion können wir dann rekursiv aufrufen, falls es weitere Ergebnisseiten abzurufen gibt.
Hier ist, was Sie in der rechten unteren Ecke der Darstellung innerhalb der Funktion getProducts sehen können:

Im Wesentlichen rufen wir, sobald der erste Aufruf der API den Wert "true" für den Parameter "hasNextPage" zurückgibt, dieselbe Funktion erneut rekursiv auf. Dabei setzen wir die Variable "$after" auf die Position des "endCursor", die vom vorherigen API-Aufruf zurückgegeben wurde. Außerdem pausieren wir 1 Sekunde zwischen den API-Aufrufen, um die API-Ratenbegrenzung nicht zu überschreiten.
Und natürlich wird das Ergebnis des rekursiven Aufrufs der Funktion getProducts ebenfalls an das Ergebnis der äußeren getProducts-Funktion angehängt, sodass wir am Ende alle Ergebnisse an die Hauptzuordnung zurückgeben.
Durch die Einbettung des eigentlichen API-Aufrufs in diese Funktion getProducts erreichen wir auch ein sehr übersichtliches und sauberes Design für den Hauptteil des Prozesses, in dem wir die Ergebnisse des API-Aufrufs entgegennehmen und in die resultierende CSV-Datei umwandeln

Dieses Beispielprojekt wird mit MapForce ausgeliefert. Um es zu nutzen, können Sie Ihren eigenen Shopify-Shopnamen und ein Zugriffstoken eingeben. Gehen Sie dazu wie folgt vor: Öffnen Sie die Beispiel-Datei "Shopify_ExportAllProducts.mfd" aus dem Beispielprojekt, doppelklicken Sie dann auf die Funktion "getProducts" und schließlich auf das Objekt für den Webdienst-Aufruf (POST). Hier müssen Sie die URL für Ihren Shop sowie den korrekten String für Ihr Shopify-Zugriffstoken eingeben.
Sobald Sie das erledigt haben, sollten Sie zum Reiter "Ausgabe" wechseln können und eine Vorschau der Liste aller Ihrer Produkte sehen, die im CSV-Format generiert wird.

Sie können die Ergebnisse direkt speichern oder dieses Mapping-Projekt auf dem MapForce Server bereitstellen, um eine leistungsstarke Automatisierung zu ermöglichen.
Die grafischen Werkzeuge in MapForce ermöglichen es, Daten von Shopify einfach in das CSV-Format sowie in andere Formate wie XML, Datenbanken, Excel und mehr zu exportieren.
Testen Sie es selbst mit einer kostenlosen 30-Tage-Testversion von MapForce.
Erfahren Sie mehr über die Datenintegration mit Shopify in unserem Artikel zum Erstellen einer mobilen App für.. Das Erfassen von Lagerbestandsinformationen und deren Zuordnung zu Shopify in Echtzeit.