Case study
DragZone – integrazione Shopify su misura
DragZone è un rivenditore bulgaro leader di biciclette, e-bike e accessori per il ciclismo.
L'azienda gestisce una rete di negozi fisici in Bulgaria e Romania, sostenuta da un magazzino centrale e da diversi punti di ritiro. Il catalogo comprende decine di marchi (Drag, Shimano, Bell, FSA, Suntour e altri) con decine di migliaia di SKU nelle categorie mountain, strada, urban, e-bike, componenti e attrezzatura. L'attività serve sia clienti al dettaglio (B2C) sia clienti business (B2B), con livelli di prezzo dedicati per ogni paese.
Il progetto
DragZone aveva bisogno di unificare la propria vetrina Shopify (dragzone.bg) con l'ERP Microsoft Dynamics NAV già in uso, in modo che il negozio online rispecchiasse sempre le giacenze, i prezzi e i dati di prodotto reali - senza che gli operatori dovessero duplicare il lavoro tra i due sistemi.
Abbiamo realizzato un'app Shopify privata che gestisce l'integrazione end-to-end:
- Sincronizzazione completa del catalogo prodotti - circa 50.000 articoli NAV inviati a Shopify due volte al giorno (alle 02:00 e alle 14:00, ora bulgara). Prodotti, varianti, immagini, categorie, collezioni, metafield e date di consegna previste vengono tutti sincronizzati. Le collezioni Shopify aggiunte manualmente dal team merchandising vengono conservate tra un'esecuzione e l'altra.
- Sincronizzazione incrementale delle giacenze - ogni 5 minuti vengono confrontati con le giacenze attuali di Shopify solo gli SKU che NAV segnala come modificati e, se diversi, vengono inviati. Zero chiamate API inutili.
- Prezzi B2B su più livelli - 4 listini prezzi separati (Retail BG, B2B BG, B2B EN, B2B RO, Retail RO) sincronizzati in un unico job, a lotti di 250 prezzi per ogni mutation Shopify.
- Elaborazione degli ordini - gli ordini Shopify (retail e B2B) vengono validati, associati ai clienti NAV e registrati in NAV come ordini di vendita. I dati di fatturazione (partita IVA, ragione sociale, MOL) arrivano dagli attributi del checkout; il codice IVA è ricavato dal paese. Gli ordini falliti vengono ritentati automaticamente a un intervallo configurabile, con protezione di cooldown e numero massimo di tentativi.
- Arricchimento dei contenuti - una scansione settimanale dei link interni con Netpeak riscrive i dati di raccomandazione nei metafield dei prodotti, così la vetrina può mostrare sezioni «potrebbe interessarti anche» guidate da segnali SEO reali.
- Osservabilità - ogni azione dell'integrazione viene registrata con il proprio livello di gravità, ricercabile e filtrabile in un pannello di amministrazione integrato in Shopify. Le attività pianificate possono essere avviate, fermate e lanciate su richiesta.
- Progettazione orientata alla sicurezza - i controlli di rilevamento degli orfani impediscono l'archiviazione di massa quando NAV è temporaneamente irraggiungibile; la paginazione di NAV viene validata rispetto ai totali dichiarati con ritentativo automatico; le operazioni bulk sono suddivise in blocchi e usano un fallback a ricerca binaria in caso di errori parziali.
L'intero stack funziona senza presidio, elabora decine di migliaia di record per ciclo e rispetta a ogni passaggio i limiti di costo e di frequenza GraphQL di Shopify.
Tecnologie
.NET 8
C#
ASP.NET Core
React Router (Remix)
Shopify GraphQL Admin API
Shopify Bulk Operations- Microsoft Dynamics NAV (SOAP)
PostgreSQL