Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Code Block
themeFadeToGrey
pcsdk.search(params).then(success).catch(error)

NameTypeRequirementDescription
paramsobjectrequiredObject with request parameters.
successfunctionrequiredCallback-function, where the API response will be passed to. Response type: object.
errorfunctionoptionallyCallback-function to be called when an error occurs (any HTTP status code other than 200).

Request parameters

NameTypeRequirementDescription
typestringrequiredThe value should always be "instant_search".
search_querystringrequiredThe search query text.

API response

Name
Type
Description
productsarray

An array of objects with product information. Each object has the following properties:

id – product ID
  • barcode – product barcode, if it was imported in the product catalog (type: string)
name
  • brand – product
name
  • vendor (type: string)
url – product page link
  • categories – an Object array with details of the product category hierarchy, where each object has properties:
    "id" – category ID (type: string)
picture – link to the product image
  • "level" – сategory level in the
PersonaClick image repository
  • hierarchy (type: string)
price – product price
  • "name" – category name (type:
number
  • string)
oldprice – product old price
  • "name_with_parent" – string name from the name of the parent and main product categories, separated by a "-" (type: string
, default – 0
  • )
currency – product currency
  • "parent_id" – parent category ID (type: string
, matches the currency
  • )
    "url" – category page url (type: string)
  • category_ids – an array of IDs of the product category hierarchy (type: String array)
  • currency – product currency (type: string, matches the currency of the PersonaClick account, or the user value set in the settings of the
PersonaClick account
  • PersonaClick account)
price_formatted – formatted product price including currency
  • discount – the percentage difference between the old price and the current price (type:
string
  • number)
brand – product vendor
  • discount_formatted – the percentage difference between the old and the current price that is formatted as a string with the "%" symbol (type: string)
is
  • discount_
new – new arrival product
  • percent – user-defined discount value (type:
boolean). See the parameter in the product catalog import (XML, HTTP API)products_totalnumberThe total number of products that match the search query.search_querystringThe search query text.categoriesarray

An array of objects with information about the categories matching the search query. Each object has the following properties:

  • id – category ID (type: string)
  • name – category name
    • number)
    • gift – specifies whether the product is a gift (type: boolean)
    • group_id – product group ID (type: string)
    • installment – the payment cost if purchasing the product in installments (type: number)
    • id – product ID (type: string)
    • image_url – URL of the original product image (type: string)
    • image_url_handle – relative URL of the original product image (type: string)
    • image_url
     – category page link
    • _resized – the object with the URLs of the resize product image. Available object keys matching the size of the image in pixels: 120, 140, 160, 180, 200, 220, 310, 520 (type:
    string
    • object)
    parent – parent category ID
    • is_new – new arrival product (type:
    string)
  • alias – wordy category identifier (type: string)
  • If no links are specified for categories in the product feed, the API will return an empty array for this property.

    queriesarrayAn array of objects with relevant popular queries. Each object has the following properties:
    • name – relevant search query (type: string)
    • url – link to a full search page (the format of the link is configured in the PersonaClick account)
    htmlstringContains 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_redirectsobject

    The object will be available if a redirect is created for the search query: Account -> Search -> Search redirect

    The object contains the following properties:

    • deep_link (type: string)
    • query (type: string)
    • redirect_link (type: string)

    Example of use

    Code Block
    languagejs
    themeFadeToGrey
    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

    Code Block
    themeFadeToGrey
    pcsdk.search(params).then(success).catch(error)
    NameTypeRequirementDescriptionparamsobjectrequiredObject with request parameters.successfunctionrequiredCallback-function, where the API response will be passed to. Response type: object.errorfunctionoptionallyCallback-function to be called when an error occurs (any HTTP status code other than 200).

    Request Parameters

    NameTypeRequirementDescriptiontypestringrequiredThe value should always be "full_search".search_querystringrequiredThe search query text.limitnumberoptionallyThe maximum number of products in the API response.pagenumberoptionallyPage number (first page - 1, by default - 1).offsetnumberoptionallyThe 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).brandsarrayoptionallyAn 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.colorsarrayoptionallyAn 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.price_minnumberoptionallyMinimum product price in API response.price_maxnumberoptionallyMaximum product price in API response.categoriesarrayoptionallyAn array of category IDs. If used, the API response will return only those products that are in the specified categories.category_namesnumberoptionallyUsing the category names in the search. If used, the API will respond with products from categories whose names intersect with the search query. These products will get the lowest priority and will be at the very end of the response. By default - 1.sort_bystringoptionallySorting products in the API response.
    Available values:
    • popular - sorting products by popularity (by default
    • price - sorting by product price
    • discount - sorting by discount (the difference between oldprice and price in the product feed)
    orderstringoptionally

    Sorting directions for the sort_by parameter.
    Available values:

    • asc - ascending sorting
    • desc - downwards sorting (by default)

    API response

    NameTypeDescriptionhtmlstringHTML code of the widget with full search results. Widget template is customizable in PersonaClick account.productsarray

    An array of objects with product information. Each object has the following properties:

  • barcode – product barcode, if it was imported in the product catalog (type: string)
  • brand – product vendor (type: string)
  • categories – an Object array with details of the product category hierarchy, where each object has properties:
    "id" – category ID (type: string)
    "level" – сategory level in the hierarchy (type: string)
    "name" – category name (type: string)
    "name_with_parent" – string name from the name of the parent and main product categories, separated by a "-" (type: string)
    "parent_id" – parent category ID (type: string)
    "url" – category page url (type: string)
  • category_ids – an array of IDs of the product category hierarchy (type: String array)
  • currency – product currency (type: string, matches the currency of the PersonaClick account, or the user value set in the settings of the PersonaClick account)
  • discount – the percentage difference between the old price and the current price (type: number)
  • discount_formatted – the percentage difference between the old and the current price that is formatted as a string with the "%" symbol (type: string)
  • id – product ID (type: string)
  • image_url – URL of the original product image (type: string)
  • image_url_handle – relative URL of the original product image (type: string)
  • image_url_resized – the object with the URLs of the resize product image. Available object keys matching the size of the image in pixels: 120, 140, 160, 180, 200, 220, 310, 520 (type: object)
  • is_new – new arrival product (type: boolean). See the parameter in the product catalog import (XML, HTTP API)
  • leftovers – rough number of the products left in stock. Available values are: 
    "one" - one product
    "few" - 2-10 products
    "lot" - over 10 products
  • model –  model and product name (type: string)
  • name – product name (type: string)
  • oldprice – integer old price of the product (type: number)
  • oldprice_formatted – formatted integer old price of the product, including currency (type: string)
  • oldprice_full – old price of the product (type: number)
  • oldprice_full_formatted – formatted old price of the product, including currency (type: string)
  • params – object array with pairs of "key" (type: string), "values" (type: array) properties. The data matches the values of the "param" parameter of the product feed/catalog (XML, HTTP API).
  • picture – link to the product image in the PersonaClick image repository (type: string)
  • price – integer current
    • boolean). See the parameter in the product catalog import (XML, HTTP API)
    • leftovers – rough number of the products left in stock. Available values are: 
      "one" - one product
      "few" - 2-10 products
      "lot" - over 10 products
    • model –  model and product name (type: string)
    • name – product name (type: string)
    • oldprice – integer old price of the product (type: number)
    • oldprice_formatted – formatted integer old price of the product, including currency (type: string)
    • oldprice_full – old price of the product (type: number)
    • oldprice_full_formatted – formatted old price of the product, including currency (type: string)
    • params – object array with pairs of "key" (type: string), "values" (type: array) properties. The data matches the values of the "param" parameter of the product feed/catalog (XML, HTTP API).
    • picture – link to the product image in the PersonaClick image repository (type: string)
    • price – integer current price of the product (type: number)
    • price_formatted – formatted integer current price of the product, including currency (type: string)
    • price_full – current price of the product (type: number)
    • price_full_formatted – formatted current price of the product, including currency (type: string)
    • price_with_promocode – the product price when using the promo code specified for the product (type: number)
    • price_with_promocode_formatted – formatted product price when using the promo code specified for the product, including currency (type: string)
    • promocode – the promo code is for a specific product (type: string)
    • rating – product rating (type: number)
    • relative_sales_rate – level of sales of current product ( in percentage) in relation to the maximum level of sales of products in the store (type: number)
    • sales_rate – level of product sales (absolute value) (type: number)
    • url – product page URL (type: string)
    • url_handle - relative product page URL (type: string)
    products_totalnumberThe total number of products that match the search query.
    search_querystringThe search query text.
    categoriesarray

    An array of objects with information about the categories matching the search query. Each object has the following properties:

    • id – category ID (type: string)
    • name – category name (type: string)
    • url – category page link (type: string)
    • parent – parent category ID (type: string)
    • alias – wordy category identifier (type: string)

    If no links are specified for categories in the product feed, the API will return an empty array for this property.

    queriesarrayAn array of objects with relevant popular queries. Each object has the following properties:
    • name – relevant search query (type: string)
    • url – link to a full search page (the format of the link is configured in the PersonaClick account)
    htmlstringContains 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_redirectsobject

    The object will be available if a redirect is created for the search query: Account -> Search -> Search redirect

    The object contains the following properties:

    • deep_link (type: string)
    • query (type: string)
    • redirect_link (type: string)

    Example of use

    Code Block
    languagejs
    themeFadeToGrey
    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

    Code Block
    themeFadeToGrey
    pcsdk.search(params).then(success).catch(error)

    NameTypeRequirementDescription
    paramsobjectrequiredObject with request parameters.
    successfunctionrequiredCallback-function, where the API response will be passed to. Response type: object.
    errorfunctionoptionallyCallback-function to be called when an error occurs (any HTTP status code other than 200).

    Request Parameters

    NameTypeRequirementDescription
    typestringrequiredThe value should always be "full_search".
    search_querystringrequiredThe search query text.
    limitnumberoptionallyThe maximum number of products in the API response (by default - 10).
    pagenumberoptionallyPage number (first page - 1, by default - 1).
    offsetnumberoptionallyThe 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).
    brandsarrayoptionallyAn 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.
    colorsarrayoptionallyAn 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_sizesarrayoptionallyAn 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_minnumberoptionallyMinimum product price in API response.
    price_maxnumberoptionallyMaximum product price in API response.
    categoriesarrayoptionallyAn array of category IDs. If used, the API response will return only those products that are in the specified categories.
    category_namesnumberoptionallyUsing 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_bystringoptionallySorting products in the API response.
    Available values:
    • popular - sorting products by popularity (by default
    • price - sorting by product price
    • discount - sorting by discount (the difference between oldprice and price in the product feed)
    orderstringoptionally

    Sorting directions for the sort_by parameter.
    Available values:

    • asc - ascending sorting
    • desc - downwards sorting (by default)
    brand_limitnumberoptionallyThe maximum number of brands in the API response matching the search query.
    category_limitnumberoptionallyThe maximum number of categories in the API response matching the search query.
    extendednumberoptionallyIf the value is 1, the API will return additional product properties in the response: barcode, categories, param. See the descriptions below.
    locationsstringoptionallyComma-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).
    filtersstringoptionally

    JSON string with the properties and their values that the products should match in the API response. The data matches the values of the "param" parameter of the product feed/catalog (XML, HTTP API). Format:

    Code Block
    {"property1":["value1","value2"],"property2":["value1","value2"]}


    excludestringoptionallyComma-separated products IDs to exclude from search results.

    API response

    NameTypeDescription
    htmlstringHTML code of the widget with full search results. Widget template is customizable in PersonaClick account.
    productsarray

    An array of objects with product information. Each object has the following properties:

    • barcode – product barcode, if it was imported in the product catalog (type: string)
    • brand – product vendor (type: string)
    • categories – an Object array with details of the product category hierarchy, where each object has properties:
      "id" – category ID (type: string)
      "level" – сategory level in the hierarchy (type: string)
      "name" – category name (type: string)
      "name_with_parent" – string name from the name of the parent and main product categories, separated by a "-" (type: string)
      "parent_id" – parent category ID (type: string)
      "url" – category page url (type: string)
    • category_ids – an array of IDs of the product category hierarchy (type: String array)
    • currency – product currency (type: string, matches the currency of the PersonaClick account, or the user value set in the settings of the PersonaClick account)
    • discount – the percentage difference between the old price and the current price (type: number)
    • discount_formatted – the percentage difference between the old and the current price that is formatted as a string with the "%" symbol (type: string)
    • discount_percent – user-defined discount value (type: number)
    • gift – specifies whether the product is a gift (type: boolean)
    • group_id – product group ID (type: string)
    • installment – the payment cost if purchasing the product in installments (type: number)
    • id – product ID (type: string)
    • image_url – URL of the original product image (type: string)
    • image_url_handle – relative URL of the original product image (type: string)
    • image_url_resized – the object with the URLs of the resize product image. Available object keys matching the size of the image in pixels: 120, 140, 160, 180, 200, 220, 310, 520 (type: object)
    • is_new – new arrival product (type: boolean). See the parameter in the product catalog import (XML, HTTP API)
    • leftovers – rough number of the products left in stock. Available values are: 
      "one" - one product
      "few" - 2-10 products
      "lot" - over 10 products
    • model –  model and product name (type: string)
    • name – product name (type: string)
    • oldprice – integer old price of the product (type: number)
    • oldprice_formatted – formatted integer old price of the product, including currency (type: string)
    • oldprice_full – old price of the product (type: number)
    • oldprice_full_formatted – formatted old price of the product, including currency (type: string)
    • params – object array with pairs of "key" (type: string), "values" (type: array) properties. The data matches the values of the "param" parameter of the product feed/catalog (XML, HTTP API).
    • picture – link to the product image in the PersonaClick image repository (type: string)
    • price – integer current price of the product (type: number)
    • price_formatted – formatted integer current price of the product, including currency (type: string)
    • price_full – current price of the product (type: number)
    • price_full_formatted – formatted current price of the product, including currency (type: string)
    • price_with_promocode – the product price when using the promo code specified for the product (type: number)
    • price_with_promocode_formatted – formatted product price when using the promo code specified for the product, including currency (type: string)
    • promocode – the promo code is for a specific product (type: string)
    • rating – product rating (type: number)
    • relative_sales_rate – level of sales of current product ( in percentage) in relation to the maximum level of sales of products in the store (type: number)
    • sales_rate – level of product sales (absolute value) (type: number)
    • url – product page URL (type: string)
    • url_handle - relative product page URL (type: string)
    products_totalnumberThe total number of products that match the search query. The following query parameters do not affect this value: page, limit, and offset.
    search_querystringThe search query text.
    brandsObject arrayObject array, each containing the name property with the vendor name in the value.
    categoriesObject array

    An array of objects with information about the categories matching the search query. Each object has the following properties:

    • id – category ID (type: string)
    • name – category name (type: string)
    • url – category page link (type: string)
    • parent – parent category ID (type: string)
    • alias – wordy category identifier (type: string)
    Note

    If no links are specified for categories in the product feed, the API will return an empty array for this property.


    filtersObject

    JSON string with properties and their values of all API response products. The data matches the values of the "param" parameter of the product feed/catalog (XML, HTTP API). Format:

    Code Block
    {"property1":["value1","value2"],"property2":["value1","value2"]}


    popupObjectReserved for the JS SDK internal use
    price_rangeObject

    The object containing the values of the minimum and maximum price of the products in the API response. Available properties:

    • min - minimum price
    • max - maximum price
    price_rangesObject arrayThe array contains objects with price ranges and the number of products that match the range. Available properties:
    • from - minimum price of the range (doesn't exist for the first range, type: number)
    • to - maximum price of the range (doesn't exist for the last range, type: number)
    • count  - number of products that match the range (type: number)
    queriesarrayReserved.

    Example of use

    Code Block
    languagejs
    themeFadeToGrey
    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

    Code Block
    themeFadeToGrey
    pcsdk.searchBlank().then(success).catch(error)


    NameTypeRequirementDescription
    successfunctionrequiredCallback-function, where the API response will be passed to. Response type: object.
    errorfunctionoptionallyCallback-function to be called when an error occurs (any HTTP status code other than 200).

    API response

    NameTypeDescription
    last_queriesObject array

    The user's most recent search queries. Each object in the array contains the following properties:

    • name – the search query
    • url – the URL to the full search page with the matching search query
    productsObject array

    An array of objects with product information. Each object has the following properties:

    • barcode – product barcode, if it was imported in the product catalog (type: string)
    • brand – product vendor (type: string)
    • categories – an Object array with details of the product category hierarchy, where each object has properties:
      "id" – category ID (type: string)
      "level" – сategory level in the hierarchy (type: string)
      "name" – category name (type: string)
      "name_with_parent" – string name from the name of the parent and main product categories, separated by a "-" (type: string)
      "parent_id" – parent category ID (type: string)
      "url" – category page url (type: string)
    • category_ids – an array of IDs of the product category hierarchy (type: String array)
    • currency – product currency (type: string, matches the currency of the PersonaClick account, or the user value set in the settings of the PersonaClick account)
    • discount – the percentage difference between the old price and the current price (type: number)
    • discount_formatted – the percentage difference between the old and the current price that is formatted as a string with the "%" symbol (type: string)
    • discount_percent – user-defined discount value (type: number)
    • gift – specifies whether the product is a gift (type: boolean)
    • group_id – product group ID (type: string)
    • installment – the payment cost if purchasing the product in installments (type: number)
    • id – product ID (type: string)
    • image_url – URL of the original product image (type: string)
    • image_url_handle – relative URL of the original product image (type: string)
    • image_url_resized – the object with the URLs of the resize product image. Available object keys matching the size of the image in pixels: 120, 140, 160, 180, 200, 220, 310, 520 (type: object)
    • is_new – new arrival product (type: boolean). See the parameter in the product catalog import (XML, HTTP API)
    • leftovers – rough number of the products left in stock. Available values are: 
      "one" - one product
      "few" - 2-10 products
      "lot" - over 10 products
    • model –  model and product name (type: string)
    • name – product name (type: string)
    • oldprice – integer old price of the product (type: number)
    price
    • oldprice_formatted – formatted
     – formatted
    • integer
    current
    • old price of the product, including currency (type: string)
    price
    • oldprice_full –
    current
    • old price of the product (type: number)
    price
    • oldprice_full_formatted – formatted
    current
    • old price of the product, including currency (type: string)
    rating – product rating
    • params – object array with pairs of "key" (type: string), "values" (type:
    number)
  • relative_sales_rate – level of sales of current product ( in percentage) in relation to the maximum level of sales of products in the store (type: number)
  • sales_rate – level of product sales (absolute value) 
    • array) properties. The data matches the values of the "param" parameter of the product feed/catalog (XML, HTTP API).
    • picture – link to the product image in the PersonaClick image repository (type: string)
    • price – integer current price of the product (type: number)
    url – product page URL
    • price_formatted – formatted integer current price of the product, including currency (type: string)
    url_handle - relative product page URL 
    • price_full – current price of the product (type:
    string
    • number)
    products_totalnumberThe total number of products that match the search query. The following query parameters do not affect this value: page, limit, and offset.search_querystringThe search query text.book_authorsarrayReserved.categoriesarrayReserved.collectionsarrayReserved.keywordsarrayReserved.queriesarrayReserved.virtual_categoriesarrayReserved.

    Example of use

    Code Block
    languagejs
    themeFadeToGrey
    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" }
    • price_full_formatted – formatted current price of the product, including currency (type: string)
    • price_with_promocode – the product price when using the promo code specified for the product (type: number)
    • price_with_promocode_formatted – formatted product price when using the promo code specified for the product, including currency (type: string)
    • promocode – the promo code is for a specific product (type: string)
    • rating – product rating (type: number)
    • relative_sales_rate – level of sales of current product ( in percentage) in relation to the maximum level of sales of products in the store (type: number)
    • sales_rate – level of product sales (absolute value) (type: number)
    • url – product page URL (type: string)
    • url_handle - relative product page URL (type: string)
    last_productsbooleanIf true, then the products property of the API response contains the products recently viewed by the user, otherwise, it contains the recommended products.
    suggestsObject arrayUser-relevant suggestions. Each object in the array contains the following properties:
    • name – the search query
    • url – the URL to the full search page with the matching search query

    Example of use

    Code Block
    languagejs
    themeFadeToGrey
    pcsdk.searchBlank()
        .then((response) => {
            // features showing fullblank search widget
        })
        .catch((error) => {
            // when something went wrong
        });



    Column

    Page Navigation

    Table of Contents
    maxLevel2
    indent0px
    stylenone




    Related Pages

    Filter by label (Content by label)
    showLabelsfalse
    showSpacefalse
    sorttitle
    cqllabel = "searchengine"