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

Передача товаров

Пример запроса​

Перед отправкой запросов получите PAT.

Для первоначальной загрузки передайте товары через update, разделив каталог на пакеты не более 10 000 событий. Затем отправляйте обновления при изменении данных о товарах.

Запрос отправляется методом POST по адресу https://catalog.retailrocket.ru/productCatalog/s2s/{partnerId}/events:publish.

Замените <PARTNER_ID> на идентификатор магазина, а <PAT> — на полученный токен. URL товара и изображения в примере замените на ссылки вашего магазина.

curl --include --request POST \
'https://catalog.retailrocket.ru/productCatalog/s2s/<PARTNER_ID>/events:publish' \
--header 'Authorization: Bearer <PAT>' \
--header 'Content-Type: application/json' \
--data-raw '{
"events": [
{
"update": {
"id": "100001",
"name": "Футболка синяя",
"isAvailable": true,
"price": 1990,
"oldPrice": 2490,
"url": "https://shop.example.com/products/100001",
"pictureUrl": "https://shop.example.com/images/100001.jpg",
"stockId": "moscow",
"categories": [
{
"id": 120,
"name": "Футболки",
"parent": {
"id": 100,
"name": "Одежда"
}
}
],
"params": [
{
"name": "Материал",
"value": "Хлопок"
}
]
}
}
]
}'
Полное обновление товара

При каждом update передавайте полное представление товара, включая все обязательные поля. Операция заменяет ранее сохранённые значения: не используйте её для отправки только изменённой цены или статуса наличия.

Данные товара​

Обязательные поля объекта update:

ПараметрТипОписание
idstringИдентификатор товара в вашей системе. Непустая строка.
namestringНазвание товара. Непустая строка.
isAvailablebooleanНаличие товара: true — в наличии, false — отсутствует.
pricenumberЦена товара.
urlstringСсылка на страницу товара.
pictureUrlstringСсылка на изображение товара.
categoriesarrayКатегории товара.
paramsarrayДополнительные параметры товара.

Дополнительно можно передать:

ПараметрТипОписание
stockIdstringИдентификатор склада или региона. Если передаётся, должен быть непустой строкой. Подробнее.
oldPricenumberЦена до скидки.
descriptionstringОписание товара, не более 500 символов.
vendorstringПроизводитель или бренд.
groupIdstringИдентификатор группы товаров. Подробнее.
barcodestringШтрихкод.
colorstringЦвет.
sizestringРазмер.

Категории​

В массиве categories передайте категории, к которым относится товар. Каждая категория содержит числовой целочисленный id (int64) и название name. Родительская категория указывается в parent с теми же полями. Для нескольких уровней вложенности передайте цепочку родителей.

Дерево категорий магазина строится на основе данных, переданных с товарами, поэтому точно указывайте иерархию категорий в parent.

Пример поля categories в объекте update:

{
"categories": [
{
"id": 120,
"name": "Футболки",
"parent": {
"id": 110,
"name": "Мужская одежда",
"parent": {
"id": 100,
"name": "Одежда"
}
}
}
]
}

В этом примере товар относится к категории «Футболки» в иерархии «Одежда → Мужская одежда → Футболки». Все три уровня передаются одним элементом массива categories с вложенными объектами parent. Если товар относится к нескольким категориям, передайте их отдельными элементами массива categories.

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

В массиве params передайте характеристики товара. Каждый элемент содержит название name и значение value.

ПараметрТипОписание
namestringНазвание характеристики, от 1 до 300 символов.
valuestringЗначение характеристики, не более 500 символов.

Пример поля params в объекте update:

{
"params": [
{
"name": "Материал",
"value": "Хлопок"
},
{
"name": "Сезон",
"value": "Лето"
}
]
}

Как вывести товар из наличия или вернуть его в наличие, описано на странице «Управление наличием».

Описание HTTP-статусов и обработки ошибок приведено на странице «Статусы и ответы».