- Created by Andrey Veprikov, last modified on Oct 29, 2024
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 19 Current »
Instant Search
Method Objective
The method requests products that match the search query. The method must be called for each entered character of the search query. The search for products starts from the second entered symbol.
Syntax and parameters
pcsdk.search(params).then(success).catch(error)
Name | Type | Requirement | Description |
---|---|---|---|
params | object | required | Object with request parameters. |
success | function | required | Callback-function, where the API response will be passed to. Response type: object. |
error | function | optionally | Callback-function to be called when an error occurs (any HTTP status code other than 200). |
Request parameters
Name | Type | Requirement | Description |
---|---|---|---|
type | string | required | The value should always be "instant_search". |
search_query | string | required | The search query text. |
API response
Name | Type | Description |
---|---|---|
products | array | An array of objects with product information. Each object has the following properties:
|
products_total | number | The total number of products that match the search query. |
search_query | string | The search query text. |
categories | array | An array of objects with information about the categories matching the search query. Each object has the following properties:
If no links are specified for categories in the product feed, the API will return an empty array for this property. |
queries | array | An array of objects with relevant popular queries. Each object has the following properties:
|
html | string | Contains a rendered custom HTML template for the Instant Search widget, or null if the HTML template is empty or the default one is used. |
search_query_redirects | object | The object will be available if a redirect is created for the search query: Account -> Search -> Search redirect The object contains the following properties:
|
Example of use
pcsdk.search({type: "instant_search", search_query: "To be or not to be"}) .then((response) => { // features showing instant search widget }) .catch((error) => { // when something went wrong });
Full Search
Method Objective
The method requests products that match the full search query and is used to display the search results.
Syntax and parameters
pcsdk.search(params).then(success).catch(error)
Name | Type | Requirement | Description |
---|---|---|---|
params | object | required | Object with request parameters. |
success | function | required | Callback-function, where the API response will be passed to. Response type: object. |
error | function | optionally | Callback-function to be called when an error occurs (any HTTP status code other than 200). |
Request Parameters
Name | Type | Requirement | Description |
---|---|---|---|
type | string | required | The value should always be "full_search". |
search_query | string | required | The search query text. |
limit | number | optionally | The maximum number of products in the API response (by default - 10). |
page | number | optionally | Page number (first page - 1, by default - 1). |
offset | number | optionally | The offset relative to the first product in the API response (similar to: (page - 1) * limit and when used simultaneously with page is a priority, by default - 0). |
brands | array | optionally | An array of vendor names. If used, the API response will return only the products of the listed vendors. The vendors must be listed in the product feed. |
colors | array | optionally | An array of product colors. If used, the API response will return the products of the listed colors. The colors of the product should be specified in the product feed. |
fashion_sizes | array | optionally | An array of product fashion sizes. If used, the API response will return the products of the listed sizes. The sizes of the product should be specified in the product feed. |
price_min | number | optionally | Minimum product price in API response. |
price_max | number | optionally | Maximum product price in API response. |
categories | array | optionally | An array of category IDs. If used, the API response will return only those products that are in the specified categories. |
category_names | number | optionally | Using the category names in the search. If used, the API will respond with products from categories whose names intersect with the search query. By default: true. |
sort_by | string | optionally | Sorting products in the API response. Available values:
|
order | string | optionally | Sorting directions for the
|
category_limit | number | optionally | The maximum number of categories in the API response matching the search query. |
extended | number | optionally | If the value is 1, the API will return additional product properties in the response: barcode, categories, param. See the descriptions below. |
locations | string | optionally | Comma-separated location IDs. If used, the API will return only products available in the specified locations. Locations must be specified in the imported product catalog (XML, HTTP API). |
filters | string | optionally | |
exclude | string | optionally | Comma-separated products IDs to exclude from search results. |
API response
Name | Type | Description |
---|---|---|
html | string | HTML code of the widget with full search results. Widget template is customizable in PersonaClick account. |
products | array | An array of objects with product information. Each object has the following properties:
|
products_total | number | The total number of products that match the search query. The following query parameters do not affect this value: page, limit, and offset. |
search_query | string | The search query text. |
brands | Object array | Object array, each containing the name property with the vendor name in the value. |
categories | Object array | An array of objects with information about the categories matching the search query. Each object has the following properties:
If no links are specified for categories in the product feed, the API will return an empty array for this property. |
filters | Object | |
popup | Object | Reserved for the JS SDK internal use |
price_range | Object | The object containing the values of the minimum and maximum price of the products in the API response. Available properties:
|
price_ranges | Object array | The array contains objects with price ranges and the number of products that match the range. Available properties:
|
queries | array | Reserved. |
Example of use
pcsdk.search({ type: "full_search", search_query: "To be or not to be", page: 2, limit: 15, brands: ["Alas", "poor", "Yorick"], categories: [1, 146, 100500], sort_by: "price", order: "asc" }) .then((response) => { // features showing full search }) .catch((error) => { // when something went wrong });
Blank Request
Method Objective
The method allows getting the user's recent search queries, as well as recommended suggestions and products for the user.
Syntax and parameters
pcsdk.searchBlank().then(success).catch(error)
Name | Type | Requirement | Description |
---|---|---|---|
success | function | required | Callback-function, where the API response will be passed to. Response type: object. |
error | function | optionally | Callback-function to be called when an error occurs (any HTTP status code other than 200). |
API response
Name | Type | Description |
---|---|---|
last_queries | Object array | The user's most recent search queries. Each object in the array contains the following properties:
|
products | Object array | An array of objects with product information. Each object has the following properties:
|
last_products | boolean | If true, then the products property of the API response contains the products recently viewed by the user, otherwise, it contains the recommended products. |
suggests | Object array | User-relevant suggestions. Each object in the array contains the following properties:
|
Example of use
pcsdk.searchBlank() .then((response) => { // features showing blank search widget }) .catch((error) => { // when something went wrong });
Page Navigation
Related Pages
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
- No labels