Статья · Рич-контент

Код для рич-контента Ozon: как устроен JSON и куда его вставить

Код для рич-контента Ozon — это JSON, который визуальный редактор пишет за вас, но его можно править и собирать вручную. Разбираем структуру по официальной документации, даём короткий пример, проверенный по схеме Ozon, и показываем, куда этот код вставить.

Что такое код для рич-контента Ozon

Рич-контент на Ozon хранится как код в формате JSON. Визуальный редактор пишет его за вас: вы перетаскиваете виджеты, а в поле «Rich-контент» попадает готовый код. Писать JSON вручную нужно реже, но знать его устройство полезно: так быстрее менять ссылки и тексты, копировать рич-контент на похожие товары и загружать его через шаблон или API. Как работать в визуальном редакторе, — в статье про рич-контент на Ozon.

Официальное описание кода лежит на сайте конструктора rich-content.ozon.ru, в разделе «Документация». Там есть ссылка на JSON Schema — машинное описание всех полей — и раздел «Описание типов» с модулями для версий 0.2 и 0.3. Шаблон в песочнице сейчас собран в версии 0.3.

Структура JSON: content и version

Код рич-контента — это объект из двух обязательных полей:

  • content — массив виджетов. Они показываются в карточке сверху вниз в том порядке, в каком стоят в массиве.
  • version — версия формата. В актуальном шаблоне — 0.3, числом, без кавычек.

У каждого виджета есть поле widgetName — тип виджета. У части виджетов есть ещё type — вариант оформления.

Виджеты в коде рич-контента

widgetNametype или темаЧто это
raShowcaserollкартинка без текста
raShowcasebillboardширокая картинка с заголовком и текстом
raShowcasechessкартинка и текст рядом, в шахматном порядке; от 2 до 6 блоков
raShowcasetileXL, tileL, tileMплитки разного размера с подписями
raShowcasetileSecondaryмаленькие картинки-иконки с подписями
raTextBlock—текстовый блок с заголовком
listtheme: bullet, number, imageсписок с точками, номерами или иконками
raTable—таблица
raVideoembeddedвидео по прямой ссылке

В схеме есть и вариант видео youtube с полем id, но справка для продавцов описывает только видео по прямой ссылке. Ozon просит использовать только виджеты, которые есть в редакторе.

Поля картинки, текста и видео

Картинка (объект img внутри блока):

  • src и srcMobile — прямые ссылки на картинку для компьютера и для телефона. Оба поля обязательны;
  • width, height, widthMobile, heightMobile — размеры. Их можно не указывать: тогда Ozon применит рекомендуемое соотношение сторон;
  • alt — текст, который покупатель увидит, если картинка не загрузится;
  • position и positionMobile — ширина в блоке: width_full, width_half, width_one_third, width_one_fourth, а также fill и to_the_edge.

Рядом с img в блоке может стоять imgLink — ссылка при клике на картинку. По правилам Ozon она ведёт только на другую карточку Ozon.

Текст. Заголовок и текст блока — поля title и text. Внутри — массив items из кусков: {"type": "text"} — обычный текст, {"type": "link"} — ссылка с полем href, {"type": "br"} — перенос строки. Оформление задают поля size (size1–size7), color (color1–color4) и align (left, center, right).

Видео. Для raVideo с типом embedded обязательны width, height и массив sources: в каждом источнике поле src со ссылкой и type с типом файла, например video/mp4 или video/webm. В шаблоне песочницы ролик дан двумя источниками — WebM и MP4.

Пример короткого кода для рич-контента Ozon

Код ниже собран по схеме версии 0.3 и по образцу виджетов из шаблона песочницы: широкая картинка с подписью и текстовый блок. Мы проверили его на соответствие JSON Schema Ozon. Ссылки example.com замените на прямые ссылки на свои картинки.

{"content": [{"widgetName": "raShowcase", "type": "billboard", "blocks": [{"imgLink": "", "img": {"src": "https://example.com/1-pc.jpg", "srcMobile": "https://example.com/1-mob.jpg", "alt": "Куртка на модели, вид спереди", "position": "width_full", "positionMobile": "width_full"}, "title": {"items": [{"type": "text", "content": "Тёплая и лёгкая"}], "size": "size4", "align": "left", "color": "color1"}, "text": {"items": [{"type": "text", "content": "Утеплитель 200 г/м², вес куртки 900 г."}], "size": "size2", "align": "left", "color": "color1"}}]}, {"widgetName": "raTextBlock", "theme": "primary", "padding": "type2", "gapSize": "m", "title": {"items": [{"type": "text", "content": "Уход"}], "size": "size5", "color": "color1"}, "text": {"items": [{"type": "text", "content": "Стирка при 30 °C, не отбеливать."}], "size": "size2", "align": "left", "color": "color1"}}], "version": 0.3}

Что здесь важно:

  • у картинки есть обе ссылки — src и srcMobile, без второй код не пройдёт проверку схемы;
  • заголовок и текст записаны через items, как в шаблоне песочницы;
  • version стоит в конце числом 0.3.

В справке Ozon Global есть более старый пример, где заголовок записан просто строкой. Это формат версии 0.2. Если копируете чужой код, смотрите на поле version и не смешивайте форматы двух версий.

Как вставить код в карточку

  • В личном кабинете. Товары → Список товаров, ⋮ у товара → «Редактировать товар», вкладка «Медиа», поле «Rich-контент». Вставьте код, нажмите «Далее» и сохраните товар.
  • В приложении для продавцов. Готовый JSON можно вставить в карточку и с телефона.
  • Через XLS-шаблон. Код вставляется в столбец «Rich-контент JSON».
  • Через API. В документации Seller API рич-контент — это характеристика «Rich-контент JSON» с id 11254. Товары создают и обновляют методом POST /v3/product/import. В Базе знаний для продавцов из России ещё упоминается /v2/product/import, но в актуальной документации API его нет — ориентируйтесь на v3.

Если код не соответствует шаблону, при загрузке через API придёт ошибка invalid_rich_content_json. Ozon советует в этом случае проверить код в песочнице.

Как проверить код перед загрузкой

  1. Откройте песочницу на rich-content.ozon.ru и нажмите «Открыть редактор».
  2. Вставьте свой код вместо шаблона. Результат сразу появится над редактором.
  3. Если в правом нижнем углу надпись «Некорректный JSON» — ищите ошибку в синтаксисе.
  4. Переключите режимы «Десктоп» и «Мобильный» и проверьте обе версии.
  5. Убедитесь, что все картинки загрузились: битая ссылка в песочнице видна сразу.

Черновик в песочнице сохраняется, но только последняя версия. Если готовите код для нескольких товаров, храните каждый в отдельном файле.

Частые ошибки в коде рич-контента

  • Типографские кавычки. Код, скопированный из текстового редактора, может получить «ёлочки» или “лапки” вместо прямых кавычек — JSON их не понимает. Пишите и правьте код в простом текстовом редакторе.
  • Запятые. Лишняя запятая после последнего элемента массива или пропущенная между виджетами ломает весь код.
  • Скобки. Ozon прямо советует следить, чтобы каждой открытой скобке соответствовала закрытая.
  • Нет srcMobile. Мобильная ссылка обязательна для каждой картинки.
  • Ссылка не на файл. Нужна прямая ссылка на .jpg, .jpeg, .jpe или .png; Яндекс.Диск и wampi.ru не подходят.
  • Шахматка из одного блока или из семи. По справке Ozon в chess от 2 до 6 блоков.
  • version строкой. "0.3" в кавычках — это строка, а схема ждёт число.

Картинки для кода готовят так же, как для визуального редактора, — размеры в статье про размеры рич-контента Ozon, правила модерации — в статье о требованиях к рич-контенту Ozon.

Частые вопросы

Где взять код для рич-контента Ozon?

Соберите рич-контент в визуальном редакторе и нажмите «Скачать» или «Скопировать JSON». Либо возьмите шаблон в песочнице rich-content.ozon.ru и замените в нём ссылки и тексты.

Куда вставить JSON рич-контента?

В карточке товара на вкладке «Медиа» в поле «Rich-контент», в XLS-шаблоне — в столбец «Rich-контент JSON», через API — в характеристику «Rich-контент JSON» методом /v3/product/import.

Что значит «Некорректный JSON»?

В коде синтаксическая ошибка: лишняя или пропущенная запятая, незакрытая скобка, неправильные кавычки. Песочница показывает эту надпись в правом нижнем углу.

Какая версия кода рич-контента актуальна?

Шаблон в песочнице Ozon собран в версии 0.3. В документации описаны версии 0.2 и 0.3, и у них разный формат заголовков.

Можно ли один код использовать для нескольких товаров?

Да. Удобно собрать код для одного товара, а для похожих заменить ссылки на картинки и тексты. Через XLS-шаблон и API код загружают сразу на много товаров.

Подготовим фото для каждого виджета

Снимем товар так, чтобы из кадров получились и широкие картинки для компьютера, и квадраты для телефона.

Фото для рич-контента →

Источники: Ozon — «Документация к rich-контенту», Ozon — «Rich-контент», Ozon — «Добавление rich-контента JSON» (Ozon Global), Ozon — Документация Seller API.

Читайте также