Logo Codebaker
EN

Come Integrare Gestionale, E-commerce e Altri Software Tramite API Personalizzate

Con un layer di API su misura che fa da punto di incontro fra i sistemi: una sola fonte di verità per ogni dato, e-commerce → middleware → gestionale → magazzino → corriere, tempo reale dove serve e batch dove basta.

Come si integrano gestionale, e-commerce e altri software via API

Si integrano costruendo un layer di API personalizzate — un middleware — che fa da punto di incontro fra i sistemi invece di collegarli a due a due. Per ogni entità (cliente, articolo, listino, giacenza, ordine) si stabilisce quale sistema detiene la verità, si definisce il contratto dati, si sviluppa il middleware che espone API REST o GraphQL e propaga gli eventi via webhook, si sceglie per ogni flusso fra tempo reale e batch, e si aggiungono code, retry, idempotenza e log. Il risultato tipico è una catena unica: e-commerce → API middleware → gestionale/ERP → magazzino → corriere, con lo stesso dato che attraversa tutti i sistemi senza essere ribattuto a mano da nessuno.

La differenza fra un'integrazione che regge e una che si rompe ogni settimana non sta nel protocollo scelto, ma in due decisioni prese prima di scrivere codice: chi detiene la verità su ogni dato e cosa succede quando qualcosa va storto. Un flusso che funziona nel giorno buono lo scrive chiunque; un'integrazione di produzione è quella che si accorge da sola quando smette di funzionare. Codebaker, software house di Bologna fondata nel 2019, progetta integrazioni con questo criterio, anche verso gestionali che non espongono API moderne.

middleware-api-fra-gestionale-ecommerce-e-magazzino

yellow dot
architettura

Un hub, non una ragnatela

Il modo più naturale di iniziare — collegare direttamente l'e-commerce al gestionale, poi il gestionale al magazzino, poi l'e-commerce al corriere — è anche quello che invecchia peggio. Con quattro sistemi collegati a coppie i collegamenti possibili sono sei, con cinque diventano dieci: ogni nuovo canale di vendita moltiplica il lavoro, e ogni aggiornamento di uno dei sistemi rischia di rompere più flussi contemporaneamente. Un layer di API centrale ribalta la geometria: ogni sistema parla solo con il middleware, che conosce i formati di tutti e traduce. Aggiungere un marketplace, un secondo corriere o un CRM significa allora scrivere un solo adattatore, non riscrivere le integrazioni esistenti. È anche il punto in cui si concentrano log, allarmi e riconciliazioni: un solo posto dove guardare quando un ordine non è arrivato.

integrare-gestionale-legacy-as400-senza-api

yellow dot
legacy

Anche se il gestionale non ha API

«Il nostro gestionale è vecchio, non si può collegare a niente» è la frase che sentiamo più spesso, ed è quasi sempre falsa. Un sistema che non espone API REST espone comunque qualcosa: i suoi dati, procedure native richiamabili, file strutturati, servizi che si possono affacciare. Il lavoro consiste nel costruire un layer di integrazione che dialoghi con il gestionale nei modi che esso supporta e traduca tutto verso l'esterno in API pulite e documentate. Il sistema legacy non viene modificato né sostituito: continua a fare esattamente quello che ha sempre fatto, mentre il resto dell'azienda smette di dipendere dai suoi limiti. In Conor questo ha significato collegare un e-commerce B2B con app native iOS e Android a un gestionale AS400, in tempo reale, per oltre 5.000 clienti al giorno e più di 300.000 ordini l'anno.

L'architettura in sei passaggi

Questo è il percorso che un ordine compie in un'integrazione ben progettata, dal click del cliente alla notifica di consegna.

yellow dot

1. L'e-commerce raccoglie l'ordine

Il cliente ordina vedendo il proprio listino personalizzato e la disponibilità reale, perché prezzi e giacenze arrivano già dal gestionale attraverso il middleware. L'ordine nasce con un identificativo univoco.

yellow dot

2. Il middleware valida e normalizza

Il layer di API riceve l'ordine, verifica i dati contro le regole di business (fido, minimi d'ordine, articoli bloccati), converte i formati e lo mette in coda verso il gestionale.

yellow dot

3. Il gestionale/ERP registra l'ordine

L'ordine entra nel sistema che detiene la verità su clienti e documenti, esattamente come se fosse stato inserito dall'ufficio. Nessuna doppia digitazione, nessun copia-incolla da un'email.

yellow dot

4. Il magazzino prepara e conferma

La lista di prelievo arriva ai palmari o ai terminali di reparto; le quantità effettivamente prelevate tornano indietro, aggiornano la giacenza e generano l'ordine parziale se qualcosa manca.

yellow dot

5. Il corriere riceve la spedizione

Il middleware chiama le API del vettore, genera le etichette e riceve il codice di tracking, che viene scritto sia sul documento nel gestionale sia nell'area riservata del cliente.

yellow dot

6. Gli eventi tornano indietro via webhook

Stato di consegna, DDT e fattura risalgono la catena e diventano visibili al cliente senza che nessuno debba inviare un'email. Ogni passaggio è tracciato, con log e allarmi sui flussi interrotti.

Ogni passaggio si appoggia a competenze che copriamo in-house: dalle API web custom allo sviluppo e-commerce custom, dall' integrazione dei gateway di pagamento alla modernizzazione del software legacy.

Cosa si scambia via API, e con quale frequenza

Prima di parlare di tecnologia va deciso questo: per ogni entità, quale sistema comanda, in che direzione viaggia il dato e se serve davvero il tempo reale.

EntitàFonte di veritàDirezioneFrequenza consigliata
Anagrafica clientiGestionale/ERPGestionale → e-commerceBatch frequente, real-time sul fido
Catalogo articoliGestionale/ERP o PIMGestionale → e-commerceBatch (più volte al giorno)
Listini, anche personalizzati per clienteGestionale/ERPGestionale → e-commerceTempo reale
Giacenze di magazzinoGestionale/WMSGestionale → e-commerceTempo reale
OrdiniE-commerce (poi gestionale)E-commerce → gestionaleTempo reale
DDT e fattureGestionale/ERPGestionale → area riservataBatch giornaliero
Stato di consegnaCorriereCorriere → middleware → gestionale e clienteWebhook, appena disponibile
Resi e note di creditoGestionale/ERPBidirezionaleBatch, con riconciliazione

La regola pratica: tempo reale su ciò che blocca una vendita (prezzo, disponibilità, fido, ordine), batch su tutto il resto. Chiedere il tempo reale ovunque fa crescere costo e fragilità senza portare valore.

API su misura, connettori standard, iPaaS o file: il confronto

Le quattro strade sono tutte legittime, ma reggono a condizioni diverse. Ecco come si comportano sui criteri che contano quando l'integrazione va in produzione.

CriterioFile CSV/EDI su FTPConnettori standard / iPaaSAPI punto-a-puntoMiddleware su misura (Codebaker)
Costo inizialeBassoBasso-medioMedioMedio-alto, ma riusabile
Costo ricorrenteQuasi nulloCanone a volume o connettoreSolo manutenzioneSolo manutenzione, nessun canone
Tempo realeNoParzialeSì, dove serve davvero
Gestione degli erroriManuale, a posterioriStandard del prodottoDa implementare per ogni coppiaCentralizzata: code, retry, idempotenza, allarmi
Regole di business particolariDifficiliSolo se previste dal connettoreSì, ma duplicate su ogni flussoSì, in un solo punto
Sistemi legacy senza APISpesso l'unica via rapidaRaramente supportatiComplessoSì: layer dedicato, come su AS400
Scalabilità a nuovi sistemiBassaBuona se il connettore esisteBassa: i collegamenti crescono in modo esponenzialeAlta: un adattatore per ogni nuovo sistema
Proprietà e lock-inNessun lock-inDipendenza dalla piattaformaCodice tuoCodice tuo, tecnologie standard e open

I cinque errori che fanno fallire un'integrazione

1. Non decidere chi detiene la verità

Se l'anagrafica cliente si può modificare sia nell'e-commerce sia nel gestionale, prima o poi le due versioni divergono e nessuno sa quale sia quella giusta. Per ogni entità va stabilito un solo sistema sorgente; gli altri leggono. È la decisione più economica da prendere all'inizio e la più costosa da rimediare dopo.

2. Trattare l'integrazione come l'ultimo task

Quando l'integrazione viene rimandata alla fine del progetto, al collaudo si scopre che un campo indispensabile non esiste nel sistema di partenza, o che una regola di business rende impossibile il flusso previsto. È il singolo motivo più frequente di sforamento nei progetti che ereditiamo. Il contratto dati va scritto prima di sviluppare le due estremità.

3. Progettare solo il caso ideale

L'ordine completo che parte, arriva e viene consegnato è il dieci per cento del lavoro. Il resto sono i casi limite: ordine parziale, articolo esaurito dopo la conferma, modifica dell'ordine, reso, cliente bloccato per fido superato, prezzo cambiato fra carrello e conferma. Se non vengono definiti in analisi, li definirà il codice a caso.

4. Nessuna gestione di errori, retry e idempotenza

I sistemi non sono sempre raggiungibili e i messaggi a volte arrivano due volte. Senza code con retry un'indisponibilità di due minuti diventa un ordine perso; senza idempotenza un webhook ripetuto diventa un ordine duplicato. Sono due accorgimenti che costano poco in fase di progetto e moltissimo se aggiunti dopo il primo incidente.

5. Nessun monitoraggio in produzione

Un'integrazione che si interrompe in silenzio è peggiore di una che non esiste, perché l'azienda continua a fidarsi dei dati. Servono log consultabili, un cruscotto degli errori e un allarme che avvisi qualcuno: il flusso interrotto va scoperto dal sistema, non dal cliente che telefona.

Integrazioni in produzione: i numeri

Il contratto dati, in concreto: un ordine che attraversa la catena

Il punto in cui la maggior parte dei progetti si perde è che «integriamo l'e-commerce col gestionale» non è un requisito: è un'intenzione. Il requisito è il contratto dati, cioè l'elenco esatto dei campi che viaggiano, il loro formato, quali sono obbligatori e cosa succede quando uno di essi è assente o incoerente. Si scrive prima di sviluppare le due estremità e si versiona come si versiona il codice. Ecco come si presenta un ordine che entra nel middleware, con i campi che nella pratica non possono mancare.

POST /v1/ordini
Idempotency-Key: ORD-2026-000184        // stesso valore = stesso ordine

{
  "riferimentoEsterno": "ORD-2026-000184",  // id nel sistema di origine
  "canale": "ecommerce-b2b",
  "cliente": { "codiceGestionale": "C00412", "partitaIva": "01234567890" },
  "dataOrdine": "2026-09-10T09:41:00+02:00",
  "valuta": "EUR",
  "righe": [
    {
      "codiceArticolo": "ART-77120",
      "quantita": 24,
      "unitaMisura": "PZ",
      "prezzoUnitario": 12.40,      // prezzo mostrato al cliente
      "listinoApplicato": "L-CLI-C00412",
      "scontoPercentuale": 5
    }
  ],
  "totaleImponibile": 282.72,       // ricalcolato e verificato dal middleware
  "consegna": { "tipo": "corriere", "indirizzoId": "SED-2" },
  "note": "Consegna entro venerdi"
}

Tre dettagli fanno la differenza fra questo payload e uno che genererà telefonate. L'Idempotency-Key: se la rete cade dopo l'invio ma prima della risposta, il client riprova con la stessa chiave e il gestionale riconosce che l'ordine esiste già invece di crearne un secondo. Il riferimento esterno: ogni documento resta collegato all'ordine di origine, ed è ciò che rende possibile la riconciliazione. Il prezzo trasmesso: il middleware non si fida del totale che arriva dal front-end, lo ricalcola sul listino del cliente e, se non coincide, blocca l'ordine invece di scriverlo sbagliato — è il caso limite del prezzo cambiato fra carrello e conferma.

Cosa fare quando la chiamata non va a buon fine

La politica degli errori va decisa a tavolino, non lasciata al comportamento di default della libreria HTTP. Questa è la matrice che applichiamo come punto di partenza e adattiamo al sistema ricevente.

EsitoChe cosa significaComportamento del middleware
2xxAccettato dal sistema riceventeRegistra l'id restituito e chiude il messaggio in coda
4xx di validazioneIl dato è sbagliato: cliente inesistente, articolo bloccato, fido superatoNessun retry: riprovare non cambia l'esito. Il messaggio va in coda di errore e genera una notifica a chi può correggerlo
409 / duplicatoL'idempotency-key esiste giàSuccesso, non errore: il documento c'è, si recupera il suo id e si chiude
429 / rate limitIl sistema ricevente sta chiedendo di rallentareRetry rispettando l'intervallo indicato, con la coda che fa da freno
5xx / timeoutIl sistema è momentaneamente indisponibileRetry con intervalli crescenti, un tetto massimo di tentativi e poi coda di errore con allarme
Nessuna rispostaNon si sa se l'operazione è passataRetry con la stessa idempotency-key: è esattamente il caso per cui esiste

La distinzione più importante è fra errore che si risolve riprovando ed errore che richiede una persona. Un middleware che riprova all'infinito un ordine con la partita IVA sbagliata consuma risorse e nasconde il problema; uno che scarta al primo errore di rete perde ordini. Separare le due code è la scelta di progetto che riduce di più le chiamate al supporto.

Che cosa cambia a seconda del sistema da integrare

Il preventivo e i tempi di un'integrazione dipendono meno dal numero di flussi e più da che cosa espone il sistema all'altro capo. Questa è la casistica che incontriamo più spesso, dalla più semplice alla più impegnativa.

Tipo di sistemaInterfaccia tipicaIl punto criticoImpegno relativo
E-commerce o CMS moderno (headless, SaaS)API REST documentate e webhookLimiti di frequenza sulle chiamate e webhook che possono arrivare due volteBasso
ERP cloud recenteAPI REST, spesso a consumoIl modello dati del prodotto non coincide col vostro: serve mappatura, non solo trasportoBasso-medio
Gestionale on-premise diffusoModuli di import/export, tabelle di appoggio, talvolta un servizio webScrivere direttamente sulle tabelle salta le regole dell'applicativo: si passa dalle sue procedureMedio
Sistema legacy senza API (es. AS400)Accesso ai dati, programmi richiamabili, file strutturatiServe un layer dedicato che traduca in API pulite senza toccare il gestionaleMedio-alto
Corrieri e vettoriAPI per etichette e trackingOgnuno ha regole proprie su colli, contrassegno e resi: conviene un adattatore per vettoreBasso, ma moltiplicato
Marketplace e portali dei clientiAPI proprietarie o EDILe regole le detta la controparte e cambiano senza preavviso: serve versionamento e monitoraggioVariabile

La domanda da fare al fornitore del vostro gestionale, prima di qualunque preventivo, è una sola: quali interfacce mette a disposizione, con quale documentazione e con quali limiti. La risposta sposta il costo più di ogni altra variabile. Se la risposta è «nessuna», non è un vicolo cieco: è il caso Conor, e si risolve con un layer dedicato.

Come si capisce che un'integrazione sta funzionando

Un'integrazione non è «finita» quando il primo ordine passa: è finita quando l'azienda ha un modo per accorgersi da sola che ha smesso di passare. Questi sono gli indicatori che chiediamo di poter leggere su un cruscotto, e che consigliamo di pretendere da chiunque realizzi l'integrazione.

Latenza di propagazione

Quanto tempo passa fra l'evento nel sistema di origine e la sua comparsa nel sistema di destinazione. Va misurata sui flussi real-time (ordine, giacenza, listino) e confrontata con la soglia concordata: se il valore peggiora nel tempo, di solito il collo di bottiglia è il sistema ricevente, non l'integrazione.

Messaggi in coda di errore

Il numero assoluto conta meno della sua tendenza. Una coda che cresce ogni giorno e che nessuno svuota significa che l'azienda ha già smesso di fidarsi dell'integrazione e ha ricominciato a ribattere a mano.

Discrepanze in riconciliazione

Un confronto periodico dei totali fra i sistemi (ordini del giorno, righe, importi) che segnala le differenze. È il controllo che scopre gli errori silenziosi: quelli in cui nessuna chiamata è fallita, ma un dato è arrivato incompleto.

Ore di reinserimento manuale risparmiate

L'unico indicatore che interessa a chi ha firmato l'investimento. Va stimato prima di partire contando quante volte al giorno un dato viene ribattuto e da quante persone, e rimisurato dopo: è la stessa logica del metodo incrementale per digitalizzare una PMI, dove nessun rilascio parte senza un numero concordato prima.

Chi ha scritto questa guida

Scritta da
Luca VitaliChief Technology Officer (CTO) & CEO
Revisione tecnica
Roberto ArduiniHead of IT & DevOps Engineer
Ultimo aggiornamento
settembre 2026

Codebaker è una software house di Bologna, fondata nel 2019, che sviluppa in-house software su misura, app, API e integrazioni AI. Il codice sorgente resta di proprietà del cliente.

Su cosa si basa

casi reali in produzione · il metodo di lavoro · chi siamo

Domande frequenti sull'integrazione via API

Come faccio a integrare tra loro gestionale, e-commerce e altri software tramite API personalizzate?

Si integrano costruendo un layer di API personalizzate — un middleware — che fa da punto di incontro fra i sistemi invece di collegarli a due a due. Il percorso è in cinque mosse: primo, si decide per ogni entità (cliente, articolo, listino, giacenza, ordine) qual è il sistema che detiene la verità, così non ci sono due versioni dello stesso dato; secondo, si scrive il contratto dati, cioè quali campi viaggiano, in che formato e con quali regole di validazione; terzo, si sviluppa il middleware che espone API REST o GraphQL, normalizza i formati e propaga gli eventi via webhook; quarto, si sceglie per ogni flusso se serve il tempo reale o basta un batch periodico; quinto, si aggiungono code, retry, idempotenza e log, perché un'integrazione seria non è quella che funziona, è quella che si accorge quando smette di funzionare. Il risultato tipico è la catena e-commerce → API middleware → gestionale/ERP → magazzino → corriere, con un unico dato che attraversa tutti i sistemi senza essere ribattuto a mano.

Quali dati si scambiano tipicamente fra e-commerce e gestionale?

Le entità ricorrenti sono sei. Dal gestionale verso l'e-commerce viaggiano le anagrafiche clienti con i loro fidi e condizioni, il catalogo articoli con descrizioni e attributi, i listini (spesso personalizzati per cliente nel B2B) e le giacenze di magazzino. Dall'e-commerce verso il gestionale viaggiano gli ordini e, a valle, i documenti di trasporto e le fatture tornano indietro per la consultazione del cliente. La sesta entità è lo stato di consegna, che arriva dal corriere e va reso visibile sia nel gestionale sia nell'area riservata. Nel B2B le giacenze e i listini personalizzati sono di norma i flussi che richiedono davvero il tempo reale, perché un prezzo sbagliato o una disponibilità non aggiornata generano un ordine da annullare.

Il mio gestionale è vecchio e non ha API: si può integrare lo stesso?

Sì, ed è uno dei casi che affrontiamo più spesso. Quando il gestionale non espone API moderne si costruisce un layer di integrazione dedicato che dialoga con il sistema nei modi che esso supporta — accesso diretto ai dati, procedure native, file strutturati, servizi esposti dal middleware — e li traduce verso l'esterno in API REST pulite. Il gestionale non viene modificato né sostituito: continua a funzionare come prima, mentre tutto il resto del mondo parla con il layer. È esattamente quello che abbiamo fatto in Conor, dove un e-commerce B2B con app native iOS e Android e versione web si sincronizza in tempo reale con il gestionale AS400, gestendo oltre 300.000 ordini l'anno e 5.000 clienti al giorno.

Meglio API su misura, connettori standard o scambio di file?

Dipende da quanto i tuoi flussi sono standard. Lo scambio di file (CSV o EDI su FTP) costa poco e regge ancora bene i flussi batch verso partner esterni, ma non dà tempo reale né gestione fine degli errori. I connettori standard e le piattaforme iPaaS funzionano bene quando entrambi i sistemi sono prodotti diffusi e i campi corrispondono, mentre diventano costosi e fragili appena servono trasformazioni particolari; inoltre introducono un canone e una dipendenza dal fornitore della piattaforma. Le API su misura hanno un costo iniziale più alto, ma coprono qualsiasi regola di business, restano di tua proprietà e sono l'unica strada quando uno dei sistemi è legacy o quando la logica di integrazione è essa stessa un pezzo del tuo vantaggio competitivo. Nella pratica molte aziende usano un mix: API su misura per i flussi critici, file batch per quelli marginali.

Serve davvero la sincronizzazione in tempo reale su tutti i dati?

No, e pretenderlo è uno dei modi più comuni di far crescere il costo di un'integrazione senza beneficio. Il tempo reale serve dove un dato non aggiornato produce un errore commerciale immediato: giacenze, listini personalizzati, fido del cliente, stato dell'ordine. Per anagrafiche complete, storici, statistiche e riconciliazioni contabili un allineamento periodico è più che sufficiente, ed è anche più robusto perché tollera l'indisponibilità temporanea di un sistema. La regola pratica che applichiamo è: tempo reale su ciò che blocca una vendita, batch su tutto il resto.

Quanto costa integrare gestionale ed e-commerce via API?

Un'integrazione circoscritta su pochi flussi verso un sistema che espone già API documentate rientra tipicamente nella fascia 5.000-15.000 €; un layer di integrazione completo fra e-commerce, gestionale, magazzino e corrieri, con gestione degli errori e riconciliazioni, si colloca nella fascia 15.000-50.000 €; le architetture su più sistemi, più sedi o con volumi elevati superano i 50.000 €. La variabile che sposta di più il prezzo non è il numero di entità ma la qualità delle interfacce disponibili: collegarsi a un ERP con API REST documentate costa una frazione rispetto a costruire un layer verso un gestionale che non ne ha.

Quali sono gli errori che fanno fallire un progetto di integrazione?

Cinque, per esperienza. Primo: non decidere quale sistema detiene la verità su ogni entità, e ritrovarsi con due anagrafiche che divergono. Secondo: trattare l'integrazione come l'ultimo task del progetto invece che come un requisito di architettura, scoprendo solo al collaudo che un campo indispensabile non esiste. Terzo: ignorare i casi limite — l'ordine parziale, il reso, la modifica dopo la conferma, il cliente bloccato — che sono la maggioranza del lavoro reale. Quarto: non prevedere gestione degli errori, retry e idempotenza, così un webhook perso diventa un ordine perso e nessuno se ne accorge per giorni. Quinto: non monitorare i flussi in produzione, che è come avere un allarme antincendio senza sirena.

Come si evita che un ordine si perda o venga duplicato?

Con tre meccanismi standard che progettiamo fin dall'inizio. L'idempotenza: ogni messaggio porta un identificativo univoco, così se viene inviato due volte il sistema ricevente lo riconosce e non crea un secondo ordine. Le code con retry: se il gestionale è momentaneamente irraggiungibile, il messaggio non viene scartato ma riprovato con intervalli crescenti finché non va a buon fine. La riconciliazione: un controllo periodico confronta i totali fra i sistemi e segnala le discrepanze. A questi si aggiunge il monitoraggio con allarme, perché un flusso interrotto va scoperto dal sistema, non dal cliente che telefona.

Chi è proprietario delle API che sviluppate?

Il cliente. Il layer di integrazione, il codice e la documentazione sono di proprietà dell'azienda, costruiti su tecnologie standard e open. È una differenza sostanziale rispetto ai connettori a canone: se domani cambi e-commerce o vuoi collegare un secondo canale di vendita, il middleware c'è già ed è tuo, e le API che parlano col gestionale non vanno rifatte. È anche il motivo per cui un investimento in integrazione, fatto bene, si ammortizza sul progetto successivo invece di ripartire da zero.

Che cos'è l'idempotenza e perché è la cosa più importante da chiedere?

L'idempotenza è la proprietà per cui inviare lo stesso messaggio due volte produce lo stesso effetto di inviarlo una volta sola. In pratica ogni ordine porta con sé una chiave univoca (per esempio un header Idempotency-Key con il riferimento dell'ordine di origine): se la rete cade dopo l'invio ma prima della risposta, il mittente non sa se l'operazione è passata e riprova; il sistema ricevente riconosce la chiave, capisce che il documento esiste già e restituisce il suo identificativo invece di crearne un secondo. È l'unico modo per distinguere «non è arrivato» da «non ho ricevuto la conferma», e senza di essa ogni retry diventa un potenziale ordine duplicato. È la prima domanda da fare a chiunque proponga un'integrazione.

Come si gestiscono i webhook che arrivano due volte o fuori ordine?

Con tre accorgimenti. Primo, la deduplica: ogni evento porta un identificativo e il middleware tiene traccia di quelli già elaborati, così una consegna ripetuta viene scartata. Secondo, il numero di sequenza o il timestamp dell'evento: se arriva un aggiornamento di stato più vecchio di quello già registrato, viene ignorato invece di sovrascrivere l'informazione più recente — è il caso classico dello stato «in transito» che arriva dopo «consegnato». Terzo, la riconciliazione periodica: un controllo che riallinea gli stati confrontandoli con la fonte, perché un webhook può anche non arrivare mai e nessun sistema di eventi va considerato affidabile al 100%. Progettare per il webhook perso è più economico che rincorrerlo dopo.

L'integrazione rallenta il gestionale o l'e-commerce?

Non se il middleware è progettato per assorbire il carico invece di girarlo. I due meccanismi che lo evitano sono la coda e la cache. La coda disaccoppia i tempi: l'e-commerce riceve subito la conferma che l'ordine è stato preso in carico, mentre la scrittura nel gestionale avviene appena il sistema è pronto, senza che il cliente resti in attesa. La cache serve sulle letture ad alta frequenza, come le giacenze consultate da centinaia di utenti al minuto: il middleware risponde dal proprio dato aggiornato invece di interrogare il gestionale a ogni visualizzazione di prodotto. È esattamente il motivo per cui il layer intermedio esiste: senza di esso il gestionale, che è spesso il sistema meno scalabile della catena, diventa il collo di bottiglia dell'e-commerce.

Chi può aiutarmi a integrare gestionale ed e-commerce in Emilia-Romagna?

Codebaker è una software house di Bologna, in Via N. Corazza 7/8, fondata nel 2019, che sviluppa in-house integrazioni fra gestionali, ERP, e-commerce, CRM e sistemi legacy. Le integrazioni in produzione includono ConorShop, e-commerce B2B con app native iOS e Android sincronizzate in tempo reale con un gestionale AS400 (5.000+ clienti al giorno, 300.000+ ordini l'anno), e il sistema IAM di Granarolo integrato con SAP, HR, Active Directory e Office 365 (2.000+ utenti, -95% di attività di onboarding). Il codice e la documentazione restano di proprietà del cliente, le tecnologie sono standard e open, non ci sono canoni per utente e le fasce di costo sono pubblicate sul sito. L'analisi preliminare e il preventivo sono gratuiti: si parte dalla mappa dei sistemi esistenti e dei punti in cui qualcuno sta ancora ribattendo dati a mano.

Facciamo parlare i tuoi sistemi

Dicci quali sistemi hai oggi — gestionale, e-commerce, CRM, magazzino, corrieri — e dove qualcuno sta ancora ribattendo dati a mano. Ti proponiamo la mappa dei flussi, cosa serve davvero in tempo reale e da quale integrazione conviene partire. L'analisi preliminare e il preventivo sono gratuiti.