Passa al contenuto principale

Shipping Data

Questa pagina descrive gli oggetti utilizzati per gestire la logistica e la localizzazione del cliente. L'oggetto principale Shipping è quello che trovi all'interno di wr.cart.state.shipping: serve a tenere traccia in tempo reale dei metodi di spedizione compatibili, dei costi calcolati e del metodo attualmente selezionato.

Shipping (State Object)

Rappresenta lo stato attuale della spedizione per il carrello in corso. Il motore di webround.com aggiorna questo oggetto ogni volta che cambia l'indirizzo o il contenuto del carrello.

ProprietàTipoDescrizione
compatiblebooleanIndica se tutti gli articoli nel carrello sono spedibili verso la destinazione scelta.
methodsEnrichedMethod[]Array dei metodi di spedizione validi, completi di costi netti, tasse e totali lordi.
selectedEnrichedMethodnull
reasonstringnull

ShippingAddress

Rappresenta l'indirizzo fisico salvato nel profilo del cliente o inserito durante il checkout per il calcolo di zone e tasse.

ProprietàTipoDescrizione
idstring (UUID)Identificativo univoco dell'indirizzo.
fullNamestringNome e cognome del destinatario.
companystringNome dell'azienda (opzionale).
addressLine1stringIndirizzo principale (Via, Piazza, etc.).
addressLine2stringInterno, scala o informazioni civiche aggiuntive.
citystringCittà di destinazione.
postalCodestringCAP o codice postale.
countryCodestringCodice ISO del paese (es. IT). Fondamentale per il calcolo delle zone.
isDefaultShippingbooleanIndica se è l'indirizzo di spedizione predefinito.

EnrichedMethod (Dettaglio Metodo)

È l'oggetto contenuto nell'array methods. Estende Shipping Method con i calcoli economici effettuati sul momento.

ProprietàTipoDescrizione
methodIdstringID del metodo di spedizione.
labelstringNome del servizio (es. "Spedizione Standard").
costNetnumberCosto netto della spedizione calcolato in base al peso/volume totale.
surchargeNetnumberSovrapprezzo applicato dalla Shipping Zone (es. dazi o zone remote).
vatRatenumberAliquota IVA applicata alla spedizione.
vatAmountnumberAmmontare dell'imposta calcolato sul costo totale della spedizione.
totalGrossnumberCosto totale finale (Netto + Surcharge + IVA).

Esempio JSON: wr.cart.state.shipping

{
"compatible": true,
"methods": [
{
"methodId": "30ba1461-8f03-4586-a850-d69416aeef38",
"label": "Spedizione Standard Italia",
"provider": "Poste Italiane",
"costNet": 12.35,
"surchargeNet": 0,
"vatRate": 22,
"vatAmount": 2.717,
"totalGross": 15.067
}
],
"selected": {
"methodId": "30ba1461-8f03-4586-a850-d69416aeef38",
"totalGross": 15.067
},
"reason": null
}

Workflow di Calcolo
  1. L'utente inserisce uno ShippingAddress.
  2. Il sistema legge il countryCode.
  3. Vengono filtrati i Shipping Methods compatibili per quel paese.
  4. Per ogni metodo, viene calcolato il totalGross sommando il costo base (pricing), il peso degli articoli e l'eventuale surcharge della zona.
warning

Qualsiasi calcolo avvenga con questi elementi è puramente visuale. Il sistema, in fase di checkout, riesegue tutti i calcoli sul server per assicurare affidabilità e precisione.

DeliveryMethod

Definisce le modalità di consegna supportate per un determinato articolo. Si tratta di un tipo Enum:

  • 'pickup': Ritiro in sede.
  • 'shipping': Spedizione tramite corriere.
  • 'digital': Prodotto digitale senza spedizione fisica (Richiede Stripe Tax e la corretta configurazione su ogni prodotto).
  • 'none': Nessun metodo richiesto.

CartItemWithDelivery

Rappresenta un elemento del carrello arricchito con le informazioni necessarie alla gestione della logistica.

ProprietàTipoDescrizione
idstringID univoco dell'istanza nel carrello.
skuIdstringID dello SKU del prodotto associato.
deliveryMethodsDeliveryMethod[]Elenco dei metodi di consegna disponibili per questo specifico articolo.