Passa al contenuto principale

Introduzione

Questa sezione definisce gli schemi completi per ogni evento relativo alle Varianti Prodotto su Webround Commerce. Le varianti permettono una gestione granulare del catalogo, consentendo a ogni combinazione di opzioni (es. Taglia/Colore) di avere i propri dati specifici o di ereditarli dal prodotto padre.

Perché ascoltare gli eventi sulle varianti

L'integrazione degli eventi sulle varianti consente di gestire in tempo reale:

  • Sincronizzazione SKU: Gestione di inventari e codici a barre distinti per ogni combinazione.
  • Logistica Specifica: Definizione di pesi e dimensioni pacco per varianti che differiscono dal prodotto base.
  • Ereditarietà Dati: Monitoraggio dei flag di ereditarietà per capire quali dati sono sovrascritti (asset, tag, zone fiscali).
  • Automazione Marketplace: Aggiornamento delle schede prodotto figlie su piattaforme esterne.

Tabella Completa Eventi e Payload

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

EventoPayload SchemaEsempio JSON
product-variant.createdVariant SchemaLink
product-variant.updatedVariant SchemaLink
product-variant.deletedVariant Deleted SchemaLink
product-variant.assets.replacedVariant Assets SchemaLink
product-variant.attributes.replacedVariant Attributes SchemaLink
product-variant.tags.replacedVariant Tags SchemaLink
product-variant.shipping-methods.replacedVariant Shipping MethodsLink
product-variant.shipping-zones.replacedVariant Shipping ZonesLink
product-variant.tax-zones.replacedVariant Tax ZonesLink

Schema Variante (productVariantCreatedSchema)

CampoTipoNote
productIduuidObbligatorio. ID del prodotto padre
variantIduuidObbligatorio. ID univoco della variante
namestringObbligatorio. Nome della variante
slugstringObbligatorio. Slug per URL
visiblebooleanObbligatorio. Stato pubblicazione
isFavouritebooleanObbligatorio. Flag per varianti in evidenza
inheritAssetsbooleanEredita asset dal prodotto padre
inheritTagValuesbooleanEredita i tag dal prodotto padre
inheritAttributesbooleanEredita attributi tecnici dal prodotto padre
inheritPackageDimensionsbooleanEredita dimensioni pacco dal prodotto padre
inheritShippingMethodsbooleanEredita metodi spedizione dal prodotto padre
inheritShippingZonesbooleanEredita zone spedizione dal prodotto padre
inheritTaxZonesbooleanEredita zone fiscali dal prodotto padre
inheritDisableCouponsbooleanEredita restrizioni coupon dal prodotto padre
disableCouponsbooleanForza disabilitazione coupon su questa variante
packageWeightnumber - nullPeso specifico (grammi)
packageLengthnumber - nullLunghezza specifica (mm)
packageWidthnumber - nullLarghezza specifica (mm)
packageHeightnumber - nullAltezza specifica (mm)
createdAtisoDateObbligatorio
updatedAtisoDateObbligatorio
metadataanyMetadati custom
translationsanyTraduzioni localizzate

Esempio Variante

{
"envelopeId": "6ded36ec-895c-4259-af34-1eda960a81c6",
"eventType": "product-variant.created",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T22:30:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"name": "T-Shirt Webround - Blue - XL",
"slug": "t-shirt-webround-blue-xl",
"visible": true,
"isFavourite": false,
"inheritAssets": false,
"inheritTagValues": true,
"inheritAttributes": true,
"inheritPackageDimensions": true,
"inheritShippingMethods": true,
"inheritShippingZones": true,
"inheritTaxZones": true,
"inheritDisableCoupons": true,
"disableCoupons": false,
"packageWeight": 300,
"packageLength": null,
"packageWidth": null,
"packageHeight": null,
"createdAt": "2026-02-22T22:30:00.000Z",
"updatedAt": "2026-02-22T22:30:00.000Z",
"metadata": null,
"translations": {
"en": { "name": "Webround T-Shirt - Blue - XL" }
}
},
"eventId": "f4e3d2c1-b0a9-4131-8e9b-c5b7539f152a"
}


Schema Variante Eliminata (productVariantDeletedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio

Esempio Variante Eliminata

{
"envelopeId": "121bf365-57cf-45b2-a9ba-6e0b008d3bb8",
"eventType": "product-variant.deleted",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T22:35:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3"
},
"eventId": "f2e1d0c9-b8a7-4a7b-b8c9-d0e1f2a3b4c5"
}


Schema Asset Variante (productVariantAssetReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
assetsobject[]Obbligatorio. Array di oggetti asset specifici per la variante
assets[].iduuidObbligatorio
assets[].urlstringObbligatorio. URL pubblico dell'asset
assets[].typestringObbligatorio (es. image/png)
assets[].fileNamestring - nullNome originale del file
assets[].sizenumber - nullDimensione in byte
assets[].altstring - nullTesto alternativo
assets[].thumbnailstring - nullURL miniatura
assets[].externalIdstring - nullRiferimento storage esterno

Esempio Asset Variante

{
"envelopeId": "121bf365-57cf-45b2-a9ba-6e0b008d3bb8",
"eventType": "product-variant.assets.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T22:40:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"assets": [
{
"id": "e87c6806-fa7f-442a-b002-ab2765d6ce6d",
"url": "https://cdn.webround.com/assets/variant-blue.jpg",
"type": "image/jpeg",
"fileName": "blue.jpg",
"size": 150000,
"alt": "T-Shirt Blue View",
"thumbnail": null,
"externalId": null
}
]
},
"eventId": "219c43f2-84c5-4889-9309-f2bd35f6b25d"
}


Schema Attributi Variante (productVariantAttributeReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
attributesobject[]Obbligatorio. Attributi tecnici della variante
attributes[].attributeIduuidObbligatorio. ID anagrafica attributo
attributes[].valuestringObbligatorio. Valore dell'attributo

Esempio Attributi Variante

{
"envelopeId": "d6e7f8g9-h0i1-4a5b-b6c7-d8e9f0a1b2c3",
"eventType": "product-variant.attributes.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T22:45:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"attributes": [
{
"attributeId": "a1b2c3d4-e5f6-4a5b-b6c7-d8e9f0a1b2c3",
"value": "2000"
}
]
},
"eventId": "320d54f3-95d6-5990-0410-03ce46g7c36e"
}


Schema Tag Variante (productVariantTagReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
tagValuesobject[]Obbligatorio. Array dei valori tag correnti della variante
tagValues[].iduuidObbligatorio. ID univoco del valore tag
tagValues[].tagIdstringObbligatorio. ID della categoria tag
tagValues[].storeIdstringObbligatorio
tagValues[].valuestringObbligatorio. Valore testuale
tagValues[].aliasstring - nullSlug per URL o riferimenti interni
tagValues[].visiblebooleanObbligatorio. Visibilità frontend

Esempio Tag Variante

{
"envelopeId": "0aaefdc7-237b-4aa5-9747-ddfb3e328e7c",
"eventType": "product-variant.tags.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T23:05:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"tagValues": [
{
"id": "fd273b45-4332-4b82-a142-347efb60f30d",
"tagId": "3f1bb99f-eea1-4bf7-8dfd-710c86dea0b2",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"value": "Edizione Limitata",
"alias": "limited-edition",
"visible": true,
"createdAt": "2026-02-22T23:00:00.000Z",
"updatedAt": "2026-02-22T23:00:00.000Z"
}
]
},
"eventId": "e87c6806-fa7f-442a-b002-ab2765d6ce6d"
}


Schema Metodi Spedizione Variante (productVariantShippingMethodsReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
shippingMethodsobject[]Obbligatorio. Metodi di spedizione specifici
shippingMethods[].labelstringNome del metodo
shippingMethods[].availableCountriesstring[]Codici ISO paesi abilitati
shippingMethods[].pricinganyConfigurazione tariffe
shippingMethods[].enabledbooleanObbligatorio

Esempio Metodi Spedizione Variante

{
"envelopeId": "0aaefdc7-237b-4aa5-9747-ddfb3e328e7c",
"eventType": "product-variant.shipping-methods.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T22:50:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"shippingMethods": [
{
"id": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"label": "Corriere Espresso Variante",
"provider": "DHL",
"availableCountries": ["IT"],
"etaMin": 24,
"etaMax": 48,
"pricing": {},
"enabled": true,
"maxWeight": 5000,
"maxVolume": null,
"assetId": null
}
]
},
"eventId": "fbb514c4-9266-4a84-9ae5-01b1e012bd04"
}


Schema Zone Spedizione Variante (productVariantShippingZonesReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
shippingZonesobject[]Obbligatorio. Zone di spedizione specifiche
shippingZones[].countryCodestringObbligatorio. Codice ISO nazione
shippingZones[].taxRatenumberObbligatorio. Aliquota per la zona

Esempio Zone Spedizione Variante

{
"envelopeId": "f8g9h0i1-j2k3-4a5b-b6c7-d8e9f0a1b2c3",
"eventType": "product-variant.shipping-zones.replaced",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T22:55:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"shippingZones": [
{
"id": "8e83373e-3ff7-48c7-bf32-ef0677835446",
"label": "Italia Continentale",
"countryCode": "IT",
"surchargePricing": null,
"taxRate": 22,
"stripeTaxRateId": "txr_123"
}
]
},
"eventId": "1a6a5220-4964-4708-9c99-1c1860448676"
}


Schema Zone Fiscali Variante (productVariantTaxZonesReplacedSchema)

CampoTipoNote
productIduuidObbligatorio
variantIduuidObbligatorio
taxZonesobject[]Obbligatorio. Configurazione fiscale specifica
taxZones[].ratenumberObbligatorio. Percentuale tassa
taxZones[].isDefaultbooleanObbligatorio

Esempio Zone Fiscali Variante

{
"envelopeId": "33ec26e5-f8bd-40fa-ac1d-c5a3a207a330",
"eventType": "product-variant.tax-zones.replaced",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T22:58:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"variantId": "b2c3d4e5-f6g7-4a5b-b6c7-d8e9f0a1b2c3",
"taxZones": [
{
"id": "af3e7355-d663-4a6b-a295-decd8d87dbdc",
"label": "IVA Agevolata Variante",
"rate": 10,
"stripeId": "txr_456",
"countryCode": "IT",
"isDefault": false
}
]
},
"eventId": "1a6a5220-4964-4708-9c99-1c1860448676"
}