Passa al contenuto principale

Introduzione

Questa sezione definisce gli schemi completi per ogni evento relativo agli SKU (Stock Keeping Unit) su Webround Commerce. Lo SKU rappresenta l'unità minima vendibile e tracciabile a magazzino, collegata univocamente a una variante di prodotto. Qui vengono gestite le informazioni critiche su prezzi, disponibilità stock e logiche di vendita.

Perché ascoltare gli eventi sugli SKU

L'integrazione degli eventi sugli SKU consente di gestire in tempo reale:

  • Sincronizzazione Stock Multi-Magazzino: Aggiornamento immediato delle quantità disponibili tra Webround e i tuoi sistemi gestionali (ERP/WMS).
  • Gestione Prezzi e Valute: Monitoraggio dei listini prezzi, dei prezzi di confronto (saldi) e delle diverse cadenze di pagamento.
  • Logiche di Vendita e Backorder: Automazione dei processi basati sulla disponibilità dei prodotti, inclusi i giorni di backorder e i limiti di quantità per ordine.
  • Integrazione Fiscale (Stripe): Allineamento dei codici fiscali esterni per il calcolo automatico delle tasse a checkout.

Tabella Completa Eventi e Payload

Ecco la tabella completa con tutti i link ai relativi esempi JSON:

EventoPayload SchemaEsempio JSON
product-sku.createdSKU SchemaLink
product-sku.updatedSKU SchemaLink
product-sku.deletedSKU Deleted SchemaLink
product-sku.stock.replacedSKU Stock SchemaLink
product-sku.prices.replacedSKU Prices SchemaLink

Schema SKU (productSkuCreatedSchema)

CampoTipoNote
iduuidObbligatorio. ID univoco dello SKU
storeIduuidObbligatorio. ID dello store di appartenenza
productIduuidObbligatorio. ID del prodotto padre
variantIduuidObbligatorio. ID della variante collegata
skustringObbligatorio. Codice identificativo (Stock Keeping Unit)
isFavouritebooleanObbligatorio. Flag preferito
externalIdstring - nullID di riferimento in sistemi esterni (es. ERP)
useStripeTaxbooleanCalcolo automatico tasse tramite Stripe Tax
taxCodeExternalIdstring - nullCodice fiscale esterno (Stripe Tax Code)
purchaseRestockbooleanAbilita rifornimento stock su acquisto
allowBackorderbooleanPermette l'acquisto anche se lo stock è esaurito
allowFreeShippingbooleanAbilita la possibilità di spedizione gratuita
forceFreeShippingbooleanForza sempre la spedizione gratuita per questo SKU
backorderDaysnumberGiorni stimati per il riassortimento in backorder
maxOrderQuantitynumberQuantità massima acquistabile per singolo ordine
createdAtisoDateObbligatorio
updatedAtisoDateObbligatorio

Esempio SKU

{
"envelopeId": "a1b2c3d4-e5f6-4a5b-b6c7-d8e9f0a1b2c3",
"eventType": "product-sku.created",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T23:10:00.000Z",
"data": {
"id": "c1d2e3f4-g5h6-4a5b-b6c7-d8e9f0a1b2c3",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"sku": "WR-TSHIRT-BLU-XL",
"isFavourite": true,
"externalId": "SKU-9988-EXT",
"useStripeTax": true,
"taxCodeExternalId": "txcd_99999999",
"purchaseRestock": true,
"allowBackorder": false,
"allowFreeShipping": true,
"forceFreeShipping": false,
"backorderDays": 0,
"maxOrderQuantity": 10,
"createdAt": "2026-02-22T23:10:00.000Z",
"updatedAt": "2026-02-22T23:10:00.000Z"
},
"eventId": "e4f5g6h7-i8j9-4a5b-b6c7-d8e9f0a1b2c3"
}


Schema SKU Eliminato (productSkuDeletedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
skuIduuidObbligatorio

Esempio SKU Eliminato

{
"envelopeId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"eventType": "product-sku.deleted",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T23:15:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"skuId": "c1d2e3f4-g5h6-4a5b-b6c7-d8e9f0a1b2c3"
},
"eventId": "f5g6h7i8-j9k0-4a5b-b6c7-d8e9f0a1b2c3"
}


Schema Stock SKU (productSkuStockReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
skuIduuidObbligatorio
stockobject[]Obbligatorio. Array delle giacenze per magazzino
stock[].warehouseIduuidObbligatorio. ID del magazzino
stock[].quantitynumberObbligatorio. Quantità intera disponibile

Esempio Stock SKU

{
"envelopeId": "c3d4e5f6-g7h8-4a5b-b6c7-d8e9f0a1b2c3",
"eventType": "product-sku.stock.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T23:20:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"skuId": "c1d2e3f4-g5h6-4a5b-b6c7-d8e9f0a1b2c3",
"stock": [
{
"warehouseId": "w1z2x3c4-v5b6-4n7m-8a9s-d0f1g2h3j4k5",
"quantity": 150
},
{
"warehouseId": "w9z8x7c6-v5b4-4n3m-2a1s-d0f9g8h7j6k5",
"quantity": 45
}
]
},
"eventId": "g6h7i8j9-k0l1-4a5b-b6c7-d8e9f0a1b2c3"
}


Schema Prezzi SKU (productSkuPricesReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
skuIduuidObbligatorio
pricesobject[]Obbligatorio. Elenco dei listini prezzi applicati
prices[].currencyCodestringObbligatorio. Codice ISO valuta (es. "EUR")
prices[].cadencestringObbligatorio. Frequenza di pagamento (es. "once", "month")
prices[].amountstringObbligatorio. Prezzo in formato stringa decimale
prices[].comparePricestring - nullPrezzo originale per visualizzazione sconti
prices[].externalIdstring - nullID del prezzo su sistemi esterni (es. Stripe Price ID)
prices[].isDefaultbooleanObbligatorio. Identifica il prezzo principale
prices[].quantityTableany - nullTabella per sconti quantità (Tiered Pricing)

Esempio Prezzi SKU

{
"envelopeId": "d4e5f6g7-h8i9-4a5b-b6c7-d8e9f0a1b2c3",
"eventType": "product-sku.prices.replaced",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T23:25:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"skuId": "c1d2e3f4-g5h6-4a5b-b6c7-d8e9f0a1b2c3",
"prices": [
{
"currencyCode": "EUR",
"cadence": "once",
"amount": "29.90",
"comparePrice": "39.90",
"externalId": "price_1Gs9X2L...",
"isDefault": true,
"quantityTable": null
}
]
},
"eventId": "h7i8j9k0-l1m2-4a5b-b6c7-d8e9f0a1b2c3"
}