Как передать информацию о продукте/странице в операцию Mindbox

Задача:
Создать попап, в котором можно подписаться на рассылку "Поступлении товара в наличие".

Для того, чтобы разместить форму "Сообщить о поступлении товара" на странице товара, которого нет в наличии, требуется:

  • завести операцию;
  • добавить JS-код;
  • подставить параметр в операцию.

Заведите нужную операцию в Mindbox

Снимок экрана 2022-03-01 в 17.38.53.png

Скопируйте запрос Javascript SDK (async):

Untitled-3.png

Вставьте JS-код

И вставьте в "Действия после заполнения" → "Вызывать пользовательский JS" → "Отправка контактов" (тогда операция будет вызываться, когда человек нажимает кнопку для подписки/отправки контактов):

Снимок экрана 2022-08-29 в 11.44.16.png

Подставьте параметр в операцию

Данные о странице продукта (если страница продукта):

  • %product_id% в формате "<Идентификатор>": "<Значение идентификатора продукта>";
  • %product_id_value% в формате "<Значение идентификатора продукта>";
  • %productGroup_id% в формате "<Идентификатор>": "<Значение идентификатора продукта>";
  • %productGroup_id_value% в формате "<Значение идентификатора продукта>".

Пример:

addProductToList: {
              product: {
                ids: %product_id%
              },
        }
        

Данные о странице категории (если страница категории):

  • %category_id% в формате "<Идентификатор>": "<Значение идентификатора продукта>";
  • %category_id_value% в формате "<Значение идентификатора продукта>".

Пример:

  viewProductCategory: {
            productCategory: {
              ids: %category_id%
            }
          }
        

Данные о корзине:

%cart_sum% - общая стоимость корзины;
%cart_products% - список всех продуктов в корзине в формате

{
            product: {
                ids: {
                    <Идентификатор>: '<Значение идентификатора продукта>'
                }
            },
            productGroup: {
                ids: {
                    <Идентификатор>: '<Значение идентификатора группы продуктов>'
                }
            },
            count: <Выбранное количество единиц продукта>,
            pricePerItem: <Цена за одну единицу продукта. Необходимо передать одну из цен>,
            priceOfLine: <Цена за продукты с учетом количества. Необходимо передать одну из цен>
        }
        

Пример:

var cartProducts = %cart_products%;
        
        mindbox("async", {
          operation: "Website.SetWishList",
          data: {
          productList: [
            {
              product: {
                ids: cartProducts[1].product.ids
              },
        
              count: cartProducts[1].product.count,
              pricePerItem: cartProducts[1].product.pricePerItem,
            }
          ]
        }
        });