Case Study
DragZone – individuelle Shopify-Integration
DragZone ist ein führender bulgarischer Händler für Fahrräder, E-Bikes und Fahrradzubehör.
Das Unternehmen betreibt ein Filialnetz in Bulgarien und Rumänien, gestützt auf ein Zentrallager und mehrere Abholstandorte. Der Katalog umfasst Dutzende Marken (Drag, Shimano, Bell, FSA, Suntour und weitere) mit Zehntausenden SKUs in den Kategorien Mountain, Road, Urban, E-Bikes, Komponenten und Ausrüstung. Das Unternehmen bedient sowohl Endkunden (B2C) als auch Geschäftskunden (B2B) mit eigenen Preisstufen je Land.
Das Projekt
DragZone wollte seinen Shopify-Shop (dragzone.bg) mit dem vorhandenen Microsoft Dynamics NAV ERP zusammenführen, damit der Online-Shop stets die tatsächlichen Bestände, Preise und Produktdaten abbildet – ohne dass Mitarbeiter dieselbe Arbeit in zwei Systemen doppelt erledigen müssen.
Wir haben eine private Shopify-App entwickelt, die die gesamte Integration von Anfang bis Ende übernimmt:
- Vollständige Synchronisation des Produktkatalogs – rund 50.000 NAV-Artikel werden zweimal täglich an Shopify übertragen (02:00 und 14:00 bulgarischer Zeit). Produkte, Varianten, Bilder, Kategorien, Collections, Metafelder und voraussichtliche Liefertermine werden alle synchronisiert. Manuell vom Merchandising-Team angelegte Shopify-Collections bleiben über die Läufe hinweg erhalten.
- Inkrementelle Bestandssynchronisation – alle 5 Minuten werden nur die SKUs, die NAV als geändert meldet, mit dem aktuellen Bestand in Shopify verglichen und bei Abweichung übertragen. Keine unnötigen API-Aufrufe.
- Mehrstufige B2B-Preise – 4 getrennte Preislisten (Retail BG, B2B BG, B2B EN, B2B RO, Retail RO) werden in einem Job synchronisiert, gebündelt zu 250 Preisen je Shopify-Mutation.
- Auftragsverarbeitung – Shopify-Bestellungen (Retail und B2B) werden validiert, NAV-Kunden zugeordnet und als Verkaufsaufträge in NAV gebucht. Rechnungsdaten (USt-IdNr., Firmenname, MOL) werden aus den Checkout-Attributen übernommen; der Steuercode wird aus dem Land abgeleitet. Fehlgeschlagene Bestellungen werden in einem konfigurierbaren Intervall automatisch wiederholt, mit Cooldown und Schutz durch eine maximale Zahl von Versuchen.
- Content-Anreicherung – ein wöchentlicher Netpeak-Durchlauf zur internen Verlinkung schreibt Empfehlungsdaten zurück in die Produkt-Metafelder, sodass der Shop Bereiche im Stil von „Das könnte Ihnen auch gefallen“ auf Basis echter SEO-Signale ausspielen kann.
- Observability – jede Integrationsaktion wird mit Schweregrad protokolliert und ist in einer in Shopify eingebetteten Verwaltung durchsuchbar und filterbar. Geplante Aufgaben lassen sich starten, stoppen und bei Bedarf auslösen.
- Sicherheit zuerst – Schutzmechanismen zur Erkennung verwaister Datensätze verhindern eine Massenarchivierung, wenn NAV vorübergehend nicht erreichbar ist; die NAV-Paginierung wird gegen die gemeldeten Gesamtzahlen validiert und bei Bedarf automatisch wiederholt; Massenoperationen werden in Blöcke aufgeteilt und nutzen bei Teilfehlern eine binäre Suche als Fallback.
Der gesamte Stack läuft unbeaufsichtigt, verarbeitet Zehntausende Datensätze pro Zyklus und hält in jedem Schritt die GraphQL-Kosten- und Ratenlimits von Shopify ein.
Technologien
.NET 8
C#
ASP.NET Core
React Router (Remix)
Shopify GraphQL Admin API
Shopify Bulk Operations- Microsoft Dynamics NAV (SOAP)
PostgreSQL