Главная JS Event API

JS Event API

Список настроек и методов JavaScript для интеграции интернет- магазина с Convead.

Для указания настроек инициализации и колбеков приложения Convead используется глобальная переменная ConveadSettings. 

Эвенты

Эвенты используются для передачи данных с сайта в Convead. 

convead('event', 'EVENT_TYPE', event_properties = {}, visitor_info = {});

Link

Открытие новой страницы с указанием «ключевой страницы».

convead('event', 'link', {key_page_id: 123}, {});

Purchase

Передает событие покупки.

order_id — id заказа (уникальное значение)
revenue — полная стоимость заказа с учетом стоимости доставки и скидок
items — массив из списка товаров в заказе
product_id — id наименования товара
qnt — количество товаров
price — цена
product_url — адрес страницы товара (необязателен)
product_image_url — изображение товара (необязателен)
state — статус заказа (необязательный атрибут)

convead('event', 'purchase', {
  order_id: '12345',
  revenue: 99.99,
  items: [
    {product_id: '1', qnt: 1, price: 125.15, product_image_url: 'http://site/2.jpg', product_url: 'http://site.net/product/2'},   
    {product_id: '2', qnt: 15, price: 127.02, product_image_url: 'http://site/2.jpg', product_url: 'http://site.net/product/2'}
  ]},
  {
     first_name: 'Сергей',
     last_name: 'Сергеев',
     email: 'test@example.net',
      phone: '555555'
  }
);

Order update

Обновление статуса заказа

order_id — id заказа (уникальное значение)
state — статус заказа
revenue — полная стоимость заказа с учетом стоимости доставки и скидок (необязательный атрибут)
items — массив из списка товаров в заказе (необязательный атрибут)
product_id — id наименования товара
qnt — количество товаров
price — цена

convead('event', 'order_update', {order_id: '12345', state: 'paid', revenue: 99.99, items: [
    {product_id: '1', qnt: 1, price: 125.15},
    {product_id: '2', qnt: 15, price: 127.02}
]});

Custom

Отправка пользовательского события.

key — ключ пользовательского эвента. Задается в разделе Мой аккаунт=>Мои события.

convead('event', 'custom', {key: 'event_key'});

Update info

Используется для изменения данных посетителя.

Последним параметром передается объект visitor_info, который содержит информацию о посетителе.

convead('event', 'update_info', {}, {email: 'test@example.net'});

View product

Передает информацию о просмотренном товаре.

product_id — id товара
product_name — название товара
category_id — id раздела, в котором расположен товар (необязателен)
product_url — адрес страницы с товаром (допускается значение window.location.href)
price — цена (необязателен)
product_image_url — изображение товара (необязателен)

convead('event', 'view_product', {
  product_id: '123',
  product_name: 'Сковородка RX9000',
  category_id: '123',
  product_url: window.location.href,
  price: 125.15,
  product_image_url: 'http://site/1.jpg'
});

Update cart

Передает полный состав корзины. Если корзина очищена, то отправляется с пустым массивом items: [].

Параметры product_name, product_url, product_image_url необязательны.

convead('event', 'update_cart', {
  items: [
    {product_id: '1', qnt: 1, price: 125.15, product_name: "Сало диетическое", product_url: 'http://site.net/product/1', product_image_url: 'http://site/2.jpg'},
    {product_id: '2', qnt: 15, price: 127.02, product_name: "Булочки с маком", product_url: 'http://site.net/product/2', product_image_url: 'http://site/2.jpg'}
  ]
});

Add to cart

Добавляет одно наименование товара в корзину.

Вместо данного эвента рекомендуется использовать update_cart.

Параметры product_name, product_url необязательны.

convead('event', 'add_to_cart', {
  product_id: '1',
  qnt: 2,
  price: 125.03,
  product_name: 'Сало диетическое',
  product_url: 'http://site.net/product/1'
});

Remove from cart

Удаляет qnt товаров из одного наименования товара корзины.

Вместо данного эвента рекомендуется использовать update_cart.

convead('event', 'remove_from_cart', {  product_id: '1',  qnt: 2});

Mailto

Передача e-mail.

convead('event', 'mailto', {email: 'chuck-norris@example.com'}, {});

File

Скачивание файла.

convead('event', 'file', {file_url: 'http://example.com/file.zip'}, {});

Методы для работы с виджетами

Показ виджета

Работает только для ручных виджетов.

on_complete — вызывает функцию в момент показа виджета и передает в нее переменную el с содержимым виджета.
allow_close — при значении false запрещает закрывать виджет. При этом иконка закрытия/сворачивания видна не будет.

convead('widget', 'show', {id: 123});
convead('widget', 'show', {id: 123, on_complete: function(el) { alert(el); }});
convead('widget', 'show', {id: 123, allow_close: false});

Скрытие/сворачивание виджета

Для типов виджетов: Popup, Notice — происходит закрытие.
Для типов виджетов: TopBar, BottomBar — сворачивание.

id — передает id виджета, который нужно закрыть/свернуть.
display_type — тип виджетов, которые нужно закрыть/свернуть (принимает значения manual и auto для ручных и автоматических).

convead('widget', 'close');
convead('widget', 'close', {id: 123});
convead('widget', 'close', {display_type: 'manual'});

Трекинг

Запрещает/разрешает передачу данных из магазина в Convead из Вашего браузера.

Предназначен для исключения из статистики менеджеров магазина.

Отключить трекинг.

convead('track', 'disable');

Включить трекинг.

convead('track', 'enable');

Внимание! Если вы интегрировали свой сайт с помощью модуля Convead, то убедитесь, что у Вас установлена последняя версия модуля, в противном случае может отключиться трекинг не всех эвентов.

Методы для чата

Развернуть окно чата.

convead('module', 'chat', {method: 'show'});

Свернуть окно чата.

convead('module', 'chat', {method: 'hide'});

Колбеки

Для отслеживания ключевых событий в convead предусмотрено колбеки. Они прописываются в объект ConveadSettings при иницализации.

onload — Срабатывает после загрузки всех скриптов, но перед инициализацией основного кода convead;
onready — Срабатывает при завершении инициализации convead после всех обязательных методов;
onevent — Срабатывает после отправки событий. Возвращает переменные которые были отправлены в этом событии: event_name, properties, visitor_info, attributes

ConveadSettings.onload = function() {
  console.log('loaded');
};
ConveadSettings.onready = function() {
  console.log('ready');
}
ConveadSettings.onevent = function(event_name, properties, visitor_info, attributes) {
  console.log('event', event_name, properties, visitor_info, attributes);
}

Подписка на внутренние события

Подписка на внутренние события работает аналогично колбекам, но позволяет добавлять несколько обработчиков для каждого внутреннего события.
 Метод подписки ConveadClient.event_emitter. subscribe(name, callback) доступен после инициализации convead.

Доступные внутренние события:

event.<event_name> — отправлено событие в convead.  это имя события convead;
find_email — сработала функция определения email в водимых данных в форме на сайте. Возвращает определенный email;
chat.show — чат развернут;
chat.hide — чат свернут;
leaving — текущая вкладка браузера закрыта;

ConveadSettings.onready = function() {  
  ConveadClient.event_emitter.subscribe('event.view_product', function() {
    console.log('View product event was sent');
  });
  ConveadClient.event_emitter.subscribe('find_email', function(email) {
    console.log('Your email is', email);
  });
  ConveadClient.event_emitter.subscribe('chat.show', function() {
    console.log('Chat is open');
  });
  ConveadClient.event_emitter.subscribe('chat.hide', function() {
    console.log('Chat is close');
  });
  ConveadClient.event_emitter.subscribe('chat.send_msg', function(msg) {
    console.log('The visitor sent a message', msg);
  });
  ConveadClient.event_emitter.subscribe('chat.new_msg', function(msg) {
    console.log('The visitor has received a new message', msg);
  });
  ConveadClient.event_emitter.subscribe('chat.unread_msg', function(msg) {
    console.log('Visitor has unread messages', msg);
  });
  ConveadClient.event_emitter.subscribe('chat.entered_msg', function(msg) {
    console.log('Chat init', msg);
  });
  ConveadClient.event_emitter.subscribe('leaving', function() {
    console.log('The browser window is closed');
  });
};
Полезные статьи
  1. Настройки инициализации (ConveadSettings)
  2. Для работы с Сonvead EVENT можно использовать php или ruby библиотеки.