Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28

First integration option

For successful integration of this button, you need to add several lines of JS-code to the place, where you would like to display the button. The minimum amount of integration code is:

<script class="wizart__floating-button" data-token="token" src="https://wizart-files.fra1.cdn.digitaloceanspaces.com/production/integration/floating-button.min.js"></script>

Floating button maintains the following parameters:

<script
  class="wizart__floating-button"
  data-title="Custom button title"
  data-token="token"
  data-vendor_code=""
  data-article_query=""
  data-parameters=""
  data-background=""
  data-color=""
  data-image=""
  data-tooltip-title=""
  data-tooltip-position=""
  data-tooltip-disable=""
  data-glitter-disable=""
  data-width=""
  data-height=""
  data-border=""
  data-border_radius=""
  data-class_name=""
  data-compact=""
  data-tutorial=""
  data-tutorial-delay=""
  data-on-button-click=""
  data-element-selector=""
  data-insert-element-position=""
  data-iframe-element-selector=""
  data-insert-iframe-element-position=""
  src="https://wizart-files.fra1.cdn.digitaloceanspaces.com/production/integration/floating-button.min.js"
></script>

Parameter

Description

Type

class

Required parameter.
Cannot be changed.

required

src

Link to js-file with integration code.

required

data-token

api token - generated and issued by Wizart Administrator.

required

data-title

Text to be displayed on the button (the default value is "Try it in your room in one click!").

optional

data-vendor_code

Unique SKU ID of the product uploaded to Wizart system.

optional

data-article_query

Required in the case if parameter data-vendor_code is not enough for product search in the Wizart system. Parameter value should be a result of the functionJSON.stringify();.

optional

data-background

Button background

optional

data-color

Button text color

optional

data-tooltip-disable

If the value is “true”, the tooltip will not be displayed.

optional

data-tooltip-title

Text to be displayed on the tooltip (the default value is "See it in your room!").

optional

data-tooltip-position

Tooltip position towards the button. Available values are top, right, bottom, left (the default value is top)

optional

data-glitter-disable

If the value is true, glitter will not be displayed

optional

data-width

Max button width

optional

data-height

Button height

optional

data-border

Button border

optional

data-border_radius

Button border-radius

optional

data-image

Link to the icon that will be displayed on the button.

optional

data-class_name

Class to be set for the button element on the page

optional

data-compact

If the value is true, button will be displayed in the compact mode

optional

data-tutorial

If the value is true and data-compact is true, the button will be animated: from the compact to the full mode and then back to compact mode. Animation repeats only once.

optional

data-tutorial-delay

Period of time before the animation is activated.
Available periods are 5, 10, 20 or 30 seconds.
If this parameter is not set, the button will be animate immediately.

optional

data-parameters

Parameter value should be a result of the function JSON.stringify(); .
Additional parameters from the table below can be added to this attribute.

optional

data-onload-callback

The name of the function to be in the global scope. The function will be called when the visualizer is loaded.

Optional

data-on-close-callback

The name of the function to be in the global scope. The function will be called after the visualizer is closed.

Optional

data-element-selector

A CSS selector to select an element on the page to insert a button where you want.

Optional

data-insert-element-position

The insertion position of the element. Values: append, before, after. default value: append.

Optional

data-iframe-element-selector

A CSS selector to select an element on the page to insert the fitting room where you want.

Optional

data-insert-iframe-element-position

The insertion position of the element. Values: append, before, after. default value: append.

Optional

Additional parameters for “data-parameters” attribute

Parameter

Description

user_id

context

main_page_link

Link added to your clickable logo.

Two-way shopping cart synchronization:

When the visualizer is open, methods are added to the window.wizartDK to synchronize the shopping cart.

  1. Setting the current state of items in the shopping cart – setShoppingCartStore. To transfer the current state of the shopping cart to the visualizer, call the method

    const payload = [{vendor_code: 'vendor_code1', quantity: 1 }];
    window.wizartDK.setShoppingCartStore(payload);

    The method is available after opening the visualizer.

  2. Getting the current state of items in the shopping cart – getShoppingCartStore. To get the items in the shopping cart, call the getShoppingCartStore method with a callback function. The callback function will receive the items in the shopping cart. The method is available after opening the visualizer.

    const callback = () => {
      console.log(payload);
      // [{vendor_code: 'vendor_code1', quantity: 1}, ...]
    }
    
    window.wizartDK.getShoppingCartStore(callback);
  3. Removing an item from the shopping cart – onRemoveShoppingCartItem. To get the goods when they are removed, you must call the onRemoveShoppingCartItem method with a callback function. The method is available after opening the visualizer.

    const callback = () => {
      console.log(payload);
      // {  vendor_code: 'vendor_code', removeAll: true }
    }
    
    window.wizartDK.onRemoveShoppingCartItem(callback);
  4. Adding an item to the shopping cart – onAddShoppigCartItem. To add a product, you need to call the onAddShoppigCartItem function with a parameter { vendor_code: 'vendor_code' } . The method is available after opening the visualizer.

    window.wizartDK.onAddShoppigCartItem({ vendor_code: 'vendor_code' });

Second integration option:

To get this button successfully integrate, you need to include the following library in the header of your website:

<script type="application/javascript" src="https://wizart-files.fra1.cdn.digitaloceanspaces.com/production/integration/floating-button.min.js"></script>

 

To initialize the button, you need to call this code with a token, element and vendor code or article query:

const floatingButton = new window.WFloatingButton({
  token: "your token for wizart",
  element: "link to the element to insert the entry point button", // example document.getElementById("0000")
  vendorCode: "vendor code for first apply",
  articleQuery: Json.stringify({
    vendor_code: 'vendor code for first apply',
    collection_name: '',
  }),
});

Element articleQuery takes precedence over element vendorCode.

 

To display the button, you need to call the render method.

floatingButton.render();

The following parameters can be passed to the render method:

  fontSize,
  title,
  tooltipTitle,
  tooltipPosition,
  tooltipDisable,
  glitterDisable,
  className,
  borderRadius,
  parameters,
  background,
  color,
  width,
  height,
  border,
  image,
  compact,
  tutorial,
  tutorialDelay,
  onloadCallback,
  onCloseCallback,
  onButtonClick,
  iframeElementSelector,
  insertIframeElementPosition,
  onAddShoppigCartItem, // the function is called on the event of adding an article to the cart
  onRemoveShoppingCartItem, // the function is called on the event of deleting an article to the cart

 

const onAddShoppigCartItem = (payload) => {
  console.log(payload);
  // { item: { vendor_code: 'vendor_code' }};
}

const onRemoveShoppingCartItem = () => {
  console.log(payload);
  // { item: { vendor_code: 'vendor_code', removeAll: true }};
}

 

The set method can be used to set vendorCode or articleQuery.

floatingButton.set({ vendorCode: '' });
floatingButton.set({ articleQuery: Json.stringify({ vendor_code: '' })});

 

The setShoppingCartStore method allows you to set the current state of the shopping cart.

  floatingButton.setShoppingCartStore(payload);
  // payload format [{vendor_code: 'vendor_code', quantity: 1 }, ...]
  • No labels