- 5 Minutes to read
- DarkLight
Error Modes and Verbose Parameter
- 5 Minutes to read
- DarkLight
If you experience issues with importing or updating products there's a way to check what caused that by setting a request parameter called verbose to true.
This way you will receive more detailed info about the product that you wanted to send and error messages.
Does have a major performance cost so is best used only during testing/prototype/troubleshooting!
Query Parameters
Expand to see the parameters and description
Parameter | Parameter Type | Data Type | Accepted Values | Description |
companyId | Required | String | GUID | GUID associated with your company account. Unique to each account |
vocabularyId | Required | String | GUID | Each 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 |
verbose | Optional | Booleen | true/false | Defaults to false. provides more verbose output in the response. Does have a major performance cost so is best used only during testing/prototype/troubleshooting |
whatIf | Optional | Booleen | true/false | When 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 | Optional | Boolean | true/false | Will 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 | Required | Array | Contains an a array of Products | |
ImportMode | Required | enum | CreateOrUpdate, Create, Update, ExportOnly | CreateOrUpdate: 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 | Optional | enum | See Product Identifier Property Table | Used 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 | Required | String | The unique identifier of the product that you are creating or updating. | |
TaxonomyNodes | Optional | Array of GUIDs | GUIDs | Used to set the taxonomy/category for a product. |
CatalogItems | Optional | Array | Party, TargetMarket value pairs | Used for GDSN publications only to request catalog registration for your product to a specific recipient |
Party | Optional, Required for CatalogItems | String | GUID | Recipient GUID (For Catalogue items this is the Supplier GDSN Party) |
TargetMarket | Optional, Required for CatalogItems | enum | Three 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 | Optional | enum | "Load" - Transporter Load "MixedModule" - Mixed Module "Pallet" - Pallet "Display" - Display Shipper"Pack" - Pack or Inner Pack"Case" - Case "BaseUnit" - Base Unit | Used mainly for GDSN when managing product hierarchy |
ImmediateParentDetails | Optional | Array | Contains ProductIdentifier, Quantity pairs | Used 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 |
ProductIdentifier | Optional, required with ImmediateParentDetails | String | GTIN of parent product | The identifier of the parent product that contains the current product. For GDSN, must use GTIN. Parent must exist before using. |
Quantity | Optional, required with ImmediateParentDetails | Integer | >0 | Sets 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 |
RecipientsRequirementSets | Optional | Array | Array of recipient requirement sets | Recipient 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 | Array | Array of asset attributes. "Name", "ValuesByLocale", "Url", "SourceUrl", "Format" | The array of asset attributes. Contains assets' attributes and URLs. |
Name | Optional, Required for AssetValues | String | Asset attribute name. | |
ValuesByLocale | Optional, Required for AssetValues | Object | Contains attribute's locales e.g. "en-US": {} | Object for locale values. |
Name | Part of ValuesByLocale | String | Asset name as it should appear in the UI. | |
URL | Part of ValuesByLocale | String | 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. | |
Format | Optional for ValuesByLocale | String | jpeg, png, jpg, gif, mp4, mov, pdf | Holds a file extenstion of an asset. |
SourceParty | Optional for ValuesByLocale | String | e.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 AssetValues | Boolean | true/false | Set to true to delete an existing value. |
IsExplicitNullValue | Required for AssetValues | Boolean | true/false | Indicates 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}DiscontinueDateDeleteDate | Used 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. |
"ErrorMode": "Ignore" - will ignore any error encountered and continue the operation.
"ErrorMode": "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
{ "ErrorMode": "Fail", "DefaultLocale": "en-US", "ProductImportData": { "ProductsToImport": [ { "ImportMode": "Update", "ProductIdentifierPropertyOverride": "", "ProductIdentifierValue": "0268f02a-a370-44dd-8879-ad081c1f0b78", "SourceParties": [], "TaxonomyNodes": [], "CatalogItems": [], "PackageType": "BaseUnit", "ImmediateParentDetails": {}, "RecipientsToLink": [ "Walmart", "Amazon US" ], "RecipientsRequirementSets": { "Amazon US": [ "Amazon Listing 2.0" ] }, "Archived": false, "Values": [ { "Name": "Feature - Benefit Bullet 1", "ValuesByLocale": { "en-US": null }, "SourceParty": "", "Recipient": "2f4ffbfb-ad8a-4e0e-846e-a27c06acc92b", "Delete": false, "IsExplicitNullValue": true //set a recipient null override }, { "Name": "GTIN", "ValuesByLocale": { "en-US": "13315418371337" }, "SourceParty": "", "Recipient": "", "Delete": false, "IsExplicitNullValue": false }, { "Name": "Product Name", "ValuesByLocale": { "en-US": "Italian Olive Oil" }, "SourceParty": "", "Recipient": "", "Delete": false, "IsExplicitNullValue": false }
], "MultiValues": [], "ContainerValues": [], "AssetValues": [], "IsExplicitNullValue": false } ], "ProductIdentifierProperty": "", "Archived": false }
}
Response 200 OK
{
"VerboseResponse": true,
"OverallResult": "Failure",
"Errors": [],
"Messages": [],
"ResultsByActionType": {
"ProductImportData": [
{
"Result": "Failure",
"IdentifierValue": "0268f02a-a370-44dd-8879-ad081c1f0b78",
"MatchedId": "0268f02a-a370-44dd-8879-ad081c1f0b78",
"Errors": [
"Attributes cannot be set as explicitly null with a value provided as well.",
"Failure"
],
"Messages": [
"Matched identifier []:[0268f02a-a370-44dd-8879-ad081c1f0b78] to Product [0268f02a-a370-44dd-8879-ad081c1f0b78]",
"Value for [GTIN]:[0994d0f8-35e7-4a6d-9cd9-2ae97cd8b993]:[en-US] skipped because the existing value is identical or this value does not apply.",
"Value for [Product Name]:[bda64a3f-507c-49de-883c-fa832c6539e7]:[en-US] skipped because the existing value is identical or this value does not apply."
]
}
]
}
}