Integration

Integrating your product data with CM.com's product feed


  1. Through integrations marketplace. CM.com allows you to integrate your product data from various sources through our integrations marketplace. For the most up to date list of supported sources, please contact CM.com
  2. Setting up a custom integration through Product Feed REST APIs

Setting up a custom integration through REST

Process of updating the product set information

Periodically uploading a new version of the product set

This is recommended when delta’s on the source of the product data are not readilly available

  1. Only first time: Create a new product set with a recognizable external key and display name. I.e. your company name. (Can be done by CM.com if desired)
  2. Create a new Product Set Version for the product set from step 1
  3. POST the products to this version with the CREATE_OR_UPDATE operation type
  4. Update the target version for the Product Set from step 1 to the newly created version, created in step 2

Updating the products in-place within a product set version

  1. Only first time: Create a new product set with a recognizable external key and display name. I.e. your company name. (Can be done by CM.com if desired)
  2. Only first time: Create a new Product Set Version for the product set from step 1
  3. POST the products updates to this version with the correct operation type as described in the API documentation below

API documentation

Creating a new product set

POST https://api.cm.com/product-feed/accounts/{accountId}/product-sets
NameInDescriptionRequiredTypeExample
accountIdPathThe account idTrueGuid069973bc-19a9-4854-b387-306254c2412e
X-CM-PRODUCTTOKENHeader or Query parameterYour product tokenTrueGuid746477d0-d396-4af0-8f8e-dfd257640727
IdBodyId of the to be created product set. If empty it is auto generatedFalseGuidjson
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"externalKey": "string",
"displayName": "string"
}
externalKeyBodyReference of the product set that can be use for bookkeeping in external applicationsFalseString
displayNameBodyUser-readable name of the product setFalseString

Creating a new product set version

POST https://api.cm.com/product-feed/accounts/{accountId}/product-sets-versions
NameInDescriptionRequiredTypeExample
accountIdPathThe account idTrueGuid069973bc-19a9-4854-b387-306254c2412e
X-CM-PRODUCTTOKENHeader or Query parameterYour product tokenTrueGuid746477d0-d396-4af0-8f8e-dfd257640727
IdBodyId of the product set version. If empty, it is autogeneratedFalseGuidjson

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"productSetId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
productSetIdBodyReference of the product set that can be use for bookkeeping in external applicationsTrueString

Uploading products to product set version

POST https://api.cm.com/product-feed/accounts/{accountId}/product-sets-versions/{productSetIdOrExternalKey}/products

NameInDescriptionRequiredTypeExample
accountIdPathThe account idTrueGuid069973bc-19a9-4854-b387-306254c2412e
X-CM-PRODUCTTOKENHeader or Query parameterYour product tokenTrueGuid746477d0-d396-4af0-8f8e-dfd257640727
productSetVersionIdPathThe product set versionTrueGuid3fa85f64-5717-4562-b3fc-2c963f66afa6
BodyBodyArray of product updatesTrueJson arrayjson
[
{
"operation": "CREATE_OR_UPDATE",

"id": "string",

"attributes": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
}}
]
OperationBodyUpdate operation to be performed. Values:

CREATE_OR_UPDATE

DELETE
TrueENUM
IdBodyId of the productTrueString
AttributesBodyAttributes of the productTrueJson object

Update target version of a product set

PATCH https://api.cm.com/product-feed/accounts/{accountId}/product-sets

NameInDescriptionRequiredTypeExample
accountIdPathThe account idTrueGuid069973bc-19a9-4854-b387-306254c2412e
X-CM-PRODUCTTOKENHeader or Query parameterYour product tokenTrueGuid746477d0-d396-4af0-8f8e-dfd257640727
productSetIdPathProduct Set IdTrueGuid3fa85f64-5717-4562-b3fc-2c963f66afa6
targetVersionIdBodyTarget version (i.e. the default used version) for the provided product setTrueGuidjson
{
"targetVersionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}