Un ordine presente in WooCommerce ma assente nel gestionale, una disponibilità non aggiornata, un contatto duplicato nel CRM o un rimborso che non torna nei dati amministrativi hanno spesso la stessa origine: l’integrazione è stata trattata come un semplice collegamento tecnico, anziché come un processo di governo del dato.
Plugin, connettori, API e middleware sono strumenti. Non stabiliscono però quale sistema sia autorevole per un prezzo, non risolvono da soli un conflitto di aggiornamento e non impediscono automaticamente che un retry dopo un timeout crei un doppio record. Per ogni oggetto, il progetto deve chiarire chi lo crea, chi può modificarlo, come viene identificato negli altri sistemi, cosa accade in caso di errore e come si controlla il risultato.
Quando l’integrazione è utile
WordPress può raccogliere richieste di contatto, iscrizioni, download e dati da aree riservate. Se è presente WooCommerce, entrano in gioco anche clienti, prodotti, varianti, coupon, ordini e rimborsi. Il CRM può supportare relazione commerciale, attività e preferenze; l’ERP o gestionale può supportare processi amministrativi, logistici e documentali.
Vale la pena strutturare un progetto quando aumentano i reinserimenti manuali, le anagrafiche divergono, lo stock online non è affidabile o marketing e commerciale lavorano su dati incompleti. Non significa che ogni form WordPress debba creare una scheda ERP o che tutti i dati debbano essere replicati ovunque: trasferire dati non necessari amplia anche la superficie da controllare.
Prima della tecnologia: definire la fonte autorevole
Non esiste un sistema master valido per tutto. La scelta va fatta per dominio di dati e tradotta in regole operative. La domanda decisiva è: chi può correggere questo dato e in quale sistema?
Un modello possibile, da adattare al processo aziendale, assegna all’ERP prezzi e disponibilità, a WooCommerce l’acquisizione dell’ordine online e al CRM la fase commerciale e le attività. L’ERP può poi essere il riferimento per evasione, fatturazione e note di credito. Non è una regola universale: serve a evitare una bidirezionalità indistinta, nella quale ogni applicazione sovrascrive le altre.
WordPress espone una REST API per interagire con dati in formato JSON e le risorse private richiedono autenticazione. WooCommerce dispone a sua volta di API REST con chiavi e permessi configurabili. Sono capacità tecniche, non una definizione delle responsabilità di processo. Consultate il REST API Handbook di WordPress e la documentazione della REST API di WooCommerce.
La mappa dati da approvare prima del connettore
La mappa dati non è un semplice elenco di equivalenze fra campi. Va predisposta in un foglio condiviso e approvata dalle funzioni che seguono vendite, e-commerce, amministrazione e logistica.
| Dominio | Master da decidere | Direzione tipica | Regola da esplicitare |
|---|---|---|---|
| Lead e consensi | WordPress o CRM | WordPress → CRM | Quali lead arrivano all’ERP e quale prova del consenso è conservata |
| Cliente e azienda | CRM oppure ERP | Verso gli altri sistemi | Persona, azienda, indirizzo di fatturazione e consegna sono oggetti distinti |
| Catalogo e varianti | ERP o PIM | ERP/PIM → WooCommerce | SKU, varianti, unità di misura e prodotti disattivati |
| Prezzi, IVA e listini | Spesso ERP | ERP → WooCommerce | Valuta, regole B2B/B2C, validità e sconti |
| Stock | ERP o WMS | ERP/WMS → WooCommerce | Giacenza fisica, impegnata, disponibile e vendibile possono non coincidere |
| Ordine online | WooCommerce all’acquisizione | WooCommerce → ERP e CRM | ID, righe, importi, pagamento, canale e stati traducibili |
| Resi e rimborsi | ERP per il lato contabile | Verso WooCommerce e CRM | Reso, rimborso e nota di credito non sono necessariamente lo stesso evento |
Per ogni riga aggiungete almeno: oggetto o campo, chiave esterna, trasformazione, frequenza, comportamento in errore e responsabile. Nel caricamento iniziale importate prima le dipendenze, come anagrafiche, indirizzi, prodotti, SKU e listini; poi ordini e documenti. La documentazione Microsoft sul troubleshooting delle sincronizzazioni segnala le dipendenze dati non soddisfatte tra le cause da analizzare: Troubleshoot live synchronization issues.
Non usare nome, ragione sociale o email come identificatore universale. Usate ID esterni stabili per i record e SKU stabili per prodotti e varianti.
ID esterni, duplicati e idempotenza
L’ID esterno consente di riconoscere lo stesso cliente, prodotto o ordine nei diversi sistemi. Conviene conservarlo insieme agli ID nativi di WooCommerce, CRM ed ERP. L’email normalizzata può essere un segnale utile per identificare probabili duplicati, ma non è una chiave infallibile: può cambiare, essere condivisa o non essere associata a un account. Nelle risorse ordine di WooCommerce, ad esempio, un acquisto guest può avere customer_id uguale a zero: si veda la documentazione degli ordini WooCommerce.
Serve anche l’idempotenza: se una chiamata va in timeout e viene ritentata, l’effetto finale deve restare uno solo. In pratica, l’integrazione deve registrare l’ID dell’evento o dell’ordine elaborato, collegare gli ID dei sistemi e usare operazioni di aggiornamento o inserimento quando supportate. Salesforce documenta, per esempio, l’upsert tramite External ID: Upsert API reference.
Plugin, middleware, iPaaS o API su misura
Un plugin o connettore può essere adeguato per flussi standard e pochi oggetti, se mappature, aggiornamenti, limiti API, log e recupero errori sono documentati e verificati. Un iPaaS può semplificare il collegamento di più servizi e trasformazioni lineari, ma va valutato anche per tracciabilità, limiti operativi, costi ricorrenti e trattamento dei dati.
Quando crescono sistemi, eccezioni, volumi e necessità di monitoraggio, un middleware con code può essere più adatto: riceve l’evento, lo mette in lavorazione e separa un’indisponibilità temporanea del gestionale dall’acquisizione dell’ordine. Lo sviluppo su misura è da valutare per logiche specifiche, stati complessi o requisiti non coperti in modo affidabile, non per principio.
Prima della scelta, verificate API e permessi, versioni supportate, limiti di chiamata, ambiente di test, retry, log esportabili, manutenzione e responsabilità in caso di errore.
Sincronizzazione iniziale e incrementale
La prima importazione richiede pulizia, non solo trasferimento. Profilate i dati esistenti, normalizzate i valori necessari al processo, assegnate gli ID esterni e mettete in quarantena record incompleti o duplicati prima di propagarli.
Dopo il caricamento iniziale, combinare eventi e controlli periodici è in genere più prudente che affidarsi a una promessa generica di tempo reale. WooCommerce può inviare webhook per eventi relativi, fra gli altri, a ordini, prodotti, clienti e coupon. Il destinatario può verificare la firma della consegna; la documentazione segnala inoltre che i webhook possono essere disabilitati dopo ripetuti fallimenti consecutivi. Soglie e comportamento vanno verificati sulla versione in uso.
Per questo, usate webhook per gli eventi urgenti, un processo schedulato per recuperare eventi mancati e rilevare differenze, e una coda fra ricezione dell’evento e scrittura nel sistema finale. I messaggi non risolvibili dopo retry controllati dovrebbero finire in una coda errori, o DLQ, con una procedura di analisi e riprocessamento. La documentazione sui webhook di WooCommerce descrive consegne, log e gestione dei fallimenti.
Errori da progettare e riconciliazione
Il collaudo deve includere i casi non ordinari: acquisto guest, pagamento fallito, annullo, rimborso parziale, reso, modifica dell’indirizzo, SKU non mappato, prodotto disattivato, stock insufficiente e webhook non consegnato. Correzioni manuali senza traccia rischiano di essere sovrascritte dalla sincronizzazione successiva.
La riconciliazione è un controllo periodico e tracciabile per verificare che i dati abbiano lo stesso significato dove servono. Una dashboard minima dovrebbe mostrare eventi ricevuti, elaborati, falliti e ritentati; età dei messaggi; errori per causa; record senza ID esterno; eccezioni assegnate a un responsabile.
A livello commerciale-contabile confrontate, per periodo e canale, numero di ordini, quantità, imponibile, IVA, sconti, pagamenti e rimborsi. La tabella delle eccezioni dovrebbe contenere ID WordPress/WooCommerce, ID CRM, ID ERP, stato nei sistemi, ultimo aggiornamento, importo o quantità, causa, responsabile e azione. Per molte PMI, un cruscotto delle eccezioni e regole chiare di correzione possono essere più utili di una generica etichetta “in tempo reale”: è un’inferenza operativa, non una garanzia di risultato.
Dati personali e credenziali
Trasferite solo dati pertinenti allo scopo definito. Il GDPR richiede dati adeguati, pertinenti e limitati a quanto necessario, oltre a esattezza e misure di sicurezza proporzionate al rischio. Il riferimento normativo è il Regolamento (UE) 2016/679; l’applicazione concreta richiede il coinvolgimento delle figure competenti.
Per i consensi marketing, individuate il sistema che conserva la prova utile: data, fonte, finalità, versione dell’informativa e revoca. Usate credenziali API dedicate, privilegi minimi, revoca e rotazione pianificate; proteggete HTTPS, log e code, che possono contenere dati personali. Per accessi esterni a WordPress, usate un meccanismo di autenticazione appropriato e HTTPS. La documentazione WordPress indica che Basic Auth con password utente è adatto a sviluppo e test, non come soluzione di produzione: autenticazione della REST API.
Un plugin o un connettore non rende automaticamente conforme un trattamento: vanno valutati ruoli, basi giuridiche, fornitori, conservazione e misure tecniche.
Checklist prima del go-live
- Mappa dati approvata con master, ID esterni, direzioni, trasformazioni e responsabili.
- Dati iniziali profilati; duplicati e record anomali risolti o messi in quarantena.
- Test svolti in staging o in ambiente separato, con dati adeguatamente protetti.
- Idempotenza, retry, coda errori e riprocessamento verificati con casi di test realistici.
- Dashboard, alert e frequenza di riconciliazione definiti prima dell’attivazione.
- Piano di rollback e procedura di correzione manuale documentati.
Prima di scegliere un connettore o richiedere un preventivo, portate questa mappa al confronto con chi gestisce ERP, CRM, e-commerce e privacy. È il passaggio che trasforma una richiesta tecnica in un progetto verificabile.
