Пример кода Product API
Описание
Если интернет-магазин не содержит групповых товаров, то на страницах карточек товара нужно вызывать код product API retailrocket.products.post({}), и передавать в него всю информацию о товаре.
В случае, если интеграция требует поддержки групповых товаров, нужно вызывать код product API 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>
<script type="text/javascript">
(window["rrApiOnReady"] = window["rrApiOnReady"] || []).push(function() {
retailrocket.productsGroup.post({
"groupId": <group ID>,
"name": "<string>",
"price": 777,
"pictureUrl": "http://example.com/path/to/Photo.jpg",
"url": "http://www.example.com/path/to/productPage",
"isAvailable": true,
"categoryPaths": ["Example/Category/Path","Another/Category"],
"description": "Some text description",
"products": {
"<product id>": {
"isAvailable": <bool>,
"name": "<string>",
"color": "<string>",
"size": "<string>",
"url": "<string>",
"pictureUrl": "<string>",
"price": <decimal>,
"oldPrice": <decimal>,
"description": "<string>",
"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>"
}
},
"<product id>": {
"isAvailable": <bool>,
"name": "<string>",
"color": "<string>",
"size": "<string>",
"url": "<string>",
"pictureUrl": "<string>",
"price": <decimal>,
"oldPrice": <decimal>,
"description": "<string>",
"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>"
}
}
},
"vendor": "Brand name",
"model": "Model name",
"typePrefix": "Product type",
"oldPrice": 999
});
rrApi.groupView([<product IDs>]);
});
</script>
Обязательные параметры Product API без использования групповых товаров
Параметр | Тип | Описание |
---|---|---|
id | integer | Уникальный идентификатор продукта. Этот атрибут может содержать только числа. Максимальная длина идентификатора - 16 символов. Значение id не должно превышать 9 007 199 254 740 991. |
name | string | Имя продукта (не более 120 символов). В качестве названия продукта мы рекомендуем указать полное уникальное имя продукта. |
price | number | Цена за единицу товара, не должна быть равна нулю. |
url | string | Абсолютная ссылка на страницу продукта. Максимальная длина URL-адреса - 512 символов. |
pictureUrl | string | Абсолютная ссылка на изображение предложения продукта. Изображения, расположенные на этих URL-адресах, должны быть jpeg, gif или png. Чтобы гарантировать правильную обработку изображений, рекомендуемый размер составляет 400x400 пикселей или менее 1 МБ. Максимальная длина URL-адреса - 512 символов. |
isAvailable | bool | Статус доступности продукта: true - Предложение на складе. Магазин готов организовать доставку / покупку продукта. false - Предложение продукта отсутствует и / или недоступно. Обратите внимание, данный параметр чувствителен к регистру. true и True являются разными значениями. Правильно указывать значение параметра с маленькой буквы. |
categoryPaths | string | Массив, состоящий из путей до товарных категорий. В качестве разделителя между категориями используется косая черта (слэш). Путь до категории должен точно отражать структуру меню сайта и вложенность категорий (должны использоваться только статичные названия категорий, лучше не использовать URL путей, фильтров из боковой панели или динамических хлебных крошек). Нужно передавать пути только до самых низкоуровневых категорий: если товар находится в категориях "Женщинам/Одежда/Юбки" и "Женщинам/Одежда", необходимо передать только один путь - "Женщинам/Одежда/Юбки". Если товар находится в нескольких категориях, то нужно передать их через запятую, например ["Женщинам/Одежда/Юбки","Женщинам/Одежда/Велюр"]. |
description | string | Описание товарного предложения. В описании можно использовать html вёрстку. Для этого необходимо "обернуть" описание в CDATA. Обратите внимание, что описание не должно превышать 200 символов. |
Обязательные параметры Product API с использованием групповых товаров
Параметр | Тип | Описание |
---|---|---|
products | JSON object | Данный параметр должен содержать все товары группы, объявленные отдельными объектами. Обязательным параметром для продукта является лишь isAvailable. По умолчанию остальные параметры, такие как имя/URL/изображение, будут подтягиваться из общего объявления параметров группы. |
groupId | integer | Идентификатор группы товаров. Объединяет все предложения, которые являются вариациями одной модели. Должен иметь одинаковое значение. Значение должно быть целым числом. Если товар не является групповым предложением, то в параметр нужно передавать идентификатор товарного предложения. |
Дополнительные параметры
Параметр | Тип | Описание |
---|---|---|
vendor | string | Производитель или бренд. Используется для формирования рекомендаций по производителю (popular by vendor). |
oldPrice | number | Cтарая цена для продукта, по желанию можно отобразить в рекомендациях, использовать для расчёта и отображения скидки. |
params | JSON object | Этот параметр предназначен для определения характеристик продукта. Каждый параметр описывается с помощью отдельного элемента в объекте params. Params может содержать 40 элементов, включенных в него. Элемент определяется как "" : "" , где: - имя параметра. - значение параметра, может содержать объект.Значения, переданные в элементе params, можно использовать для дополнительной фильтрации товарной выдачи. Дополнительные параметры участвуют в формировании рекомендаций и их можно выводить как дополнительную информацию в карточке товара. |
Параметр для поддержки региональности
Параметр | Тип | Описание |
---|---|---|
stockId | string | Регион, склад или языковой идентификатор пользователя для обработки нескольких складов, которые могут иметь разные цены и доступность товаров в разных регионах, или стран (в случае различающихся языков, валют и т.д.). В каждом регионе / stockId должно быть как минимум в 5 раз больше уникальных посетителей в месяц, чем число товаров в регионе / stockId. Например, если в регионе 10000 товаров, то посещаемость в этом регионе должна быть как минимум 50000 уникальных пользователей в месяц. |
Поддержка мультиязычности и мультивалютности
Если на сайте для пользователей доступен выбор из нескольких языков из валют, то с помощью дополнительных параметров можно реализовать поддержку такого же функционала в продуктах 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>
Updated over 1 year ago