Overview:
The Norce Commerce Product model supports products with multiple variants. The root Product entity contains shared data, while each variant holds unique information. This structure enables flexible product representation for e-commerce scenarios.
Description of the schema:
The Product entity contains aVariants
collection. Each variant is a product-like object with its own identifiers and attributes, but shares some data with the root Product. Nested variants (variants within variants) are not allowed.
View the Product with Variants schema.
Example: Product with Variants
{
"Id": 31883770,
"Name": "Delta t-shirt",
"Description": "T-shirt från MINIMUM. Rak modell med rundad hals. ",
"PartNo": "",
"SubHeader": "",
"Manufacturer": {
"Id": 25030,
"Name": "Minimum",
"PartNo": "",
"LogoPath": "",
"LogoKey": null,
"UniqueName": "Minimum"
},
"Image": null,
"CampaignImage": null,
"LargeImage": null,
"ThumbnailImage": null,
"Files": [],
"FlagIdSeed": "917,915,1001",
"Price": 240.00,
"PriceCatalog": null,
"PriceRecommended": null,
"PriceFreight": null,
"PriceFreightVatRate": null,
"VatRate": 1.25,
"RecommendedQuantity": 1.000,
"OnHand": {
"Value": 10.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": 0,
"LastChecked": null,
"IsActive": true,
"IsReturnable": false,
"Info": null
},
"OnHandStore": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": false,
"Info": null
},
"OnHandSupplier": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": false,
"Info": null
},
"Variants": [
{
"Id": 31883770,
"Name": "Adobe Rose, S",
"Description": "T-shirt från MINIMUM. Rak modell med rundad hals. ",
"PartNo": "124480222-S-ROSE",
"SubHeader": "",
"Manufacturer": {
"Id": 25030,
"Name": "Minimum",
"PartNo": "124480222-S-ROSE",
"LogoPath": "",
"LogoKey": null,
"UniqueName": "Minimum"
},
"Image": null,
"CampaignImage": null,
"LargeImage": null,
"ThumbnailImage": null,
"Files": [],
"FlagIdSeed": "",
"Price": 240.00,
"PriceCatalog": null,
"PriceRecommended": null,
"PriceFreight": null,
"PriceFreightVatRate": null,
"VatRate": 1.25,
"RecommendedQuantity": 1.000,
"OnHand": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandStore": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandSupplier": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"Variants": null,
"PriceListId": 1,
"Key": "f7e9a96c-eb29-48fa-906b-852279f93bdf",
"Updated": "/Date(1527770280000+0200)/",
"NavigationNodeKey": null,
"CategoryId": null,
"CategoryName": null,
"ImageKey": "7c63e89d-b131-4b05-8840-ebaa1a186ac4",
"VariantParametrics": [
{
"Name": "Färg",
"Value": "Adobe Rose",
"Id": 14113,
"ValueId": 53535,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "Adobe Rose",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 1
},
{
"Name": "Storlek",
"Value": "S",
"Id": 14314,
"ValueId": 53534,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "S",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 2
}
],
"StatusId": 1,
"MetaTags": "",
"MetaDescription": "",
"VariantName": "Delta t-shirt",
"DescriptionHeader": "",
"UniqueName": "delta-t-shirt-31883770",
"StockDisplayBreakPoint": null,
"Parametrics": [],
"Families": null,
"IsBuyable": true,
"SubDescription": "",
"Uom": "st",
"UomCount": 1.000,
"EanCode": null,
"Type": 1,
"Categories": null,
"IsRecommendedQuantityFixed": false,
"PopularityRank": null,
"CostPurchase": 0.00,
"CostUnit": 0.00,
"Title": null,
"ActualWeight": 0.00,
"IsDropShipOnly": false,
"Synonyms": null,
"IsSubscribable": false,
"UnspscCode": null,
"PriceStandard": null,
"Width": null,
"Height": null,
"Depth": null
},
{
"Id": 31883771,
"Name": "Adobe Rose, M",
"Description": "T-shirt från MINIMUM. Rak modell med rundad hals. ",
"PartNo": "124480222-M-ROSE",
"SubHeader": "",
"Manufacturer": {
"Id": 25030,
"Name": "Minimum",
"PartNo": "124480222-M-ROSE",
"LogoPath": "",
"LogoKey": null,
"UniqueName": "Minimum"
},
"Image": null,
"CampaignImage": null,
"LargeImage": null,
"ThumbnailImage": null,
"Files": [
{
"Id": 11,
"Type": 1,
"Path": null,
"Name": "",
"Description": "",
"Key": "e9e10c69-e410-4950-b0b8-d6595e88976f",
"Extension": ".jpg",
"Code": "Additional"
}
],
"FlagIdSeed": "",
"Price": 240.00,
"PriceCatalog": null,
"PriceRecommended": null,
"PriceFreight": null,
"PriceFreightVatRate": null,
"VatRate": 1.25,
"RecommendedQuantity": 1.000,
"OnHand": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandStore": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandSupplier": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"Variants": null,
"PriceListId": 1,
"Key": "dd851207-bd92-4048-90f1-2c50aa8dcd26",
"Updated": "/Date(1527770280000+0200)/",
"NavigationNodeKey": null,
"CategoryId": null,
"CategoryName": null,
"ImageKey": "6f525f31-76e9-46b3-93c3-a3fe080b9ca9",
"VariantParametrics": [
{
"Name": "Färg",
"Value": "Adobe Rose",
"Id": 14113,
"ValueId": 53535,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "Adobe Rose",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 1
},
{
"Name": "Storlek",
"Value": "M",
"Id": 14314,
"ValueId": 53536,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "M",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 2
}
],
"StatusId": 1,
"MetaTags": "",
"MetaDescription": "",
"VariantName": "Delta t-shirt",
"DescriptionHeader": "",
"UniqueName": "delta-t-shirt-31883771",
"StockDisplayBreakPoint": null,
"Parametrics": [],
"Families": null,
"IsBuyable": true,
"SubDescription": "",
"Uom": "st",
"UomCount": 1.000,
"EanCode": null,
"Type": 1,
"Categories": null,
"IsRecommendedQuantityFixed": false,
"PopularityRank": null,
"CostPurchase": 0.00,
"CostUnit": 0.00,
"Title": null,
"ActualWeight": 0.00,
"IsDropShipOnly": false,
"Synonyms": null,
"IsSubscribable": false,
"UnspscCode": null,
"PriceStandard": null,
"Width": null,
"Height": null,
"Depth": null
},
{
"Id": 31883772,
"Name": "Adobe Rose, L",
"Description": "T-shirt från MINIMUM. Rak modell med rundad hals. ",
"PartNo": "124480222-L-ROSE",
"SubHeader": "",
"Manufacturer": {
"Id": 25030,
"Name": "Minimum",
"PartNo": "124480222-L-ROSE",
"LogoPath": "",
"LogoKey": null,
"UniqueName": "Minimum"
},
"Image": null,
"CampaignImage": null,
"LargeImage": null,
"ThumbnailImage": null,
"Files": [],
"FlagIdSeed": "",
"Price": 240.00,
"PriceCatalog": null,
"PriceRecommended": null,
"PriceFreight": null,
"PriceFreightVatRate": null,
"VatRate": 1.25,
"RecommendedQuantity": 1.000,
"OnHand": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandStore": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandSupplier": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"Variants": null,
"PriceListId": 1,
"Key": "c1f63c94-4ac4-4f51-a50f-e6f71c25c56b",
"Updated": "/Date(1527770280000+0200)/",
"NavigationNodeKey": null,
"CategoryId": null,
"CategoryName": null,
"ImageKey": "eab6bebf-f1a7-42cc-9ff9-fa085e169f75",
"VariantParametrics": [
{
"Name": "Färg",
"Value": "Adobe Rose",
"Id": 14113,
"ValueId": 53535,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "Adobe Rose",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 1
},
{
"Name": "Storlek",
"Value": "L",
"Id": 14314,
"ValueId": 53537,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "L",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 2
}
],
"StatusId": 1,
"MetaTags": "",
"MetaDescription": "",
"VariantName": "Delta t-shirt",
"DescriptionHeader": "",
"UniqueName": "delta-t-shirt-31883772",
"StockDisplayBreakPoint": null,
"Parametrics": [],
"Families": null,
"IsBuyable": true,
"SubDescription": "",
"Uom": "st",
"UomCount": 1.000,
"EanCode": null,
"Type": 1,
"Categories": null,
"IsRecommendedQuantityFixed": false,
"PopularityRank": null,
"CostPurchase": 0.00,
"CostUnit": 0.00,
"Title": null,
"ActualWeight": 0.00,
"IsDropShipOnly": false,
"Synonyms": null,
"IsSubscribable": false,
"UnspscCode": null,
"PriceStandard": null,
"Width": null,
"Height": null,
"Depth": null
},
{
"Id": 31883773,
"Name": "Adobe Rose, XL",
"Description": "T-shirt från MINIMUM. Rak modell med rundad hals. ",
"PartNo": "124480222-XL-ROSE",
"SubHeader": "",
"Manufacturer": {
"Id": 25030,
"Name": "Minimum",
"PartNo": "124480222-XL-ROSE",
"LogoPath": "",
"LogoKey": null,
"UniqueName": "Minimum"
},
"Image": null,
"CampaignImage": null,
"LargeImage": null,
"ThumbnailImage": null,
"Files": [],
"FlagIdSeed": "",
"Price": 240.00,
"PriceCatalog": null,
"PriceRecommended": null,
"PriceFreight": null,
"PriceFreightVatRate": null,
"VatRate": 1.25,
"RecommendedQuantity": 1.000,
"OnHand": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandStore": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"OnHandSupplier": {
"Value": 0.000,
"IncomingValue": 0.000,
"NextDeliveryDate": null,
"LeadtimeDayCount": null,
"LastChecked": null,
"IsActive": false,
"IsReturnable": true,
"Info": null
},
"Variants": null,
"PriceListId": 1,
"Key": "f42bbe91-2f73-4bdc-a19f-81c1e75c80d4",
"Updated": "/Date(1527770280000+0200)/",
"NavigationNodeKey": null,
"CategoryId": null,
"CategoryName": null,
"ImageKey": "6f7282b4-7c17-46ff-a2b6-d643bfa41fb2",
"VariantParametrics": [
{
"Name": "Färg",
"Value": "Adobe Rose",
"Id": 14113,
"ValueId": 53535,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "Adobe Rose",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 1
},
{
"Name": "Storlek",
"Value": "XL",
"Id": 14314,
"ValueId": 53538,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "XL",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 2
}
],
"StatusId": 1,
"MetaTags": "",
"MetaDescription": "",
"VariantName": "Delta t-shirt",
"DescriptionHeader": "",
"UniqueName": "delta-t-shirt-31883773",
"StockDisplayBreakPoint": null,
"Parametrics": [],
"Families": null,
"IsBuyable": true,
"SubDescription": "",
"Uom": "st",
"UomCount": 1.000,
"EanCode": null,
"Type": 1,
"Categories": null,
"IsRecommendedQuantityFixed": false,
"PopularityRank": null,
"CostPurchase": 0.00,
"CostUnit": 0.00,
"Title": null,
"ActualWeight": 0.00,
"IsDropShipOnly": false,
"Synonyms": null,
"IsSubscribable": false,
"UnspscCode": null,
"PriceStandard": null,
"Width": null,
"Height": null,
"Depth": null
}
],
"PriceListId": 1,
"Key": "f7e9a96c-eb29-48fa-906b-852279f93bdf",
"Updated": "/Date(1527770280000+0200)/",
"NavigationNodeKey": "8cf3381a-4205-4fd8-8d90-034e8fa6e249",
"CategoryId": 42507,
"CategoryName": "Clothes",
"ImageKey": "7c63e89d-b131-4b05-8840-ebaa1a186ac4",
"VariantParametrics": [
{
"Name": "Material",
"Value": "100% bomull",
"Id": 14313,
"ValueId": 53533,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "100% bomull",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 5
},
{
"Name": "Tvättråd",
"Value": "40 C",
"Id": 14315,
"ValueId": null,
"Description": "",
"ValueDescription": null,
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "40 C",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 6
},
{
"Name": "Storlek/Längd",
"Value": "Modellen är 189 cm lång och bär storlek L. Längd bak är 76 cm. I stl L.",
"Id": 12717,
"ValueId": null,
"Description": "",
"ValueDescription": null,
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "Modellen är 189 cm lång och bär storlek L. Längd bak är 76 cm. I stl L.",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 7
}
],
"StatusId": 1,
"MetaTags": "",
"MetaDescription": "",
"VariantName": null,
"DescriptionHeader": "",
"UniqueName": "delta-t-shirt",
"StockDisplayBreakPoint": null,
"Parametrics": [
{
"Name": "Material",
"Value": "100% bomull",
"Id": 14313,
"ValueId": 53533,
"Description": "",
"ValueDescription": "",
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "100% bomull",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 5
},
{
"Name": "Tvättråd",
"Value": "40 C",
"Id": 14315,
"ValueId": null,
"Description": "",
"ValueDescription": null,
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "40 C",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 6
},
{
"Name": "Storlek/Längd",
"Value": "Modellen är 189 cm lång och bär storlek L. Längd bak är 76 cm. I stl L.",
"Id": 12717,
"ValueId": null,
"Description": "",
"ValueDescription": null,
"IsPrimary": true,
"ValueIdSeed": "",
"Value2": "Modellen är 189 cm lång och bär storlek L. Längd bak är 76 cm. I stl L.",
"Uom": "",
"GroupId": 0,
"GroupName": null,
"SortOrder": 7
}
],
"Families": [],
"IsBuyable": false,
"SubDescription": "",
"Uom": "st",
"UomCount": 1.000,
"EanCode": null,
"Type": 1,
"Categories": [
{
"Id": 42507,
"Value": "Clothes",
"Code": "clothes"
}
],
"IsRecommendedQuantityFixed": false,
"PopularityRank": null,
"CostPurchase": 0.00,
"CostUnit": 0.00,
"Title": null,
"ActualWeight": 0.00,
"IsDropShipOnly": false,
"Synonyms": null,
"IsSubscribable": false,
"UnspscCode": null,
"PriceStandard": null,
"Width": null,
"Height": null,
"Depth": null
}
The root Product level contains data common to all variants. This includes general identifiers, shared text fields, images, pricing, and availability. The Variants
field lists all variant objects.
Key points:
- The root Product may appear similar to a product without variants, but the
Variants
collection will contain one or more variant objects. - The root Product's identifiers and some fields may differ depending on how the product is retrieved (see below).
There are two main ways to retrieve a product with variants:
By common product
UniqueName
:- The root Product's
Id
is the internal ID of one of the variants (may change over time). PartNo
andManufacturer.PartNo
are empty.UniqueName
is the SEO-friendly name shared by all variants.
- The root Product's
By specific variant identifier (
PartNo
orUniqueName
):- The root Product's
Id
,PartNo
, andManufacturer.PartNo
refer to the selected variant. UniqueName
remains the shared SEO-friendly name.
- The root Product's
- Text, Images, and Files:
Only information common to all variants is present at the root level. - Parametrics:
TheParametrics
collection contains attributes shared by all variants. TheVariantParametrics
collection is not relevant at the root level. - Flags:
TheFlagIdSeed
field lists all flags set at the product (root) level. - Price:
The root-levelPrice
field shows the lowest price among all variants (useful for "from price" displays). - On Hand (Availability):
Aggregated availability across all variants. - Buying Information:
Should not be used from the root level; refer to each variant for buying status.
Each object in the Variants
collection represents a unique variant of the product. Variants contain their own identifiers and data that differ from the root or other variants.
Key points:
- Each variant has its own
Id
,PartNo
,Manufacturer.PartNo
, andUniqueName
. - Only data unique to the variant is included; shared data remains at the root.
- The
VariantParametrics
collection lists attributes used to distinguish variants (e.g., color, size). - The
Parametrics
collection contains other attributes unique to the variant. - The
FlagIdSeed
field lists flags specific to the variant. - Price, availability, and buying information at the variant level are specific to that variant.
Note: Nested variants are not supported. Each variant is a direct child of the root Product.
When retrieving a product, you can filter variants by status (e.g., only "Active" or "Coming" variants). Variants with excluded statuses (e.g., "Inactive") will not be returned.
Field | Level | Description |
---|---|---|
Id | Root/Variant | Internal identifier (see retrieval scenarios above) |
PartNo | Variant | External identifier for the variant |
Manufacturer.PartNo | Variant | Manufacturer-specific identifier for the variant |
UniqueName | Root/Variant | SEO-friendly, language-specific identifier (shared by all variants) |
Name, Description, etc. | Root/Variant | Text fields; root contains shared data, variant contains unique data |
Parametrics | Root/Variant | Shared attributes at root; unique attributes at variant |
VariantParametrics | Variant | Attributes used to distinguish variants (e.g., color, size) |
FlagIdSeed | Root/Variant | Flags set at root or variant level |
Price | Root/Variant | Lowest price among variants at root; specific price at variant |
OnHand | Root/Variant | Aggregated at root; specific at variant |
IsBuyable | Variant | Indicates if the variant can be purchased |
- Use
PartNo
andUniqueName
for stable product and variant references. - Always check
IsBuyable
at the variant level before allowing purchase. - Present the root-level price as a "from price" when displaying a group of variants.
- Use
VariantParametrics
to build variant selectors (e.g., color/size dropdowns).