Product Update Complex
  • 8 Minutes to read
  • Dark
    Light

Product Update Complex

  • Dark
    Light

Article summary

To update the product complex data, mention the following in the postman and then click Send.

POST


Query Parameters

Expand to see the parameters and description


Parameter  Parameter TypeData TypeAccepted ValuesDescription
companyIdRequiredStringGUIDGUID associated with your company account. Unique to each account
vocabularyIdRequiredStringGUIDEach account using the API has a vocabulary associated with their account that allows for customer defined aliases on attributes. This is the GUID to your company's customer vocabulay file
verboseOptionalBooleentrue/falseDefaults to false. provides more verbose output in the response. Does have a major performance cost so is best used only during testing/prototype/troubleshooting
whatIfOptionalBooleentrue/falseWhen set to "true" the importer will run through all of its logic and generate the response output but will not commit any data. Meant for testing
shouldIncludeMissingVocabularyAttributes

OptionalBooleantrue/falseWill determine if attributes not included in your company vocabulary will be returned in search results. Defaults to setting in customer vocabulary, else defaults to false. If set to true, attributes not in vocabulary will return with its GUID.







Specify the required values for params companyId and vocabularyId.

Headers

Authorization: Specify required Auth Token in the header.

Request Parameters

Expand to see the parameters and description


Parameter  
Parameter Type
Data Type
Accepted Values
Description
ProductsToImport
RequiredArray
Contains an a array of Products
ImportMode
RequiredenumCreateOrUpdate, Create, Update, ExportOnlyCreateOrUpdate: create product if does not exist or updates existing product.
Create: only creates, error if product already exists.
Update: only updates existing products, fails if product does not exist.
ExportOnly: applies only to export payloads that were pulled using the parameters useLens and flattenLensedProduct set to true. Views flattened attributes that include only one value for any attribute. Can't import products using this value.
ProductIdentifierPropertyOverride
OptionalenumSee Product Identifier Property TableUsed in an import with multiple products. For that single product, this changes the identifier property used as the API key. Sets what type of value you would like to use as the ProductIdentifierValue
ProductIdentifierValue
RequiredString
The unique identifier of the product that you are creating or updating.
TaxonomyNodes
OptionalArray of GUIDsGUIDsUsed to set the taxonomy/category for a product.
CatalogItems
OptionalArray
Party, TargetMarket value pairsUsed for GDSN publications only to request catalog registration for your product to a specific recipient
   Party
Optional, Required for CatalogItemsStringGUIDRecipient GUID (For Catalogue items this is the Supplier GDSN Party)
   TargetMarket
Optional, Required for CatalogItems
enumThree digit code that aligns with Target Markets as defined within your company settings. Can be retrieved aby API call.Determines which country/region you are requesting your catalog be registered.
PackageType
Optionalenum"Load" - Transporter Load    "MixedModule" - Mixed Module    "Pallet" - Pallet    "Display" - Display Shipper"Pack" - Pack or Inner Pack"Case" - Case    "BaseUnit" - Base UnitUsed mainly for GDSN when managing product hierarchy
ImmediateParentDetails
OptionalArrayContains ProductIdentifier, Quantity pairsUsed for managing product hierarchy to set the parent product and define the quantity contained. The parent product must exist before using this in product import
   ProductIdentifierOptional, required with ImmediateParentDetailsStringGTIN of parent productThe identifier of the parent product that contains the current product. For GDSN, must use GTIN. Parent must exist before using.
   QuantityOptional, required with ImmediateParentDetails
Integer>0Sets the number of current products contained in the parent product
RecipientsToLink
Optional
Array of strings
GUID or as mapped in customer vocabulary
Links the product to assoicated recipient default requirement set(s). May have one or more RecipientsToLink.
WorkflowId
Optional
String
GUID or as mapped in customer vocabulary
Imports or updates and adds it to the Workflow step
RecipientsRequirementSetsOptional
ArrayArray of recipient requirement setsRecipient with Array of requirement sets
Values
Optional
Array
Contains all attribute values to be imported or updated. 
MultiValues
Optional
Array

Holds all attributes of type MultiValue
AssetValues
Optional
ArrayArray of asset attributes.
"Name",
"ValuesByLocale",
"Url",
"SourceUrl",
"Format"
The array of asset attributes. Contains assets' attributes and URLs.
NameOptional, Required for AssetValues
String
Asset attribute name.
ValuesByLocale
Optional, Required for AssetValues
ObjectContains attribute's locales e.g. "en-US": {}Object for locale values.
Name
Part of ValuesByLocaleString
Asset name as it should appear in the UI.
URLPart of ValuesByLocaleString
URL of the asset in the supplier's asset library.
SourceUrl
Optional for ValuesByLocale
String
URL from which the asset was originally obtained (external to Syndigo). The attribute prevents from getting duplicated asset images (that are from the same source). If SourceUrl exists before the import, it will match and prevent duplicate.
FormatOptional for ValuesByLocale
Stringjpeg, png,  jpg, gif, mp4, mov, pdfHolds a file extenstion of an asset.
SourceParty
Optional for ValuesByLocale
Stringe.g. “Marketplace”
Party from which the value was sources if not the current party.
Recipient
Optional for ValuesByLocale
String
Alias or GUID of the recipient to which the value applies if it is recipient specific.
Delete
Required for AssetValuesBooleantrue/falseSet to true to delete an existing value.
IsExplicitNullValue
Required for AssetValues
Booleantrue/falseIndicates if value is intended to be published as empty.
ContainerValues
Optional
Array

Holds all attributes of type ContainerValue
ComplexValues
Optional
Array

Holds all attributes of type ComplexValue
NutritionalInformationModule
Optional
Module
Contains the nutrition panel(s) information
ProductIdentifierProperty
Required
enum

Determines the unique identifier attribute to be used as your product identifier, ProductIdentifierValue. Note that this must be unique or the API will not be able to determine which record to update.
LifeCycle
Optional
String
Contains multiple fields:CreatedDate{Value, Delete}DiscontinueDateDeleteDateUsed to manage the product life cycle. CreatedDate is system generated. DiscontinueDate and DeleteDate can be set by user. See example for details
ErrorMode
Optional
enum
Ignore/Fail
Ignore will ignore any error encountered and continue the operation. Fail will prevent any information from the payload from being committed. If you have one product out of 50 in an import with an error, no products will be imported or updated. All will fail.


Request


{
    "ProductImportData": {
        "ProductsToImport": [
            {
                "ImportMode": "CreateOrUpdate",
                "ProductIdentifierValue": "00053883224346",
                "PackageType": "BaseUnit",
                "Values": [
                    {
                        "Name": "SimpleInvariantAttributeName",
                        "Recipient": "RecipientA", //This can be the CXH RecipientId or have a mapping setup in the Vocab         "ValuesByLocale": {  
                        "": "Invariant Value"
                    }
                ],
                "MultiValues": [
                    {
                        "Name": "MultiInvariantAttributeName",
                        "ValuesByLocale": {
                            "": [
                                "Value_1",
                                "Value_2"
                            ]
                        }
                    },
                    {
                        "Name": "MultiVariantAttributeNameWithOwner",
                        "ValuesByLocale": {
                            "en-US": [
                                "en-US Value 1",
                                "en-US Value 2",
                                "en-US Value 3"
                            ],
                            "en-CA": [
                                "en-CA Value 1"
                            ]
                        },
                        "Recipient": "Multi AttributeRecipient"
                    },
                    {
                        "Name": "MultiVariantAndInvariantValuesSpecified",
                        "ValuesByLocale": {
                            "fr-FR": [
                                "fr-FR Value 1",
                                "fr-FR Value 2"
                            ],
                            "": [
                                "Invariant Value 1",
                                "Invariant Value 2"
                            ]
                        }
                    },
                    {
                        "Name": "MultiToDelete",
                        "Delete": "true"
                    }
                ],
                "ContainerValues": [
                    {
                        "ParentAttribute": "Container Parent 1",
                        "RowList": [
                            { // first row  
                                "Values": [
                                    {
                                        "Name": "Container 1 SimpleInvariantAttributeName",
                                        "ValuesByLocale": {
                                            "": "Invariant Value Row 0"
                                        }
                                    },
                                    {
                                        "Name": "Container 1 SimpleVariantAttributeName",
                                        "ValuesByLocale": {
                                            "en-US": "EN US Value Row 0",
                                            "en-CA": "EN CA Value Row 0"
                                        }
                                    }
                                ],
                                "MultiValues": [
                                    {
                                        "Name": "Container 1 Multi Attribute Name",
                                        "ValuesByLocale": {
                                            "": [
                                                "foo",
                                                "bar",
                                                "baz"
                                            ]
                                        }
                                    }
                                ]
                            },
                            { // second row  
                                "Values": [
                                    {
                                        "Name": "Container 1 SimpleInvariantAttributeName",
                                        "ValuesByLocale": {
                                            "": "Invariant Value Row 1"
                                        }
                                    },
                                    {
                                        "Name": "Container 1 SimpleVariantAttributeName",
                                        "ValuesByLocale": {
                                            "en-US": "EN US Value Row 1",
                                            "en-CA": "EN CA Value Row 1"
                                        }
                                    }
                                ],
                                "MultiValues": [
                                    {
                                        "Name": "Container 1 Multi Attribute Name",
                                        "ValuesByLocale": {
                                            "en-US": [
                                                "this",
                                                "that"
                                            ],
                                            "en-CA": [
                                                "blah"
                                            ]
                                        }
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "ParentAttribute": "Container Parent With Subcontainer",
                        "Recipient": "Container Attribute Recipient",
                        "RowList": [
                            { // first row  
                                "Values": [
                                    {
                                        "Name": "Simple in main container",
                                        "ValuesByLocale": {
                                            "": "Inv. Value"
                                        }
                                    }
                                ],
                                "ContainerValues": [
                                    {
                                        "ParentAttribute": "Subcontainer",
                                        "RowList": [ // the full value of the subcontainer  
                                            { // the first row of the subcontainer  
                                                "Values": [
                                                    {
                                                        "Name": "Subcontainer simple value  1",
                                                        "ValuesByLocale": {
                                                            "": "foo"
                                                        }
                                                    },
                                                    {
                                                        "Name": "Subcontainer simple value  2",
                                                        "ValuesByLocale": {
                                                            "en-US": "Sub US"
                                                        }
                                                    }
                                                ]
                                            },
                                            { // the second row of the subcontainer  
                                                "Values": [
                                                    {
                                                        "Name": "Subcontainer simple value  1",
                                                        "ValuesByLocale": {
                                                            "": "bar"
                                                        }
                                                    },
                                                    {
                                                        "Name": "Subcontainer simple value 2",
                                                        "ValuesByLocale": {
                                                            "en-CA": "Sub CA"
                                                        }
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "ParentAttribute": "Container Parent To Delete",
                        "Delete": "true"
                    }
                ],
                "ComplexValues": [
                    { // first complex attribute  
                        "ParentAttribute": "ComplexAttributeName_1",
                        "ValueListByLocale": [
                            {
                                "Locale": "en-US",
                                "RowList": [
                                    [ // first complex child row  
                                        {
                                            "Name": "Simple Child 1",
                                            "Value": "foo"
                                        },
                                        {
                                            "Name": "Simple Child 2",
                                            "Value": "bar"
                                        }
                                    ],
                                    [ // second complex child row  
                                        {
                                            "Name": "Simple Child 1",
                                            "Value": "one"
                                        },
                                        {
                                            "Name": "Simple Child 2",
                                            "Value": "two"
                                        }
                                    ]
                                ]
                            },
                            {
                                "Locale": "fr-FR",
                                "RowList": [
                                    [ // first complex child row  
                                        {
                                            "Name": "Simple Child 1",
                                            "Value": "un"
                                        },
                                        {
                                            "Name": "Simple Child 2",
                                            "Value": "deux"
                                        }
                                    ]
                                ]
                            }
                        ]
                    },
                    { // second complex attribute  
                        "ParentAttribute": "ComplexAttributeName_2",
                        "ValueListByLocale": [
                            {
                                "Locale": "en-US",
                                "RowList": [
                                    [ // first complex child row  
                                        {
                                            "Name": "Complex 2 Simple Child 1",
                                            "Value": "Alice"
                                        },
                                        {
                                            "Name": "Complex 2 Simple Child 2",
                                            "Value": "Bob"
                                        }
                                    ]
                                ]
                            }
                        ],
                        "Recipient": "Complex Attribute Recipient"
                    },
                    { // third complex - delete only  
                        "ParentAttribute": "ComplexAttributeToDelete",
                        "Delete": "true"
                    }
                ],
                "NutritionalInformationModule": {
                    "ContainerValues": [
                        {
                            "ParentAttribute": "Panels",
                            "RowList": [
                                {
                                    "Values": [
                                        {
                                            "Name": "Title",
                                            "ValuesByLocale": {
                                                "en-US": "Panel 0 en-US"
                                            }
                                        },
                                        {
                                            "Name": "NumberOfServings",
                                            "ValuesByLocale": {
                                                "en-US": "6"
                                            }
                                        }
                                    ],
                                    "ContainerValues": [
                                        {
                                            "ParentAttribute": "ServingSize",
                                            "RowList": [
                                                {
                                                    "Values": [
                                                        {
                                                            "Name": "Code",
                                                            "ValuesByLocale": {
                                                                "en-US": "Oz."
                                                            }
                                                        },
                                                        {
                                                            "Name": "Value",
                                                            "ValuesByLocale": {
                                                                "en-US": "4"
                                                            }
                                                        }
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "ParentAttribute": "MetricServingSize",
                                            "RowList": [
                                                {
                                                    "Values": [
                                                        {
                                                            "Name": "Code",
                                                            "ValuesByLocale": {
                                                                "en-US": "g"
                                                            }
                                                        },
                                                        {
                                                            "Name": "Value",
                                                            "ValuesByLocale": {
                                                                "en-US": "115"
                                                            }
                                                        }
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "ParentAttribute": "NutrientDetails",
                                            "RowList": [
                                                {
                                                    "Values": [
                                                        {
                                                            "Name": "NutrientTypeCode",
                                                            "ValuesByLocale": {
                                                                "en-US": "Vit-A"
                                                            }
                                                        },
                                                        {
                                                            "Name": "QuantityContained",
                                                            "ValuesByLocale": {
                                                                "en-US": "12"
                                                            }
                                                        },
                                                        {
                                                            "Name": "DailyValueIntakePercent",
                                                            "ValuesByLocale": {
                                                                "en-US": "50"
                                                            }
                                                        }
                                                    ]
                                                },
                                                {
                                                    "Values": [
                                                        {
                                                            "Name": "NutrientTypeCode",
                                                            "ValuesByLocale": {
                                                                "en-US": "Vit-C"
                                                            }
                                                        },
                                                        {
                                                            "Name": "QuantityContained",
                                                            "ValuesByLocale": {
                                                                "en-US": "20"
                                                            }
                                                        },
                                                        {
                                                            "Name": "DailyValueIntakePercent",
                                                            "ValuesByLocale": {
                                                                "en-US": "25"
                                                            }
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "ParentAttribute": "FoodBeverageCompositions",
                            "RowList": [
                                {
                                    "Values": [
                                        {
                                            "Name": "FoodBeverageCompositionCode",
                                            "ValuesByLocale": {
                                                "en-US": "Code 0"
                                            }
                                        },
                                        {
                                            "Name": "FoodBeverageCompositionDatabaseCode",
                                            "ValuesByLocale": {
                                                "en-US": "000"
                                            }
                                        },
                                        {
                                            "Name": "FoodBeverageCompositionDescription",
                                            "ValuesByLocale": {
                                                "en-US": "zero"
                                            }
                                        }
                                    ]
                                },
                                {
                                    "Values": [
                                        {
                                            "Name": "FoodBeverageCompositionCode",
                                            "ValuesByLocale": {
                                                "en-US": "Code 2"
                                            }
                                        },
                                        {
                                            "Name": "FoodBeverageCompositionDatabaseCode",
                                            "ValuesByLocale": {
                                                "en-US": "222"
                                            }
                                        },
                                        {
                                            "Name": "FoodBeverageCompositionDescription",
                                            "ValuesByLocale": {
                                                "en-US": "two"
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            }
        ],
        "ProductIdentifierProperty": "GTIN"
    },
    "ErrorMode": "Fail"
}

Response 200 OK


{
    "VerboseResponse": false,
    "OverallResult": "Failure",
    "Errors": [],
    "ResultsByActionType": {
        "ProductImportData": [
            {
                "Result": "Failure",
                "IdentifierValue": "00053883224346",
                "MatchedId": "6a96a21c-0aa0-492f-bb95-c648bbd2108c",
                "Errors": [
                    "Could not resolve attribute named [SimpleInvariantAttributeName] as an attribute for a [Product]",
                    "Could not resolve attribute named [MultiInvariantAttributeName]",
                    "Could not resolve attribute named [MultiVariantAttributeNameWithOwner]",
                    "Could not resolve attribute named [MultiVariantAndInvariantValuesSpecified]",
                    "Could not resolve attribute named [MultiToDelete]",
                    "Could not resolve complex parent attribute named [ComplexAttributeName_1]",
                    "Could not resolve container parent attribute named [Container Parent 1]",
                    "Could not resolve container parent attribute named [Container Parent With Subcontainer]",
                    "Could not resolve container parent attribute named [Container Parent To Delete]",
                    "NutrientModel does not define a value for [QuantityContained]",
                    "NutrientModel does not define a value for [QuantityContained]",
                    "Failure"
                ]
            }
        ]
    }
}


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Eddy AI, facilitating knowledge discovery through conversational intelligence