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. | 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 function | 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, button will animate from compact to full and back to compact. Animation fires once. | optional |
data-tutorial-delay | The number of seconds before animation. Available 5,10,20,30. | optional |
data-parameters | Parameter value should be a result of the function | 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.
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 methodconst payload = [{vendor_code: 'vendor_code1', quantity: 1 }]; window.wizartDK.setShoppingCartStore(payload);
The method is available after opening the visualizer.
Getting the current state of items in the shopping cart –
getShoppingCartStore
. To get the items in the shopping cart, call thegetShoppingCartStore
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);
Removing an item from the shopping cart –
onRemoveShoppingCartItem
. To get the goods when they are removed, you must call theonRemoveShoppingCartItem
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);
Adding an item to the shopping cart –
onAddShoppigCartItem
. To add a product, you need to call theonAddShoppigCartItem
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, 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 }, ...]