ProductSearch Resource (Shop API 17.6)
Summary
Http Method | Resource | Description |
---|---|---|
GET | /Product_search | Provides keyword and refinement search functionality for products. Only returns the product id, link and name in the product search hit. Other search hit properties can be added by using the expand parameter. The search result contains only products that are online and assigned to site catalog. |
GET | /Product_search/Availability | Provides keyword and refinement search functionality for products. Only returns the product id, link, name and availability information in the product search hit. |
GET | /Product_search/Images | Provides keyword and refinement search functionality for products. Only returns the product id, link, name and image information in the product search hit. |
GET | /Product_search/Prices | Provides keyword and refinement search functionality for products. Only returns the product id, link, name and price information in the product search hit. |
GET | /Product_search/Variations | Provides keyword and refinement search functionality for products. Only returns the product id, name and variation information in the product search hit. |
Search Products
Provides keyword and refinement search functionality for products. Only returns the product id, link and name in the product search hit. Other search hit properties can be added by using the expand parameter. The search result contains only products that are online and assigned to site catalog.Url
GET http://hostname:port/dw/shop/v17_6/product_search?q={String}&refine={String}&sort={String}&start={Integer}&count={Integer}&expand={String}¤cy={String}&locale={String}
Formats
json, xml
Authentication
Name | Description |
---|---|
JWT | Authentication via Customer JWT token. |
None | No authentication. |
Response Document
Query Parameters
Parameter | Type | Description | Constraints |
---|---|---|---|
count | Integer | The maximum number of instances per request. Default value is 25. | maxIntegerValue=200, minIntegerValue=1 |
currency | String | The currency mnemonic specified for price. This parameter is effective only if specified expand parameter value contains prices. | |
expand | String | The expand parameter. A comma separated list with the allowed values (availability, images, prices, variations) | |
locale | String | The locale context. | |
q | String | The query phrase to search for. | maxLength=50 |
refine | String | Parameter that represents a refinement attribute/value(s)
pair. Refinement attribute id and value(s) are separated by '='.
Multiple values are supported by a sub-set of refinement
attributes and can be provided by separating them using a pipe
(URL encoded = "|"). Value ranges can be specified like this:
refine=price=(100..500) Multiple refine parameters can be
provided by adding an underscore in combination with an integer
counter right behind the parameter name and a counter range
1..9. I.e. refine_1=c_refinementColor=red|green|blue. The
following system refinement attribute ids are supported:
|
|
sort | String | The id of the sorting option to sort the search hits. | |
start | Integer | The result set index to return the first instance for. Default value is 0. | minIntegerValue=0 |
In case of a failure Fault Document is returned.
Faults
Status | Type | Arguments | Description |
---|---|---|---|
400 |
InvalidExpandParameterException
|
param (String) |
Thrown in case a specified expand parameter value is unknown. |
400 |
MalformedPriceRefinementException
|
malformedPrice (String) |
Thrown if a price refinement parameter is malformed. |
Customization
This Resource supports server-side customization.
Extension Point | Method Detail |
---|---|
dw.ocapi.shop.product_search.beforeGET
|
beforeGET () : Status The function is called before the request will be processed.
|
dw.ocapi.shop.product_search.modifyGETResponse
|
modifyGETResponse (doc : ProductSearchResult ) : Status The function is called after the request has been processed.
|
Sample
REQUEST:
GET /dw/shop/v17_6/product_search?q=shoes&refine_1=cgid=womens&refine_2=c_refinementColor=Black&refine_3=price=(0..500)&sort=top-sellers&count=5 HTTP/1.1
Host: example.com
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8
{
"_v": "17.6",
"count": 4,
"hits": [
{
"link": "http://example.com/dw/shop/v17_6/products/25772717",
"product_id": "25772717",
"product_name": "Zerrick",
"product_type": {
"master": true
}
},
{
"link": "http://example.com/dw/shop/v17_6/products/25791388",
"product_id": "25791388",
"product_name": "Zacco",
"product_type": {
"master": true
}
},
{
"link": "http://example.com/dw/shop/v17_6/products/25772792",
"product_id": "25772792",
"product_name": "Aylin",
"product_type": {
"master": true
}
},
{
"link": "http://example.com/dw/shop/v17_6/products/25772707",
"product_id": "25772707",
"product_name": "Bozwell",
"product_type": {
"master": true
}
}
],
"query": "shoes",
"refinements": [
{
"attribute_id": "cgid",
"label": "Category",
"values": [
{
"hit_count": 1,
"label": "New Arrivals",
"value": "newarrivals"
},
{
"hit_count": 4,
"label": "Womens",
"value": "womens",
"values": [
{
"hit_count": 4,
"label": "Accessories",
"value": "womens-accessories",
"values": [
{
"hit_count": 4,
"label": "Shoes",
"value": "womens-accessories-shoes"
}
]
}
]
}
]
},
{
"attribute_id": "c_refinementColor",
"label": "Color",
"values": [
{
"hit_count": 1,
"label": "Beige",
"presentation_id": "beige",
"value": "Beige"
},
{
"hit_count": 4,
"label": "Black",
"presentation_id": "black",
"value": "Black"
},
{
"hit_count": 0,
"label": "Blue",
"presentation_id": "blue",
"value": "Blue"
},
{
"hit_count": 0,
"label": "Navy",
"presentation_id": "navy",
"value": "Navy"
},
{
"hit_count": 1,
"label": "Brown",
"presentation_id": "brown",
"value": "Brown"
},
{
"hit_count": 0,
"label": "Green",
"presentation_id": "green",
"value": "Green"
},
{
"hit_count": 1,
"label": "Grey",
"presentation_id": "grey",
"value": "Grey"
},
{
"hit_count": 0,
"label": "Orange",
"presentation_id": "orange",
"value": "Orange"
},
{
"hit_count": 1,
"label": "Pink",
"presentation_id": "pink",
"value": "Pink"
},
{
"hit_count": 0,
"label": "Purple",
"presentation_id": "purple",
"value": "Purple"
},
{
"hit_count": 0,
"label": "Red",
"presentation_id": "red",
"value": "Red"
},
{
"hit_count": 1,
"label": "White",
"presentation_id": "white",
"value": "White"
},
{
"hit_count": 0,
"label": "Yellow",
"presentation_id": "yellow",
"value": "Yellow"
},
{
"hit_count": 0,
"label": "Miscellaneous",
"presentation_id": "miscellaneous",
"value": "Miscellaneous"
}
]
},
{
"attribute_id": "c_isNew",
"label": "New Arrival"
},
{
"attribute_id": "c_size",
"label": "Size",
"values": [
{
"hit_count": 0,
"label": "OS",
"value": "OS"
},
{
"hit_count": 4,
"label": "6",
"value": "6"
},
{
"hit_count": 4,
"label": "6.5",
"value": "6.5"
},
{
"hit_count": 4,
"label": "7",
"value": "7"
},
{
"hit_count": 4,
"label": "7.5",
"value": "7.5"
},
{
"hit_count": 4,
"label": "8",
"value": "8"
},
{
"hit_count": 3,
"label": "8.5",
"value": "8.5"
},
{
"hit_count": 3,
"label": "9",
"value": "9"
},
{
"hit_count": 4,
"label": "9.5",
"value": "9.5"
},
{
"hit_count": 3,
"label": "10",
"value": "10"
},
{
"hit_count": 1,
"label": "11",
"value": "11"
}
]
},
{
"attribute_id": "price",
"label": "Price",
"values": [
{
"hit_count": 4,
"label": "$50 - $17.69",
"value": "(50..100)"
}
]
}
],
"search_phrase_suggestions": {
"suggested_phrases": [
{
"exact_match": true,
"phrase": "shoes"
}
],
"suggested_terms": [
{
"original_term": "shoes",
"terms": [
{
"completed": false,
"corrected": false,
"exact_match": true,
"value": "shoes"
}
]
}
]
},
"selected_refinements": {
"cgid": "womens",
"c_refinementColor": "Black",
"price": "(0..500)"
},
"selected_sorting_option": "top-sellers",
"sorting_options": [
{
"id": "best-matches",
"label": "Best Matches"
},
{
"id": "price-low-to-high",
"label": "Price Low To High"
},
{
"id": "price-high-to-low",
"label": "Price High to Low"
},
{
"id": "product-name-ascending",
"label": "Product Name A - Z"
},
{
"id": "product-name-descending",
"label": "Product Name Z - A"
},
{
"id": "brand",
"label": "Brand"
},
{
"id": "most-popular",
"label": "Most Popular"
},
{
"id": "top-sellers",
"label": "Top Sellers"
}
],
"start": 0,
"total": 4
}
Search Products - Availability
Provides keyword and refinement search functionality for products. Only returns the product id, link, name and availability information in the product search hit.Url
GET http://hostname:port/dw/shop/v17_6/product_search/availability?q={String}&refine={String}&sort={String}&start={Integer}&count={Integer}&locale={String}
Formats
json, xml
Authentication
Name | Description |
---|---|
JWT | Authentication via Customer JWT token. |
None | No authentication. |
Response Document
Query Parameters
Parameter | Type | Description | Constraints |
---|---|---|---|
count | Integer | The maximum number of instances per request. Default value is 25. | maxIntegerValue=200, minIntegerValue=1 |
locale | String | The locale context. | |
q | String | The query phrase to search for. | maxLength=50 |
refine | String | Parameter that represents a refinement attribute/value(s)
pair. Refinement attribute id and value(s) are separated by '='.
Multiple values are supported by a sub-set of refinement
attributes and can be provided by separating them using a pipe
(URL encoded = "|"). Value ranges can be specified like this:
refine=price=(100..500) Multiple refine parameters can be
provided by adding an underscore in combination with an integer
counter right behind the parameter name and a counter range
1..9. I.e. refine_1=c_refinementColor=red|green|blue. The
following system refinement attribute ids are supported:
|
|
sort | String | The id of the sorting option to sort the search hits. | |
start | Integer | The result set index to return the first instance for. Default value is 0. | minIntegerValue=0 |
In case of a failure Fault Document is returned.
Faults
Status | Type | Arguments | Description |
---|---|---|---|
400 |
MalformedPriceRefinementException
|
malformedPrice (String) |
Thrown if a price refinement parameter is malformed. |
Customization
This Resource supports server-side customization.
Extension Point | Method Detail |
---|---|
dw.ocapi.shop.product_search.beforeGET
|
beforeGET () : Status The function is called before the request will be processed.
|
dw.ocapi.shop.product_search.modifyGETResponse
|
modifyGETResponse (doc : ProductSearchResult ) : Status The function is called after the request has been processed.
|
Sample
REQUEST:
GET /dw/shop/v17_6/product_search/availability?q=shoes&refine_1=cgid=womens&refine_2=c_refinementColor=Black&refine_3=price=(0..500)&sort=top-sellers&count=5 HTTP/1.1
Host: example.com
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=60,must-revalidate
Content-Length: 2426
{
"_v" : "17.6",
"_type":"product_search_result",
"count" : 4,
"hits" : [ {
"link" : "http://example.com/dw/shop/v17_6/products/25791388?pretty_print=true",
"product_id" : "25791388",
"product_name" : "Zacco",
"orderable" : true
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772717?pretty_print=true",
"product_id" : "25772717",
"product_name" : "Zerrick",
"orderable" : true
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772792?pretty_print=true",
"product_id" : "25772792",
"product_name" : "Aylin",
"orderable" : true
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772707?pretty_print=true",
"product_id" : "25772707",
"product_name" : "Bozwell",
"orderable" : true
} ],
"query" : "shoes",
"refinements" : [ {
"attribute_id" : "cgid",
"label" : "Category",
"values" : [ {
"hit_count" : 0,
"label" : "Mens",
"value" : "mens"
}, {
"hit_count" : 0,
"label" : "Electronics",
"value" : "electronics"
}, {
"hit_count" : 0,
"label" : "Gift Certificates",
"value" : "gift-certificates"
}, {
"hit_count" : 0,
"label" : "Sale",
"value" : "top-seller"
}, {
"hit_count" : 1,
"label" : "New Arrivals",
"value" : "newarrivals"
}, {
"hit_count" : 4,
"label" : "Womens",
"value" : "womens",
"values" : [ {
"hit_count" : 0,
"label" : "Jewelry",
"value" : "womens-jewelry"
}, {
"hit_count" : 4,
"label" : "Accessories",
"value" : "womens-accessories",
"values" : [ {
"hit_count" : 0,
"label" : "Scarves",
"value" : "womens-accessories-scarves"
}, {
"hit_count" : 4,
"label" : "Shoes",
"value" : "womens-accessories-shoes",
"values" : [ ]
} ]
}, {
"hit_count" : 0,
"label" : "Clothing",
"value" : "womens-clothing"
} ]
} ]
}, {
"attribute_id" : "c_refinementColor",
"label" : "Color",
"values" : [ {
"hit_count" : 1,
"label" : "Beige",
"presentation_id" : "beige",
"value" : "Beige"
}, {
"hit_count" : 4,
"label" : "Black",
"presentation_id" : "black",
"value" : "Black"
}, {
"hit_count" : 0,
"label" : "Blue",
"presentation_id" : "blue",
"value" : "Blue"
}, {
"hit_count" : 0,
"label" : "Navy",
"presentation_id" : "navy",
"value" : "Navy"
}, {
"hit_count" : 1,
"label" : "Brown",
"presentation_id" : "brown",
"value" : "Brown"
}, {
"hit_count" : 0,
"label" : "Green",
"presentation_id" : "green",
"value" : "Green"
}, {
"hit_count" : 1,
"label" : "Grey",
"presentation_id" : "grey",
"value" : "Grey"
}, {
"hit_count" : 0,
"label" : "Orange",
"presentation_id" : "orange",
"value" : "Orange"
}, {
"hit_count" : 1,
"label" : "Pink",
"presentation_id" : "pink",
"value" : "Pink"
}, {
"hit_count" : 0,
"label" : "Purple",
"presentation_id" : "purple",
"value" : "Purple"
}, {
"hit_count" : 0,
"label" : "Red",
"presentation_id" : "red",
"value" : "Red"
}, {
"hit_count" : 1,
"label" : "White",
"presentation_id" : "white",
"value" : "White"
}, {
"hit_count" : 0,
"label" : "Yellow",
"presentation_id" : "yellow",
"value" : "Yellow"
}, {
"hit_count" : 0,
"label" : "Miscellaneous",
"presentation_id" : "miscellaneous",
"value" : "Miscellaneous"
} ]
}, {
"attribute_id" : "c_isNew",
"label" : "New Arrival",
"values" : [ ]
}, {
"attribute_id" : "c_size",
"label" : "Size",
"values" : [ {
"hit_count" : 0,
"label" : "OS",
"value" : "OS"
}, {
"hit_count" : 4,
"label" : "6",
"value" : "6"
}, {
"hit_count" : 4,
"label" : "6.5",
"value" : "6.5"
}, {
"hit_count" : 4,
"label" : "7",
"value" : "7"
}, {
"hit_count" : 4,
"label" : "7.5",
"value" : "7.5"
}, {
"hit_count" : 4,
"label" : "8",
"value" : "8"
}, {
"hit_count" : 3,
"label" : "8.5",
"value" : "8.5"
}, {
"hit_count" : 3,
"label" : "9",
"value" : "9"
}, {
"hit_count" : 4,
"label" : "9.5",
"value" : "9.5"
}, {
"hit_count" : 3,
"label" : "10",
"value" : "10"
}, {
"hit_count" : 1,
"label" : "11",
"value" : "11"
} ]
}, {
"attribute_id" : "price",
"label" : "Price",
"values" : [ {
"hit_count" : 4,
"label" : "$50 - $14.69",
"value" : "(50..100)"
} ]
} ],
"selected_refinements" : {
"price" : "(0..500)",
"c_refinementColor" : "Black",
"cgid" : "womens"
},
"selected_sorting_option" : "top-sellers",
"sorting_options" : [ {
"id" : "best-matches",
"label" : "Best Matches"
}, {
"id" : "price-low-to-high",
"label" : "Price Low To High"
}, {
"id" : "price-high-to-low",
"label" : "Price High To Low"
}, {
"id" : "product-name-ascending",
"label" : "Product Name A - Z"
}, {
"id" : "product-name-descending",
"label" : "Product Name Z - A"
}, {
"id" : "brand",
"label" : "Brand"
}, {
"id" : "most-popular",
"label" : "Most Popular"
}, {
"id" : "top-sellers",
"label" : "Top Sellers"
} ],
"start" : 0,
"total" : 4
}
Search Products - Images
Provides keyword and refinement search functionality for products. Only returns the product id, link, name and image information in the product search hit.Url
GET http://hostname:port/dw/shop/v17_6/product_search/images?q={String}&refine={String}&sort={String}&start={Integer}&count={Integer}&locale={String}
Formats
json, xml
Authentication
Name | Description |
---|---|
JWT | Authentication via Customer JWT token. |
None | No authentication. |
Response Document
Query Parameters
Parameter | Type | Description | Constraints |
---|---|---|---|
count | Integer | The maximum number of instances per request. Default value is 25. | maxIntegerValue=200, minIntegerValue=1 |
locale | String | The locale context. | |
q | String | The query phrase to search for. | maxLength=50 |
refine | String | Parameter that represents a refinement attribute/value(s)
pair. Refinement attribute id and value(s) are separated by '='.
Multiple values are supported by a sub-set of refinement
attributes and can be provided by separating them using a pipe
(URL encoded = "|"). Value ranges can be specified like this:
refine=price=(100..500) Multiple refine parameters can be
provided by adding an underscore in combination with an integer
counter right behind the parameter name and a counter range
1..9. I.e. refine_1=c_refinementColor=red|green|blue. The
following system refinement attribute ids are supported:
|
|
sort | String | The id of the sorting option to sort the search hits. | |
start | Integer | The result set index to return the first instance for. Default value is 0. | minIntegerValue=0 |
In case of a failure Fault Document is returned.
Faults
Status | Type | Arguments | Description |
---|---|---|---|
400 |
MalformedPriceRefinementException
|
malformedPrice (String) |
Thrown if a price refinement parameter is malformed. |
Customization
This Resource supports server-side customization.
Extension Point | Method Detail |
---|---|
dw.ocapi.shop.product_search.beforeGET
|
beforeGET () : Status The function is called before the request will be processed.
|
dw.ocapi.shop.product_search.modifyGETResponse
|
modifyGETResponse (doc : ProductSearchResult ) : Status The function is called after the request has been processed.
|
Sample
REQUEST:
GET /dw/shop/v17_6/product_search/images?q=shoes&refine_1=cgid=womens&refine_2=c_refinementColor=Black&refine_3=price=(0..500)&sort=top-sellers&count=5 HTTP/1.1
Host: example.com
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=60,must-revalidate
Content-Length: 2426
{
"_v" : "17.6",
"_type":"product_search_result",
"count" : 4,
"hits" : [ {
"image" : {
"alt" : "Zacco, , black",
"link" : "http://example.com/on/demandware.static/Sites-SiteGenesis-Site/Sites-apparel-catalog/default/v17.6659726735/images/black/Zacco.jpg",
"title" : "Zacco, "
},
"link" : "http://example.com/dw/shop/v17.6/products/25791388?pretty_print=true",
"product_id" : "25791388",
"product_name" : "Zacco"
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772717?pretty_print=true",
"product_id" : "25772717",
"product_name" : "Zerrick"
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772792?pretty_print=true",
"product_id" : "25772792",
"product_name" : "Aylin"
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772707?pretty_print=true",
"product_id" : "25772707",
"product_name" : "Bozwell"
} ],
"query" : "shoes",
"refinements" : [ {
"attribute_id" : "cgid",
"label" : "Category",
"values" : [ {
"hit_count" : 0,
"label" : "Mens",
"value" : "mens"
}, {
"hit_count" : 0,
"label" : "Electronics",
"value" : "electronics"
}, {
"hit_count" : 0,
"label" : "Gift Certificates",
"value" : "gift-certificates"
}, {
"hit_count" : 0,
"label" : "Sale",
"value" : "top-seller"
}, {
"hit_count" : 1,
"label" : "New Arrivals",
"value" : "newarrivals"
}, {
"hit_count" : 4,
"label" : "Womens",
"value" : "womens",
"values" : [ {
"hit_count" : 0,
"label" : "Jewelry",
"value" : "womens-jewelry"
}, {
"hit_count" : 4,
"label" : "Accessories",
"value" : "womens-accessories",
"values" : [ {
"hit_count" : 0,
"label" : "Scarves",
"value" : "womens-accessories-scarves"
}, {
"hit_count" : 4,
"label" : "Shoes",
"value" : "womens-accessories-shoes",
"values" : [ ]
} ]
}, {
"hit_count" : 0,
"label" : "Clothing",
"value" : "womens-clothing"
} ]
} ]
}, {
"attribute_id" : "c_refinementColor",
"label" : "Color",
"values" : [ {
"hit_count" : 1,
"label" : "Beige",
"presentation_id" : "beige",
"value" : "Beige"
}, {
"hit_count" : 4,
"label" : "Black",
"presentation_id" : "black",
"value" : "Black"
}, {
"hit_count" : 0,
"label" : "Blue",
"presentation_id" : "blue",
"value" : "Blue"
}, {
"hit_count" : 0,
"label" : "Navy",
"presentation_id" : "navy",
"value" : "Navy"
}, {
"hit_count" : 1,
"label" : "Brown",
"presentation_id" : "brown",
"value" : "Brown"
}, {
"hit_count" : 0,
"label" : "Green",
"presentation_id" : "green",
"value" : "Green"
}, {
"hit_count" : 1,
"label" : "Grey",
"presentation_id" : "grey",
"value" : "Grey"
}, {
"hit_count" : 0,
"label" : "Orange",
"presentation_id" : "orange",
"value" : "Orange"
}, {
"hit_count" : 1,
"label" : "Pink",
"presentation_id" : "pink",
"value" : "Pink"
}, {
"hit_count" : 0,
"label" : "Purple",
"presentation_id" : "purple",
"value" : "Purple"
}, {
"hit_count" : 0,
"label" : "Red",
"presentation_id" : "red",
"value" : "Red"
}, {
"hit_count" : 1,
"label" : "White",
"presentation_id" : "white",
"value" : "White"
}, {
"hit_count" : 0,
"label" : "Yellow",
"presentation_id" : "yellow",
"value" : "Yellow"
}, {
"hit_count" : 0,
"label" : "Miscellaneous",
"presentation_id" : "miscellaneous",
"value" : "Miscellaneous"
} ]
}, {
"attribute_id" : "c_isNew",
"label" : "New Arrival",
"values" : [ ]
}, {
"attribute_id" : "c_size",
"label" : "Size",
"values" : [ {
"hit_count" : 0,
"label" : "OS",
"value" : "OS"
}, {
"hit_count" : 4,
"label" : "6",
"value" : "6"
}, {
"hit_count" : 4,
"label" : "6.5",
"value" : "6.5"
}, {
"hit_count" : 4,
"label" : "7",
"value" : "7"
}, {
"hit_count" : 4,
"label" : "7.5",
"value" : "7.5"
}, {
"hit_count" : 4,
"label" : "8",
"value" : "8"
}, {
"hit_count" : 3,
"label" : "8.5",
"value" : "8.5"
}, {
"hit_count" : 3,
"label" : "9",
"value" : "9"
}, {
"hit_count" : 4,
"label" : "9.5",
"value" : "9.5"
}, {
"hit_count" : 3,
"label" : "10",
"value" : "10"
}, {
"hit_count" : 1,
"label" : "11",
"value" : "11"
} ]
}, {
"attribute_id" : "price",
"label" : "Price",
"values" : [ {
"hit_count" : 4,
"label" : "$50 - $14.69",
"value" : "(50..100)"
} ]
} ],
"selected_refinements" : {
"price" : "(0..500)",
"c_refinementColor" : "Black",
"cgid" : "womens"
},
"selected_sorting_option" : "top-sellers",
"sorting_options" : [ {
"id" : "best-matches",
"label" : "Best Matches"
}, {
"id" : "price-low-to-high",
"label" : "Price Low To High"
}, {
"id" : "price-high-to-low",
"label" : "Price High To Low"
}, {
"id" : "product-name-ascending",
"label" : "Product Name A - Z"
}, {
"id" : "product-name-descending",
"label" : "Product Name Z - A"
}, {
"id" : "brand",
"label" : "Brand"
}, {
"id" : "most-popular",
"label" : "Most Popular"
}, {
"id" : "top-sellers",
"label" : "Top Sellers"
} ],
"start" : 0,
"total" : 4
}
Search Products - Prices
Provides keyword and refinement search functionality for products. Only returns the product id, link, name and price information in the product search hit.Url
GET http://hostname:port/dw/shop/v17_6/product_search/prices?q={String}&refine={String}&sort={String}&start={Integer}&count={Integer}¤cy={String}&locale={String}
Formats
json, xml
Authentication
Name | Description |
---|---|
JWT | Authentication via Customer JWT token. |
None | No authentication. |
Response Document
Query Parameters
Parameter | Type | Description | Constraints |
---|---|---|---|
count | Integer | The maximum number of instances per request. Default value is 25. | maxIntegerValue=200, minIntegerValue=1 |
currency | String | The currency mnemonic specified for price. | |
locale | String | The locale context. | |
q | String | The query phrase to search for. | maxLength=50 |
refine | String | Parameter that represents a refinement attribute/value(s)
pair. Refinement attribute id and value(s) are separated by '='.
Multiple values are supported by a sub-set of refinement
attributes and can be provided by separating them using a pipe
(URL encoded = "|"). Value ranges can be specified like this:
refine=price=(100..500) Multiple refine parameters can be
provided by adding an underscore in combination with an integer
counter right behind the parameter name and a counter range
1..9. I.e. refine_1=c_refinementColor=red|green|blue. The
following system refinement attribute ids are supported:
|
|
sort | String | The id of the sorting option to sort the search hits. | |
start | Integer | The result set index to return the first instance for. Default value is 0. | minIntegerValue=0 |
In case of a failure Fault Document is returned.
Faults
Status | Type | Arguments | Description |
---|---|---|---|
400 |
MalformedPriceRefinementException
|
malformedPrice (String) |
Thrown if a price refinement parameter is malformed. |
Customization
This Resource supports server-side customization.
Extension Point | Method Detail |
---|---|
dw.ocapi.shop.product_search.beforeGET
|
beforeGET () : Status The function is called before the request will be processed.
|
dw.ocapi.shop.product_search.modifyGETResponse
|
modifyGETResponse (doc : ProductSearchResult ) : Status The function is called after the request has been processed.
|
Sample
REQUEST:
GET /dw/shop/v17_6/product_search/prices?q=shoes&refine_1=cgid=womens&refine_2=c_refinementColor=Black&refine_3=price=(0..500)&sort=top-sellers&count=5 HTTP/1.1
Host: example.com
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=300,must-revalidate
Content-Length: 2516
{
"_v" : "17.6",
"_type":"product_search_result",
"count" : 4,
"hits" : [ {
"link" : "http://example.com/dw/shop/v17_6/products/25791388?pretty_print=true",
"product_id" : "25791388",
"product_name" : "Zacco",
"currency" : "USD",
"price" : 99.00,
"prices" : {
"USListPriceBook": 110.00,
"USSalesPriceBook": 99.00
}
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772717?pretty_print=true",
"product_id" : "25772717",
"product_name" : "Zerrick",
"currency" : "USD",
"price" : 99.00,
"prices" : {
"USListPriceBook": 120.00,
"USSalesPriceBook": 99.00
}
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772792?pretty_print=true",
"product_id" : "25772792",
"product_name" : "Aylin",
"currency" : "USD",
"price" : 79.00,
"prices" : {
"USListPriceBook": 89.00,
"USSalesPriceBook": 79.00
}
}, {
"link" : "http://example.com/dw/shop/v17_6/products/25772707?pretty_print=true",
"product_id" : "25772707",
"product_name" : "Bozwell",
"currency" : "USD",
"price" : 89.00,
"prices" : {
"USListPriceBook": 99.00,
"USSalesPriceBook": 89.00
}
} ],
"query" : "shoes",
"refinements" : [ {
"attribute_id" : "cgid",
"label" : "Category",
"values" : [ {
"hit_count" : 0,
"label" : "Mens",
"value" : "mens"
}, {
"hit_count" : 0,
"label" : "Electronics",
"value" : "electronics"
}, {
"hit_count" : 0,
"label" : "Gift Certificates",
"value" : "gift-certificates"
}, {
"hit_count" : 0,
"label" : "Sale",
"value" : "top-seller"
}, {
"hit_count" : 1,
"label" : "New Arrivals",
"value" : "newarrivals"
}, {
"hit_count" : 4,
"label" : "Womens",
"value" : "womens",
"values" : [ {
"hit_count" : 0,
"label" : "Jewelry",
"value" : "womens-jewelry"
}, {
"hit_count" : 4,
"label" : "Accessories",
"value" : "womens-accessories",
"values" : [ {
"hit_count" : 0,
"label" : "Scarves",
"value" : "womens-accessories-scarves"
}, {
"hit_count" : 4,
"label" : "Shoes",
"value" : "womens-accessories-shoes",
"values" : [ ]
} ]
}, {
"hit_count" : 0,
"label" : "Clothing",
"value" : "womens-clothing"
} ]
} ]
}, {
"attribute_id" : "c_refinementColor",
"label" : "Color",
"values" : [ {
"hit_count" : 1,
"label" : "Beige",
"presentation_id" : "beige",
"value" : "Beige"
}, {
"hit_count" : 4,
"label" : "Black",
"presentation_id" : "black",
"value" : "Black"
}, {
"hit_count" : 0,
"label" : "Blue",
"presentation_id" : "blue",
"value" : "Blue"
}, {
"hit_count" : 0,
"label" : "Navy",
"presentation_id" : "navy",
"value" : "Navy"
}, {
"hit_count" : 1,
"label" : "Brown",
"presentation_id" : "brown",
"value" : "Brown"
}, {
"hit_count" : 0,
"label" : "Green",
"presentation_id" : "green",
"value" : "Green"
}, {
"hit_count" : 1,
"label" : "Grey",
"presentation_id" : "grey",
"value" : "Grey"
}, {
"hit_count" : 0,
"label" : "Orange",
"presentation_id" : "orange",
"value" : "Orange"
}, {
"hit_count" : 1,
"label" : "Pink",
"presentation_id" : "pink",
"value" : "Pink"
}, {
"hit_count" : 0,
"label" : "Purple",
"presentation_id" : "purple",
"value" : "Purple"
}, {
"hit_count" : 0,
"label" : "Red",
"presentation_id" : "red",
"value" : "Red"
}, {
"hit_count" : 1,
"label" : "White",
"presentation_id" : "white",
"value" : "White"
}, {
"hit_count" : 0,
"label" : "Yellow",
"presentation_id" : "yellow",
"value" : "Yellow"
}, {
"hit_count" : 0,
"label" : "Miscellaneous",
"presentation_id" : "miscellaneous",
"value" : "Miscellaneous"
} ]
}, {
"attribute_id" : "c_isNew",
"label" : "New Arrival",
"values" : [ ]
}, {
"attribute_id" : "c_size",
"label" : "Size",
"values" : [ {
"hit_count" : 0,
"label" : "OS",
"value" : "OS"
}, {
"hit_count" : 4,
"label" : "6",
"value" : "6"
}, {
"hit_count" : 4,
"label" : "6.5",
"value" : "6.5"
}, {
"hit_count" : 4,
"label" : "7",
"value" : "7"
}, {
"hit_count" : 4,
"label" : "7.5",
"value" : "7.5"
}, {
"hit_count" : 4,
"label" : "8",
"value" : "8"
}, {
"hit_count" : 3,
"label" : "8.5",
"value" : "8.5"
}, {
"hit_count" : 3,
"label" : "9",
"value" : "9"
}, {
"hit_count" : 4,
"label" : "9.5",
"value" : "9.5"
}, {
"hit_count" : 3,
"label" : "10",
"value" : "10"
}, {
"hit_count" : 1,
"label" : "11",
"value" : "11"
} ]
}, {
"attribute_id" : "price",
"label" : "Price",
"values" : [ {
"hit_count" : 4,
"label" : "$50 - $16.49",
"value" : "(50..100)"
} ]
} ],
"selected_refinements" : {
"price" : "(0..500)",
"c_refinementColor" : "Black",
"cgid" : "womens"
},
"selected_sorting_option" : "top-sellers",
"sorting_options" : [ {
"id" : "best-matches",
"label" : "Best Matches"
}, {
"id" : "price-low-to-high",
"label" : "Price Low To High"
}, {
"id" : "price-high-to-low",
"label" : "Price High To Low"
}, {
"id" : "product-name-ascending",
"label" : "Product Name A - Z"
}, {
"id" : "product-name-descending",
"label" : "Product Name Z - A"
}, {
"id" : "brand",
"label" : "Brand"
}, {
"id" : "most-popular",
"label" : "Most Popular"
}, {
"id" : "top-sellers",
"label" : "Top Sellers"
} ],
"start" : 0,
"total" : 4
}
Search Products - Variations
Provides keyword and refinement search functionality for products. Only returns the product id, name and variation information in the product search hit.Url
GET http://hostname:port/dw/shop/v17_6/product_search/variations?q={String}&refine={String}&sort={String}&start={Integer}&count={Integer}&locale={String}
Formats
json, xml
Authentication
Name | Description |
---|---|
JWT | Authentication via Customer JWT token. |
None | No authentication. |
Response Document
Query Parameters
Parameter | Type | Description | Constraints |
---|---|---|---|
count | Integer | The maximum number of instances per request. Default value is 25. | maxIntegerValue=200, minIntegerValue=1 |
locale | String | The locale context. | |
q | String | The query phrase to search for. | maxLength=50 |
refine | String | Parameter that represents a refinement attribute/value(s)
pair. Refinement attribute id and value(s) are separated by '='.
Multiple values are supported by a sub-set of refinement
attributes and can be provided by separating them using a pipe
(URL encoded = "|"). Value ranges can be specified like this:
refine=price=(100..500) Multiple refine parameters can be
provided by adding an underscore in combination with an integer
counter right behind the parameter name and a counter range
1..9. I.e. refine_1=c_refinementColor=red|green|blue. The
following system refinement attribute ids are supported:
|
|
sort | String | The id of the sorting option to sort the search hits. | |
start | Integer | The result set index to return the first instance for. Default value is 0. | minIntegerValue=0 |
In case of a failure Fault Document is returned.
Faults
Status | Type | Arguments | Description |
---|---|---|---|
400 |
MalformedPriceRefinementException
|
malformedPrice (String) |
Thrown if a price refinement parameter is malformed. |
Customization
This Resource supports server-side customization.
Extension Point | Method Detail |
---|---|
dw.ocapi.shop.product_search.beforeGET
|
beforeGET () : Status The function is called before the request will be processed.
|
dw.ocapi.shop.product_search.modifyGETResponse
|
modifyGETResponse (doc : ProductSearchResult ) : Status The function is called after the request has been processed.
|
Sample
REQUEST:
GET /dw/shop/v17_6/product_search/variations?q=shoes&refine_1=cgid=womens&refine_2=c_refinementColor=Black&refine_3=price=(0..500)&sort=top-sellers&count=5 HTTP/1.1
Host: example.com
Accept: application/json
RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8
{
"_v" : "17.6",
"_type":"product_search_result",
"count" : 1,
"hits" : [ {
"link" : "http://example.com/dw/shop/v17_6/products/25791388?pretty_print=true",
"product_id" : "25791388",
"product_name" : "Zacco",
"variation_attributes" : [ {
"id" : "color",
"name" : "Color",
"values" : [ {
"name" : "Black",
"value" : "BLKBKPA"
} ]
}, {
"id" : "size",
"name" : "size",
"values" : [ {
"name" : "6",
"value" : "060"
}, {
"name" : "6.5",
"value" : "065"
}, {
"name" : "7",
"value" : "070"
}, {
"name" : "7.5",
"value" : "075"
}, {
"name" : "8",
"value" : "080"
}, {
"name" : "8.5",
"value" : "085"
}, {
"name" : "9",
"value" : "090"
}, {
"name" : "9.5",
"value" : "095"
}, {
"name" : "10",
"value" : "100"
} ]
}, {
"id" : "width",
"name" : "Width",
"values" : [ {
"name" : "M",
"value" : "M"
} ]
} ]
} ],
"query" : "shoes",
"refinements" : [ {
"attribute_id" : "cgid",
"label" : "Category",
"values" : [ {
"hit_count" : 0,
"label" : "Mens",
"value" : "mens"
}, {
"hit_count" : 0,
"label" : "Electronics",
"value" : "electronics"
}, {
"hit_count" : 0,
"label" : "Gift Certificates",
"value" : "gift-certificates"
}, {
"hit_count" : 0,
"label" : "Sale",
"value" : "top-seller"
}, {
"hit_count" : 1,
"label" : "New Arrivals",
"value" : "newarrivals"
}, {
"hit_count" : 4,
"label" : "Womens",
"value" : "womens",
"values" : [ {
"hit_count" : 0,
"label" : "Jewelry",
"value" : "womens-jewelry"
}, {
"hit_count" : 4,
"label" : "Accessories",
"value" : "womens-accessories",
"values" : [ {
"hit_count" : 0,
"label" : "Scarves",
"value" : "womens-accessories-scarves"
}, {
"hit_count" : 4,
"label" : "Shoes",
"value" : "womens-accessories-shoes",
"values" : [ ]
} ]
}, {
"hit_count" : 0,
"label" : "Clothing",
"value" : "womens-clothing"
} ]
} ]
}, {
"attribute_id" : "c_refinementColor",
"label" : "Color",
"values" : [ {
"hit_count" : 1,
"label" : "Beige",
"presentation_id" : "beige",
"value" : "Beige"
}, {
"hit_count" : 4,
"label" : "Black",
"presentation_id" : "black",
"value" : "Black"
}, {
"hit_count" : 0,
"label" : "Blue",
"presentation_id" : "blue",
"value" : "Blue"
}, {
"hit_count" : 0,
"label" : "Navy",
"presentation_id" : "navy",
"value" : "Navy"
}, {
"hit_count" : 1,
"label" : "Brown",
"presentation_id" : "brown",
"value" : "Brown"
}, {
"hit_count" : 0,
"label" : "Green",
"presentation_id" : "green",
"value" : "Green"
}, {
"hit_count" : 1,
"label" : "Grey",
"presentation_id" : "grey",
"value" : "Grey"
}, {
"hit_count" : 0,
"label" : "Orange",
"presentation_id" : "orange",
"value" : "Orange"
}, {
"hit_count" : 1,
"label" : "Pink",
"presentation_id" : "pink",
"value" : "Pink"
}, {
"hit_count" : 0,
"label" : "Purple",
"presentation_id" : "purple",
"value" : "Purple"
}, {
"hit_count" : 0,
"label" : "Red",
"presentation_id" : "red",
"value" : "Red"
}, {
"hit_count" : 1,
"label" : "White",
"presentation_id" : "white",
"value" : "White"
}, {
"hit_count" : 0,
"label" : "Yellow",
"presentation_id" : "yellow",
"value" : "Yellow"
}, {
"hit_count" : 0,
"label" : "Miscellaneous",
"presentation_id" : "miscellaneous",
"value" : "Miscellaneous"
} ]
}, {
"attribute_id" : "c_isNew",
"label" : "New Arrival",
"values" : [ ]
}, {
"attribute_id" : "c_size",
"label" : "Size",
"values" : [ {
"hit_count" : 0,
"label" : "OS",
"value" : "OS"
}, {
"hit_count" : 4,
"label" : "6",
"value" : "6"
}, {
"hit_count" : 4,
"label" : "6.5",
"value" : "6.5"
}, {
"hit_count" : 4,
"label" : "7",
"value" : "7"
}, {
"hit_count" : 4,
"label" : "7.5",
"value" : "7.5"
}, {
"hit_count" : 4,
"label" : "8",
"value" : "8"
}, {
"hit_count" : 3,
"label" : "8.5",
"value" : "8.5"
}, {
"hit_count" : 3,
"label" : "9",
"value" : "9"
}, {
"hit_count" : 4,
"label" : "9.5",
"value" : "9.5"
}, {
"hit_count" : 3,
"label" : "10",
"value" : "10"
}, {
"hit_count" : 1,
"label" : "11",
"value" : "11"
} ]
}, {
"attribute_id" : "price",
"label" : "Price",
"values" : [ {
"hit_count" : 4,
"label" : "$50 - $14.69",
"value" : "(50..100)"
} ]
} ],
"selected_refinements" : {
"price" : "(0..500)",
"c_refinementColor" : "Black",
"cgid" : "womens"
},
"selected_sorting_option" : "top-sellers",
"sorting_options" : [ {
"id" : "best-matches",
"label" : "Best Matches"
}, {
"id" : "price-low-to-high",
"label" : "Price Low To High"
}, {
"id" : "price-high-to-low",
"label" : "Price High To Low"
}, {
"id" : "product-name-ascending",
"label" : "Product Name A - Z"
}, {
"id" : "product-name-descending",
"label" : "Product Name Z - A"
}, {
"id" : "brand",
"label" : "Brand"
}, {
"id" : "most-popular",
"label" : "Most Popular"
}, {
"id" : "top-sellers",
"label" : "Top Sellers"
} ],
"start" : 0,
"total" : 1
}