How to find a product using Management API
Use the core search to find the product id
When finding products using filters in Bluestone PIM, the UI application uses the core search endpoint.
It is possible to filter products by attribute values, category assignments, labels, relations, completeness score, assets and more.
Using a network inspector in the browser it is possible to see and copy the request payload. In this example, we search for a product number:
URL
POST https://mapi.bluestonepim.com/core-search/products/search
Request body
{
"page": 0,
"pageSize": 20,
"assetFilters": null,
"attributeFilters": [],
"attributeIdToSortBy": null,
"baseFilters": [
{
"type": "NUMBER_IS",
"values": [
"123456"
]
}
],
"categoryFilters": null,
"column": null,
"labelFilters": [],
"productCreateDateFilter": [],
"productLastUpdateFilter": [],
"productLastUpdateRelativeFilter": null,
"publishStateFilter": null,
"relationsFilter": null,
"scoreFilter": null,
"scoreRequirementResultFilters": null,
"sortDirection": null,
"typeFilter": null,
"typesFilter": null
}
Response
{
"data": [
{
"id": "625fea934cedfd00013888dc"
}
]
}
This returns a list of products matching the filters, in this case only one.
Get more information about the product
URL
POST
https://mapi.bluestonepim.com/pim/products/list/views/by-ids
Request body
{
"ids": [
"625fea934cedfd00013888dc"
],
"views": [
{"type": "ASSETS"},
{"type": "ATTRIBUTES"},
{"type": "METADATA"},
{"type": "CATEGORIES"},
{"type": "BUNDLES"},
{"type": "LABELS"},
{"type": "VARIANTS"},
{"type": "RELATED_PRODUCTS"},
{"type": "RELATED_CATEGORIES"}
]
}
Call the endpoint using the product id from the previous step. It accepts a list of ids, but here we send only one. The views property accepts a list of types, this corresponds to the properties returned for the product. Here we have listed all types, but it is good practice to only get the information needed.
Response
{
"data": [
{
"id": "625fea934cedfd00013888dc",
"metadata": {
"name": {
"value": {
"en": "Single sample product"
}
},
"number": "123456",
"description": {
"value": {}
},
"state": "PLAYGROUND_ONLY",
"contextStates": {},
"archived": false,
"lastUpdate": 1651058709784,
"createDate": 1650453139534,
"type": "SINGLE",
"dataSynced": false,
"readOnly": false
},
"attributes": [
{
"definitionId": "5da7254de21b84000c6ed075",
"value": {
"value": {
"en": "Sample text"
}
}
},
{
"definitionId": "5db038fcd60180000cf9851e",
"select": [
"5db038fcd60180000cf9851c"
],
"contextAwareSelect": {
"value": {
"en": [
"5db038fcd60180000cf9851c"
]
}
}
},
{
"definitionId": "60869a7c6b2f07000cacff73",
"value": {
"value": {
"en": "true"
}
}
}
],
"assets": [
"918655ba-5f85-48b7-8ccb-7e3d1fe96e73"
],
"productBundles": [],
"categories": [
"5d78f916ee3588000c7686e5"
],
"labels": [
"62692d29713c0900014eeace",
"62692d29713c0900014eeacf"
],
"productVariants": [],
"relatedProducts": [
{
"relationId": "61827e914cedfd00012d8b47",
"relatedId": "609a822a590801000d931e57",
"reverse": false
}
],
"relatedCategories": []
}
]
}
This returns a list of products matching the ids in the request, in this case only one.
Metadata
The property contains the basic product properties like name, number, state and timestamps.
Attributes
List of attributes with attribute id's and values. This product has three attributes. One Text attribute, one Single select attribute and one Boolean attribute.
Assets
List of asset id's. This product only has one asset.
Product bundles
This is a single product. If it had been a bundle product, this property would have contained a list of the product id's in the bundle.
Labels
List of label id's. This product has two labels.
Product variants
This is a single product. If it had been a variant group product, this property would have contained a list of the variant product id's.
Related products
Contains a list of all product relations. This product only has one. Each element has three properties:
- relationId: The id of the relation
- relatedId: The id of the related product
- reverse: True if this is the reverse direction of a two-way relation. Otherwise false.
Related categories
Legacy property that is not in use.