Assign categories and products to a shared catalog
The shared catalog configuration process includes assigning categories and products to the shared catalog. To assign these items to a shared catalog, the following conditions must be met:
The category structure must already be defined. You cannot create a new category to be included in a shared catalog. Use endpoints like
POST /V1/categories
to create a new category.Each category must already be populated with products. You cannot add a new product to a category to be included in a shared catalog. Use endpoints like
POST /V1/products
to create a new product.
Assign categories
The sharedCatalogCategoryManagementV1
service is based on catalogCategoryManagementV1
. To view a store's category structure, call GET /V1/categories
.
Products that are defined within a category are not included when you assign a category to a shared catalog. You must add products separately.
Service name:
sharedCatalogCategoryManagementV1
REST Endpoints:
Copied to your clipboardPOST /V1/sharedCatalog/:id/assignCategoriesPOST /V1/sharedCatalog/:id/unassignCategoriesGET /V1/sharedCatalog/:id/categories
Category parameters:
Although you can specify other parameters defined within a categories
object, the id
is the only one used to assign or unassign a category to a shared catalog.
Name | Description | Format | Requirements |
---|---|---|---|
id | The category ID number | integer | Required to assign or unassign a category |
Assign categories to shared catalog
The following example adds the Luma Gear category (id=3
) as well as its subcategories (id=4,5,6
) to a custom shared catalog.
Sample usage:
POST <host>/rest/<store_code>/V1/sharedCatalog/2/assignCategories
Copied to your clipboard{"categories": [{"id": 3},{"id": 4},{"id": 5},{"id": 6}]}
Copied to your clipboard// `true`, indicating the operation was successful
Unassign categories from a shared catalog
When you unassign a category from a shared catalog, Commerce also removes its products from the shared catalog. If a product is assigned to multiple categories, then Commerce removes the product from the unassigned category only.
The following example removes two categories from the shared catalog.
Sample usage:
POST <host>/rest/<store_code>/V1/sharedCatalog/2/unassignCategories
Copied to your clipboard{"categories": [{"id": 7},{"id": 8}]}
Copied to your clipboard// `true`, indicating the operation was successful
List the shared catalog categories
The GET
call returns an array of catalog IDs.
Sample Usage:
GET <host>/rest/<store_code>/V1/sharedCatalog/2/categories
Copied to your clipboard// Not applicable
Copied to your clipboard[3,4,5,6]
Assign products
The sharedCatalogProductManagementV1
service is based on catalogProductManagementV1
. To return a list of products defined within a category, call GET /V1/categories/:categoryId/products
.
Service name:
sharedCatalogProductManagementV1
REST endpoints:
Copied to your clipboardPOST /V1/sharedCatalog/:id/assignProductsPOST /V1/sharedCatalog/:id/unassignProductsGET /V1/sharedCatalog/:id/products
Category parameters:
Although you can specify other parameters defined within a products
object, the sku
is the only one used to assign or unassign a product to a shared catalog.
Name | Description | Format | Requirements |
---|---|---|---|
sku | The product's SKU identifier | string | Required to assign or unassign a product to a shared catalog |
Assign products to shared catalog
The following example adds two products each in the Bags, Fitness Equipment, and Watches categories to a custom shared catalog. The specified products do not have to be in the same category.
Sample usage:
POST <host>/rest/<store_code>/V1/sharedCatalog/2/assignProducts
Copied to your clipboard{"products": [{"sku": "24-MB01"},{"sku": "24-MB04"},{"sku": "24-UG06"},{"sku": "24-UG07"},{"sku": "24-MG04"},{"sku": "24-MG01"}]}
Copied to your clipboard// `true`, indicating the operation was successful
Unassign products from the shared catalog
Unassigning a product does not remove it from its category or categories.
Sample usage:
POST <host>/rest/<store_code>/V1/sharedCatalog/2/unassignProducts
Copied to your clipboard{"products": [{"sku": "24-MG01"}]}
Copied to your clipboard// `true`, indicating the operation was successful
List the shared catalog products
The GET
call returns an array of SKUs.
Sample Usage:
GET <host>/rest/<store_code>/V1/sharedCatalog/2/products
Copied to your clipboard// Not applicable
Copied to your clipboard["24-MB01","24-MB04","24-UG06","24-UG07","24-MG04"]