Kommunikation mit GraphQL Server

Hallo zusammen,

wir arbeiten aktuell an einem Projekt bei dem es darum geht einen Fertigungsprozess zu visualisieren.

Dazu existiert eine „Modellfabrik“, die man sich so vorstellen kann: https://www.youtube.com/watch?v=pEN237EdIHY

Wir haben aktuell einen GraphQL Server, der ein paar einfache Operationen unterstützt:
Query: Erhalte eine Liste von produzierbaren Artikeln
Mutation: Erstelle einen Auftrag für die Fertigung eines Artikels
Subscription: Clients können sich über Statusänderungen des Auftrages benachrichtigen lassen bspw. „eingeplant“ -> „in Fertigung“ oder „in Fertigung“ -> „Auslieferung“ etc.

Nun möchten wir das gerne über ein Frontend steuern können und haben uns überlegt, dass man dafür gegebenenfalls einen Webshop nutzen kann. Man könnte sich also im Webshop ein Item in den Warenkorb legen bzw. dieses gegebenfalls sogar vorher „zusammenklicken“ und anschließend den „Bestellen“ Button drücken. Im Anschluss müsste dann unser GraphQL Server angesprochen werden und die Mutation zum Anlegen eines Auftrages ausgelöst werden. Unser GraphQL Server würde dann die Microcontroller der Modellfabrik ansprechen und den Produktionsprozess in Gang setzen.

Unser Webshop könnte dann im Optimalfall sogar den aktuellen Status des Produktionsvorganges anzeigen, der ihm über die Subscriptions mitgeteilt wird.
Ähnlich wie man das von Pizzabestellungen kennt, wo dann live angezeigt wird „Im Ofen“ oder „Auslieferung“ etc :slight_smile:

Aktuell habe ich leider gar keine Ahnung von Webshops und frage mich - bevor ich mich jetzt tiefer einarbeite - ob diese Vorgehensweise mit Shopware machbar ist.

Vielleicht kann mir da jemand eine kurze Einschätzung bzw. einen kleinen Tipp geben.

 

Danke und Gruß :slight_smile:

Grundsätzlich sollte es kein Problem sein, nach einer erfolgreichen Bestellung einen Request mit den entsprechenden Daten an euren  Graphql-Endpoint zu senden (einfacher XHR-request).
Hier würde sich der Headless-Ansatz ganz gut eigenen. Ihr habt also selbst einen Service laufen (eine einfache Webapplikation) der den Bestellvorgang abbildet und via API mit Shopware (Produkte, Verfügbarkeit, Zahlprozess etc) und eurem Graphql Endpoint (Status den Produktionsvorgangs etc) spricht.

Allerdings bietet Shopware lediglich eine REST-Schnittstelle (ich würde mir hier auch dringend GraphQL wünschen), aber das ist kein Hindernis (ggf. könnte ihr eine kleinen GraphQL Wrapper für die notwendigen Endpoints schreiben, das würde die Wartung auf lange sicht vermutlich vereinfachen).