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 библиотеки.

Эта статья вам помогла? Спасибо за отзыв! Не удалось отправить отзыв. Пожалуйста, попробуйте позже.

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