Integrazione ERP Shopify B2B: API, webhook e architettura custom

Risposta diretta: collegare Shopify a un ERP non significa semplicemente “sincronizzare tutto in tempo reale”. Prima definisco quale sistema è source of truth per prodotti, prezzi, stock, clienti e ordini; poi progetto eventi, sincronizzazioni massive, retry e riconciliazione. Un connettore custom è corretto quando il gestionale espone interfacce adatte e il requisito non è coperto meglio da un'app affidabile già esistente.
Prima del codice: mappare i sistemi
Il punto più importante è decidere dove nasce ogni dato. L'ERP può essere autorevole per SKU, giacenze e listini; Shopify può essere autorevole per il checkout e per gli ordini online; un PIM può gestire contenuti e attributi. Senza questa mappa, una sincronizzazione bidirezionale rischia di creare loop e sovrascritture.
Per ogni entità definisco direzione del flusso, identificatore stabile, frequenza, comportamento in caso di conflitto e strategia di recupero quando uno dei sistemi non risponde.
Admin GraphQL API per leggere e scrivere dati Shopify
Shopify mette a disposizione la Admin GraphQL API per prodotti, varianti, inventario, ordini, clienti, cataloghi, aziende e molte altre risorse. GraphQL permette di richiedere i campi necessari e Shopify applica limiti di costo alle query.
Non inserisco nel progetto numeri di rate limit copiati da vecchie versioni della REST API. Il client deve leggere e rispettare il throttling effettivo dell'API utilizzata, gestire gli errori e riprovare in modo controllato.
Webhooks per gli eventi, code per l'affidabilità
I webhooks sono utili per ricevere eventi come creazione o aggiornamento di risorse senza interrogare continuamente Shopify. Non prometto una consegna “in meno di 10 millisecondi”: un webhook è un meccanismo asincrono e l'integrazione deve tollerare ritardi, duplicati e tentativi ripetuti.
Per questo l'endpoint valida la richiesta, registra l'evento rapidamente e sposta l'elaborazione su una coda quando il lavoro è più lungo. Uso idempotenza e identificatori stabili per evitare che lo stesso evento produca due operazioni sull'ERP.
Bulk operations per cataloghi grandi
Quando devo estrarre o aggiornare grandi quantità di dati non trasformo migliaia di record in una sequenza fragile di chiamate una per una. Valuto le bulk operations e i meccanismi asincroni messi a disposizione da Shopify, insieme a checkpoint e riconciliazione finale.
La sincronizzazione “istantanea” non è sempre necessaria. Per stock e ordini può servire una latenza bassa; per descrizioni o dati editoriali un processo programmato può essere più semplice e robusto.
B2B sui piani Basic, Shopify e Advanced
Dal 2026 Shopify ha esteso diverse funzioni B2B native anche ai piani standard, ma con limiti specifici. Nei miei progetti verifico aziende, sedi, termini di pagamento, quantità e cataloghi realmente disponibili sul piano utilizzato prima di progettare il flusso.
Non uso Liquid e metafield per mostrare un prezzo “finto” nel frontend se la logica transazionale non viene applicata correttamente a carrello e checkout. Per pricing e condizioni commerciali il dato deve essere coerente fino all'ordine finale.
Ho approfondito il tema nella guida Shopify B2B su Basic, Shopify e Advanced.
Zucchetti, TeamSystem, Danea e altri gestionali: verificare la versione reale
Non esiste una singola “API Zucchetti” o “API TeamSystem” valida per ogni prodotto e versione. Prima di quotare il connettore verifico il gestionale esatto, la licenza, le interfacce disponibili, la documentazione fornita dal vendor e le eventuali limitazioni contrattuali.
Lo stesso vale per Danea Easyfatt: se il flusso disponibile usa file, XML, esportazioni o un connettore specifico, progetto attorno all'interfaccia realmente supportata invece di promettere una REST API che il prodotto non espone.
Dati fiscali e fatturazione elettronica
Un'integrazione può trasferire Partita IVA, codice fiscale, indirizzi e altri dati necessari al gestionale, ma la generazione e l'invio della fattura elettronica dipendono dal software fiscale e dal processo amministrativo adottato. Non considero Shopify da solo il sistema che “invia allo SdI”.
Campi, validazioni e responsabilità vanno definiti con chi segue la parte fiscale e con il fornitore del gestionale. Il mio lavoro è garantire che il dato tecnico venga raccolto e trasferito nel formato concordato, entro ciò che Shopify e l'ERP supportano.
App esistente o connettore custom?
Non scelgo custom per principio. Un'app o un connettore già mantenuto dal vendor può essere più economico e affidabile. Sviluppo custom quando esistono regole specifiche, sistemi interni o vincoli di processo che una soluzione standard non copre.
Il custom comporta anche responsabilità: hosting, monitoraggio, log, aggiornamenti API, gestione errori e manutenzione. Non prometto quindi costi ricorrenti pari a zero né un vantaggio SEO automatico solo perché il connettore è server-side.
Definition of Done dell'integrazione
- Mappa source-of-truth approvata per ogni entità.
- ID e mapping stabili tra ERP e Shopify.
- Retry, idempotenza e gestione dei fallimenti testati.
- Riconciliazione di ordini, stock e prezzi su casi reali.
- Log e alert sufficienti per capire dove si è interrotto un flusso.
- Test di carico coerenti con i volumi del cliente.
- Procedura di recovery documentata.
Per la parte Shopify faccio riferimento alla Admin GraphQL API, ai webhooks e alle bulk operations.
Sono Francesco Guiducci, freelance Shopify e sviluppatore di app Shopify. Seguo integrazioni sui piani Basic, Shopify e Advanced quando l'architettura richiesta è compatibile con le funzioni effettivamente disponibili.
Aggiornato il 3 settembre 2026.

