/productsКаталог витрины
Товары магазина с размерами, ценами и доступными остатками.
Магазин определяется заголовком витрины. Без него платформа не станет гадать и вернёт пустой список — это защита от случайной выдачи чужого каталога.
Заголовки
| Параметр | Тип | Обязателен | Описание |
|---|---|---|---|
X-Site-Source | string | да | Код магазина. Без него ответ будет пустым, хотя код останется успешным. |
Параметры запроса
| Параметр | Тип | Обязателен | Описание |
|---|---|---|---|
public | true | нет | Отсечь скрытые товары и товары «только по ссылке». Сервер его не требует — без него просто вернёт лишнее, ошибки не будет. Витрина обязана передавать его по смыслу. |
category | string | number | нет | Число понимается как идентификатор категории, строка — как её точное название. |
search | string | нет | Поиск по названию и адресному имени. |
hasDiscount | true | false | нет | Только со скидкой либо только без неё. |
collectionId | string | нет | Товары одной коллекции. |
sortBy | string | нет | Порядок. Неизвестное значение молча заменяется порядком по умолчанию.name_asc · name_desc · price_asc · price_desc · newest · oldest |
inStock | true | false | нет | Служебный фильтр по ручному флагу наличия — витрине обычно не нужен. |
soldout | true | false | нет | Служебный фильтр по пометке «продано». |
isDeleted | true | false | нет | Служебный фильтр удалённых товаров. |
brand | string | нет | Код магазина как альтернатива заголовку X-Site-Source. Указанный явно brand имеет приоритет над заголовком. |
[
{
"id": "123",
"slug": "futbolka-basic",
"name": "Футболка Basic",
"description": "Хлопок 100%",
"price": 199000,
"discount": 10,
"discountType": "percent",
"images": ["https://cdn.amarix.ru/products/123/1.jpg"],
"category": { "id": 5, "name": "Футболки", "slug": "futbolki" },
"sizes": [
{
"id": 45,
"size": "M",
"quantity": 12,
"availableQuantity": 12,
"reservedQuantity": 0,
"variantId": "v-1",
"isVisible": true,
"salesLimitLeft": 5,
"price": 199000,
"discount": 10,
"discountType": "percent"
}
],
"productGroups": [
{
"id": 7,
"name": "Цвета",
"items": [
{ "id": "124", "name": "Футболка Basic (черная)", "slug": "futbolka-basic-black", "image": "https://cdn.amarix.ru/products/124/1.jpg", "label": "Черный" }
]
}
],
"inStock": true,
"productionTime": 3,
"assemblyTime": 1,
"isDeleted": false,
"brand": "acme",
"brandId": 1,
"material": "Хлопок",
"care": "Стирка 30°",
"soldout": false,
"freeShipping": false,
"salesLimit": 50,
"isLinkOnly": false,
"collectionId": 12,
"sizeGrid": [],
"badgeText": "Новинка",
"badgeColor": "#FF0000",
"popularityRank": 4,
"displayOrder": 0,
"imageMetadata": {},
"relatedProductIds": [125, 126]
}
]Ошибки
| Код | Ответ сервера | Когда возникает | Что делать |
|---|---|---|---|
| 200 | [] | Заголовок магазина не передан или код неизвестен. | Это не ошибка, а осознанный отказ угадывать. Проверьте заголовок, если список неожиданно пуст. |
| 500 | {"error":"Internal server error"} | Сбой на стороне платформы. | — |