Описание JavaScript 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_nameproduct_urlproduct_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_nameproduct_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. <event_name> это имя события 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');
  });
};

Все еще нужна помощь? Связаться с нами Связаться с нами