SKU (Stock Keeping Unit)
Lo SKU rappresenta l'unità minima vendibile e tracciabile a magazzino. Mentre la Variant definisce una categoria (es. "Nike Pegasus Verde"), lo SKU definisce la combinazione specifica e finale pronta per l'acquisto (es. "Nike Pegasus Verde, Taglia 42").
Sono le opzioni stesse a dare una specifità agli SKU.
Definizione SKU
| Proprietà | Tipo | Descrizione |
|---|---|---|
| id | string (UUID) | Identificativo univoco dello SKU nel sistema. |
| sku | string | Codice identificativo commerciale (es. "NIK-A6B512-283BBA"). |
| quantity | number | Quantità attualmente disponibile a magazzino. |
| allowBackorder | boolean | Se true, permette l'acquisto anche se lo stock è esaurito. |
| backorderDays | number | Giorni stimati per il rifornimento in caso di backorder. |
| isFavourite | boolean | Indica se questo SKU è quello selezionato di default nella variante. |
| maxOrderQuantity | number | Limite massimo di pezzi acquistabili in un singolo ordine. |
| options | Object | Mappa delle opzioni selezionate (es. {"ID_OPZIONE": "ID_VALORE_OPZIONE"}). |
| prices | Price[] | Array di prezzi applicabili a questo specifico SKU. |
| allowFreeShipping | boolean | Indica se lo SKU è idoneo alla spedizione gratuita secondo le regole generali. |
| forceFreeShipping | boolean | Se true, forza la spedizione gratuita a prescindere dalle regole del carrello. |
| ean / mpn | string | Codici standard internazionali (EAN, Barcode, Manufacturer Part Number). |
Price
Rappresenta il prezzo puntuale dello SKU. A differenza del PriceRange della variante, qui i valori sono definiti singolarmente.
| Proprietà | Tipo | Descrizione |
|---|---|---|
| id | string (UUID) | Identificativo univoco del prezzo. |
| amount | number | Valore nominale del prezzo. |
| netAmount | number | Prezzo netto unitario. |
| grossAmount | number | Prezzo lordo unitario (ivato). |
| netCompare | number | Prezzo di confronto netto (prezzo originale). |
| grossCompare | number | Prezzo di confronto lordo (prezzo originale ivato). |
| currencyCode | string | Codice valuta (es. EUR). |
| cadence | string | Frequenza di pagamento (es. once). |
| isDefault | boolean | Indica se è il prezzo principale per la valuta corrente. |
| quantityTable | QuantityTable | null | Tabella per sconti basati sulla quantità (tier pricing). |
Esempio di oggetto
{
"id": "cc026e04-9eb0-4d6f-aa72-a782eb9550db",
"sku": "NIK-A6B512-COPY-283BBA",
"quantity": 9,
"options": {
"2d395c94-552a-4dbf-95de-230f94e0844c": "eccd7e69-2aa2-4bbc-92ef-75a07f0a01e6"
},
"prices": [
{
"netAmount": 139,
"grossAmount": 169.58,
"currencyCode": "EUR",
"rate": 22
}
]
}
In un'interfaccia di acquisto, lo SKU corretto viene solitamente identificato incrociando le selezioni dell'utente (le options) con l'array skus contenuto nella variante selezionata.
QuantityTable (Tier Pricing)
La quantityTable permette di definire sconti automatici in base alla quantità di pezzi inseriti nel carrello. È un array di oggetti che definiscono le soglie (tier) di prezzo.
Definizione Tier
| Proprietà | Tipo | Descrizione |
|---|---|---|
| min | number | Quantità minima per attivare lo scaglione. |
| max | number | null |
| discountType | string | Tipo di sconto applicato: percentage, fixed. |
| discountValue | number | Valore dello sconto da sottrarre al prezzo base. |
| rounding | string | null |
Esempio di applicazione
Nell'esempio seguente, lo sconto aumenta progressivamente all'aumentare dei pezzi:
- Da 1 a 4 pezzi: Sconto del 5% e arrotondamento a
.00. - Da 5 a 9 pezzi: Sconto del 10% e arrotondamento a
.00. - Oltre i 10 pezzi: Sconto del 20% e arrotondamento a
.99.
[
{
"min": 1,
"max": 4,
"discountType": "percentage",
"discountValue": 5,
"rounding": "00"
},
{
"min": 5,
"max": 9,
"discountType": "percentage",
"discountValue": 10,
"rounding": "00"
},
{
"min": 10,
"max": null,
"discountType": "percentage",
"discountValue": 20,
"rounding": "99"
}
]
L'SDK di webround.com calcola automaticamente il prezzo finale applicando lo sconto del tier corrispondente al valore amount (o grossAmount) dello SKU. Se la quantità nel carrello cambia, il prezzo unitario viene ricalcolato in tempo reale.