NAV

Get storefront details

Get basic storefront information to use in your script.

Ecwid.getStaticBaseUrl

Get Static Base Url code example

var StaticBaseUrl = Ecwid.getStaticBaseUrl();

console.log(StaticBaseUrl);

// prints
// "https://d3fi9i0jj23cau.cloudfront.net/gz/"

Returns the base URL for static Ecwid files, like images and CSS, with the ’/’ at the end.

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Ecwid.getOwnerId

Get store ID code example

var storeId = Ecwid.getOwnerId()

console.log(storeId);

// prints
// 1003

Returns the store ID.

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Ecwid.getInitializedWidgets

Get all widgets to be displayed when page loads

var widgets = Ecwid.getInitializedWidgets();

console.log(widgets);

// prints 
// ["Minicart", "SearchPanel", "ProductBrowser"]

Returns array containing widget types present on a page. There are four types available:

  • Minicart - Minicart widget
  • SearchPanel - Search widget
  • ProductBrowser - Storefront widget
  • Categories - Categories widget
  • SingleProduct - Embedded product (old version)
  • Product - Embedded product (latest version)

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Ecwid.formatCurrency

Format a number using currency format of a store

var currencyFormat = Ecwid.formatCurrency(12.99);

console.log(currencyFormat);

// prints
// "$12.99"

Converts the given currency value to a human-readable string according to the store settings. It accepts both string and integer as arguments.

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Ecwid.getStorefrontLang

var lang = Ecwid.getStorefrontLang();

console.log(lang);

//prints
// "en"

Get current language of storefront. The function is available as soon as Ecwid store starts to load.

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Ecwid.getAppPublicConfig

Get app public config function usage

Ecwid.getAppPublicConfig(appId);

Example values from app publc config

  {
    "key": "public",
    "value": "12345"
  }

Get app public config code example

  var pageId = Ecwid.getAppPublicConfig("my-cool-app");

  console.log(pageId);
  // prints 
  // '12345'

Returns value for public key from Ecwid Application Storage endpoint.

Ecwid.getAppPublicConfig() receives one argument:

NameTypeDescription
appIdStringNamespace of your application (as set in the application settings).

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Ecwid.getAppPublicToken

Get app public config function usage

Ecwid.getAppPublicToken(appId);

Get app public token code example

var publicToken = Ecwid.getAppPublicToken('my-cool-app');

console.log(publicToken);

// 'public_qKDUqKkNXzcj9DejkMUqEkYLq2E6BXM9'

Returns public applicaiton token for an Ecwid store. In order for this function to work, your app has to ask for public_storefront scope from a store. Learn more

Ecwid.getAppPublicToken() receives one argument:

NameTypeDescription
appIdStringNamespace of your application (as set in the application settings).

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Ecwid.getFeatureToggles

var ecwidFeatureTogglesInfo = Ecwid.getFeatureToggles();

console.log(ecwidFeatureTogglesInfo);

// {
//  newProductList: true, 
//  newDetailsPage: true,
//  customerLoginByLink: true,
//  newCartPage: true,
//  newCheckoutPage: true
// }

Ecwid.getFeatureToggles() function returns enabled or disabled storefront features we released over the years and just recently.

Returned fields:

NameTypeDescription
newProductListbooleantrue if new product listing is enabled in a store. false otherwise
newDetailsPagebooleantrue if new product details page is enabled in a store. false otherwise. Learn more
customerLoginByLinkbooleantrue if customers log in to store by link. false otherwise. Learn more
newCartPagebooleantrue if latest version of the cart page is enabled for store. Is always true when newCheckoutPage is also true. false otherwise. Learn more
newCheckoutPagebooleantrue if latest version of the checkout process is enabled in a store. false otherwise

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.

Get opened page info

Get page type after new page is loaded

Ecwid.OnPageLoaded.add(function(page){
  console.log("Current page is of type: " + page.type);
});

// prints
// Current page is of type: CATEGORY

Get basic information about a page user opened in storefront.

How to do it:

  1. Subscribe to Ecwid.OnPageLoad or Ecwid.OnPageLoaded event
  2. Extract page information from page object with your code
  3. When event happens, your callback code is executed

Page object fields:

NameTypeDescription
namestringFor types: CATEGORY, PRODUCT. Name of the opened category or product
typestring, one of the following: ACCOUNT_SETTINGS, ADDRESS_BOOK, ORDERS, RESET_PASSWORD, CATEGORY, CART, CHECKOUT_ADDRESS_BOOK, CHECKOUT_PAYMENT_DETAILS, CHECKOUT_PLACE_ORDER, CHECKOUT_ADDRESS, ORDER_CONFIRMATION, ORDER_FAILURE, CHECKOUT_RESULT, DOWNLOAD_ERROR, PRODUCT, SEARCH, FAVORITES, RESET_PASSWORD, SIGN_INThe type of the page. Some pages may have parameters, like: productId of the viewing product. Those parameters are described below.
keywordsstring, optionalfor type==’ORDERS’: the keywords that are used to find orders in the customer account page. for type==’SEARCH’: the keywords that are used to find products on the product search page.
frominteger timestamp, optionalfor type==’ORDERS’: The timestamp of the start of the orders date range.
tointeger timestamp, optionalfor type==’ORDERS’: The timestamp of the end of the orders date range.
offsetfor type==’ORDERS’: the position of the current order list page (starting from 0). for type==’CATEGORY’ and SEARCH’: the position of the current product list page (starting from 0).
categoryIdintegerfor type==’CATEGORY’: the id of the showing product category or 0 if this is the starting page of the catalog and no categories are selected yet. for type==’PRODUCT’: the category internal id the current product has been navigated from. Zero (0) is the root category, −1 meaning that the category is unknown (e.g. a product opened from a search result).
mainCategoryIdintegerfor type==’PRODUCT’ in the OnPageLoaded event: the internal id of category that is considered the default category of this product (in case if the product is assigned to a few different categories). If a product is assigned to a single category, mainCategoryId will be equeal to categoryId; if a product is not assigned to any category, its mainCategoryId is 0 (zero). for type==’PRODUCT’ in the OnPageLoad event: always 0 (zero);
sortstring, one of: ‘normal’, ‘addedTimeDesc’, ‘priceAsc’, ‘priceDesc’, ‘nameAsc’, ‘nameDesc’for type==’CATEGORY’ and ’SEARCH’: the order of the product list, as selected by the user in the ‘sort by’ drop-down. ‘Desc’ suffix stands for the descending order, ‘Asc’ suffix stands for the ascending order.
orderIdintegerfor type==’CHECKOUT_RESULT’ and type==’ORDER_CONFIRMATION’: the internal id of the order (not to be confused with the store order number)
ticketintegerfor type==’CHECKOUT_RESULT’: the security random code that allows to retrieve information about the order
errorTypeone of the following: ‘expired’, ‘invalid’, ‘limit’for type==’DOWNLOAD_ERROR’: the type of the error while downloading an e-good file.
keyinteger, optionalfor type==’DOWNLOAD_ERROR’: the downloading file internal id
productIdintegerfor type==’PRODUCT’: the internal id of the displaying product (not to be confused with SKU).
orderNumberintegerfor type==’ORDER_CONFIRMATION’ the number of the order placed by customer(without prefix and suffix).
vendorOrderNumberstringfor type==’CHECKOUT_RESULT’ and type==’ORDER_CONFIRMATION’ the number of the order placed by customer(with prefix and suffix)
hasPreviousbooleantrue if customer visited some previous pages earlier and current page is not the entry page. false if current page is the first page of entry
variationIdnumberVariation ID if specified in the URL. Learn more
filterParams<FilterParameters>Filter parameters used in product search request. For "CATEGORY" and "SEARCH" pages only

FilterParameters

NameTypeDescription
attributes<SelectedAttributes>Information about selected attributes and their values
categoriesArray of stringList of category IDs where customer searches in
includeProductsFromSubcategoriesbooleantrue if the search needs to include products from subcategories. false otherwise
keywordstringThe keyword customer used when searching for products
options<SelectedOptions>Information about selected options and their values

SelectedAttributes

NameTypeDescription
ATTRIBUTE_NAMEstringAttribute name is the field name and array of attribute value(s) is the value of this field

SelectedOptions

NameTypeDescription
OPTION_NAMEstringOption name is the field name and array of option value(s) is the value of this field

Ecwid.setStorefrontBaseUrl

Set storefront base URL to a custom URL after store is loaded

Ecwid.setStorefrontBaseUrl('https://www.ecwid.com/demo/?ipad&lang=en');

Dynamically updates storefront base URL.

Typically is used for SEO URLs feature to preserve dynamically added query parameters in a page URL. Works similarly to window.ec.config.baseUrl method.

Subscribe to the Ecwid.OnAPILoaded JS API event to ensure availability of this function.