JS Event API
Для указания настроек инициализации и колбеков приложения Convead используется глобальная переменная ConveadSettings.
Эвенты
Эвенты используются для передачи данных с сайта в Convead.
<code><code>convead('event', 'EVENT_TYPE', event_properties = {}, visitor_info = {});
Link
Открытие новой страницы с указанием «ключевой страницы».
<code><code>convead('event', 'link', {key_page_id: 123}, {});
Purchase
Передает событие покупки.
order_id — id заказа (уникальное значение)
revenue — полная стоимость заказа с учетом стоимости доставки и скидок
items — массив из списка товаров в заказе
product_id — id наименования товара
qnt — количество товаров
price — цена
product_url — адрес страницы товара (необязателен)
product_image_url — изображение товара (необязателен)
state — статус заказа (необязательный атрибут)
<code><code>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 — цена
<code><code>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 — ключ пользовательского эвента. Задается в разделе Мой аккаунт=>Мои события.
<code><code>convead('event', 'custom', {key: 'event_key'});
Update info
Используется для изменения данных посетителя.
Последним параметром передается объект visitor_info, который содержит информацию о посетителе.
<code><code>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 — изображение товара (необязателен)
<code><code>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 необязательны.
<code><code>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 необязательны.
<code><code>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.
<code><code>convead('event', 'remove_from_cart', { product_id: '1', qnt: 2});
Mailto
Передача e-mail.
<code><code>convead('event', 'mailto', {email: 'chuck-norris@example.com'}, {});
File
Скачивание файла.
<code><code>convead('event', 'file', {file_url: 'http://example.com/file.zip'}, {});
Методы для работы с виджетами
Показ виджета
Работает только для ручных виджетов.
on_complete — вызывает функцию в момент показа виджета и передает в нее переменную el с содержимым виджета.
allow_close — при значении false запрещает закрывать виджет. При этом иконка закрытия/сворачивания видна не будет.
<code><code>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 для ручных и автоматических).
<code><code>convead('widget', 'close'); convead('widget', 'close', {id: 123}); convead('widget', 'close', {display_type: 'manual'});
Трекинг
Запрещает/разрешает передачу данных из магазина в Convead из Вашего браузера.
Предназначен для исключения из статистики менеджеров магазина.
Отключить трекинг.
<code><code>convead('track', 'disable');
Включить трекинг.
<code><code>convead('track', 'enable');
Внимание! Если вы интегрировали свой сайт с помощью модуля Convead, то убедитесь, что у Вас установлена последняя версия модуля, в противном случае может отключиться трекинг не всех эвентов.
Методы для чата
Развернуть окно чата.
<code><code>convead('module', 'chat', {method: 'show'});
Свернуть окно чата.
<code><code>convead('module', 'chat', {method: 'hide'});
Колбеки
Для отслеживания ключевых событий в convead предусмотрено колбеки. Они прописываются в объект ConveadSettings при инициализации.
onload — Срабатывает после загрузки всех скриптов, но перед инициализацией основного кода convead;
onready — Срабатывает при завершении инициализации convead после всех обязательных методов;
onevent — Срабатывает после отправки событий. Возвращает переменные которые были отправлены в этом событии: event_name, properties, visitor_info, attributes
<code><code>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 — текущая вкладка браузера закрыта;
<code><code>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'); }); };<br>
Для работы с Сonvead EVENT можно использовать php или ruby библиотеки.