Передача товарных данных платформе
Внутренний каталог и карточки могут быть согласованы, но внешняя площадка принимает данные по собственным правилам. Нужны правильные поля, идентичность вариантов, условия продажи и технически доступные страницы. В этом уроке подготовим учебный TSV-фрагмент в терминах Google Merchant и отделим сопоставление полей от готовой публикации предложения.
«ВелоМастер», домен .example, товары и цены вымышленные. У нас не подтверждены страна размещения, доступность программы для бизнеса, GTIN, изображения, доставка и политики магазина. Исходники lesson-24 находятся в архиве курса. Кабинеты, загрузка фида, API, модерация и проверки площадок не выполняются. Полученный фрагмент прямо обозначен как неготовый к отправке.
Одно предложение связывается с конкретным товаром
Внутренние sku, name, url и price_rub можно сопоставить с id, title, link и price. Числовую цену форматируем вместе с валютой, например 1290.00 RUB. Это формат учебных данных, а не доказательство разрешённого рынка или исполнения заказа в конкретной стране.
У шлема два SKU. Строка M ведёт на /shop/products/vm-h1/?size=M, строка L — на соответствующий L. У них один учебный item_group_id VM-H1, но разные size и stock. Базовый canonical страницы не отменяет необходимости показать по ссылке именно заявленный вариант.
id title link price availability item_group_id size color brand mpn
VM-C9 Цепь VM-C9 для 9-скоростной трансмиссии https://velomaster.example/shop/products/vm-c9/ 1290.00 RUB in_stock ВелоМастер VM-C9
VM-C10 Цепь VM-C10 для 10-скоростной трансмиссии https://velomaster.example/shop/products/vm-c10/ 1590.00 RUB out_of_stock ВелоМастер VM-C10
VM-H1-M Чёрный шлем VM-H1, M https://velomaster.example/shop/products/vm-h1/?size=M 2990.00 RUB in_stock VM-H1 M чёрный ВелоМастер VM-H1-M
Листинг показывает только часть пяти строк и часть возможных обязательных полей. В архиве merchant-fragment.tsv содержит все пять учебных SKU. Это не готовый feed: изображения отсутствуют, допустимость предложений и условия доставки не подтверждены. in_stock здесь кандидат сопоставления для положительного остатка и заданного приёма заказов; реальная готовность исполнения требует проверки.
Спецификация товарных данных Google задаёт поля и условия их применения. Мы выбираем ограниченный фрагмент для объяснения связи с реестром. Нельзя считать отсутствие остальных столбцов универсальным разрешением передать любой товар на площадку.
Наличие согласуется с действиями магазина
У VM-C10 остаток ноль, заказ не принимается, срок неизвестен. Поэтому учебное соответствие — out_of_stock, а не preorder или backorder. Ожидание будущего поступления не равняется действующему приёму заказа. Значения и дополнительные условия описаны в справке availability.
Для четырёх остальных SKU реестр указывает положительный остаток и приём заказов. Однако известно только условие учебной модели. Чтобы фактически использовать in_stock в программе, понадобится возможность своевременно исполнить покупку и подтверждённые условия доставки по выбранному рынку. В submission-gate.json эти вопросы остаются незакрытыми.
Цена тоже должна совпадать с тем, что получает посетитель. Для VM-H1-M это 2990 RUB, а не цена L плюс услуга подбора. Для VM-C9 это товар 1290 RUB, отдельно от установки за 1200. Значение в файле не должно превращать выбранный комплект услуг в цену одного товара без ясной договорённости.
SKU не становится идентификатором производителя
Учебные brand «ВелоМастер» и MPN, совпадающие с SKU, заданы только как вымышленная идентичность. В реальном магазине нужно подтвердить бренд и номер производителя. Справка MPN прямо связывает это поле с производителем и запрещает угадывать значение. Имя продавца и внутренний складской код не подменяют такие сведения автоматически.
GTIN неизвестен, и мы не добавляем выдуманный штрихкод. Также не ставим identifier_exists=false только потому, что в текущем JSON нет поля gtin. Отсутствие сведений у редактора отличается от доказанного отсутствия идентификаторов у изделия. Это различие зафиксировано в руководстве об уникальных идентификаторах.
Поле identifier_exists не включено во фрагмент. Такое отсутствие не объявляет предложение корректным: остаётся задача подтвердить идентичность и применимые требования категории. Нельзя закрыть ошибку платформы значением false, если реальный товар имеет присвоенный GTIN. В лаборатории нет настоящего изделия, поэтому подтверждать его идентификаторы сейчас нечем.
Страна и программа оцениваются отдельно от валюты
RUB используется в общей учебной модели цен. Это не означает, что вымышленный бизнес допущен к рекламе или бесплатным размещениям на выбранном рынке. Нужно отдельно проверить целевую страну, доступную программу, текущие ограничения аккаунта, язык, валюту и возможность продажи.
Таблица поддерживаемых языков и валют является исходным документом для проверки, но не заменяет статус конкретного магазина. В нашем уроке страна остаётся невыбранной, а допуск не подтверждён. Мы не создаём кампанию и не даём обещания, что файл с RUB будет принят.
Доставка и политики магазина тоже неизвестны. Нельзя придумать бесплатную доставку по всей стране, срок два дня или готовые условия возврата ради закрытия полей. Сначала нужны действительные условия бизнеса. Поэтому фрагмент остановлен на стадии редакционного сопоставления и не называется завершённым источником продаж.
Разные платформы требуют разных преобразований
TSV с названиями Merchant не является автоматически YML для Яндекса. В Яндекс Товарах действуют собственные требования к предложениям, в том числе обработка товаров, которых нет и которые нельзя заказать. Справка по ошибкам Яндекс Товаров. Нельзя механически отправить туда эту же таблицу, сохранив все строки и значения.
Общий реестр может питать несколько преобразований, но правила включения и форматы выбираются по каналу. Карточка VM-C10 при этом остаётся полезной на сайте, хотя состояние предложения ограничивает участие во внешней программе. Сопровождение сайта и фильтрация внешнего источника не являются одной операцией удаления.
Передача начинается после закрытия неизвестных условий
Предметный gate перечисляет неготовые части: реальные адреса и изображения, идентификаторы, страна и программа, доставка, политики, выбранные варианты, совпадение цены и возможности заказа. Каждая задача получает основание подтверждения, а не формальную отметку «готово». Сейчас все сведения о допуске остаются неизвестными.
Даже будущая техническая загрузка файла ещё не подтвердит показ и качество предложений. Площадка может вернуть диагностику или отклонить товар. Реальный результат нужно читать и связывать с исходным полем, не переписывая данные выдуманными значениями ради прохождения. Сейчас таких сообщений нет: файл создан для объяснения, а не принят системой.
Ожидаемый результат урока — понятное соответствие между SKU, вариантом, страницей и строкой внешнего формата, а также явная граница готовности. Следующие запланированные главы рассмотрят структурированные данные и локализацию рынка. Они смогут опираться на этот реестр, сохраняя различие подтверждённого факта, редакционного решения и ещё неизвестного условия продажи.