Passa al contenuto principale

Introduzione

Questa sezione definisce gli schemi completi per ogni evento relativo ai prodotti su Webround Commerce.

Perché ascoltare gli eventi sui prodotti

L'integrazione degli eventi sui prodotti consente di gestire in tempo reale:

  • Sincronizzazione del catalogo su marketplace esterni (Amazon, eBay, etc.).
  • Aggiornamento automatico di feed marketing e social commerce.
  • Gestione centralizzata degli asset multimediali su CDN esterne.
  • Integrazione con sistemi gestionali (ERP) per la logistica e le anagrafiche tecniche.

Tabella Completa Eventi e Payload

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

EventoPayload SchemaEsempio JSON
product.createdProduct SchemaLink
product.updatedProduct Schema-
product.deletedProduct Deleted SchemaLink
product.assets.replacedAssets Replaced SchemaLink
product.attributes.replacedAttributes Replaced SchemaLink
product.tags.replacedTags Replaced SchemaLink
product.option-values.replacedOptions Replaced SchemaLink
product.shipping-methods.replacedShipping Methods SchemaLink
product.shipping-zones.replacedShipping Zones SchemaLink
product.tax-zones.replacedTax Zones SchemaLink

Schema Prodotto (productCreatedSchema)

CampoTipoNote
iduuidObbligatorio
namestringObbligatorio
seoDescriptionstring - nullDescrizione per motori di ricerca
htmlDescriptionstring - nullDescrizione sanitizzata (HTML)
visiblebooleanObbligatorio (Stato pubblicazione)
metadataobject - nullMetadati del prodotto
deliveryMethodsstring[]Obbligatorio (es. ["shipping", "digital"])
packageWeightnumber - nullPeso in grammi (Intero)
packageLengthnumber - nullLunghezza in mm (Intero)
packageWidthnumber - nullLarghezza in mm (Intero)
packageHeightnumber - nullAltezza in mm (Intero)
defaultTaxRatenumber - nullAliquota IVA predefinita (Intero)
defaultStripeTaxRateIdstring - nullID Aliquota Stripe
disableCouponsbooleanObbligatorio
createdAtisoDateObbligatorio
updatedAtisoDateObbligatorio
translationsobject - nullOggetto contenente le traduzioni localizzate

Esempio Prodotto

{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "product.created",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:15:00.000Z",
"data": {
"id": "5a90f5ed-2785-44df-958b-841d0148a711",
"name": "T-Shirt Ufficiale Webround",
"seoDescription": "La t-shirt ufficiale in cotone.",
"htmlDescription": "<p>T-shirt <strong>100% cotone</strong>.</p>",
"visible": true,
"deliveryMethods": ["shipping"],
"packageWeight": 250,
"packageLength": 300,
"packageWidth": 200,
"packageHeight": 20,
"defaultTaxRate": 22,
"defaultStripeTaxRateId": "txr_...",
"disableCoupons": false,
"createdAt": "2026-02-22T21:15:00.000Z",
"updatedAt": "2026-02-22T21:15:00.000Z",
"translations": {
"en": {
"name": "Official Webround T-Shirt",
"seoDescription": "The official organic cotton t-shirt."
}
}
},
"eventId": "54f3d2ac-7cf4-40ec-acef-38fffaf60c94"
}

Schema Prodotto Eliminato (productDeletedSchema)

CampoTipoNote
iduuidObbligatorio (ID del prodotto eliminato)

Esempio Prodotto Eliminato

{
"envelopeId": "0b1c2d3e-4f5g-6h7i-8j9k-l0m1n2o3p4q5",
"eventType": "product.deleted",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:20:00.000Z",
"data": {
"id": "a7b6c5d4-e3f2-1g0h-i9j8-k7l6m5n4o3p2"
},
"eventId": "f2e1d0c9-b8a7-4a7b-b8c9-d0e1f2a3b4c5"
}

Schema Asset Prodotto (productAssetReplacedSchema)

Questo evento viene emesso quando l'intera collezione di asset (immagini, video, documenti) di un prodotto viene aggiornata o sovrascritta.

CampoTipoNote
productIduuid v4Obbligatorio
assetsobject[]Obbligatorio. Array di oggetti asset
assets[].iduuid v4Obbligatorio
assets[].urlstringObbligatorio. URL pubblico dell'asset
assets[].typestringObbligatorio (es. image/jpeg, video/mp4)
assets[].fileNamestring - nullNome originale del file
assets[].sizenumber - nullDimensione in byte
assets[].altstring - nullTesto alternativo per l'accessibilità
assets[].thumbnailstring - nullURL della miniatura (se applicabile)
assets[].externalIdstring - nullID riferimento su storage esterno
assets[].createdAtisoDateObbligatorio
assets[].updatedAtisoDateObbligatorio

Esempio Asset Prodotto

{
"envelopeId": "a1b2c3d4-e5f6-4a5b-b6c7-d8e9f0a1b2c3",
"eventType": "product.assets.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:30:00.000Z",
"data": {
"productId": "a7b6c5d4-e3f2-41d4-a716-446655440000",
"assets": [
{
"id": "e5f6g7h8-i9j0-4c3d-d4e5-f6g7h8i9j0k1",
"url": "https://cdn.webround.com/assets/product-main.jpg",
"type": "image/jpeg",
"fileName": "tshirt-front.jpg",
"size": 102400,
"alt": "T-Shirt Front View",
"thumbnail": null,
"externalId": null,
"createdAt": "2026-02-22T21:30:00.000Z",
"updatedAt": "2026-02-22T21:30:00.000Z"
}
]
},
"eventId": "f3e2d1c0-b9a8-4a7b-b8c9-d0e1f2a3b4c5"
}

Schema Attributi Prodotto (productAttributeReplacedSchema)

Questo schema viene utilizzato quando gli attributi tecnici di un prodotto (es. materiale, collezione, specifiche tecniche) vengono aggiornati massivamente.

CampoTipoNote
productIduuid v4Obbligatorio
attributesobject[]Obbligatorio. Elenco degli attributi associati
attributes[].attributeIduuid v4Obbligatorio. Riferimento all'anagrafica attributo
attributes[].valuestringObbligatorio. Valore assegnato all'attributo

Esempio Attributi Prodotto

{
"envelopeId": "b8c9d0e1-f2a3-4b4c-5d6e-7f8g9h0i1j2k",
"eventType": "product.attributes.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:40:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"attributes": [
{
"attributeId": "a1b2c3d4-e5f6-4a5b-b6c7-d8e9f0a1b2c3",
"value": "CODE_ABCDEF"
},
{
"attributeId": "9f8e7d6c-5b4a-3f2e-1d0c-b9a8f7e6d5c4",
"value": "2100"
}
]
},
"eventId": "219c43f2-84c5-4889-9309-f2bd35f6b25d"
}

Schema Tag Prodotto (productTagReplacedSchema)

Questo evento viene emesso quando l'intero set di valori tag associati a un prodotto viene sovrascritto. I tag vengono utilizzati per la categorizzazione, i filtri e l'organizzazione logica del catalogo.

CampoTipoNote
productIduuid v4Obbligatorio
tagValuesobject[]Obbligatorio. Array dei valori tag correnti
tagValues[].iduuid v4Obbligatorio. ID univoco del valore tag
tagValues[].tagIduuid v4Obbligatorio. ID della categoria tag di appartenenza
tagValues[].storeIduuid v4Obbligatorio
tagValues[].valuestringObbligatorio. Il valore testuale del tag
tagValues[].aliasstring - nullSlug/Alias per URL o riferimenti interni
tagValues[].visiblebooleanObbligatorio. Visibilità sul frontend
tagValues[].createdAtisoDateObbligatorio
tagValues[].updatedAtisoDateObbligatorio

Esempio Tag Prodotto

{
"envelopeId": "d1e2f3g4-h5i6-4a7b-b8c9-d0e1f2a3b4c5",
"eventType": "product.tags.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:45:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"tagValues": [
{
"id": "e2f3g4h5-i6j7-k8l9-m0n1-o2p3q4r5s6t7",
"tagId": "f3g4h5i6-j7k8-l9m0-n1o2-p3q4r5s6t7u8",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"value": "Nuova Collezione",
"alias": "nuova-collezione",
"visible": true,
"createdAt": "2026-02-22T21:40:00.000Z",
"updatedAt": "2026-02-22T21:40:00.000Z"
},
{
"id": "773d3d88-9c4a-52b8-0c45-93a2d19c5e88",
"tagId": "337d3d88-9c4a-52b8-0c45-93a2d19c5e99",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"value": "Eco-Friendly",
"alias": "eco",
"visible": true,
"createdAt": "2026-02-22T21:42:00.000Z",
"updatedAt": "2026-02-22T21:42:00.000Z"
}
]
},
"eventId": "f4e3d2c1-b0a9-4131-8e9b-c5b7539f152a"
}

Schema Opzioni Prodotto (productOptionValuesReplacedSchema)

Definisce l'ordinamento e l'associazione delle opzioni del prodotto (es. Taglia, Colore) ai relativi valori tag.

CampoTipoNote
productIduuid v4Obbligatorio
optionsobject[]Obbligatorio. Array di configurazione opzioni
options[].optionIduuid v4Obbligatorio. ID dell'opzione
options[].tagValueIduuid v4 - nullRiferimento al valore tag associato
options[].positionnumberObbligatorio. Indice di posizionamento

Esempio Opzioni Prodotto

{
"envelopeId": "e1f2g3h4-i5j6-4a7b-b8c9-d0e1f2a3b4c5",
"eventType": "product.option-values.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:50:00.000Z",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"options": [
{
"optionId": "b1b2b3b4-b5b6-4b7b-b8b9-b0b1b2b3b4b5",
"tagValueId": "e2f3g4h5-i6j7-k8l9-m0n1-o2p3q4r5s6t7",
"position": 0
}
]
},
"eventId": "12345678-1234-4321-abcd-1234567890ab"
}


Schema Metodi di Spedizione (productShippingMethodsReplacedSchema)

CampoTipoNote
productIduuid v4Obbligatorio
shippingMethodsobject[]Obbligatorio. Metodi di spedizione abilitati
shippingMethods[].labelstringNome del metodo
shippingMethods[].pricinganyConfigurazione prezzi/regole
shippingMethods[].enabledbooleanObbligatorio

Esempio Metodi Spedizione

{
"envelopeId": "f1g2h3i4-j5k6-4a7b-b8c9-d0e1f2a3b4c5",
"eventType": "product.shipping-methods.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"shippingMethods": [
{
"id": "s1s2s3s4-s5s6-4s7s-s8s9-s0s1s2s3s4s5",
"label": "Corriere Espresso",
"availableCountries": ["IT", "FR", "DE"],
"enabled": true,
"createdAt": "2026-02-22T21:55:00.000Z",
"updatedAt": "2026-02-22T21:55:00.000Z"
}
]
},
"eventId": "87654321-4321-1234-dcba-ba0987654321"
}


Schema Zone di Spedizione (productShippingZonesReplacedSchema)

CampoTipoNote
productIduuid v4Obbligatorio
shippingZones[].countryCodestringObbligatorio. Codice ISO nazione
shippingZones[].taxRatenumberObbligatorio. Aliquota per la zona

Esempio Zone Spedizione

{
"envelopeId": "g1h2i3j4-k5l6-4a7b-b8c9-d0e1f2a3b4c5",
"eventType": "product.shipping-zones.replaced",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"shippingZones": [
{
"id": "z1z2z3z4-z5z6-4z7z-z8z9-z0z1z2z3z4z5",
"label": "Italia Continentale",
"countryCode": "IT",
"taxRate": 22,
"createdAt": "2026-02-22T21:58:00.000Z",
"updatedAt": "2026-02-22T21:58:00.000Z"
}
]
},
"eventId": "abcdef12-3456-7890-abcd-ef1234567890"
}


Schema Zone Fiscali (productTaxZonesReplacedSchema)

CampoTipoNote
productIduuid v4Obbligatorio
taxZones[].ratenumberObbligatorio. Percentuale tassa
taxZones[].isDefaultbooleanObbligatorio

Esempio Zone Fiscali

{
"envelopeId": "h1i2j3k4-l5m6-4a7b-b8c9-d0e1f2a3b4c5",
"eventType": "product.tax-zones.replaced",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"data": {
"productId": "5a90f5ed-2785-44df-958b-841d0148a711",
"taxZones": [
{
"id": "t1t2t3t4-t5t6-4t7t-t8t9-t0t1t2t3t4t5",
"label": "IVA Standard",
"rate": 22,
"isDefault": true,
"createdAt": "2026-02-22T22:00:00.000Z",
"updatedAt": "2026-02-22T22:00:00.000Z"
}
]
},
"eventId": "fdecba98-7654-3210-fedc-ba9876543210"
}