Вивантаження каталогу на Rozetka: XML-фід

26 хв

XML-фід для Rozetka — це файл, з якого майданчик заводить і оновлює ваші картки товарів. Ви віддаєте Rozetka посилання на файл, вона забирає його за розкладом, і в кабінеті продавця з'являються товари з назвами, описами, фотографіями, характеристиками й цінами. Формат — YML, той самий, що використовують інші майданчики, але з трьома доповненнями, без яких Rozetka фід не прийме як слід.

Це один із трьох різних обмінів із Rozetka, і плутають їх постійно. Фід створює картки. API оновлює ціни й залишки товарів, які на майданчику вже є, і повертає статуси замовлень. А імпорт із Rozetka — навпаки, забирає каталог із майданчика до вас.

Де це у програмі

Меню
Довідники → Вивантаження даних
Створити
додати шаблон → тип Rozetka.UA
Налаштувати
картка шаблону: відбір товарів, шаблон XML, ім'я файлу, розклад

Загальна механіка шаблонів — відбір товарів, доставка файлу, розклад, пробний прогін — однакова для всіх типів і описана в статті про вивантаження товарів. Сам формат YML розібраний у статті про вивантаження у форматі YML. Тут — тільки те, що стосується Rozetka.

Чим фід Rozetka відрізняється від звичайного YML

Коли ви створюєте шаблон типу Rozetka.UA, програма готує XML-шаблон із трьома відмінностями від базового YML. Знати їх варто, бо саме через них фід або приймається майданчиком як слід, або заводить товари «кудись не туди».

ВідмінністьЯк виглядаєНавіщо
Ідентифікатор категорії майданчикау категорії з'являється атрибут rz_idRozetka кладе товар у свою категорію, а не у вашу. Без цього числа майданчик не знає, куди подіти товар
Ідентифікатор характеристики майданчикау характеристики з'являється атрибут paramidRozetka зіставляє вашу характеристику зі своєю за номером, а не за назвою — «Діагональ» і «Діагональ екрану» для неї різні речі
Кількістьдодається вузол stock_quantityу базовому YML є тільки ознака «є / немає», а Rozetka показує покупцеві залишок числом

Ці три речі програма підставляє в шаблон сама, коли ви обираєте тип Rozetka.UA. Переписувати шаблон руками не потрібно — але якщо ви його вже правили, звіряйтеся з цією таблицею: зникнення rz_id чи paramid зовні виглядає як «фід начебто нормальний, а товари на майданчику не заводяться».

Фрагмент шаблону XML картки товару Rozetka.UA з атрибутом rz_id у рядку категорії
1rz_id — ID категорії Rozetka
  1. Сюди підставляється номер категорії з довідника Rozetka — без нього майданчик не знає, куди покласти товар.

Головна підготовка: зіставити категорії й характеристики

Числа для rz_id і paramid беруться не з повітря — вони зберігаються у вашому каталозі, у полях категорій і характеристик. Заповнюються ці поля один раз, у вікні зіставлення з довідником майданчика: ви кажете, якій категорії Rozetka відповідає ваша категорія, і якій характеристиці Rozetka — ваша характеристика.

Порядок дій такий:

  1. Зіставте категорії. Достатньо зіставити ті, товари з яких ви збираєтеся продавати на майданчику, — решта може лишатися порожньою.
  2. Зіставте характеристики всередині зіставлених категорій. Rozetka вимагає різний набір характеристик для різних категорій, і обов'язкові з них краще закрити повністю.
  3. Тільки після цього робіть перше вивантаження.

Найчастіша помилка першого запуску — вивантажити фід до зіставлення. Файл сформується, Rozetka його візьме, але товари або не заведуться, або поїдуть у випадкову категорію, і розбиратися доведеться вже на боці майданчика. Перевірити просто: відкрийте готовий файл і подивіться, чи не порожній rz_id у категорій.

Що їде в товар

Склад товару в фіді стандартний для YML: ідентифікатор, ознака наявності, посилання на товар, ціна й валюта, категорія, назва, виробник, артикул виробника, опис, фотографії, характеристики. До цього Rozetka додає кількість.

Дві дрібниці, які варто перевірити перед першим прогоном:

  • Посилання на товар. У заготовці шаблону стоїть приклад адреси. Якщо його не замінити на адресу вашого сайту, у фіді поїдуть посилання в нікуди.
  • Штрихкод. У заготовці його немає. Якщо категорія Rozetka вимагає штрихкод, додайте рядок із макросом {ean} у шаблон товару самі — інакше він у файл не потрапить.

Ще дві величини беруться не звідти, звідки їх зазвичай чекають:

  • Кількість у вузлі stock_quantity — це поле «Кількість» картки товару, як воно є. Числа з вікна «Налаштування оновлення за наявністю товару» у XML-фід не потрапляють: там вони працюють на інші типи вивантаження. Нуль у картці дасть нуль у фіді, навіть якщо статус наявності каже «В наявності».
  • Ознака наявності available береться саме з того вікна: для кожного статусу наявності у фід іде або ваш текст із колонки, або true для статусу з ознакою «в наявності» і false для решти. Для статусу, вимкненого в цьому вікні, працює запасне правило: true тільки для «В наявності», для решти — false.
Вікно «Налаштування оновлення за наявністю товару» шаблону Rozetka.UA
1Назва на сайті (у файлі)
2Активність налаштування
3Кількість
  1. Назва на сайті (у файлі) — текст звідси потрапляє в available фіду дослівно; порожня комірка означає true/false за ознакою статусу.
  2. Активність налаштування — знята галочка вмикає запасне правило (true лише для «В наявності»).
  3. Кількість — у XML-фід Rozetka це число не потрапляє, stock_quantity береться з картки товару.

Що програма обріже саме для Rozetka

Коли шаблон розпізнано як розеточний, три речі в товарі обробляються інакше, ніж у звичайному YML. Робиться це мовчки: окремих рядків у журналі про це немає.

  • Фотографії — не більш ніж 15. Решта у файл не піде, навіть якщо в картці товару їх тридцять. Однакові посилання рахуються за одне. Якщо в полі «Максимальна кількість фотографій» стоїть менше число, працює воно.
  • Значення характеристики — не довше за 255 символів. Довше значення обрізається, і на майданчик їде обрізок.
  • З тексту прибираються картинки й посилання. Теги <img loading="lazy" alt="Вивантаження каталогу на Rozetka XML фід" title="Вивантаження каталогу на Rozetka XML фід"> і <a> вирізаються з полів товару, які підставляються в шаблон, — насамперед з опису.

«Розеточним» шаблон вважається не за типом у списку, а за вмістом: програма шукає rz_id= у рядку категорії, слово Rozetka в шаблоні рядка характеристики або «rozetka» в описі шаблону. Достатньо однієї з трьох ознак. Якщо ви переписали шаблон і не лишили жодної, три обмеження вище перестають діяти — файл на вигляд той самий, а у фід поїдуть усі фото й описи з посиланнями.

Куди віддати готовий файл

Rozetka забирає фід сама, за посиланням. Тому файл треба покласти туди, звідки майданчик його дістане: на ваш сайт, на FTP або у хмарне сховище — усі ці способи доставки налаштовуються в картці шаблону й описані в загальній статті про вивантаження.

Далі порядок такий: копіюєте адресу готового файлу, вставляєте її в кабінеті продавця Rozetka й задаєте там частоту оновлення. В Elbuz паралельно ставите свій розклад — щоб до моменту, коли майданчик прийде за файлом, той був свіжий.

У скопійованому посиланні щоразу інший хвіст ?uuid=… — це мітка проти кешування. Сама адреса файлу від прогону до прогону не змінюється, тому в кабінеті Rozetka посилання переставляти не треба.

Не ставте в ім'я файлу макроси {DATE}, {DATETIME} чи {TIME}. З таким макросом кожен прогін кладе у сховище файл під новим ім'ям, а посилання, яке ви віддали Rozetka, лишається на вчорашньому. Далі залежить від сховища: якщо воно дає прибрати зайве, після вдалого заливання нового файлу програма видаляє з теки цього шаблону інші файли — і посилання перестає працювати; якщо ні, старий файл лишається, і Rozetka далі забирає за посиланням той самий застарілий фід. Фіду потрібне постійне ім'я. У нового шаблону Rozetka.UA воно вже заповнене — export_rozetka.xml; якщо поле «Ім'я файлу» очистити, файл поїде під іменем export_elbuz.xml, і посилання теж зміниться.

Розклад в Elbuz має спрацьовувати частіше або хоча б не рідше, ніж Rozetka приходить за файлом. Інакше майданчик регулярно забиратиме вчорашні ціни, і виглядатиме це як «Elbuz не оновлює дані».

Повторне вивантаження: що воно перезапише

Фід не веде історії. Кожен прогін збирає файл з нуля: програма бере всі товари, що проходять відбір шаблону, і підставляє їх у шаблон XML із поточними значеннями каталогу. Порівняння з минулим файлом немає: кожен товар, що потрапив у файл, їде повним набором вузлів шаблону — надіслати окремо одне змінене поле фід не вміє. Звузити можна лише перелік товарів — прапорцем «Вивантажувати лише нові дані».

Той самий товар при цьому щоразу їде під тим самим ідентифікатором: у id вузла offer підставляється внутрішній UUID товару Elbuz, і прогони його не міняють — саме за ним майданчик бачить оновлення старої позиції, а не нову. А от товар, видалений у Elbuz і заведений заново, отримує інший UUID, і для Rozetka це вже інший товар.

Звідси просте правило: на майданчик іде те, що є в шаблоні товару. Якщо назви ви ведете в кабінеті продавця, а не в Elbuz, приберіть із шаблону вузол <name> — чого немає у файлі, того Rozetka з фіда й не отримає. Так само з описом, ціною, фотографіями. Це єдиний спосіб закріпити значення на боці Elbuz: галочки «не оновлювати це поле» у вивантаженні немає.

Що майданчик робить з отриманими значеннями — його правило, а не наше: частина змін лягає в кабінеті в розділи «на модерації» та «оновлення очікують підтвердження». Побачити це, не заходячи в кабінет, можна завантаженням каталогу Rozetka: воно приносить стан кожної картки — з помилками, невалідна, на модерації, прихована модератором — і пише зведення в журнал. Докладніше — у статті про імпорт із Rozetka.

Коли товар зникає з фіда

Товар перестає потрапляти у файл, щойно перестає проходити відбір шаблону. Найчастіші причини:

  • у картці товару знято прапорець вивантаження;
  • у товару не лишилося жодної активної категорії з дозволеним вивантаженням;
  • товар не проходить умови «Додаткового фільтра» шаблону — у новому шаблоні там за замовчуванням стоїть «Активність = так»;
  • увімкнено «Вивантажувати лише нові дані», і товар уже вивантажувався;
  • товар є товаром-опцією (варіантом), а в шаблоні не відмічено «Опції» — у новому шаблоні ця галочка знята;
  • у шаблоні обрано магазин, до складу якого цей товар не входить, або склад, на якому в товару немає ані залишку, ані статусу «В наявності».

Важливо, чим це відрізняється від «зняти з продажу». У фіді немає команди «видалити товар»: єдине, чим файл говорить про продаж, — ознака наявності й кількість усередині самого товару. Позиція, якої у файлі немає, не несе майданчику взагалі жодного сигналу. Тому, якщо потрібно саме припинити продаж, керованіший шлях — лишити позицію у фіді зі статусом наявності, який дає available="false", а не викидати її з відбору.

Якщо товари вже поїхали не в ту категорію

Добра новина: виправляти доведеться не товари. Номер категорії Rozetka лежить у вашій категорії, а не в кожному товарі, тому одна правка в зіставленні міняє rz_id одразу всім її товарам. Порядок дій такий:

  1. Відкрийте вікно зіставлення й знайдіть категорію з неправильним номером — саме вона й відправила товари не туди.
  2. Замініть зіставлення на правильне.
  3. Запустіть вивантаження ще раз і дочекайтеся, поки Rozetka забере свіжий файл за своїм розкладом.

Кнопка «Запустити автоматичне встановлення зв'язків» тут не допоможе: автопідбір заповнює тільки порожні зіставлення й шукає збіг за точною назвою категорії в довіднику майданчика. Категорію, у якої номер уже стоїть, він не чіпає — навіть якщо номер неправильний. Помилкове зіставлення замінюють руками.

З характеристиками той самий підхід, але зіставлень у них два рівні: загальне для характеристики й окреме всередині конкретної категорії. Зіставлення в категорії головніше — якщо воно заповнене, у paramid поїде саме воно, а загальне буде проігноровано. Тому характеристику, яка в одній категорії Rozetka значить одне, а в іншій інше, зіставляють на рівні категорії.

Якщо прогін обірвався

Файл збирається не одразу на місці видачі. Програма пише його у тимчасову теку акаунта, дописуючи порціями по 500 товарів, і тільки коли файл готовий цілком, він їде у сховище на постійну адресу. Тому обрив посеред прогону не псує того, що вже віддано Rozetka: за посиланням лишається файл минулого прогону — цілий, хоч і вчорашній. Напівзібраного файлу майданчик не побачить.

Як розпізнати обрив:

  • Натиснули «Зупинити». Прапорець зупинки перевіряється після кожного товару, тож прогін обривається на найближчому, а в журнал іде «Вивантаження перервано користувачем!». Це попередження, а не помилка: червоного рядка про незавершене вивантаження не буде. За посиланням лишається файл минулого прогону, а колонка «Останнє вивантаження» — зі старою датою.
  • Файл не залився у сховище. Після рядка «Завантажуємо файл у хмарне сховище» в журналі з'являється помилка «Файл не завантажився в хмарне сховище. Попередній файл і посилання на нього залишено без змін», а за нею — «Вивантаження даних НЕ завершено: файл не сформовано». Старі файли програма прибирає тільки після того, як новий уже залито, тож Rozetka далі забирає файл минулого прогону за тим самим посиланням, а колонка «Останнє вивантаження» лишається зі старою датою.
  • Прогін не дійшов до кінця з іншої причини. У журналі з'явиться червоний рядок «Вивантаження даних НЕ завершено: файл не сформовано», а колонка «Останнє вивантаження» лишиться зі старою датою.

Для порівняння, вдалий прогін закінчується трьома рядками поспіль: «Завантажуємо файл у хмарне сховище», посилання «Завантажити файл ‹ім'я›» і «Вивантаження даних завершено».

такнітакніні — натиснули«Зупинити»ні — порожній відбір абозбійтакнітакЗапуск шаблонуRozetka.UAЗапуск за розкладом, авже вивантажується іншийшаблон?Скасовано вивантаженняза розкладом — рядок ужурналіЗапуск за розкладом, ашаблон вимкнено вколонці «Стан»?Шаблон пропущеномовчки — файл запосиланням не змінюєтьсяФайл збирається втимчасовій теці акаунта,дописується порціями по500 товарівПрогін дійшов до кінця?Вивантаження перерванокористувачем —попередження, запосиланням лишаєтьсяфайл минулого прогонуВивантаження даних НЕзавершено — запосиланням лишаєтьсяфайл минулого прогонуНовий файл залився усховище?Файл не завантажився вхмарне сховище —Вивантаження даних НЕзавершено, попереднійфайл і посилання без змінПосилання й датавивантаження в шаблоніоновлюються, інші файлитеки шаблонуприбираються, якщосховище це дозволяєЯкщо увімкнено«Вивантажувати лишенові дані» — товарипрогону позначаються яквивантаженіВивантаження данихзавершено
Дві верхні розвилки стосуються лише запуску за розкладом — ручний запуск одного шаблону їх минає. Далі дивіться на ромб «Прогін дійшов до кінця?»: гілка «ні» не чіпає файл за посиланням, а старі файли зі сховища прибираються тільки після того, як новий файл уже залито

Повторювати обірваний прогін безпечно: наступний запуск збирає файл заново, нічого не дописуючи до попереднього. Позначку «уже вивантажено» обірваний прогін теж не ставить — її програма проставляє останнім кроком, уже після заливання файлу.

Вимкнути шаблон чи видалити

Перемикач у колонці «Стан» зупиняє не фід, а його перезбирання. Різниця помітна саме з боку Rozetka.

  • Вимкнули шаблон. Розклад і пункт «Вивантажити всі шаблони» його пропускають — мовчки, без рядка в журналі. Файл за посиланням лишається таким, яким його зібрав останній прогон, і Rozetka продовжує забирати його за своїм розкладом: ціни й залишки застигають на момент вимкнення. Помилки майданчик не бачить — файл на місці й читається.
  • Запустити вимкнений шаблон руками все одно можна — кнопка запуску працює незалежно від перемикача. Так перевіряють канал, який ще налаштовується.
  • Увімкнули назад. Відновлювати нічого не треба: найближчий прогін за розкладом збере файл на ту саму адресу.
  • Видалили шаблон. Зникають його налаштування, налаштування наявності, реквізити FTP і прив'язка до розкладу. А сам файл у сховищі не видаляється — посилання лишається робочим і віддає останній зібраний файл скільки завгодно довго. Щоб Rozetka справді перестала брати ваш каталог, приберіть посилання в кабінеті продавця.

Скільки поміститься у фід

Стелі за кількістю товарів немає: скільки пройде відбір, стільки й піде у файл. Винятків два — демонстраційний акаунт, де у вивантаження потрапляє не більш ніж 100 товарів, і обмеження на вміст картки з розділу вище: 15 фотографій і 255 символів на значення характеристики.

Скільки триватиме прогін, залежить від каталогу й сервера — цього ми не міряли й чисел не називаємо. Зате видно, що він живий: програма дописує файл і звітує кожні 500 товарів рядком «Вивантаження товарів ‹N› із ‹M›». Число росте — прогін іде.

Масовий прогін «Вивантажити всі шаблони» виконується у фоні, вікно можна закрити, шаблони в ньому йдуть по черзі. Два вивантаження за розкладом одночасно не запускаються: друге напише в журнал «Скасовано вивантаження за розкладом, причина - вивантажується інший шаблон (конфлікт обробки даних).» Якщо фід для Rozetka великий, рознесіть його з іншими шаблонами в часі.

Фід чи API — що коли

У Rozetka є другий канал обміну, і він вирішує інші завдання. Різниця така:

XML-фідAPI
Заводить нові карткитакні
Оновлює ціни й залишкитак, разом із усім фідомтак, точково
Повертає статуси замовлень і номер ТТНнітак
Що потрібно для підключеннянічого, крім адреси файлулогін і пароль кабінету продавця

Типовий робочий набір — обидва: фідом заводять і поповнюють асортимент, API тримає ціни й залишки свіжими між вивантаженнями фіда й повертає в Elbuz те, що сталося із замовленнями.

Що саме надсилає API

Тільки три величини: ціну, стару ціну й кількість — і тільки тим товарам, у яких уже є номер картки Rozetka. Назви, описи, фото й характеристики API не чіпає, це робота фіда. Позиції без номера картки він пропускає й пише в журнал: «Rozetka: пропущено позицій без прив'язки до товарів майданчика: ‹N› (картки створюються вивантаженням YML-фіда)».

Номер картки приходить не з фіда, а зі зворотного напрямку — його приносить завантаження каталогу Rozetka. Порядок виходить такий: фід заводить картки → завантаження каталогу приносить в Elbuz їхні номери → API оновлює по них ціни й залишки. Поки другого кроку не було, API пропускатиме все, скільки б разів ви його не запускали.

RozetkaElbuzКартки товарів заводяться з фідаТовар без номера картки пропускається — у журнал іде рядок про пропущені позиціїШаблон Rozetka.UA збирає XML-фід і кладе його за постійною адресоюЗабирає файл за посиланням зі свого розкладуЗавантаження каталогу Rozetka запитує картки продавцяКартки з номерами — Elbuz зберігає номер біля свого товаруAPI-шаблон надсилає ціну, стару ціну й кількість пачками по 100
Ліва колонка — Elbuz, права — Rozetka. Номер картки, без якого API нічого не надсилає, приходить стрілкою справа наліво — завантаженням каталогу, а не фідом

Дві деталі, про які краще знати заздалегідь:

  • Різкий рух ціни застосовується не одразу. Ціна, змінена більш ніж у 1,5 раза вгору або у 2 рази вниз, іде на перевірку менеджеру майданчика. Elbuz рахує такі позиції окремо й пише: «Rozetka: цін очікує підтвердження менеджера майданчика: ‹N›».
  • Порожня стара ціна стирає перекреслену ціну на майданчику. Якщо стара ціна в Elbuz не заповнена, API надсилає замість неї −1, і Rozetka прибирає стару ціну з картки.

Позиції йдуть пачками по сто за запит, з паузою між пачками, а в журнал після кожної лягає рядок «Rozetka: оновлено позицій: ‹N› з ‹M›».

Хто головніший, коли обидва пишуть ціну

Пріоритету між каналами в Elbuz немає, і узгоджувати їх програма не намагається: це два окремі шаблони з власним відбором, власним розкладом і власним джерелом ціни. Кожен просто надсилає своє значення у свій час.

Тому розбіжність з'являється не сама по собі, а тільки коли шаблони налаштовані по-різному: у фіді ціна підставляється макросом із шаблону XML, в API-шаблоні вона задається у списку полів. Зведіть обидва до одного поля ціни — і питання «чиє значення лишиться» не постане. Якщо ж поля різні, зважайте, що фід переписує ціну всіх відібраних товарів, а API — тільки тих, у яких є номер картки.

Сценарії

Завести товари на Rozetka й тримати ціни свіжими між фідами

Що налаштувати. Три шаблони, кожен зі своїм розкладом: шаблон типу Rozetka.UA для фіда, завантаження каталогу Rozetka і API-шаблон Rozetka з логіном і паролем кабінету продавця.

Що вийде. Фід заводить картки. Завантаження каталогу приносить в Elbuz номери цих карток і зберігає їх біля ваших товарів. API-шаблон надсилає по цих номерах ціну, стару ціну й кількість — пачками по 100 позицій, з рядком «Rozetka: оновлено позицій: ‹N› з ‹M›» після кожної.

Чого не буде. API не створить картку й не змінить назву, опис, фото чи характеристики. Товар, якого ще немає в завантаженому каталозі, API пропустить і напише «Rozetka: пропущено позицій без прив`язки до товарів майданчика». Ціна, змінена більш ніж у 1,5 раза вгору або у 2 рази вниз, на майданчику не застосується, поки її не перевірить менеджер Rozetka.

Припинити продаж позиції, не прибираючи картку

Що налаштувати. Поставте товару статус наявності, відмінний від «В наявності», — наприклад, «Немає в наявності» — і лишіть товар у відборі шаблону. У вікні «Налаштування оновлення за наявністю товару» для цього статусу лишіть колонку «Назва на сайті (у файлі)» порожньою або впишіть туди false.

Що вийде. Позиція лишається у фіді, а в available іде false. Статус «під замовлення» без власного тексту в тій колонці теж дає false.

Чого не буде. Текст із колонки «Назва на сайті (у файлі)» іде у фід дослівно: слово на кшталт «Немає» опиниться в available замість false. І якщо в шаблоні обрано склад, товар без залишку на ньому й без статусу «В наявності» на цьому складі випаде з відбору зовсім — тоді у файлі не буде ні false, ні самої позиції.

Поставити фід на паузу

Що налаштувати. Вимкніть шаблон перемикачем у колонці «Стан».

Що вийде. Розклад пропускає шаблон, і рядка про це в журналі немає. Файл за посиланням лишається тим, який зібрав останній прогін. Коли знадобиться перевірити фід, запустіть шаблон кнопкою запуску — вона працює і для вимкненого шаблону.

Чого не буде. Rozetka не дізнається про паузу: вона далі забирає останній файл із цінами й наявністю на момент вимкнення. Щоб майданчик перестав продавати позиції, потрібен попередній сценарій або прибране посилання в кабінеті продавця.

Одна характеристика означає різне в різних категоріях Rozetka

Що налаштувати. У вікні зіставлення зіставте характеристику всередині кожної категорії, де вона потрібна, а не тільки загально.

Що вийде. Для товарів цієї категорії в paramid іде номер із категорійного зіставлення, а загальне ігнорується. Так само з назвою характеристики Rozetka: категорійна головніша за загальну, а якщо назви Rozetka немає ніде, іде ваша власна назва характеристики.

Чого не буде. У категоріях, де категорійного зіставлення немає, товари й далі їдуть із загальним номером — одна правка в одній категорії інших не зачіпає.

Розбір частих проблем

Що ви бачитеЧому такЩо зробити
Товари не заводяться на майданчикуу категорій порожній rz_id — категорії не зіставлені з довідником Rozetkaзіставте категорії й вивантажте фід заново
Товари завелися, але без характеристикпорожній paramid — характеристики не зіставленізіставте характеристики в тих категоріях, які використовуєте
Rozetka показує «немає в наявності» у товарів, які єстатус наявності товару не дає available="true"перевірте статус товару у вікні «Налаштування оновлення за наявністю товару» шаблону
На майданчику нульовий залишок, хоча товар єstock_quantity береться з поля «Кількість» картки товару, а воно порожнєзаповніть кількість у картці — налаштування наявності шаблону це число не підміняють
У товару на Rozetka менше фото, ніж у картціу фід Rozetka йде не більш ніж 15 фотографійлишіть потрібні першими за порядком або зменшіть їх кількість у картці
Значення характеристики на майданчику обірванедля Rozetka значення довші за 255 символів обрізаютьсявкоротіть значення характеристики в каталозі
Посилання, яке віддали Rozetka, перестало відкриватисяв імені файлу стоїть макрос дати: кожен прогін дає файл під новим ім'ям, а старі файли теки шаблону програма прибирає після заливання нового, якщо сховище це дозволяєприберіть {DATE} з імені файлу й дайте майданчику нову, постійну адресу
Фід не оновлюється, помилок у журналі немаєшаблон вимкнено в колонці «Стан» — розклад пропускає його мовчкиувімкніть шаблон; файл за посиланням увесь цей час віддавався старий
Посилання на товари ведуть в нікудиу шаблоні лишився приклад адреси сайтузамініть його на адресу свого магазину
Ціни на майданчику відстаютьRozetka приходить за файлом частіше, ніж Elbuz його оновлюєзробіть розклад вивантаження частішим або підключіть API для точкового оновлення цін
У фід потрапили зайві товаривідбір товарів у шаблоні надто широкийзвузьте відбір: за категорією, наявністю, ціною

Часті питання

Що таке rz_id і звідки він береться?

Це номер категорії в довіднику самої Rozetka. Він зберігається у вашій категорії після того, як ви зіставили її з категорією майданчика, і підставляється у фід автоматично. Вписувати його в шаблон руками не треба.

Чи потрібно зіставляти всі категорії каталогу?

Ні, тільки ті, товари з яких ви продаєте на Rozetka. Незіставлені категорії просто поїдуть без номера майданчика — а якщо їхні товари у фід не потрапляють через відбір, то й не поїдуть узагалі.

Чи можна обійтися без фіда, самим лише API?

Ні, якщо товарів на майданчику ще немає: API оновлює ціни й залишки вже заведених карток, а створює картки саме фід.

Як часто вивантажувати фід?

Не рідше, ніж Rozetka приходить за файлом. Точну частоту майданчик задає у вас у кабінеті продавця; орієнтуйтеся на неї й ставте свій розклад із запасом.

Як перевірити фід до того, як віддавати його майданчику?

Зробіть пробний прогін у картці шаблону — програма збере той самий файл із позначкою test_ в імені. Відкрийте його й подивіться очима: чи не порожній rz_id, чи правильні посилання на товари, чи є ціни.

Я поправив назву товару в кабінеті Rozetka. Наступний фід її перезапише?

Фід щоразу віддає повний набір вузлів свого шаблону з поточними значеннями каталогу Elbuz — про вашу правку в кабінеті він не знає. Якщо якесь поле ви ведете на боці майданчика, приберіть відповідний вузол із шаблону товару: чого немає у файлі, того Rozetka з фіда не отримає.

Вимкнув шаблон — Rozetka побачить, що фіда більше немає?

Ні. Вимкнення зупиняє перезбирання файлу, а не віддачу: за посиланням лишається останній зібраний файл, і майданчик спокійно забирає його далі — просто з дедалі старішими цінами. Якщо треба справді припинити обмін, приберіть посилання в кабінеті продавця: видалення шаблону в Elbuz файл зі сховища не стирає.

Прогін обірвався. Чи не забере Rozetka напівзібраний файл?

Ні. Файл збирається у тимчасовій теці й потрапляє на постійну адресу цілком, останнім кроком прогону. Поки прогін не дійшов до кінця, за посиланням лежить файл минулого разу. Запускати заново безпечно: наступний прогін збирає файл з нуля.

Я бачу такий самий шаблон у Kasta. Це те саме?

Фіди для Rozetka й Kasta зібрані за однією схемою: обидва майданчики чекають номер своєї категорії в категорії й номер своєї характеристики в характеристиці. Довідники в них при цьому різні, тому й зіставлення для кожного своє.

Суміжні теми

Чи була стаття корисною?