Установка кода заказа
Код заказа необходимо разместить на финальную страницу заказа, где пользователя информируют об успешном оформлении заказа.
В код нужно передать данные о номере заказа, сумме и товарах.
Пример кода заказа:
<script type="text/javascript">
(function () {
function readCookie(name) {
if (document.cookie.length > 0) {
let offset = document.cookie.indexOf(name + "=");
if (offset != -1) {
offset = offset + name.length + 1;
let tail = document.cookie.indexOf(";", offset);
if (tail == -1) tail = document.cookie.length;
return unescape(document.cookie.substring(offset, tail));
}
}
return null;
}
function genUID() {
return 'xxxxxxxxxxxxxxxxxxxxxxxx'.replace(/x/g, function () {
var rand;
try {
rand = crypto.getRandomValues((new Uint8Array(1)))[0] % 16;
} catch (e) {
rand = Math.floor(Math.random() * 16);
}
return rand.toString(16);
});
}
var order_id = 'ORDER_ID_HERE'; // String
var cart_sum = 'CART_SUM_HERE'; // String
var order_offers = []; // Offers list here
var site_id = '5e8727c3ffce38858fd1bbc7';
var lead_id = readCookie('_lhtm_u');
var url = window.location.href;
var form_id = genUID();
var form_fields = {
'orderid': order_id,
'cart_sum': cart_sum
};
var request_body_form = {
'site_id': site_id,
'lead_id': lead_id,
'form_id': form_id,
'url': url,
'referrer': 'direct',
'action': 'lh_orderid',
'form_fields': form_fields
};
var xhr_form = new XMLHttpRequest();
xhr_form.open('POST', 'https://track-api.leadhit.io/save/lead/form', true);
xhr_form.setRequestHeader('Content-type', 'application/json; charset=utf-8');
xhr_form.send(JSON.stringify(request_body_form));
if (Array.isArray(order_offers) && order_offers.length > 0) {
var request_body_order = {
'site_id': site_id,
'lead_id': lead_id,
'order_id': order_id,
'cart_sum': cart_sum,
'items': order_offers
};
var xhr_order = new XMLHttpRequest();
xhr_order.open('POST', 'https://track-api.leadhit.io/save/lead/order', true);
xhr_order.setRequestHeader('Content-type', 'application/json; charset=utf-8');
xhr_order.onreadystatechange = function () {
if (this.readyState != 4) return;
console.log('order sended');
};
xhr_order.send(JSON.stringify(request_body_order));
}
})();
</script>
Номер заказа
Номер заказа укажите в переменной order_id
, тип данных - string (строка)var order_id = 'ORDER_ID_HERE'
Сумма заказа
Сумму заказа укажите в переменной cart_sum
, тип данных - string (строка)var cart_sum = 'CART_SUM_HERE'
Формат суммы должен быть 200.00 - разделитель точка и 2 знака после точки. В случае несоблюдения этого правила, суммы заказа будут сохраняться некорректно, что приведет к ошибкам в данных.
Товары
Товары укажите в переменной order_offers
var order_offers = []
Товары представляют из себя массив объектов. Каждый объект товара содержит следующие атрибуты:
- url: URL товара.
URL должен быть полным, с указанием префикса протокола (http://, https://) и доменом, а так же должен совпадать с URL этого же товара в YML файле (фиде).
Типа данных - строка (string) - name: Название товара.
Тип данных - строка (string) - price: Стоимость товара.
Тип данных - число (number) - count: Количество купленных экземпляров товара.
Тип данных - число (number) - currency: Код валюты в формате ISO 4217 (https://ru.wikipedia.org/wiki/ISO_4217).
Тип данных - строка (string)
Все атрибуты обязательны к заполнению.
Пример массива с товарами:
var order_offers = [
{
'url': 'https://medieval-shop.io/offers/broken_sword',
'name': 'Сломанный меч',
'price': 500,
'count': 1,
'currency': 'RUB'
},
{
'url': 'https://medieval-shop.io/offers/excellent_helmet',
'name': 'Превосходный шлем',
'price': 2000,
'count': 3,
'currency': 'USD'
}
]