Перейти к основному содержимому

Пример кода Product API

Описание

Если интернет-магазин не содержит групповых товаров, в карточке товара вызывайте retailrocket.products.post({}) и передавайте всю информацию о товаре. Если требуется поддержка групповых товаров, используйте retailrocket.productsGroup.post({}).

Важно: если есть «быстрый просмотр» товара, трекинг-код нужно вызывать и при открытии этого окна.

Пример кода

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
retailrocket.products.post({
"id": <product ID>,
"name": "Example product name",
"price": 777,
"pictureUrl": "http://example.com/path/to/Photo.jpg",
"url": "http://www.example.com/path/to/productPage",
"isAvailable": true,
"categoryPaths": ["Women/Clothes/Skirts","Women/New Arrivals"],
"description": "Some text description",
"vendor": "Brand name",
"model": "Model name",
"typePrefix": "Product type",
"oldPrice": 999,
"params": {
"<custom parameter 1 name>": "<custom parameter 1 value>",
"<custom parameter 2 name>": "<custom parameter 2 value>",
"<custom parameter N name>": "<custom parameter N value>"
}
});
rrApi.view(<product ID>);
});
</script>

Обязательные параметры Product API без использования групповых товаров

ПараметрТипОписание
idintegerУникальный идентификатор продукта, только числа, до 16 символов. Не должен превышать 9 007 199 254 740 991.
namestringИмя продукта, до 120 символов. Лучше указывать полное уникальное имя.
pricenumericalЦена за единицу, может быть целой или дробной, не равна нулю.
urlstringАбсолютная ссылка на страницу продукта, до 512 символов.
pictureUrlstringАбсолютная ссылка на изображение продукта (jpeg/gif/png). Рекомендация: ≤ 400×400 или ≤ 1 МБ. До 512 символов.
isAvailableboolСтатус доступности: true товар в наличии, false нет. Значение чувствительно к регистру, используйте нижний регистр.
categoryPathsstringМассив путей до низкоуровневых категорий, через /. Пути должны соответствовать структуре меню. Для нескольких категорий передавайте массив, например ["Женщинам/Одежда/Юбки","Женщинам/Одежда/Велюр"].
descriptionstringКороткое описание. Для HTML заверните в CDATA. Не более 200 символов.

Обязательные параметры Product API с использованием групповых товаров

ПараметрТипОписание
productsJSON objectСодержит все товары группы, каждый как отдельный объект. Обязателен isAvailable. Остальные поля при отсутствии берутся из общих параметров группы.
groupIdinteger/stringИдентификатор группы вариаций одной модели. Для негрупповых можно передавать идентификатор предложения.

Дополнительные параметры

ПараметрТипОписание
vendorstringПроизводитель или бренд. Используется в рекомендациях по производителю.
oldPricenumberСтарая цена. Можно показывать в рекомендациях или считать скидку.
paramsJSON objectХарактеристики продукта. До 40 элементов "<param name>": "<value>". Значения можно использовать для фильтрации и отображать в виджетах.

Параметр для поддержки региональности

ПараметрТипОписание
stockIdstringРегион/склад/языковой идентификатор пользователя. В каждом регионе должно быть как минимум в 5 раз больше уникальных посетителей в месяц, чем число товаров в регионе.

Поддержка мультиязычности и мультивалютности

Если на сайте для пользователей доступен выбор из нескольких языков из валют, то с помощью дополнительных параметров можно реализовать поддержку такого же функционала в продуктах Retail Rocket.

<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
retailrocket.products.post({
"id": <product ID>,
"name": "Example product name",
"price": 777,
"pictureUrl": "http://example.com/path/to/Photo.jpg",
"url": "http://www.example.com/path/to/productPage",
"isAvailable": true,
"categoryPaths": ["Women/Clothes/Skirts","Women/New Arrivals"],
"description": "Some text description",
"vendor": "Brand name",
"model": "Model name",
"typePrefix": "Product type",
"oldPrice": 999,
"params": {
"<custom parameter 1 name>": "<custom parameter 1 value>",
"<custom parameter 2 name>": "<custom parameter 2 value>",
"<custom parameter N name>": "<custom parameter N value>",
"languages": {
"<language1>": {
"description": "description in language1",
"name": "name in language1",
"url": "url to product in specific language",
"<custom parameter 1 name in language1>": "<custom parameter 1 value>",
"<custom parameter 2 name in language1>": "<custom parameter 2 value>",
"<custom parameter N name in language1>": "<custom parameter N value>"
},
"<language2>": {
"description": "description in language2",
"name": "name in language2",
"url": "url to product in specific language",
"<custom parameter 1 name in language2>": "<custom parameter 1 value>",
"<custom parameter 2 name in language2>": "<custom parameter 2 value>",
"<custom parameter N name in language2>": "<custom parameter N value>"
}
},
"currencies": {
"EUR": <price in EUR>,
"USD": <price in USD>
}
}

});
});
</script>