Shipping Method
L'oggetto ShippingMethod definisce le modalità logistiche, i tempi di consegna e le regole di calcolo del costo per ogni spedizione. Mentre le Shipping Zones definiscono dove un prodotto può essere spedito, gli Shipping Methods stabiliscono come viene calcolato il prezzo e quali corrieri sono disponibili.
Definizione ShippingMethod (applicata al CartItem)
| Proprietà | Tipo | Descrizione |
|---|---|---|
| productId | string (UUID) | ID del prodotto associato. |
| methodId | string (UUID) | Identificativo univoco del metodo di spedizione. |
| label | string | Nome visualizzato al cliente (es. "Spedizione Standard"). |
| provider | string | Il corriere o fornitore del servizio (es. "Poste Italiane"). |
| pricing | Object | Configurazione complessa dei costi (base, al kg, soglie di spedizione gratuita). |
| availableCountries | string[] | Array di codici ISO dei paesi dove questo specifico metodo è attivo. |
| etaMin / etaMax | number | Giorni minimi e massimi stimati per la consegna. |
| enabled | boolean | Stato di attivazione del metodo. |
| maxWeight / maxVolume | number | Limiti fisici oltre i quali il metodo non è più selezionabile. |
Logica di Spedibilità (Fondamentale)
In webround.com, la possibilità di spedire un prodotto in un determinato paese è determinata dall'incrocio di due livelli di controllo obbligatori:
- Primo Livello (Dove): Deve esistere una Shipping Zone che includa il
countryCodedi destinazione. - Secondo Livello (Come): Deve esistere almeno uno Shipping Method il cui array
availableCountriescontenga il codice del paese di destinazione.
Un prodotto è considerato spedibile solo se entrambi i criteri sono soddisfatti. Se un paese è presente nella Shipping Zone ma non è incluso in nessun Shipping Method attivo per quel prodotto, l'utente non potrà completare l'acquisto per quella destinazione.
Dettaglio Pricing
La proprietà pricing permette di definire algoritmi di costo variabili:
- base: Costo fisso di partenza.
- perKg / perVolume: Costi incrementali basati sul peso (in grammi) o sul volume.
- freeShippingThreshold: Valore dell'ordine oltre il quale la spedizione diventa gratuita (se
enableFreeShippingè true). - fromWeight / toWeight: Range di peso entro il quale il metodo è valido.
"pricing": {
"eur": {
"base": 8,
"perKg": 0.5,
"freeShippingThreshold": 250,
"enableFreeShipping": true
}
}
Ricorda che i pesi sono espressi in grammi e i volumi in cm³. Ad esempio, un fromWeight di 10000 corrisponde a 10kg. Assicurati che i dati del prodotto siano coerenti per evitare errori nel calcolo del costo.