Maßeinheiten über REST-API auslesen

Hallo,

ich suche nach einer Lösung, wie ich die Maßeinheiten, also die Datensätze aus s_core_units, via REST-API (GET) auslesen kann. Kennt jemand eine Möglichkeit?

Viele Grüße, Frank

… hat(te) das Problem tatsächlich noch niemand? Ich baue mir gerade ein PHP-Skript, welches Produkte via REST-API von Shopware 5 nach Shopware 6 migriert. Das mache ich übrigens deshalb, weil der Migrations-Assistent von Shopware nicht wirklich Spaß macht und ich die Shopware-APIs besser kennenlernen möchte.

Wenn dabei ein Produkt verarbeitet wird, welches wegen der Grundpreisberechnung eine unitId mitführt, kann ich die dazugehörige Maßeinheit nicht ermitteln, da es scheinbar keine Möglichkeit gibt, die Liste aller Maßeinheiten aus Shopware 5 via GET zu beziehen?

Als workaround übertrage ich aktuell alle Maßeinheiten in Shopware 6 händig. Es sind ja nur ein paar. Die Zuordnung zu Shopware 5 erfolgt dann eben über ein customField, welches ich während der Migration für das Mapping nutze.

Das funktioniert zwar grundsätzlich, aber ich hätte schon gern eine automatische Lösung.

Also deshalb nochmals: Gibt es im Standard eine Möglichkeit via REST-API an die Maßeinheiten in Shopware 5 heranzukommen, oder kennt jemand ein Plugin, welches die API entsprechend erweitert?

Viele Grüße, Frank

In der Doku zur API von Shopware 5 gibt es keinen API Endpoint, der diese Stammdaten adressiert.

Hier ist ein Beispiel wie man eine API Resource selbst erstellt.

Hi,

wenn du doch eh schon über PHP gehst, dann hol dir die Daten doch einfach aus der DB anstatt umständlich auf die API zuzugreifen? Oder seh ich da jetzt etwas falsch?

Grüße

Hallo @MrAle,

ich empfinde es nicht als „umständlich“, die Shopware API zu nutzen. Sie wurde genau für solche Anwendungsfälle entwickelt.

Der direkte Zugriff über die Datenbank wäre natürlich eine Möglichkeit, die aber in den meisten Fällen nicht funktionieren wird, da Web-Datenbanken meist so konfiguriert sind, das sie Anfragen von externen Clients ablehnen.

Trotzdem Danke für Deine Hinweise.

Hallo @sacrofano,

vielen Dank, das beantwortet meine Frage.

Über einen SSH Tunnel (z.B. eingerichtet mit putty) könnte man auch von einem Client sich direkt mit der DB verbinden. Funktioniert bei mir auch für Shared Hosting.
Der direkte Zugriff auf die DB ist, wie MrAle sagte, der leichtere Weg.

1 „Gefällt mir“

Centglauberei,

DB sichern und auf Webserver spielen wo das PHP Skript läuft fertig. Wer halt noch unbedingt die API erweitern möchte, denn dort läuft ja auch dann deine DB Abfrage, kann das ja gerne machen :man_shrugging:

Grüße

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.