Механизм полной синхронизации корзины покупок построен на механизме Shopping cart synchronization process works on the basis of method window.postMessage.
Веб-визуализатор вызывает метод window.postMessage при совершении действий с корзиной покупок.
...
Web Visualizer calls method window.postMessage if any action is taken in or with regard to the shopping cart.
Identifying the list of products in the shopping cart. To identify the list of products in the shopping cart you need to call the method postMessage.
Code Block language js window.frames.wizartFittingRoom.onload = (() => { window.frames.wizartFittingRoom.postMessage({ eventName: 'setShoppingCartStore', payload: [ { vendor_code: 'vendor_code', // type string, quantity: 1, // type number, }, ], }, '*'); });
Для того чтобы получить список артикулов корзины покупок необходимо вызвать метод postMessage
getShoppingCartStore.
Веб-визуализатор отловит запрос на получиние списка артикулов корзины покупок и инициирует событиеgetShoppingCartStore
на своей стороне. ПримерTo get the list of products from the shopping cart you need to call the method postMessagegetShoppingCartStore.
Web Visualizer will catch this request for getting the list of products from the shopping cart and trigger the eventgetShoppingCartStore
on its side.
Example:Code Block language js window.frames.wizartFittingRoom.onload = (() => { // Вызов события на получение артикул в корзине покупок Calling the event of getting the list of products from the shopping cart. window.frames.wizartFittingRoom.postMessage({ eventName: 'getShoppingCartStore' }, '*'); }); // Подписка на получение артикулов корзины покупок Subscription to the event of getting the list of products from the shopping cart. window.addEventListener('message', (event) => { if (event.data && event.data.eventName === 'getShoppingCartStore') { // Event handling } }, false) ФорматData данныхformat: event.data = { eventName: 'getShoppingCartStore', payload: { vendor_code: 'vendor_code', // type string quantity: 1, // type boolean }, }
При добавление артикула в корзину покупок или увеличении количества будет вызвано событие
addShoppigCartItem
When a product is added to the shopping cart or its quantity is changed, the eventaddShoppigCartItem
will be called.Code Block language js // Подписка на событие добавления артикула в корзину покупок Subscription to the event of adding product to the shopping cart window.addEventListener('message', (event) => { if (event.data && event.data.eventName === 'addShoppigCartItem') { // Event handling } }, false) ФорматData данныхformat: event.data = { eventName: 'addShoppigCartItem', payload: { vendor_code: 'vendor_code', // type string }, }
При удалении артикула из корзины покупок будет вызвано событие
removeShoppigCartItem
c парметрами vendor_code и removeAll. removeAll - значение true если удаляется весь артикулWhen the product is removed from the shopping cart, eventremoveShoppigCartItem
with parameters vendor_code and removeALL will called. removeAll - value “true” is used in the case when the product was totally removed from the shopping cart.Code Block language js // Подписка на событие удаления артикулов из корзины покупок Subscription to the event of removing product to the shopping cart window.addEventListener('message', (event) => { if (event.data && event.data.eventName === 'removeShoppigCartItem') { // Event handling } }, false) ФорматData данныхformat: event.data = { eventName: 'addShoppigCartItem', payload: { vendor_code: 'vendor_code', // type string removeAll: true, // type boolean }, }