Як вивантажити каталог на Prom.ua файлом XLSX

24 хв

Elbuz збирає з каталогу файл Excel у форматі Prom.ua (також satu.kz і deal.by) з ідентифікатором товару в кожному рядку, тож Prom оновлює наявні позиції, а не задвоює їх.

Коли це знадобиться:

  • Каталог ведете в Elbuz, а продаєте на Prom — файл несе поточні ціни, наявність і всі колонки Prom.
  • Додали в Elbuz нові товари — Prom додасть їх як нові, а наявні оновить.
  • Файл оновлюється вночі за розкладом — стоп-правило не віддасть файл, у якому зникла наявність.
  • Опис і фото ведете в кабінеті Prom — приберіть ці колонки зі шаблону.

З чого почати: завантажте каталог із Prom, потім створіть шаблон формату Prom у «Вивантаженні даних».

Що вміє вивантаження на Prom

Де це і хто має доступ

Меню
Довідники → Операції → Вивантаження даних
Стоп-правила
бургер-меню списку → «Стоп-правила вивантаження»
Право доступу
вікно «Вивантаження даних»; для картки — «Детальне налаштування шаблону вивантаження»
Підготувати
каталог, завантажений із Prom імпортом XLSX

Як створити шаблон Prom

У вікні вивантаження створіть шаблон і оберіть формат Prom. Elbuz одразу заповнить шаблон повним набором колонок Prom. Далі оберіть, які товари вивантажувати — весь каталог, окремі категорії чи за правилами відбору, — і сформуйте файл.

Формувати файл можна вручну кнопкою «Вивантажити» або за розкладом. На майданчик готовий файл ви віддаєте самі: до Prom програма не звертається, вона кладе файл на постійне посилання, а якщо налаштовано FTP — ще й туди.

Офіційний опис на боці майданчика: Експорт товарів та груп товарів і формат файлу XLS(X)/CSV. Загальний розділ обміну — Імпорт та експорт у довідці Prom.

Що потрапляє у файл і звідки беруться значення

Два аркуші

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

  • «Export Products Sheet» — товари з повним набором колонок Prom (назва, ціна, наявність, ідентифікатори, характеристики й десятки додаткових полів).
  • «Export Groups Sheet» — структура груп (категорій): номери, назви, ідентифікатори та зв'язок «батько–дитина».

Поля картки і сталі значення

Колонки заповнюються з полів картки товару. Частина — з рідних полів (назва, ціна, кількість, габарити, GTIN, категорія, виробник, опис, meta). Десятки Prom-специфічних колонок — із додаткових полів, які створив імпорт при першому завантаженні: оптова ціна, знижки, тип товару, спосіб пакування, ярлики, подарунки. Вивантаження віддає назад те, що прийшло з Prom, плюс ваші зміни.

Шість колонок віддають не поле картки, а сталу, прописану при створенні шаблону:

  • Тип_товару — r (роздріб);
  • Валюта — код вашої базової валюти;
  • Одиниця_виміру — «шт.»;
  • Мінімальний_обсяг_замовлення і Можливість_поставки — 1;
  • Термін_поставки — «день».

Стала лежить у колонці «Формула» на вкладці «Вибір полів» шаблону і перекриває однойменне поле картки: у кожному рядку файлу буде те саме. Щоб віддавати значення з карток, очистіть клітинку «Формула» у цієї колонки.

Колонка «Наявність»

«Наявність» бере значення з окремого поля картки «Наличие_xls», яке з'являється разом із prom-шаблоном. Заповнює його формула, яку створює завантаження каталогу з Prom. Вона дивиться на статус наявності товару:

Статус наявності товаруСимвол Prom у файлі
стандартний «В наявності»+
стандартний «Немає в наявності»-
стандартний «Очікування 2-3 дні»&
стандартний «Передзамовлення»5
статус, який ви завели самі+, якщо кількість більша за нуль, інакше -

Стандартні статуси формула впізнає не за назвою, тож перейменування їх не ламає. Якщо ви раніше правили цю формулу під свої статуси, вона лишається вашою. Сама формула лежить у вікні «Налаштування формул для полів базового каталогу».

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

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

Як Elbuz оновлює товари на Prom без дублів

Обмін тримається на ідентифікаторах. У файл вивантаження вони лягають так:

Колонка PromЗвідки береться в Elbuz
Ідентифікатор_товарунаш UUID товару — унікальний ключ позиції в каталозі. Заповнюється завжди, для кожного товару.
Унікальний_ідентифікаторвнутрішній номер Prom із додаткового поля. Якщо товар створено в Elbuz, а не прийшов з Prom, номера в полі немає — і клітинка порожня.
Ідентифікатор_групиоднойменне поле картки товару. Якщо воно порожнє або дорівнює нулю — у файл іде UUID категорії, у якій лежить товар.
Ідентифікатор_підрозділуоднойменне поле картки товару. Якщо воно порожнє або дорівнює нулю — береться номер категорії на Prom, збережений у самій категорії.

Чому Prom не задвоює товари з Elbuz

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

З Elbuz цієї проблеми немає: вивантаження завжди кладе в Ідентифікатор_товару наш UUID — і для товарів, які ви щойно створили. Prom упізнає наявні позиції й оновлює саме їх. Експорт із Prom заради ідентифікаторів не потрібен.

Не редагуйте вручну колонки Ідентифікатор_товару та Унікальний_ідентифікатор у файлі. Це ключі синхронізації: ручна зміна UUID наявного товару змусить Prom визнати його новим і задвоїти позицію.

Порядок обміну з Prom крок за кроком

  1. Завантаження. Заберіть каталог з Prom у Elbuz — імпортом XLSX. Кожен товар отримає UUID, що дорівнює його Ідентифікатору_товару на Prom.
  2. Робота в Elbuz. Змінюйте ціни й наявність, редагуйте картки, додавайте нові товари. Нові позиції отримують власний UUID; номера Prom у полі «Унікальний_ідентифікатор» у них немає.
  3. Вивантаження. Сформуйте файл у форматі Prom. У кожного товару стоїть Ідентифікатор_товару (UUID), а в нових Унікальний_ідентифікатор порожній.
  4. Завантаження на Prom. Віддайте файл на майданчик. Наявні товари оновляться, нові додадуться, і Prom присвоїть їм свій внутрішній номер.
Той самий цикл у часі: два стовпчики — це дві системи, стрілка показує, у який бік їдуть дані
PromElbuz2. Робота в Elbuz: ціни, наявність,нові товари зі своїм UUID4. Наявні позиції оновлено,нові додано — Prom дає їм свій номерloop[Кожне наступне вивантаження]1. Завантаження каталогу XLSX —UUID товару дорівнює йогоІдентифікатору_товару на Prom3. Файл вивантаження:у кожного товару UUID,у нових Унікальний_ідентифікатор порожнійті самі UUID — оновлюються ті самі позиції
  • Запит або дія
  • Відповідь
  • loop — повторюється
  • Примітка

Далі цикл повторюється: наступні вивантаження несуть ті самі UUID, тож Prom оновлює ті самі позиції.

Для оновлень без дублів зворотний імпорт не потрібен: зіставлення тримається на нашому UUID. Заново завантажити каталог із Prom варто, щоб підхопити зміни на боці майданчика: модерацію, ручні правки в кабінеті, присвоєний Prom Унікальний_ідентифікатор.

Що прогін змінює в каталозі й що перезаписує на Prom

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

  • Перераховує дерево категорій. При запуску кнопкою оновлюються рівні та шляхи категорій. Посилання на батьківську категорію проставляється заново там, де воно порожнє або розійшлося з батьківською, — при будь-якому запуску, зокрема за розкладом.
  • Заповнює prom-поля карток — Номер_групи, Ідентифікатор_групи, Ідентифікатор_підрозділу, Адреса_підрозділу. Значення береться з категорії товару, а якщо і там порожньо — з іншого товару тієї ж категорії. Заповнюються тільки порожні поля (у Номера_групи й Ідентифікатора_групи — ще й ті, де стоїть нуль).
  • Роздає внутрішні артикули — якщо ви це вмикали. З налаштуванням «Створювати унікальні значення для поля внутрішній» (розділ «Товари базового каталогу») прогін ставить випадковий номер товарам із порожнім внутрішнім артикулом, а однаковим артикулам дописує суфікс.

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

Уже записане prom-поле повторний прогін не виправить: поки в полі щось є, вивантаження його не чіпає. Очистіть поле в картці товару (або пакетною обробкою за відбором), і наступний прогін заповнить його заново з категорії.

Повторний прогін поверх правок у кабінеті Prom

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

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

Ваші значення в самому Elbuz може перезаписати не вивантаження, а формули полів: вони спрацьовують при збереженні картки й під час пакетної обробки прайс-листів. Товари з позначкою «Не оновлювати» (група «Захист під час імпорту» в картці товару) формули пропускають.

Правили ідентифікатори у файлі руками й на Prom з'явилися дублі — сформуйте файл заново: Ідентифікатор_товару береться з UUID картки, і наступне завантаження оновить правильні позиції. Щоб підтягнути номери, які майданчик присвоїв позиціям, зробіть завантаження каталогу з Prom. Зайву картку на самому Prom прибирають лише в кабінеті майданчика.

Чому товару немає у файлі

Товар мовчки не потрапляє у файл, якщо не пройшов відбір шаблону: позначка «Вивантажувати у файл (на сайт)», активна категорія, фільтр, магазин, склад. Повний перелік умов і як перевірити конкретний товар — Чому товар не поїхав у файл. Для шаблону Prom додайте ще дві умови:

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

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

Elbuz не позначає на Prom товари, яких не стало у файлі. Колонки «Товар на удаление» і «Причина удаления товара» в шаблоні є, але значення беруться з однойменних полів картки, які заповнюєте ви. Як Prom поводиться з позиціями, відсутніми в черговому файлі, — правило майданчика.

Розклад, журнал і посилання на файл

Запуск, розклад, журнал, стоп-правила й постійне посилання однакові для всіх шаблонів — Запуск руками і за розкладом, Куди лягає файл. Нижче — що варто знати саме про шаблон Prom.

Як переконатися, що файл зібрався

Журнал прогону відкривається в «Операціях» і лишається в кнопці «Історія запусків» шаблону. Шаблон Prom пише прогрес рядком «Вивантажено рядки N із M» на кожній тисячі товарів. Успіх — «Вивантаження даних завершено» і посилання «Завантажити файл ‹ім'я›»; провал — «Вивантаження даних НЕ завершено: файл не сформовано». Як читати решту рядків — Журнал прогону.

У списку шаблонів пара цифр у колонці «В наявності» ловить обвал: файл зібрався, а товарів у ньому стало вдвічі менше.

Список шаблонів вивантаження з колонками «Файл», «Останнє вивантаження» та «В наявності»
1Файл
2Останнє вивантаження
3В наявності
  1. Файл — посилання на готовий файл вивантаження, під ним розмір у МБ.
  2. Останнє вивантаження — дата прогону та скільки він тривав.
  3. В наявності — кількість товарів у наявності, під нею загальна кількість товарів у вивантаженні.

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

Якщо прогін обірвався або його зупинили

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

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

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

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

  • Вимкнений шаблон розклад пропускає мовчки, без рядка в журналі, а «Вивантажити всі шаблони» його не бере. Кнопка «Вивантажити» на самому шаблоні спрацює й на вимкненому. Файл, посилання й налаштування зберігаються.
  • Видалення прибирає склад колонок, FTP, відбір категорій, прив'язку до розкладу й посилання на останній файл. Повернути — лише створивши шаблон заново.

Межі та обсяги

  • Рядків у файлі — стільки, скільки товарів пройшло відбір; стелі немає. На демо-акаунті — 100 товарів, про це є рядок у журналі.
  • Клітинка XLSX — 32 767 символів. Довший текст (зазвичай опис) обрізається на цій межі.
  • Фото — перші 10 посилань. У колонку «Посилання_зображення» йдуть десять фотографій за порядком сортування.
  • Масовий прогін — одна година. «Вивантажити всі шаблони» йде окремим процесом, шаблони один за одним, на весь процес — година.

XLSX чи XML/YML — що обрати

Prom приймає обидва формати, і обидва несуть той самий ідентифікатор товару — наш UUID.

ФорматЯк працюєКоли брати
XLSX (ця стаття)файл з усіма колонками Prom, який ви віддаєте майданчикуElbuz — головна система: повний каталог, нові товари, характеристики, усі поля
XML / YML-фідфід за посиланням, Prom сам забирає його за розкладомтреба переважно тримати свіжими ціни й наявність із мінімумом дій

Можна початково залити каталог файлом XLSX, а далі тримати його свіжим XML-фідом — позиції лишаться тими самими.

Якщо ті самі товари йдуть і XLSX, і фідом

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

Спільні в них prom-поля карток (Номер_групи, Ідентифікатор_групи, Ідентифікатор_підрозділу, Адреса_підрозділу): їх заповнює прогін будь-якого prom-шаблону, і тільки порожні. За розкладом два вивантаження одночасно не йдуть — друге скасовується з рядком про конфлікт обробки даних.

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

Сценарії

Каталог ведете в Elbuz і додаєте на Prom нові товари

Що ввімкнути. Спершу заберіть каталог з Prom завантаженням XLSX, потім створіть шаблон формату Prom і сформуйте файл кнопкою «Вивантажити». Колонку «Ідентифікатор_товару» на вкладці «Вибір полів» не прибирайте.

Що вийде. Позиції, що прийшли з Prom, майданчик упізнає за UUID і оновить. Товари, створені в Elbuz, підуть із порожнім «Унікальний_ідентифікатор», і Prom додасть їх як нові.

Чого не станеться. Elbuz не відправить файл на Prom сам і не прибере з Prom позиції, яких немає у файлі.

Опис і фото ведете в кабінеті Prom, з Elbuz — решту

Що ввімкнути. Відкрийте шаблон, вкладка «Вибір полів», і приберіть кнопкою «Видалити поле» колонки, які ведете на майданчику. «Ідентифікатор_товару» залиште.

Що вийде. Прибраних колонок у файлі не буде зовсім.

Чого не станеться. Правки з кабінету Prom у Elbuz самі не потраплять: для цього потрібне окреме завантаження каталогу.

Файл оновлюється за розкладом, і не можна віддати каталог, у якому зникла наявність

Що ввімкнути. Меню «Додаткові операції» у вікні вивантаження → «Стоп-правила вивантаження». Для правила «обвал наявності щодо минулого прогону» поставте режим «Зупинити вивантаження» і натисніть «Зберегти для цього шаблону». Поріг за замовчуванням — 30%.

Вікно «Стоп-правила вивантаження» з порогами та режимами
1Обвал наявності щодо минулого прогону
2Режим
  1. Правило «обвал наявності щодо минулого прогону» — допустимий відсоток падіння кількості товарів у наявності.
  2. Режим — що робити при спрацюванні правила: вимкнено, попередити або зупинити вивантаження.

Що вийде. Якщо товарів у наявності поменшало щодо минулого успішного прогону більше, ніж на поріг, прогін — і ручний, і за розкладом — закінчиться рядком «Вивантаження зупинено стоп-правилом: …». На посиланні лишиться попередній файл. Усі правила й режими — Стоп-правила.

Чого не станеться. Вимкнений шаблон розклад не запускає зовсім, і стоп-правила тут ні до чого. Стежте, щоб у колонці «Стан» стояло «Активний».

У вас власні статуси наявності

Що ввімкнути. Нічого: власний статус формула поля «Наличие_xls» віддає за кількістю — +, якщо вона більша за нуль, інакше -. Хочете для свого статусу інший символ Prom — допишіть гілку у формулу у вікні «Налаштування формул для полів базового каталогу», потім збережіть картки або проженіть пакетну обробку прайс-листів.

Що вийде. Колонка «Наявність» у наступному файлі отримає символ, заданий формулою.

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

На Prom іде лише частина каталогу

Що ввімкнути. Відбір категорій у шаблоні або умови на вкладці «Обмеження вивантаження (фільтр)». Перш ніж формувати файл, звірте цифри у вікні «Що буде вивантажено»; перехід «Показати ці товари в каталозі» покаже сам перелік.

Що вийде. У файл підуть лише товари, що пройшли відбір.

Чого не станеться. Товари, які перестали проходити відбір, на Prom не позначаються на видалення: вони просто зникають із файлу.

Що робити, коли файл вийшов не таким

Що видно, чому так і що робити
Що ви бачитеЧому такЩо зробити
«Останнє вивантаження» не зсунулося, а в журналі «Вивантаження даних НЕ завершено: файл не сформовано» Прогін упав до збереження файлу або файл не залився в хмару — дата й посилання оновлюються лише після успіху На посиланні лишився попередній файл, віддавати його на Prom не можна. Подивіться рядок над помилкою (як читати журнал) і перевірте шаблон кнопкою пробного вивантаження
У файлі порожня колонка «Наявність», на Prom товари стали «немає в наявності» Поле «Наличие_xls» порожнє: каталог не завантажували з Prom, формулу видалили або картки ще не перераховувались Перевірте формулу поля (колонка «Наявність») і збережіть картки або запустіть пакетну обробку, щоб значення перерахувалися
Товар є в каталозі, але його немає у файлі, і в журналі про нього нічого Він не пройшов одну з умов відбору — позначку вивантаження, категорію, фільтр, магазин або склад Пройдіть перелік умов і звірте цифри у вікні «Що буде вивантажено»
Файл за розкладом не оновлюється, помилок у журналі немає Шаблон вимкнений — розклад пропускає його мовчки. Або в цю мить уже йшло інше вивантаження Подивіться колонку «Стан» у списку: «Вимкнений» — увімкніть (докладніше). Якщо стан «Активний», шукайте в журналі рядок про конфлікт обробки даних
Натиснули «Стоп», а файл усе одно оновився Прапорець зупинки перевіряється між шаблонами пакетного прогону; окремий prom-шаблон його не читає Дочекайтеся кінця прогону — перезапуск безпечний і нічого не задвоює (що буває при обриві)
Опис товару у файлі обірваний на півслові Клітинка XLSX вміщає 32 767 символів, довший текст обрізається Скоротіть опис у картці: більше в клітинку не вміститься (межі формату)

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

Чому при ручному редагуванні файлу Prom задвоює товари, а через Elbuz — ні?

Prom дублює позиції, коли у файлі немає ідентифікаторів товарів. Elbuz завжди ставить Ідентифікатор_товару (наш UUID) у кожен рядок, тож Prom упізнає наявні товари й оновлює саме їх.

Чи треба знову експортувати з Prom після додавання нових товарів?

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

Як Prom підхопить новий товар, створений у Elbuz?

Такий товар іде з власним UUID в Ідентифікаторі_товару й порожнім Унікальним_ідентифікатором. Prom бачить невідомий ідентифікатор, додає товар як новий і присвоює свій номер.

Чому наявність у файлі не така, як зараз у картці?

У файл іде поле «Наличие_xls», а його формула перераховується при збереженні картки або пакетній обробці прайс-листів, не під час вивантаження. Збережіть картку — і наступний файл понесе свіжий символ (колонка «Наявність»).

Що станеться з правками, які я зробив у кабінеті Prom, після наступного вивантаження?

Файл понесе поточні значення з Elbuz по всіх колонках шаблону. Поле, яке ведете в кабінеті, приберіть зі шаблону кнопкою «Видалити поле» (повторний прогін).

Я натиснув «Стоп» — вивантаження зупиниться?

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

Що буде, якщо вимкнути шаблон?

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

Суміжні теми

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