Skip to main content

Product Master Data

The Channel Engine product master data flow allows you to create, update, and synchronize all product information in a centralized way, including variants, images, and custom attributes, ensuring that data is always consistent across all connected marketplaces.

The system allows products to be processed in bulk, verifying that each product is coherent and valid. During processing, if a field of the parent product or a variant is null, the existing value on Channel Engine is retrieved. If the field is provided as empty (e.g., "description": ""), the value is cleared. Values are retrieved from Channel Engine only if the product already exists on the platform.

Each provided product is structured into at least three levels:

  • GranParent, which represents the main container.
  • Parent, which groups variants based on the option with the fewest values, giving priority to the color and size options.
  • Child, which represents individual variants.

The main options color and size determine the product behavior, while other options are stored in extra fields. If color and size are not present, the first available options are assigned to these two main fields, and the remaining options become extra fields.

Image management is structured as follows: the first image provided in the media list is selected as the main image. Up to ten images are assigned to the main fields of the products, while additional images are added in the extra data with progressively numbered keys (ExtraImageUrl{index}). This behavior respects the limit imposed by Channel Engine, which allows a maximum of 10 images per product.

If any level of a product being created generates an error, the entire group of related products is removed to maintain data consistency. Conversely, if the product already exists and it is an update, any errors do not result in the deletion of the other levels.

Payload

Payload for inserting products, including an example of typed metafields.

{
"sku": "BGSM001C210",
"title": "Product Test 1 Con Varianti",
"barcode": "14785985742",
"handle": "product-product-1",
"not-found-handle": "/collections/all",
"description": "Description of product",
"type": "product-type",
"price": 15.99,
"compareAtPrice": 19.99,
"vendor": "SBS",
"tags": [
"tagprimo",
"tag2"
],
"media": [
{
"alternativeText": "image test",
"url": "https://demo.sintra-soh.com/csv-import-images/BGSM001C005/BGSM001C005.jpg"
},
{
"alternativeText": "image test 1",
"url": "https://demo.sintra-soh.com/csv-import-images/BGSM001C005/BGSM001C005_1.jpg"
}
],
"files": {
"namespace.certification_file": "http://demo.sintra-soh.com/LdV/samplepdf.pdf",
"documents_file": "http://demo.sintra-soh.com/LdV/samplepdf_1.pdf",
"gallery_images_file": "http://demo.sintra-soh.com/ShippingLabels/1002-816-0.pdf",
"manual": "http://demo.sintra-soh.com/ShippingLabels/1006-867-0.pdf"
},
"metafields": {
"namespace.accessories_included": "value",
"addition_features": "value",
"attachment": "value",
"attachment_system": "value",
"audio_output": "value",
"audio_power": "value",
"audio_power_unit": "value",
"logistic_depth": 1,
"type_product": "[\"tipo1\",\"tipo2\"]",
"video": "https://www.youtube.com/watch?v=WqDiH5bnZ4s",
"volume_control_position": "value",
"warrentyupgrade": false
},
"variants": [
{
"sortingNumber": 1,
"sku": "BGSM001C210-1",
"barcode": "1478598574258",
"price": 12.99,
"compareAtPrice": 15.99,
"optionValues": {
"color": "Blue"
},
"media": [
{
"alternativeText": "image test 1 facoltativo",
"url": "http://demo.sintra-soh.com/csv-import-images/BGSM003C014/BGSM003C014.jpg"
},
{
"alternativeText": "image test 2 facoltativo",
"url": "http://demo.sintra-soh.com/csv-import-images/BGSM003C014/BGSM003C014_1.jpg"
}
],
"metafields": {
"subtitle": "value"
},
"files": {
"gallery_images_file": "http://demo.sintra-soh.com/ShippingLabels/1006-867-0.pdf"
},
"harmonizedSystemCode": "147856923",
"countryCodeOfOrigin": "IT",
"provinceCodeOfOrigin": "IT-52",
"costPerItem": 14.95,
"isDigitalItem": true
},
{
"sortingNumber": 2,
"sku": "BGSM001C210-2",
"barcode": "1478598574259",
"optionValues": {
"color": "Lilac"
},
"media": [
{
"alternativeText": "lilla davanti",
"url": "http://demo.sintra-soh.com/csv-import-images/BGSM003C015/BGSM003C015.jpg"
},
{
"alternativeText": "lilla sopra",
"url": "http://demo.sintra-soh.com/csv-import-images/BGSM003C015/BGSM003C015_1.jpg"
}
],
"metafields": {
"subtitle": "value"
},
"files": {
"gallery_images_file": "http://demo.sintra-soh.com/ShippingLabels/1006-867-0.pdf"
},
"weight": "1.09",
"weightUnit": "kg",
"harmonizedSystemCode": "123456789",
"countryCodeOfOrigin": "IT",
"provinceCodeOfOrigin": "IT-52",
"costPerItem": 14.95,
"isDigitalItem": true
}
],
"weight": "1090",
"weightUnit": "g",
"metaTitle": "SEO Product metaTile",
"metaDescription": "SEO Product metaDescription",
"harmonizedSystemCode": "987456321",
"countryCodeOfOrigin": "IT",
"provinceCodeOfOrigin": "IT-52",
"costPerItem": 14.95,
"isDigitalItem": true
}

Flow Configuration

In addition to the basic flow configurations, add the following settings in Settings Override:

FieldValueNotes
Base Urlhttps://adapt.flowlyze.comURL of the adapters
Resource Path/api/adp/channel-engine/egress/sync-product-to-ceAdapter path for products
Headers :: x-api-key**********API key used to validate endpoint interaction
Headers :: x-ce-urlhttps://CEURL.channelengine.net/apiURL of the Channel Engine to connect to
Headers :: x-ce-tokenALPHANUMERICCODEToken for the integration
Headers :: x-ignore-pricefalseIndicates whether ChannelEngine should ignore the prices sent in the request (default false)