Versions Compared

Key

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

Механизм полной синхронизации корзины покупок построен на механизме 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.

  1. 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
    languagejs
    window.frames.wizartFittingRoom.onload = (() => {
      window.frames.wizartFittingRoom.postMessage({
        eventName: 'setShoppingCartStore',
        payload: [
          {
            vendor_code: 'vendor_code', // type string,
            quantity: 1, // type number,
          },
        ],
      }, '*');
    });
  2. Для того чтобы получить список артикулов корзины покупок необходимо вызвать метод postMessage getShoppingCartStore. Веб-визуализатор отловит запрос на получиние списка артикулов корзины покупок и инициирует событие getShoppingCartStore на своей стороне. ПримерTo get the list of products from the shopping cart you need to call the method postMessage getShoppingCartStore. Web Visualizer will catch this request for getting the list of products from the shopping cart and trigger the event getShoppingCartStore on its side.
    Example:

    Code Block
    languagejs
    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
      },
    }
  3. При добавление артикула в корзину покупок или увеличении количества будет вызвано событие addShoppigCartItem When a product is added to the shopping cart or its quantity is changed, the event addShoppigCartItem will be called.

    Code Block
    languagejs
    // Подписка на событие добавления артикула в корзину покупок 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
      },
    }
  4. При удалении артикула из корзины покупок будет вызвано событиеremoveShoppigCartItem c парметрами vendor_code и removeAll. removeAll - значение true если удаляется весь артикулWhen the product is removed from the shopping cart, event removeShoppigCartItem 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
    languagejs
    // Подписка на событие удаления артикулов из корзины покупок 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
      },
    }