Последнее обновление: 4 ноября 2026
Поддерживаемые URL фидов
IVO может читать товарные фиды по публичному URL в формате JSON, XML, Google Shopping RSS/XML или CSV. URL должен напрямую возвращать содержимое фида и быть доступен crawler-у IVO.md.
Структура JSON
Фид может быть массивом товаров или объектом со списком товаров, например {"products": [...]}, {"product": [...]}, {"offers": [...]} или вложенным списком. Если структура вложенная, IVO ищет самый большой список товаров.
{
"products": [
{
"sku": "LAP-14",
"name": "Laptop 14",
"price": "12999 MDL",
"description": "Компактный ноутбук",
"images": ["https://example.com/1.jpg", "https://example.com/2.jpg"]
}
]
}Структура XML
IVO поддерживает обычные XML-фиды, включая Google Shopping RSS и простые каталоги товаров.
<products>
<product>
<sku>LAP-14</sku>
<name>Laptop 14</name>
<price>12999</price>
<currency>MDL</currency>
<image>https://example.com/1.jpg</image>
</product>
</products>Структура CSV
CSV-фид должен использовать первую строку как заголовки. Запятая, точка с запятой, табуляция и вертикальная черта определяются автоматически.
sku,name,price,currency,image,availability
LAP-14,Laptop 14,12999,MDL,https://example.com/1.jpg,5Обязательные поля
Минимально обязательные поля: Внутренний ID, name и price. Валюта может быть частью цены, отдельным полем currency или значением по умолчанию.
Внутренний ID — это ваш постоянный код товара (например, sku или id); он отмечается на одной колонке в сопоставлении. По нему каждая синхронизация узнаёт тот же товар. Строки без ID пропускаются. Товары с одним ID в разных строках пропускаются и снимаются с продажи, пока у каждого не будет своего ID. Если пропущенных строк больше, чем строк с правильным ID, фид останавливается.
Строка с ID и наличием, но без названия или цены обновляет только наличие существующего товара.
Сопоставление полей
В предпросмотре интеграции IVO показывает все ключи из фида. Назначьте каждый ключ нужному полю IVO. Несколько ключей можно назначить одному полю. Для текстовых полей, например name или description, значения объединяются. Для image собираются все валидные URL изображений.
Изображения
Используйте одно целевое поле: image. Можно сопоставить ключи image, images, image_1, image_2, image_link или gallery. Массивы URL изображений поддерживаются.
Если в фиде изображения указаны путём (например, /catalog/image.jpg), а не полным адресом, заполните Базовый URL изображений в настройках интеграции: изображения будут загружены оттуда.
Значения по умолчанию
Если в фиде нет валюты, бренда, категории, наличия, изображения или описания, можно задать фиксированное значение в настройках интеграции.
Наличие
Передавайте количество в availability (или stock, quantity, qty). 0, false, out of stock и unavailable означают, что товара нет. Наличие по точкам продавца и товары, исчезающие из фида, настраиваются в интеграции; варианты описаны в руководстве по фиду.
Цена со скидкой и рекомендованная цена
Фид, который отмечает акции как Google — g:price с g:sale_price и, при необходимости, g:sale_price_effective_date, — продаёт по цене со скидкой, пока она действует, и показывает обычную цену как рекомендованную (РРЦ). Рекомендованная цена в отдельном поле (retail_price, rrp, msrp, old_price) используется как есть, если она выше цены продажи.
Акционные цены (Black Friday, Cyber Monday)
У каждой акции свои цены, отдельные от обычной цены. Пока акция принимает цены, в сопоставлении для неё появляются два поля, например Акционная цена – Black Friday и Акционное количество – Black Friday. Добавьте в фид по колонке, с любым названием, и назначьте её своему полю. Можно использовать одну колонку или обе.
sku,name,price,availability,cena_bf,kol_bf
LAP-14,Laptop 14,12999,5,9999,3
LAP-15,Laptop 15,15999,2,13999,
LAP-16,Laptop 16,17999,4,,| Поле | Значение | Результат |
|---|---|---|
| Акционная цена | число | Товар продаётся по этой цене во время акции. Цена должна быть ниже обычной. |
| Акционная цена | пусто | Товар выходит из акции. |
| Акционное количество | число | Столько единиц продаётся по акционной цене, остальные — по обычной. |
| Акционное количество | 0 | Ни одна единица не продаётся по акционной цене. Цена сохраняется на случай, когда наличие вернётся. |
| Акционное количество | пусто | Всё наличие продаётся по акционной цене. |
- Каждая колонка работает сама по себе, в том числе в фиде только с ID и наличием. Поле, которое вы не сопоставили, не меняется: колонка цены сохраняет количество из панели, а колонка количества сохраняет цену из панели. Количество без заданной цены ни на что не влияет.
- Количество — это итог по акции и часть обычного наличия. Проданные единицы вычитаются из него, поэтому передавайте итог, а не остаток. Товар с обычным наличием 0 не продаётся, каким бы ни было акционное количество.
- Когда это применяется. Фид читается каждые шесть часов, а цены меняются только пока акция показана в панели продавца. Вне этого периода колонки не учитываются, а уже заданные цены остаются.
- Что не покажет ошибку. Цена не ниже обычной не применяется, и сообщения об этом нет, поэтому проверяйте цены на странице предложений товара. Новый товар получает цену при следующей синхронизации, когда его предложение уже создано.
- Каждая акция сопоставляется отдельно. У Cyber Monday свои колонки, а новой акции нужно новое сопоставление.
Модификатор цены применяется и к акционной цене. sale_price — не акционная цена: он работает, как описано в разделе выше. Те же поля есть в сопоставлении загружаемого файла; там новый товар получает цену при следующей загрузке файла.
Вес и упаковки
Передавайте вес в упаковке с единицей (weight: 1.8 kg) и размеры упаковки (length, width, height или dimensions: 60x40x20 cm). Товар, который отправляется в нескольких упаковках, вместо них передаёт packages в том же формате, что и API для продавцов: по одной записи на упаковку, у каждой свои weight и dimensions. В XML — по одному элементу на упаковку внутри <packages>; в JSON — список; в CSV — тот же список в виде текста JSON в ячейке. Читаются и другие формы (атрибуты, префикс g: от Google, текстовая форма, package_count); они перечислены в руководстве по фиду. Недостающее оценивается автоматически.
<packages>
<package><weight>25000</weight><dimensions>200x90x12 cm</dimensions></package>
<package><weight>25000</weight><dimensions>200x90x12 cm</dimensions></package>
<package><weight>12000</weight><dimensions>120x20x10 cm</dimensions></package>
</packages>Варианты
Для характеристик вариантов сопоставляйте только явные измерения, например color, size, memory или display, с variant_option. Несколько исходных ключей можно сопоставить с variant_option.
{
"name": "Laptop 14 Ultra / 32GB / Silver",
"price": 15999,
"variant_option": ["memory:32GB", "color:Silver"]
}Если фид уже содержит надежный item_group_id, IVO может прочитать его внутренне, но не будет определять его автоматически, потому что ошибочная группировка может объединить разные товары как варианты.
Идентификация crawler-а
Запросы к фиду используют этот User-Agent:
IVO.md (+https://ivo.md/help/merchant-integration/ivo-md-crawler)