Working with product models using the API
A guide in how to digest and use a product model
Getting started
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Alias": "string",
"Label": "string",
"HasVariants": true,
"HasVariantGroups": true,
"ProductConfiguration": {
"ThumbnailReference": "string",
"NameConfiguration": {
"NamePattern": "string",
"NameAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
},
"CreateWizard": {
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Steps": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Headline": "string",
"Description": "string"
}
]
},
"CopyWizard": {
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Steps": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Headline": "string",
"Description": "string"
}
]
},
"Tabs": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ViewPermission": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"SavePermission": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
},
"VariantGroupConfiguration": {
"GroupingAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"ThumbnailReference": "string",
"NameConfiguration": {
"NamePattern": "string",
"NameAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
},
"CreateWizard": {
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Steps": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Headline": "string",
"Description": "string"
}
]
},
"CopyWizard": {
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Steps": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Headline": "string",
"Description": "string"
}
]
},
"Tabs": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ViewPermission": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"SavePermission": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
},
"VariantConfiguration": {
"ThumbnailReference": "string",
"CreateWizard": {
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Steps": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Headline": "string",
"Description": "string"
}
]
},
"Tabs": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"ViewPermission": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"SavePermission": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
},
"VariationDefinitions": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Alias": "string",
"Name": "string",
"NameConfiguration": {
"NamePattern": "string",
"NameAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
},
"DefiningAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"SortOrder": 0
}
],
"AlwaysOnDefiningAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"ProductIdentifierDefinitions": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Alias": "string",
"IdentifierPattern": "string",
"IdentifierAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}
],
"VariantGroupIdentifierDefinitions": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Alias": "string",
"IdentifierPattern": "string",
"IdentifierAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}
],
"VariantIdentifierDefinitions": [
{
"Uid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Alias": "string",
"IdentifierPattern": "string",
"IdentifierAttributes": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}
]
}Product structure model
public class ProductStructure
{
public Guid Uid { get; set; }
public string? Alias { get; set; }
public string? Label { get; set; }
public bool HasVariants { get; set; }
public bool HasVariantGroups { get; set; }
public ProductConfiguration? ProductConfiguration { get; set; }
public VariantGroupConfiguration? VariantGroupConfiguration { get; set; }
public VariantConfiguration? VariantConfiguration { get; set; }
public List<VariationDefinition>? VariationDefinitions { get; set; }
public List<Guid>? AlwaysOnDefiningAttributes { get; set; }
public List<IdentifierDefinition>? ProductIdentifierDefinitions { get; set; }
public List<IdentifierDefinition>? VariantGroupIdentifierDefinitions { get; set; }
public List<IdentifierDefinition>? VariantIdentifierDefinitions { get; set; }
}Product configuration
Name configuration
Tabs
Sections
Product identifier definitions
Example of wizard use and permission
Wizard create and copy
View and save permission
Example of product structure with variants
Variant definitions
Always on defining attributes
Variant identifier definitions
Variant group identifier definitions
Last updated