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à | Tipo | Descrizione |
|---|---|---|
| compatible | boolean | Indica se tutti gli articoli nel carrello sono spedibili verso la destinazione scelta. |
| methods | EnrichedMethod[] | Array dei metodi di spedizione validi, completi di costi netti, tasse e totali lordi. |
| selected | EnrichedMethod | null |
| reason | string | null |
ShippingAddress
Rappresenta l'indirizzo fisico salvato nel profilo del cliente o inserito durante il checkout per il calcolo di zone e tasse.
| Proprietà | Tipo | Descrizione |
|---|---|---|
| id | string (UUID) | Identificativo univoco dell'indirizzo. |
| fullName | string | Nome e cognome del destinatario. |
| company | string | Nome dell'azienda (opzionale). |
| addressLine1 | string | Indirizzo principale (Via, Piazza, etc.). |
| addressLine2 | string | Interno, scala o informazioni civiche aggiuntive. |
| city | string | Città di destinazione. |
| postalCode | string | CAP o codice postale. |
| countryCode | string | Codice ISO del paese (es. IT). Fondamentale per il calcolo delle zone. |
| isDefaultShipping | boolean | Indica 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à | Tipo | Descrizione |
|---|---|---|
| methodId | string | ID del metodo di spedizione. |
| label | string | Nome del servizio (es. "Spedizione Standard"). |
| costNet | number | Costo netto della spedizione calcolato in base al peso/volume totale. |
| surchargeNet | number | Sovrapprezzo applicato dalla Shipping Zone (es. dazi o zone remote). |
| vatRate | number | Aliquota IVA applicata alla spedizione. |
| vatAmount | number | Ammontare dell'imposta calcolato sul costo totale della spedizione. |
| totalGross | number | Costo 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
}
- L'utente inserisce uno ShippingAddress.
- Il sistema legge il
countryCode. - Vengono filtrati i Shipping Methods compatibili per quel paese.
- Per ogni metodo, viene calcolato il
totalGrosssommando il costo base (pricing), il peso degli articoli e l'eventuale surcharge della zona.
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à | Tipo | Descrizione |
|---|---|---|
| id | string | ID univoco dell'istanza nel carrello. |
| skuId | string | ID dello SKU del prodotto associato. |
| deliveryMethods | DeliveryMethod[] | Elenco dei metodi di consegna disponibili per questo specifico articolo. |