Integrazioni

Il negozio, i corrieri e le stampanti, collegati sul serio

Un modulo installato su PrestaShop che manda l’ordine nell’istante in cui nasce, la giacenza che insegue la vetrina, un registro dei corrieri con i tracciamenti, una coda di stampa che manda l’etichetta alla stampante di chi lavora e chiavi API legate al singolo committente. Quello che colleghi lo vedi lavorare dal primo giorno: l’ordine entra nell’istante in cui il cliente paga, la vetrina riceve la disponibilità vera e l’etichetta esce dalla stampante che l’operatore ha davanti.

Parliamone

PrestaShop
Un modulo sul negozio

L’ordine arriva per evento nell’istante in cui nasce; il giro schedulato resta come rete di sicurezza.

Firmato
Ogni chiamata dal negozio

Il corpo si verifica prima di leggerlo: chi non ha il segreto condiviso non entra, nemmeno per sbaglio.

Un minuto
La vetrina insegue il magazzino

Cambia la disponibilità e la variante entra in coda: il negozio si allinea al giro successivo, non a fine giornata.

Sola lettura
Chiavi per committente

Una chiave vede le giacenze di un committente solo, e a filtrarle è il server, non chi chiama.

Ogni integrazione prima o poi si rompe: il negozio va giù per un’ora, un prodotto viene cancellato, una riga d’ordine arriva con un codice che non conosciamo. La domanda non è se succederà, è cosa succede dopo. In CargoNode nessun sistema esterno parla direttamente col magazzino: tutto passa da due code — quello che entra e quello che deve uscire — dove ogni riga porta la sua chiave, i suoi tentativi e il suo errore. Così un ordine non si perde mai in silenzio, e quando qualcosa si blocca c’è una schermata che lo dice e un pulsante che lo sblocca.

Cosa entra, cosa esce, e per quale strada

Prima dei dettagli, l’elenco per intero: da una parte quello che entra, dall’altra quello che esce, e in mezzo due code che nessuno scavalca — con la chiave su ogni evento, l’attesa che cresce quando il negozio non risponde e una via d’uscita quando qualcosa si blocca. È la mappa di una giornata: l’ordine entra da solo, la merce esce con la sua etichetta e il negozio torna allineato senza che nessuno prema «sincronizza».

  • Il negozio: ordini, clienti, incassi e rimborsi in entrata; catalogo, categorie, immagini, listini, giacenze e conferme in uscita
  • Il catalogo da file, con l’anteprima del cambiamento prima di applicarlo
  • La bolla o la fattura del fornitore lette dal PDF o dalla fotografia, e da lì un ordine d’acquisto in bozza
  • I corrieri: registro, numero di spedizione, collegamento al tracciamento e distinte di carico
  • Le stampanti di magazzino, le chiavi API in sola lettura per committente e gli avvisi per email o verso un tuo sistema
La spina dei connettori, oggi
SistemaCosa entraCosa esceOggi
Negozio PrestaShopordini, clienti, incassi e rimborsicatalogo, categorie, immagini, listini, giacenze, confermecollegato: modulo sul negozio, chiamate firmate, giro di recupero
Catalogo da filearticoli e listinicollegato: l’anteprima del cambiamento prima di applicarlo
Bolla o fattura del fornitorele righe lette dal PDF o dalla fotografiacollegato: ne nasce un ordine d’acquisto in bozza
Corrierispedizioni, numeri e distinte di caricocollegati: registro dei corrieri, numero di spedizione e collegamento al tracciamento che si compone da solo
Stampantietichette e documenticollegate: l’etichetta esce dalla stampante davanti a chi lavora, senza installare niente in sede
Chi legge le tue giacenzegiacenze e ordini, in sola letturacollegato: chiave API legata a un committente solo
Avvisiemail, o una chiamata verso un tuo sistemacollegati: coda di uscita con tentativi ed errore
Nessuna riga di questa tabella è un progetto: è quello che gira oggi, su dati veri, dall’ordine alla spedizione.

PrestaShop: un modulo sul negozio, non un ponte fragile

Sul negozio si installa un modulo CargoNode e l’accoppiamento si fa con un codice monouso: il negozio si guadagna le sue credenziali una volta sola e da lì in poi le due parti si presentano — chi sono, che versione ho, cosa mi lasci fare. Ogni chiamata è firmata e il corpo si verifica prima di essere letto. Quando nasce un ordine il negozio lo dice subito, così l’ordine entra nell’istante in cui il cliente ha pagato invece di aspettare il giro successivo; il giro schedulato resta comunque, come rete di sicurezza per il negozio che non ha il modulo o che quel giorno non è riuscito a chiamare. Nell’altra direzione partono catalogo, categorie, immagini, listini, clienti, conferme d’ordine, incassi e rimborsi.

  • Accoppiamento con codice monouso: il negozio si guadagna le credenziali una volta
  • Ogni chiamata firmata, con il corpo verificato prima di essere letto
  • L’ordine arriva per evento, non solo quando tocca al giro schedulato
  • Giro di recupero periodico per tutto quello che non è arrivato
  • Catalogo, categorie, immagini, listini e clienti pubblicati dal magazzino al negozio
  • Gli stati del negozio si mappano sui tuoi: cosa si evade e cosa resta in attesa
  1. Il negozioPRESTASHOPIl modulo chiama nell’istante in cui l’ordine nasce, e la chiamata è firmata.
  2. Coda d’ingressoCON LA SUA CHIAVEOgni evento porta la propria chiave: un rinvio non crea un secondo ordine.
  3. Il magazzinoREGISTROL’ordine è dentro, con le righe agganciate alle varianti e il cliente riconosciuto.
  4. Coda d’uscitaCON I TENTATIVIGiacenze, prezzi, conferme, incassi e rimborsi tornano indietro.
  5. La vetrinaPRESTASHOPSi allinea al giro successivo, non a fine giornata.

Nessun sistema esterno tocca il magazzino — e quando qualcosa non torna

  • Riga sconosciutaFallisce la riga, non l’ordine: quello resta in quarantena e le altre righe passano.
  • Negozio irraggiungibileSi ritenta con attesa crescente, e oltre la soglia si mette da parte dichiarandolo.
  • Prodotto cancellatoErrore definitivo riconosciuto: si ferma subito, invece di ritentare per giorni.
Due code fra il negozio e il magazzinoLe due code sono l’unico modo in cui il negozio e il magazzino si parlano. Il giro schedulato passa comunque, come rete di sicurezza per quello che il negozio non è riuscito a mandare.

La giacenza che insegue la vetrina, e il prezzo con lei

Quando la disponibilità di una variante cambia — un prelievo, un ricevimento, una riserva che si libera — quella variante finisce in una coda di cose da riallineare, e la coda viene svuotata a ripetizione. Il numero che va in vetrina non è una copia: è la giacenza meno le riserve attive, calcolata nel momento in cui parte. Lo stesso vale per i prezzi, che vengono dai listini e non dal campo prezzo dell’articolo: è la differenza fra pubblicare un catalogo e pubblicare un catalogo con i prezzi che pratichi davvero. E una riconciliazione confronta quello che il negozio espone con quello che dice il magazzino, per trovare le derive prima che le trovi un cliente.

  • Coda delle varianti da riallineare, svuotata a ripetizione
  • Disponibilità calcolata dalle riserve attive, mai un numero copiato
  • I prezzi pubblicati vengono dai listini, non dal campo prezzo dell’articolo
  • Riconciliazione fra la vetrina e il magazzino, per vedere gli scostamenti
  • Ambito del connettore: da quali magazzini pubblica e per quali committenti
  • Quanti connettori può avere un cliente è un numero sulla sua riga, non una fascia
Coda delle varianti da riallineare
  • GIACENZA40 pezzi a scaffaleSKU-4471 · A-12-3
  • RISERVE−12 già impegnati su ordini confermatiriserve attive
  • IN VETRINA28 disponibilicalcolato quando parte
  • IN CODA2 varianti da riallinearesvuotata a ripetizione

Il numero che va in vetrina non è una copia: è la giacenza meno le riserve attive. E una riconciliazione confronta quello che il negozio espone con quello che dice il magazzino, per trovare le derive prima che le trovi un cliente.

Quando qualcosa non torna: quarantena, non silenzio

Una riga d’ordine con un codice che non conosciamo non fa fallire l’ordine: fallisce la riga, l’ordine resta in quarantena e le altre righe passano. Colleghi la variante mancante e lo rimandi, senza ribatterlo a mano. I recapiti verso il negozio ritentano con attesa crescente e, dopo la soglia, vengono messi da parte invece di continuare all’infinito; gli errori definitivi — il prodotto che sul negozio non esiste più — vengono riconosciuti come tali e smettono subito, perché ritentare per giorni contro una porta chiusa non ha mai risolto niente e nasconde i problemi veri. Le sincronizzazioni bloccate stanno in un elenco, con accanto la via d’uscita.

  • Riga non mappata: fallisce la riga, non l’ordine
  • Quarantena con rimappatura e riesecuzione, senza rifare l’ordine a mano
  • Ritentativi con attesa crescente, poi messa da parte dichiarata
  • Errori definitivi riconosciuti: non si ritenta per giorni contro un prodotto cancellato
  • Elenco delle sincronizzazioni bloccate, con la via d’uscita accanto
  • Ogni evento porta la sua chiave: un rinvio non crea un secondo ordine
Sincronizzazioni da guardare
  • QUARANTENAordine 2026-1187 · 1 riga non mappatale altre righe sono passate
  • RITENTAconferma d’ordine · terzo tentativoattesa crescente
  • DA PARTEaggiornamento giacenza · oltre la sogliamesso da parte, dichiarato
  • DEFINITIVOil prodotto sul negozio non esiste piùsi ferma subito

Ogni riga porta accanto la sua via d’uscita: colleghi la variante e rimandi, oppure chiudi la sincronizzazione. Niente si perde in silenzio, e niente ritenta all’infinito.

Portare dentro quello che hai già

Il catalogo si importa da file, ma prima si guarda: l’anteprima mostra il cambiamento — cosa nasce, cosa cambia, cosa resta com’è — e solo dopo si applica. Poi c’è la carta, che nessuno ha ancora abolito: la bolla o la fattura del fornitore si caricano come PDF o come fotografia e vengono lette riga per riga, agganciando quello che si riconosce al catalogo per codice a barre, codice del fornitore o codice tuo. Da lì nasce un ordine d’acquisto in bozza — mai un movimento diretto, perché una lettura automatica non deve poter toccare le giacenze — e il listino del fornitore si aggiorna con i prezzi appena letti.

  • Import del catalogo da file, con l’anteprima del cambiamento prima di applicarlo
  • La bolla o la fattura del fornitore lette da un PDF o da una fotografia
  • Righe agganciate al catalogo per codice a barre, codice fornitore o codice tuo
  • Da lì nasce un ordine d’acquisto in bozza, mai un movimento diretto
  • Il listino del fornitore si aggiorna con i prezzi appena letti
  1. Carichi il PDF o la fotografiaLa bolla o la fattura del fornitore, com’è arrivata.
  2. Le righe si aggancianoPer codice a barre, codice del fornitore o codice tuo.
  3. Guardi quelle che non si riconosconoLe altre sono già collegate al catalogo, e non le tocchi.
  4. Nasce un ordine d’acquisto in bozzaMai un movimento: una lettura automatica non deve poter toccare le giacenze.

Corrieri, tracciamenti e distinte di carico

I corrieri sono un registro, non un campo di testo libero riscritto ogni volta: codice, nome, tipo di servizio e il modello di indirizzo con cui si compone il collegamento al tracciamento. Ci sono già dentro i corrieri che si usano in Italia e uno generico per gli altri. La spedizione porta il corriere e il numero, e da quei due il collegamento nasce da solo; gli stati — in transito, in consegna, consegnato, eccezione, reso — restano come storia, non come ultimo valore sovrascritto. Le distinte di carico si numerano, si chiudono e all’occorrenza si riaprono, e si stampano per il vettore che firma. Gli stati li metti tu quando il corriere ti aggiorna, oppure arrivano dal negozio: ognuno resta una riga con chi l’ha messa e quando, così quello che è successo alla spedizione si rilegge invece di ricostruirlo a memoria.

  • Registro dei corrieri con servizio e modello di indirizzo per il tracciamento
  • Numero di spedizione sul documento, con il collegamento che si compone da solo
  • Stati di transito, consegna, eccezione e reso conservati come storia
  • Distinte di carico numerate, chiuse e riaperte, stampabili per il vettore
  • Spedizione multi-collo con il peso reale, non stimato
  • Ogni cambio di stato è una riga in più, con chi l’ha registrata e quando: la storia non si sovrascrive
Spedizione · 3 colli, 12,40 kg
  • CORRIEREdal registro, con il suo tipo di servizionon testo libero
  • NUMEROil collegamento al tracciamento si compone da sédal modello di indirizzo
  • STATIin transito · in consegna · consegnatopiù eccezione e reso
  • STORIAogni cambio di stato resta una rigacon chi l’ha registrato e quando

La distinta di carico si numera, si chiude e all’occorrenza si riapre, e si stampa per il vettore che firma.

Etichette e stampanti che stanno in magazzino

La stampa parte dal browser di chi sta lavorando: la coda gli consegna l’etichetta, lui la manda alla stampante che ha davanti e conferma che è uscita. Non c’è niente da installare in sede, e la coda deduplica: premere due volte non fa uscire due etichette. Anche senza etichettatrice l’etichetta esce comunque, da una stampante qualsiasi: c’è un impaginato predefinito da 10×7 cm, con il dato che identifica il collo in grande, un codice a barre Code128 che si legge davvero e il salto pagina fra un collo e l’altro. Chi l’etichettatrice ce l’ha scrive il proprio modello in ZPL con i segnaposto del documento — destinatario, numero di spedizione, collo, ubicazione — così l’etichetta esce come la vuole lui sulla sua macchina, e la stampa di prova dice subito se è centrata. E se nella tua rete gira già un agente di stampa, la coda è pronta per lui: chiave API, presa atomica perché due non prendano lo stesso lavoro, e la conferma di stampa che torna indietro.

  • Coda di stampa con chiave di deduplica: due click non fanno due etichette
  • Si stampa dal browser di chi lavora: niente da installare in sede
  • Impaginato predefinito 10×7 con codice a barre Code128 e salto pagina fra i colli
  • Il tuo modello in ZPL, con i segnaposto del documento e la stampa di prova per centrarlo
  • Un agente di stampa in sede si aggancia alla coda: chiave API, presa atomica, conferma di stampa
  • Etichette di ubicazione, articolo, collo e spedizione, e il registro delle stampanti
Due modi di far uscire un’etichetta
StradaChi manda l’etichetta alla stampanteCosa installiQuando conviene
Dal browser di chi lavorala pagina aperta in magazzinonientela strada normale: si stampa subito, da qualunque postazione
Un programma nella tua reteun agente in sede, che si prende i lavori dalla codail tuo agentequando in rete hai già un agente di stampa, o stampanti che dal browser non passano
In tutti e due i casi i lavori restano in coda finché qualcuno non li ritira: la presa è atomica, così due non prendono lo stesso lavoro, e la chiave di deduplica impedisce che due click facciano due etichette.

L’API pubblica e le chiavi per committente

C’è una superficie pubblica in sola lettura per le giacenze, gli ordini e l’identità di chi chiama. La chiave non è generica: è legata a un committente, e il filtro lo mette il server — non arriva mai dal chiamante, perché uno scoping sbagliato mostrerebbe la merce di un committente a un altro, che è il modo peggiore di perdere un cliente. La chiave si vede una volta sola: da noi resta la sua impronta, non la chiave. Ha un prefisso visibile per riconoscerla in un elenco, una scadenza e la data dell’ultimo uso, così si vede quali sono vive e quali si possono spegnere.

  • Letture di giacenze, ordini e identità del committente
  • La chiave è legata a un committente solo, e a filtrare è il server
  • La chiave si vede una volta sola: resta l’impronta, non la chiave
  • Prefisso visibile, scadenza e data dell’ultimo uso
  • Una chiave sbagliata e un cliente inesistente rispondono uguale: non si enumera niente
Chiave API · un solo committente
  • cn_a4f2…prefisso visibile, il resto nosi vede una volta sola
  • LEGGEgiacenze, ordini, identità del committentesola lettura
  • FILTRAil server, non chi chiamaun committente solo
  • SCADEcon accanto la data dell’ultimo usosi vede quali sono vive

Da noi resta l’impronta, non la chiave. E una chiave sbagliata e un cliente inesistente rispondono uguale: non si enumera niente.

La posta che esce, gli avvisi e i palmari

Gli avvisi si dichiarano come regole — una soglia di sottoscorta, uno scostamento fra registro e giacenza — e vanno a chi decidi, per email o verso un tuo sistema. La posta esce davvero: il mittente parte da un indirizzo di piattaforma che funziona senza configurare niente, e diventa il tuo dominio quando lo verifichi. Ogni messaggio ha una riga nella coda di uscita, con i tentativi, l’errore e il pulsante per ritentare: un avviso non partito si vede lì, invece di scoprirlo dal reclamo. Sulla stessa idea stanno i palmari, che battono un colpo periodico e raccontano chi è online, con che versione, e cosa ha fatto.

  • Regole di avviso su soglie e scostamenti, con i destinatari per canale
  • Email vera: mittente di piattaforma senza configurazione, o il tuo dominio verificato
  • Un canale verso un tuo sistema, per chi vuole ricevere gli eventi altrove
  • Coda di uscita con tentativi, errore e ritentativo a mano
  • Palmari che battono un colpo: chi è online, che versione ha, cosa ha fatto

Domande frequenti

Vendiamo su Shopify o WooCommerce: c’è il connettore?

Il canale collegato e provato su dati veri è PrestaShop, con un modulo installato sul negozio. Sotto, la struttura è la stessa per qualunque canale — le due code, la deduplica, le mappature, la quarantena — e un secondo negozio si innesta lì senza toccare il magazzino: quando ti serve è un progetto con una data, e lo guardiamo insieme prima di prendere impegni.

Il corriere aggiorna da solo il tracciamento?

Il corriere e il numero di spedizione stanno sul documento e il collegamento al tracciamento si compone da solo, quindi la pagina del corriere si apre dall’ordine senza cercarla. Gli stati di transito e consegna li tieni tu — o arrivano dal negozio — e restano come storia, con chi li ha registrati e quando. Il collegamento diretto al portale di un corriere è un innesto a sé, con le tue credenziali presso quel corriere: si valuta insieme quando ti serve.

La stampante è in magazzino e il software è in cloud: come fa a stampare?

Stampa il browser di chi sta lavorando: la coda gli consegna l’etichetta, lui la manda alla stampante che ha davanti e conferma che è uscita — non c’è niente da installare in magazzino. Se preferisci che a prendersi i lavori sia un programma in sede, perché nella tua rete un servizio in cloud non ci entra, la coda è già fatta per lui: chiave API, presa atomica così due non prendono lo stesso lavoro, conferma di stampa che torna indietro. Quell’agente vive sul tuo lato della rete e si aggancia una volta sola. In tutti e due i casi i lavori restano in coda finché qualcuno non li ritira, e non se ne perde nessuno.

Se il negozio è spento per un’ora, perdo gli ordini?

No. Gli ordini che il negozio non è riuscito a mandare li riprende il giro di recupero, che passa a intervalli regolari proprio per questo. Nell’altro verso, quello che dovevamo dire al negozio resta in coda e riparte quando risponde, con attese crescenti per non martellarlo appena si riaccende.

Posso far vedere le giacenze a un mio cliente senza dargli un accesso completo?

Sì: gli dai una chiave API legata al suo committente. Vede le sue giacenze e i suoi ordini in sola lettura, dal suo gestionale o da un tuo portale, e non vede nient’altro — il filtro lo mette il server e non è aggirabile da chi chiama. La segregazione fra committenti diversi è il modulo Conto terzi.

Vediamo cosa hai già collegato

Dicci con che negozio vendi, con che corriere spedisci e che stampanti hai in magazzino. Ti facciamo vedere un tuo ordine che entra da solo e la sua etichetta che esce, e cosa cambierebbe nella giornata di chi lavora in magazzino.

Parliamone