Требования к товарному фиду
Фид обязателен для обоих путей интеграции (SDK и API). По нему ShopStory связывает товары со стримами и mini-player.
Базовые требования
- Формат:
XMLилиYML. - Доступ: публичный HTTPS URL без авторизации.
- Идентификатор товара (
id): стабильный и неизменный во времени. - В каждом товаре должен быть
vendorCodeс артикулом, который виден на карточке товара на сайте. - Кодировка:
UTF-8.
Обязательные поля товара
| Поле | Назначение |
|---|---|
id | Внутренний стабильный идентификатор товара (может быть ID CMS) |
vendorCode | Артикул товара, который видит пользователь на сайте |
name | Название товара |
url | Ссылка на карточку товара |
image / picture | Основное изображение товара |
price | Текущая цена |
Важно про артикулы с сайта
Если в id используются внутренние идентификаторы CMS (например, ID Битрикса), это нормально.
Но vendorCode обязан содержать именно сайтовый артикул (SKU), по которому команда планирует товары в эфирах.
Критичные ошибки
Проверьте перед отправкой
Эти ошибки приводят к потере данных и некорректной работе интеграции. Убедитесь, что ваш фид не содержит ни одной из них.
| Ошибка | Последствие |
|---|---|
Нестабильный id или vendorCode | Потеря связки товара со стримами и mini-player |
Отсутствует vendorCode (сайтовый артикул) | Товары не находятся по артикулам при планировании эфиров |
| Недоступный URL фида | Нет обновления каталога товаров |
| Битые ссылки на изображения | Некорректные карточки товара в стриме |
| Невалидный XML/YML | Ошибки парсинга и неполная загрузка |
Пример для YML (offer)
Сейчас (не хватает vendorCode):
<offer id="2858" available="true">
<name>Мультиактивная SOS-маска...</name>
<price>536</price>
...
</offer>
Нужно:
<offer id="2858" available="true">
<vendorCode>6327</vendorCode>
<name>Мультиактивная SOS-маска...</name>
<price>536</price>
...
</offer>
vendorCode — стандартный тег YML (Яндекс Маркет), обычно соответствует полю «Артикул» в CMS/ERP.
Рекомендуемые поля
| Поле | Зачем |
|---|---|
old_price / oldprice | Отображение скидки |
availability | Корректное состояние товара |
brand / vendor | Фильтрация и аналитика |
categoryId / product_type | Группировка и навигация |
Минимальный XML-пример
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<item>
<g:id>airwrapcomplete</g:id>
<title>Фен-стайлер Dyson Airwrap HS01 Complete</title>
<link>https://example.ru/hairdryer/dyson/airwrapcomplete</link>
<g:image_link>https://cdn.example.ru/product/airwrap.jpg</g:image_link>
<g:price>29199.00 RUB</g:price>
<g:sale_price>24999.00 RUB</g:sale_price>
<g:availability>in_stock</g:availability>
</item>
</channel>
</rss>
Проверка перед отправкой фида
curl -I <feed-url>возвращает HTTP200.- XML/YML валиден.
- Все ссылки на изображения и карточки товаров открываются без авторизации.
- Артикул на карточке товара совпадает со значением
vendorCodeв фиде.