ChannelEngine: parent-child relationships
About this article
This article describes the setup of parent-child relationships on ChannelEngine.
Table of contents
How to set up relationships via a product feed
How to set up relationships via an API connection
Introduction
Multiple variants of the same product should be considered before selling products via marketplaces. T-shirts, for instance, can be offered in several different sizes and colors.
To get sizes and variations (i.e.: children) connected to the same product (i.e.: parent), the children need to include the parent's unique identifiers. Have a look at the XML file below:
<Products> <Product> <Id>25320</Id> <MerchantProductNo>001201-blue</MerchantProductNo> <Name>T-shirt with short sleeves BASIC</Name> <Description> <br><br> Basic t-shirt with short sleeves. The model has a tight fit and is available in 2 colors. <br><br>Material:</br> 92% cotton 8% elastane. </Description> <Price>15.00</Price> <MSRP>24.99</MSRP> <PurchasePrice>10.00</PurchasePrice> <Stock>0</Stock> <ShippingCost>3.95</ShippingCost> <ShippingTime> Ordered on working days before 17:00, delivered the next day. </ShippingTime> <Brand>MyBrand</Brand> <Url>http://www.myshop.com/shirt-basic-blue</Url> <ParentMerchantProductNo/> <ParentId/> <ImageUrl>http://feeds.channelengine.net/shirt-basic-blue.jpg</ImageUrl> <Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category> <VendorProductNo>120675B</VendorProductNo> <Color>Blue</Color> <Size/> <EAN/> <Type>parent</Type> </Product> <Product> <Id>25321</Id> <MerchantProductNo>001201-blue-S</MerchantProductNo> <Name>T-shirt with short sleeves BASIC Blue: S</Name> <Description> <br><br> Basic t-shirt with short sleeve. The model has a tight fit and is available in 2 colors. <br><br>Material:</br> 92% cotton 8% elastane. </Description> <Price>15.00</Price> <MSRP>24.99</MSRP> <PurchasePrice>10.00</PurchasePrice> <Stock>0</Stock> <ShippingCost>3.95</ShippingCost> <ShippingTime>This product is currently out of stock</ShippingTime> <Brand>MyBrand</Brand> <Url>http://www.myshop.com/shirt-basic-blue</Url> <ParentMerchantProductNo>001201-blue</ParentMerchantProductNo> <ParentId>25320</ParentId> <ImageUrl>http://feeds.channelengine.net/shirt-basic-blue.jpg</ImageUrl> <Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category> <VendorProductNo>120675BS</VendorProductNo> <Color>Blue</Color> <Size>S</Size> <EAN>8719351029609</EAN> <Type>child</Type> </Product> <Product> <Id>25322</Id> <MerchantProductNo>001201-blue-M</MerchantProductNo> <Name>T-shirt with short sleeves BASIC Blue: M</Name> <Description> <br><br> Basic t-shirt with short sleeve. The model has a tight fit and is available in 2 colors. <br><br>Material:</br> 92% cotton 8% elastane. </Description> <Price>15.00</Price> <MSRP>24.99</MSRP> <PurchasePrice>10.00</PurchasePrice> <Stock>3</Stock> <ShippingCost>3.95</ShippingCost> <ShippingTime>Ordered on working days before 17:00, delivered the next day.</ShippingTime> <Brand>MyBrand</Brand> <Url>http://www.myshop.com/shirt-basic-blue</Url> <ParentMerchantProductNo>001201-blue</ParentMerchantProductNo> <ParentId>25320</ParentId> <ImageUrl>http://feeds.channelengine.net/shirt-basic-blue.jpg</ImageUrl> <Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category> <VendorProductNo>120675BM</VendorProductNo> <Color>Blue</Color> <Size>M</Size> <EAN>8719351029610</EAN> <Type>child</Type> </Product> <Product> <Id>25323</Id> <MerchantProductNo>001201-blue-L</MerchantProductNo> <Name>T-shirt with short sleeves BASIC Blue: L</Name> <Description> <br><br> Basic t-shirt with short sleeve. The model has a tight fit and is available in 2 colors. <br><br>Material:</br> 92% cotton 8% elastane. </Description> <Price>15.00</Price> <MSRP>24.99</MSRP> <PurchasePrice>10.00</PurchasePrice> <Stock>11</Stock> <ShippingCost>3.95</ShippingCost> <ShippingTime>Ordered on working days before 17:00, delivered the next day.</ShippingTime> <Brand>MyBrand</Brand> <Url>http://www.myshop.com/shirt-basic-blue</Url> <ParentMerchantProductNo>001201-blue</ParentMerchantProductNo> <ParentId>25320</ParentId> <ImageUrl>http://feeds.channelengine.net/shirt-basic-blue.jpg</ImageUrl> <Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category> <VendorProductNo>120675BL</VendorProductNo> <Color>Blue</Color> <Size>L</Size> <EAN>8719351029611</EAN> <Type>child</Type> </Product> </Products>
The XML file contains one parent with the Merchant product number (SKU) of '001201-blue' and three children in three different sizes. If there were a yellow variant of the same item, a similar tree could be created with '001201-yellow' as the parent SKU.
Child products
A child product (sometimes referred to as a simple product) is the sellable product on a marketplace. This product has specific, unique product attributes, such as its GTIN, Merchant product number (SKU), size, and color to differentiate it from other products. Most marketplaces use the SKU or EAN as the unique identifier for products.
Parent products
Parents are unsellable products, but they must be set up correctly on ChannelEngine. This is needed to correctly set parent-child relationships for marketplaces that support this feature. Note that some marketplaces use generic data such as the description from the parent product. Amazon is an example, as noted on their Seller Central:
"The Clothing, Accessories and Luggage, Sports and Outdoors, and Beauty categories display best-selling parent products in search results and on product detail pages. This means that display elements such as product title and description appear from the data associated with the parent product."
While some CMS, PIM, and ERP systems allow sizes or colors to be an option of a parent product (and this may work within your own webshop), it makes it very hard to sell these individual products (i.e.: children) on marketplaces.
Grandparent products
Grandparent products are also possible as an option to add an extra level of hierarchy to a product family, though not many marketplaces support it. Grandparents are the common parent of a particular type (i.e.: parent), and can also be applied to the previous XML example. The result is:
<MerchantProductNo>001201</MerchantProductNo> <MerchantProductNo>001201-yellow</MerchantProductNo> <MerchantProductNo>001201-yellow-S</MerchantProductNo> <MerchantProductNo>001201-yellow-M</MerchantProductNo> <MerchantProductNo>001201-yellow-L</MerchantProductNo> <MerchantProductNo>001201-blue</MerchantProductNo> <MerchantProductNo>001201-blue-S</MerchantProductNo> <MerchantProductNo>001201-blue-M</MerchantProductNo> <MerchantProductNo>001201-blue-L</MerchantProductNo>
The grandparent is optional, and usually only relevant in case of fashion products.
How to set up relationships via a product feed
Setting up relationships via the API works in the same way as for product feeds, however, it may not always be clear when to use what attribute to identify the level above it. The relationship is set up so each level refers to its immediate parent via a specific (Grand)Parent SKU field.
- Child product - refers to its parent by placing the Merchant product number of its parent in the Parent SKU field. Bear in mind that children do not have their own reference to a Grandparent SKU, as this would confuse the relationship.
- Parent product - refers to its parent (i.e.: the grandparent) by placing the Merchant product number of its parent in the Grandparent SKU field.
- Grandparent product - does not need any references to its children or grandchildren
Note that parent and grandparent products have to exist on ChannelEngine to be used on marketplaces. Therefore, they must be included as individual products in your product feed. If this is not possible, allow them to be generated automatically.
Generating parents and grandparents
It is possible to let ChannelEngine automatically generate parent and grandparent products if you cannot provide them. To do so, in product feed mapping, make sure the Additional toggle is switched off, and proceed to enable the Generate parent products or Generate grandparent products settings. All information shared among the individual child products with the same (grand)parent SKU is automatically added to the product data of the (grand)parent product.
There is one requirement to use this feature: a shared unique identifier for that parent must be available on the products. That is, there needs to be an existing shared reference to an attribute that can be used as the Merchant product number for the (grand)parent.
How to set up relationships via an API connection
Setting up relationships via the API works in the same way as for product feeds, however, you must know when to use what attribute to identify the level above. The relationship is set up so each level refers to its immediate parent via a specific Parent merchant product number field:
- Child product - refers to its parent by placing the Merchant product number of its parent in the Parent merchant product number field.
- Parent product - refers to its parent (i.e.: the grandparent) by placing the Merchant product number of its parent in the Parent merchant product number 2 field.
- Grandparent product - does not need any references to its children or grandchildren.
Check out the example below:
[ { "Ean": null, "Description": "Grandparent product of awesome product", "MerchantProductNo": "GP-AwesomeProduct", "Name": "Awesome Product", "ParentMerchantProductNo": null, "ParentMerchantProductNo2": null }, { "Ean": null, "Description": "Parent product of awesome product", "MerchantProductNo": "P-AwesomeProduct", "Name": "Awesome Product - Yellow", "ParentMerchantProductNo": null, "ParentMerchantProductNo2": "GP-AwesomeProduct" }, { "Ean": "8712345678941", "Description": "Awesome product itself, which can be sold on marketplaces", "MerchantProductNo": "AwesomeProduct", "Name": "Awesome Product - Yellow - Size L", "ParentMerchantProductNo": "P-AwesomeProduct", "ParentMerchantProductNo2": null } ]
Comments
0 comments
Article is closed for comments.