product

This class provides RESTful services to get product data for search-based catalog navigation. It performs the service by delegating to the CatalogNavigationView BOD service.

Handler Class:

com.ibm.commerce.rest.search.handler.ProductViewHandler

Method Summary

HTTP MethodPathDescription
GET/store/{storeId}/productview/{partNumber}Gets product details based on the part number.
GET/store/{storeId}/productview/byCategory/{categoryId}Gets all products belonging to a category based on the category unique ID.
GET/store/{storeId}/productview/byId/{productId}Gets product details based on the product ID.
GET/store/{storeId}/productview/byIdsGets product details based on the product ID.
GET/store/{storeId}/productview/bySearchTerm/{searchTerm}Gets matching products for a given search term. It supports specifying conditions to filter the search results.

Method Details

GET /store/{storeId}/productview/{partNumber}

Gets product details based on the part number.

Handler Method:

findProductByPartNumber

Secure Call Mandatory:

false

Partial Authentication Allowed:

true

Parameters:
NameDescriptionParameter TypeData TypeRequiredAllow Multiple
storeIdThe store identifier.pathstringtrueN/A
partNumberPart number to retrieve details about a particular skupathstringtrueN/A
associationTypeThe type of the merchandising association to be returned.querystringfalsetrue
catalogIdThe catalog identifier. If none is specified, the store default catalog shall be used.querystringfalsefalse
HTTP Status Codes:
HTTP Status CodeDescription
200The requested completed successfully.
400Bad request. Some of the inputs provided to the request aren't valid.
401Not authenticated. The user session isn't valid.
403The user isn't authorized to perform the specified request.
500Internal server error. Additional details will be contained on the server logs.
Response Data Type:

productview-productSummary


Example

Request:
GET /wcs/resources/store/10001/productview/AuroraWMDRS-692
HTTP Status Code:

200

Response:
{
	"CatalogEntryView": [
		{
			"Attributes": [
				{
					"ExtendedValue": [
						{
							"extValue": "C62"
						}
					],
					"Values": [
						{
							"extendedValue": [
								{
									"key": "UnitOfMeasure",
									"value": "C62"
								},
								{
									"key": "Image1",
									"value": "images\/catalog\/apparel\/women\/Swatches\/swatch_size\/size_xs_enabled.png"
								},
								{
									"key": "Image1Path",
									"value": "Aurora\/images\/catalog\/apparel\/women\/Swatches\/swatch_size\/size_xs_enabled.png"
								}
							],
							"identifier": "XS",
							"uniqueID": "7000000000000000004",
							"values": "XS"
						}
					],
					"comparable": "true",
					"dataType": "STRING",
					"description": "Available Sizes",
					"displayable": "true",
					"identifier": "swatchSize",
					"name": "Available Sizes",
					"searchable": "false",
					"uniqueID": "7000000000000000001",
					"usage": "Defining"
				},
				{
					"ExtendedValue": [
						{
							"extValue": "C62"
						}
					],
					"Values": [
						{
							"extendedValue": [
								{
									"key": "UnitOfMeasure",
									"value": "C62"
								},
								{
									"key": "Image1",
									"value": "images\/catalog\/apparel\/women\/Swatches\/swatch_blue.png"
								},
								{
									"key": "Image1Path",
									"value": "Aurora\/images\/catalog\/apparel\/women\/Swatches\/swatch_blue.png"
								}
							],
							"identifier": "Blue",
							"uniqueID": "7000000000000000012",
							"values": "Blue"
						}
					],
					"comparable": "true",
					"dataType": "STRING",
					"description": "Color",
					"displayable": "true",
					"identifier": "swatchcolor",
					"name": "Color",
					"searchable": "false",
					"uniqueID": "7000000000000000002",
					"usage": "Defining"
				}
			],
			"Price": [
				{
					"priceDescription": "I",
					"priceUsage": "Offer",
					"priceValue": "50.00"
				}
			],
			"buyable": "true",
			"disallowRecOrder": "true",
			"fullImage": "\/wcsstore\/Aurora\/images\/catalog\/apparel\/women\/wcl000_dresses\/646x1000\/wcl000_0016_a_blue.jpg",
			"fullImageAltDescription": "Image for Luigi Valenti Striped Pencil Dress from Aurora",
			"longDescription": "Shapely one shoulder striped dress designed to give the impression of different types of crossover, be it on the road, in your personal life, or in your profession.",
			"manufacturer": "Luigi Valenti",
			"metaDescription": "One shoulder pencil evening dress with stripes",
			"metaKeyword": " Luigi Valenti",
			"name": "Luigi Valenti Striped Pencil Dress",
			"parentCategoryID": "10006",
			"parentProductID": "10038",
			"partNumber": "AuroraWMDRS-692",
			"productType": "ItemBean",
			"resourceId": "https:\/\/localhost:443\/wcs\/resources\/store\/10001\/productview\/byId\/10706",
			"shortDescription": "One shoulder pencil evening dress with stripes",
			"storeID": "10001",
			"subscriptionType": "NONE",
			"thumbnail": "\/wcsstore\/Aurora\/images\/catalog\/apparel\/women\/wcl000_dresses\/200x310\/wcl000_0016_a_blue.jpg",
			"title": "Luigi Valenti Striped Pencil Dress | Aurora",
			"uniqueID": "10706"
		}
	],
	"MetaData": [
		{
			"metaData": "1",
			"metaKey": "price"
		}
	],
	"recordSetComplete": "true",
	"recordSetCount": "1",
	"recordSetStartNumber": "0",
	"recordSetTotal": "1",
	"resourceId": "https:\/\/localhost:443\/wcs\/resources\/store\/10001\/productview\/AuroraWMDRS-692",
	"resourceName": "productview"
}

GET /store/{storeId}/productview/byCategory/{categoryId}

Gets all products belonging to a category based on the category unique ID.

Handler Method:

findProductsByCategory

Secure Call Mandatory:

false

Partial Authentication Allowed:

true

Parameters:
NameDescriptionParameter TypeData TypeRequiredAllow Multiple
storeIdThe store identifier.pathstringtrueN/A
categoryIdThe category id used to narrow down search results to a cateogry idpathstringtrueN/A
searchTypeSpecify different search configurations example 1000 (INCLUDE products, kits, bundles, category level SKUs)querystringfalsefalse
pageNumberPage number, starting at 1. Valid values include positive integers of 1 and above. The "pageSize" must be specified for paging to work.queryintegerfalsefalse
pageSizePage size. Used to limit the amount of data returned by a query. Valid values include positive integers of 1 and above. The "pageNumber" must be specified for paging to work.queryintegerfalsefalse
orderByChange the order of search results, possible values 1-4querystringfalsefalse
catalogIdThe catalog identifier. If none is specified, the store default catalog shall be used.querystringfalsefalse
HTTP Status Codes:
HTTP Status CodeDescription
200The requested completed successfully.
400Bad request. Some of the inputs provided to the request aren't valid.
401Not authenticated. The user session isn't valid.
403The user isn't authorized to perform the specified request.
404The specified resource couldn't be found.
500Internal server error. Additional details will be contained on the server logs.
Response Data Type:

productview-productSummary

GET /store/{storeId}/productview/byId/{productId}

Gets product details based on the product ID.

Handler Method:

findProductById

Secure Call Mandatory:

false

Partial Authentication Allowed:

true

Parameters:
NameDescriptionParameter TypeData TypeRequiredAllow Multiple
storeIdThe store identifier.pathstringtrueN/A
productIdProduct identifier code to retrieve details about a particular productpathstringtrueN/A
catalogIdThe catalog identifier. If none is specified, the store default catalog shall be used.querystringfalsefalse
HTTP Status Codes:
HTTP Status CodeDescription
200The requested completed successfully.
400Bad request. Some of the inputs provided to the request aren't valid.
401Not authenticated. The user session isn't valid.
403The user isn't authorized to perform the specified request.
500Internal server error. Additional details will be contained on the server logs.
Response Data Type:

productview-productSummary


Example

Request:
GET /wcs/resources/store/10001/productview/byId/13011
HTTP Status Code:

200

Response:
{
	"CatalogEntryView": [
		{
			"Attributes": [
				{
					"ExtendedValue": [
						{
							"extValue": "C62"
						}
					],
					"Values": [
						{
							"extendedValue": [
								{
									"key": "UnitOfMeasure",
									"value": "C62"
								}
							],
							"identifier": "White",
							"uniqueID": "7000000000000002300",
							"values": "White"
						}
					],
					"comparable": "true",
					"dataType": "STRING",
					"description": "Color",
					"displayable": "true",
					"identifier": "TablewareColor",
					"name": "Color",
					"searchable": "false",
					"uniqueID": "7000000000000000129",
					"usage": "Defining"
				}
			],
			"Price": [
				{
					"priceDescription": "I",
					"priceUsage": "Offer",
					"priceValue": "20.00"
				}
			],
			"buyable": "true",
			"disallowRecOrder": "true",
			"fullImage": "\/wcsstore\/Aurora\/images\/catalog\/homefurnishings\/hta029_tableware\/646x1000\/hta029_2920.jpg",
			"fullImageAltDescription": "Image for KitchenComfort Mugs from Aurora",
			"longDescription": "High grade porcelain mug. Specifically designed in this shape to give a better grip to the mug. Great for use in office, or to give as a gift to a friend with a personal note. Dishwasher and microwave safe.",
			"manufacturer": "KitchenComfort",
			"metaDescription": "Plain porcelain mug.",
			"metaKeyword": " KitchenComfort",
			"name": "KitchenComfort Mugs",
			"parentCategoryID": "10046",
			"parentProductID": "13010",
			"partNumber": "HTA029_292001",
			"productType": "ItemBean",
			"resourceId": "http:\/\/localhost:8007\/wcs\/previewresources\/store\/10001\/productview\/byId\/13011",
			"shortDescription": "Plain porcelain mug.",
			"storeID": "10001",
			"subscriptionType": "NONE",
			"thumbnail": "\/wcsstore\/Aurora\/images\/catalog\/homefurnishings\/hta029_tableware\/200x310\/hta029_2920.jpg",
			"title": "KitchenComfort Mugs | Aurora",
			"uniqueID": "13011"
		}
	],
	"MetaData": [
		{
			"metaData": "1",
			"metaKey": "price"
		}
	],
	"recordSetComplete": "true",
	"recordSetCount": "1",
	"recordSetStartNumber": "0",
	"recordSetTotal": "1",
	"resourceId": "http:\/\/localhost:8007\/wcs\/previewresources\/store\/10001\/productview\/byId\/13011",
	"resourceName": "productview"
}

GET /store/{storeId}/productview/byIds

Gets product details based on the product ID.

Handler Method:

findProductsByIds

Secure Call Mandatory:

false

Partial Authentication Allowed:

true

Parameters:
NameDescriptionParameter TypeData TypeRequiredAllow Multiple
storeIdThe store identifier.pathstringtrueN/A
idProduct identifier code to retrieve details about a particular productquerystringtruetrue
associationTypeThe type of the merchandising association to be returned.querystringfalsetrue
catalogIdThe catalog identifier. If none is specified, the store default catalog shall be used.querystringfalsefalse
HTTP Status Codes:
HTTP Status CodeDescription
200The requested completed successfully.
400Bad request. Some of the inputs provided to the request aren't valid.
401Not authenticated. The user session isn't valid.
403The user isn't authorized to perform the specified request.
500Internal server error. Additional details will be contained on the server logs.
Response Data Type:

productview-productSummary

GET /store/{storeId}/productview/bySearchTerm/{searchTerm}

Gets matching products for a given search term. It supports specifying conditions to filter the search results.

Handler Method:

findProductsBySearchTerm

Secure Call Mandatory:

false

Partial Authentication Allowed:

true

Parameters:
NameDescriptionParameter TypeData TypeRequiredAllow Multiple
storeIdThe store identifier.pathstringtrueN/A
searchTermThe term you are searching forpathstringtrueN/A
pageNumberPage number, starting at 1. Valid values include positive integers of 1 and above. The "pageSize" must be specified for paging to work.queryintegerfalsefalse
pageSizePage size. Used to limit the amount of data returned by a query. Valid values include positive integers of 1 and above. The "pageNumber" must be specified for paging to work.queryintegerfalsefalse
intentSearchTermThe term to be used for search after a spell correction will be logged in search statistics as a suggestionquerystringfalsefalse
originalSearchTermThe term which was miss spelled will be used in search statistics to track search missesquerystringfalsefalse
categoryIdThe category id used to narrow down search results to a cateogry idquerystringfalsefalse
searchTypeSpecify different search configurations example 1000 (INCLUDE products, kits, bundles, category level SKUs)querystringfalsefalse
filterTermTerm used to filter out search resultsquerystringfalsefalse
filterTypeThe type of filter to usequerystringfalsefalse
manufacturerSpecific brand to narrow down score of searchquerystringfalsefalse
minPriceSet the minimum price range for a search. Price values are non-formatted numeric strings containing two decimal placesquerystringfalsefalse
maxPriceSet the maximum price range for a search. Price values are non-formatted numeric strings containing two decimal placesquerystringfalsefalse
facetSpecify facets which have been selectedquerystringfalsetrue
advancedFacetListSpecify advanced facets which have been selectedquerystringfalsefalse
filterFacetNarrow down scope of search results by excluding facet filtersquerystringfalsefalse
orderByChange the order of search results, possible values 1-4querystringfalsefalse
metaDataSpecify metadata to be used in search resultquerystringfalsefalse
searchSourceSpecify the origin of the search request (ie 'A' to indicate search is coming from advanced search)querystringfalsefalse
catalogIdThe catalog identifier. If none is specified, the store default catalog shall be used.querystringfalsefalse
HTTP Status Codes:
HTTP Status CodeDescription
200The requested completed successfully.
400Bad request. Some of the inputs provided to the request aren't valid.
401Not authenticated. The user session isn't valid.
403The user isn't authorized to perform the specified request.
500Internal server error. Additional details will be contained on the server logs.
Response Data Type:

productview-productSummary

Data Type Details

com.ibm.commerce.foundation.common.datatypes.MonetaryAmountType

Properties:
NameData TypeRequired
valuestringfalse
currencystringfalse

productview-productSummary

Properties:
NameData TypeRequired
indexStatusstringfalse
userDataFieldproductview-productSummary.userDataField arrayfalse
SuggestionViewproductview-productSummary.SuggestionView arrayfalse
WebContentViewproductview-productSummary.WebContentView arrayfalse
recordSetCompletestringfalse
MetaDataproductview-productSummary.MetaData arrayfalse
finalQuerystringfalse
recordSetTotalstringfalse
BreadCrumbTrailEntryViewproductview-productSummary.BreadCrumbTrailEntryView arrayfalse
reportstring arrayfalse
recordSetStartNumberstringfalse
FacetViewproductview-productSummary.FacetView arrayfalse
recordSetCountstringfalse
CatalogEntryViewproductview-productSummary.CatalogEntryView arrayfalse

productview-productSummary.BreadCrumbTrailEntryView

Properties:
NameData TypeRequired
valuestringfalse
labelstringfalse
typestringfalse

productview-productSummary.CatalogEntryView

Properties:
NameData TypeRequired
longDescriptionstringfalse
buyablestringfalse
shortDescriptionstringfalse
parentCategoryIDstringfalse
metaKeywordstringfalse
Priceproductview-productSummary.CatalogEntryView.Price arrayfalse
productTypestringfalse
keywordstringfalse
namestringfalse
fullImagestringfalse
thumbnailstringfalse
uniqueIDstringfalse
metaDescriptionstringfalse
titlestringfalse
storeIDstringfalse
partNumberstringtrue
fullImageAltDescriptionstringfalse

productview-productSummary.CatalogEntryView.Price

Properties:
NameData TypeRequired
priceDescriptionstringfalse
PriceRangeproductview-productSummary.CatalogEntryView.Price.PriceRange arrayfalse
maxPricestringfalse
userDataFieldproductview-productSummary.CatalogEntryView.Price.userDataField arrayfalse
minPricestringfalse
priceUsagestringfalse
priceValuestringfalse
isLowestContractPricestringfalse
contractIdstringfalse

productview-productSummary.CatalogEntryView.Price.PriceRange

Properties:
NameData TypeRequired
priceRangecom.ibm.commerce.foundation.common.datatypes.MonetaryAmountTypetrue

productview-productSummary.CatalogEntryView.Price.userDataField

Properties:
NameData TypeRequired
valuestringfalse
keystringtrue

productview-productSummary.FacetView

Properties:
NameData TypeRequired
valuestringfalse
Entryproductview-productSummary.FacetView.Entry arrayfalse
namestringfalse

productview-productSummary.FacetView.Entry

Properties:
NameData TypeRequired
labelstringfalse
imagestringfalse
countstringfalse
entryValuestringfalse

productview-productSummary.MetaData

Properties:
NameData TypeRequired
metaKeystringtrue
metaDatastringfalse

productview-productSummary.SuggestionView

Properties:
NameData TypeRequired
Entryproductview-productSummary.SuggestionView.Entry arrayfalse
labelstringfalse
identifierstringfalse

productview-productSummary.SuggestionView.Entry

Properties:
NameData TypeRequired
valuestringfalse
userDataFieldproductview-productSummary.SuggestionView.Entry.userDataField arrayfalse
imagestringfalse
namestringfalse

productview-productSummary.SuggestionView.Entry.userDataField

Properties:
NameData TypeRequired
valuestringfalse
keystringtrue

productview-productSummary.userDataField

Properties:
NameData TypeRequired
valuestringfalse
keystringtrue

productview-productSummary.WebContentView

Properties:
NameData TypeRequired
userDataFieldproductview-productSummary.WebContentView.userDataField arrayfalse
namestringfalse
uniqueIDstringfalse
URLstringtrue
MetaDataproductview-productSummary.WebContentView.MetaData arrayfalse

productview-productSummary.WebContentView.MetaData

Properties:
NameData TypeRequired
metaKeystringtrue
metaDatastringfalse

productview-productSummary.WebContentView.userDataField

Properties:
NameData TypeRequired
valuestringfalse
keystringtrue