Issue 10020
Orchestrare un checkout agentico senza perdere il controllo transazionale
Quando l'agente guida il cliente, ma catalogo, prezzo, inventario, pagamento e ordine restano nei sistemi giusti
· 5 min
Dalla serie

Obiettivo
Progettare il percorso da intento a checkout coordinando catalogo, varianti, prezzo, inventario, promozioni, pagamento e ordine, mantenendo idempotenza, stati espliciti e autorità nei sistemi enterprise.
Cosa fare davvero nell'orchestrazione del checkout
In un flusso di agentic commerceGlossarioAgentic CommerceUn modello di commercio digitale nel quale agenti software interpretano obiettivi e possono preparare o compiere azioni commerciali entro limiti espliciti.Apri la voce completa, l'agente può aiutare il cliente a formulare l'intento e a scegliere, ma non dovrebbe essere il punto di verità per prezzo, disponibilità, promozioni o stato ordine. La regola pratica è semplice: il layer agentico guida, i sistemi enterprise decidono e persistono. Per questo il checkout va progettato come una sequenza di stati espliciti. Prima si valida la selezione: prodotto, variante, seller, valuta, imposte, spedizione e stock. Poi si crea o si aggiorna una checkout sessionGlossarioCheckout SessionUna rappresentazione persistente e aggiornabile dello stato di un checkout prima della conclusione.Apri la voce completa autorevole, che restituisce sempre una vista completa e attuale, non una patch interpretata dal modello. Solo a quel punto si chiede conferma e si procede al pagamento e alla creazione ordine. Ogni comandoGlossarioComandoUna richiesta rivolta a uno specifico owner perché tenti di eseguire un’azione.Apri la voce completa deve avere un'identità stabile e una chiave di idempotenzaGlossarioIdempotenzaLa proprietà per cui ripetere un’operazione non produce effetti aggiuntivi indesiderati.Apri la voce completa coerente con l'intenzione di business. Se un timeoutGlossarioTimeoutUn limite definito a quanto un’operazione attende prima di considerare il tentativo non riuscito.Apri la voce completa interrompe il completamento, il sistema non deve supporre che l'ordine non esista: deve interrogare lo stato autorevole o riconciliare prima di ritentare. Questo è il punto dove molti progetti falliscono, perché trattano il retryGlossarioRetryUn nuovo tentativo eseguito dopo un fallimento che potrebbe essere transitorio.Apri la voce completa come un dettaglio tecnico e non come una scelta architetturale. In pratica, devi separare tre responsabilità: esperienza conversazionale, decisione commerciale e transazione. L'agente mantiene il contesto del cliente; pricing, inventory e OMS mantengono la verità; il flusso di orchestrazione applica policy, correlazione e recovery. • Usa una state machine esplicita per il checkout: draftGlossarioDraftCanonical Issue Content ancora interno e non pubblicamente disponibile.Apri la voce completa, ready_for_confirmation, payment_pending, completed, failed, unknown. • Ricalcola sempre le condizioni commerciali prima del passo irreversibile. • Fai tornare dal backend uno stato completo e autorevole, non una modifica implicita del contesto dell'agente. • Progetta retry e timeout come parte del processo, non come eccezioni da gestire dopo.
I trade-off che devi rendere visibili
L'orchestrazione agentica promette un'esperienza più fluida, ma introduce vincoli più severi sulla correttezza. Il primo trade-offGlossarioTrade-offUno scambio in cui migliorare un risultato ne indebolisce o ne rende più costoso un altro.Apri la voce completa è tra flessibilità e autorità: più lasci libertà al modello, più aumenta il rischio di selezione errata di variante, prezzo obsoleto o promozione applicata male. Il secondo trade-off è tra velocità percepita e sicurezza transazionale. Un checkout “istantaneo” che salta verifiche sembra migliore finché non produce doppi ordini, doppie autorizzazioni o stock incoerente. In enterprise, la reattività conta, ma non al punto da sacrificare idempotenza, riconciliazione e audit. Il terzo trade-off è tra semplificazione del canaleGlossarioCanaleUn formato o una destinazione attraverso cui una issue raggiunge il lettore.Apri la voce completa e complessità dell'integrazione. Un protocollo esterno o un tool standardizzato possono rendere più elegante la superficie API, ma non eliminano il lavoro di collegamento con catalogo, pricing, inventory, OMS e payment. Se non chiarisci ownership e contract semantici, sposti solo il debito da un punto all'altro. Infine c'è il trade-off tra automazione e conferma umana. Non ogni tool call richiede approvazione, ma ogni cambio materialmente difficile da invertire sì: importo, destinatario, metodo di pagamento, policy o rischio. La conferma deve essere significativa, altrimenti diventa solo una formalità di compliance. • Più automazione senza limiti significa più blast radius quando qualcosa va storto. • Più controlli deterministici significano meno libertà del modello, ma maggiore correttezza operativa. • Più passaggi di conferma significano più frizione, ma anche meno sorprese costose. • Più stati espliciti significano più lavoro iniziale, ma meno ambiguità in esercizio.
Un esempio realistico in un contesto enterprise
Pensa a un retailer omnicanale con catalogo distribuito, prezzi centralizzati, inventario per magazzino, un OMS separato e un PSP esterno. Il cliente scrive all'agente: “Prendimi la versione giusta del laptop aziendale, con consegna domani e budget massimo 1.500 euro”. L'agente può tradurre l'intento in un carrello candidato, ma il sistema deve ricalcolare davvero la vendibilità: variante corretta, stock disponibile nel magazzino giusto, sconto aziendale applicabile, tasse, spedizione e totale finale. La checkout session conserva lo stato e ogni aggiornamento restituisce il riepilogo completo. Quando il cliente conferma, il workflow invoca il pagamento con un idempotency key, attende l'esito autorevole e solo dopo crea o finalizza l'ordine nell'OMS. Se il completamento va in timeout, il sistema non ripete in modo cieco. Verifica prima se esiste già un ordine o una cattura autorizzata associata alla stessa operazione. Se trova un esito parziale, esegue compensazioni o riconciliazione; se trova un fallimento definitivo, espone un messaggio comprensibile e riparte dal punto giusto. Questo esempio mostra bene il punto architetturale: l'agente rende il processo più naturale, ma la correttezza nasce dai sistemi di record, non dal prompt. Quando la separazione è chiara, l'esperienza resta fluida e l'operazione resta governabile. • Catalogo, policy, pricing e disponibilità determinano insieme cosa è vendibile; l'agente al massimo suggerisce. • Il pricing decide il prezzo finale al momento del checkout, non prima. • L'OMS decide lo stato dell'ordine; il layer agentico non lo “immagina”. • Il PSP e il payment service devono essere trattati come autorità, non come dettagli di implementazione.
Per approfondire
Fonti esterne autorevoli per approfondire orchestrazione, checkout stateful e sicurezza transazionale. • Agentic Commerce ProtocolGlossarioAgentic Commerce ProtocolUna specifica aperta per lo scambio programmatico tra buyer, agenti e seller durante un acquisto.Apri la voce completa — Getting started for Sellers — Agentic Commerce Protocol — https://www.agenticcommerce.dev/docs/getting-started/sellers • Agentic Commerce Protocol — Checkout — Agentic Commerce Protocol — https://www.agenticcommerce.dev/docs/reference/checkout • Universal Commerce ProtocolGlossarioUniversal Commerce ProtocolUno standard aperto che definisce linguaggio e primitive comuni per l'interoperabilità tra piattaforme, business e provider di pagamento.Apri la voce completa — Core Concepts — Universal Commerce Protocol — https://ucp.dev/documentation/core-concepts/