Наші телефони:  

Посібник з XML-експорту Скористатися конструктором посилань

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

  Параметри посилання XML, що впливають на його вміст. Правила оформлення посилання Рекомендоване посилання, що віддає XML Питання щодо перегляду XML у програмі Excel. Параметр excel Питання імпорту кількох XML від різних постачальників до магазину Prom.ua Перетин діапазонів порядкових номерів товарів. Параметр shift Питання з оновлення наявності товарів. Параметр out_of_stock Параметр category Параметр production Параметр cats Параметр vendor_code Параметр download Параметр user Параметр promo_action Параметр margin_ukr Параметр margin_import Параметр margin_action Параметр margin_cats Параметри price_from та price_to Параметр round Параметр at_least Параметр in_stock Параметри vendor, country, video Параметр key Параметр param Параметр picture Параметр offer_id Параметр description Параметр glue Параметр prefix Параметр lwh Параметр lang Параметр many_lang Параметр assembly Параметр count Параметр selling_type Параметр opt_price Параметр prom_cat Параметр rrc Опис формату файлу XML Альтернативний експорт  

Параметри в посиланні XML, що впливають на його вміст. Правила складання посилання

 

category - обмежує XML товарами із певної категорії або набору категорій;

production - дозволяє обмежити XML товарами з категорії "Імпорт", або "Україна";

cats - додає до кожного товару тег <cats> з текстовим відображенням категорії та підкатегорії даного товару;

vendor_code - дозволяє вибрати, що буде в XML-тегу <vendorCode>: артикул виробника чи код товару від Toysi (артикул нашого складу);

out_of_stock - дозволяє додати до XML товари, яких немає наявності за останні 7 днів;

download - дозволяє завантажити зміст XML-файлу у вигляді документа собі на ПК (тоді необов'язково переглядати його в браузері);

excel - дозволяє відкривати XML у програмі Excel;

shift - зміщення id товару, щоб не було збігу id з іншими постачальниками;

user - дозволяє отримати в XML ціни з урахуванням персональної знижки;

promo_action - дозволяє відключити акційні знижки від Toysi;

margin_ukr - дозволяє збільшити ціни на українські товари;

margin_import - дозволяє збільшити ціни на імпортні товари;

margin_action - дозволяє збільшити ціни на акційні товари;

margin_cats - дозволяє збільшити ціни на вибрані категорії;

price_from - дозволяє встановити ціновий поріг для включення товарів у XML (товари з нижчою ціною не будуть додані у XML-файл);

price_to - дозволяє встановити верхній ціновий поріг для включення товарів у XML (товари з більшою ціною не будуть додані);

round - округлює ціни в XML;

at_least - обмежує XML товарами, яких залишилось у наявності на вказану кількість штук (кількість назначається у параметрі на свій роздум, якщо товару у наявності менше, то його не буде в XML);

in_stock - додає в XML відображення кількості залишку товару, але лише мінімального значення з діапазону сайту Toysi;

vendor - додає у XML значення "Бренд" з сайту Toysi;

country - додає до XML країну виробника товару;

video - додає у XML тег <video> з посиланням на відео;

param - виносить властивості товару в окремі теги <param> та прибирає ці властивості з загального опису товару;

picture - дозволяє задати максимальну кількість фотографій товару;

offer_id - дає можливість вивантажити XML з одним товаром у файлі, щоб протестувати параметри посилання;

description - товари без описів не будуть додані до XML-файлу;

lang - визначає головною мовою українську для XML-вивантаження;

many_lang - додає назви та опис товарів українською мовою;

assembly - додає до вартості товарів також ціну за збирання замовлення;

count - дозволяє отримати точну кількість товарів;

selling_type - вказує, до якої категорії товар відноситься: роздріб, або опт та розріб;

opt_price - додає в XML додаткові теги із зазначенням оптової ціни на товар;

prom_cat - зв'язує наші категорії з категоріями Prom.ua;

rrc - дозволяє виключити товари, у яких зазначено рекомендовану роздрібну ціну

Детальний опис та функції усіх параметрів знаходяться нижче у посібнику. Параметри у посиланні йдуть після символу ?

Пара параметр=значення (завжди малими літерами) можуть слідувати в будь-якому порядку і розділяються між собою символом &

Прогалин/пробілів/табуляцій/пустих символів у посиланні бути не повинно. Приклад структури посилання з трьома параметрами:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&out_of_stock=2&category=31216

 

Рекомендоване посилання, що віддає XML


https://toysi.ua/feed-products-residue.php?vendor_code=prom&vendor=yes&out_of_stock=2&shift=9000000&key= ваш-ключ

Свій ключ доступу можна знайти в особистому кабінеті, в розділі API. Увага : якщо раніше Ви користувалися посиланням без параметра shift, то перед початком використання посилання з цим параметром видаліть зі свого магазину на Prom.ua всі наші товари, щоб уникнути їх дублювання. Якщо ви використовуєте інше значення цього параметра, продовжуйте його використовувати. Параметр shift розв'язує питання перетину/збігу діапазонів порядкових номерів товарів (від різних постачальників, якщо ви з ними співпрацюєте). Про це ще написано нижче. Опис параметру vendor_code теж варто переглянути - можливо, є сенс його змінити, якщо вам потрібні артикули виробників. Якщо вам потрібний XML-файл українською мовою, додайте параметр lang=ukr.

 

Як відкрити XML-файл у програмі Excel. Параметр excel


Відкрийте Excel, виберіть у меню "Відкрити" та виберіть XML-файл, який ви завантажили на свій пристрій (див. опис параметра download). У діалоговому вікні способу відкриття виберіть "таблиця XML". Нові версії програми, починаючи з Excel 2010, не дозволяють відкрити файл як "XML-таблицю" через наявність у файлі посилання на схему документа, розкриття якої заборонено з міркувань безпеки.

Щоб усе одно переглянути файл в Excel, додайте в посилання XML параметр excel=hide_dtd. Це усуне з файлу заголовок
<!DOCTYPE yml_catalog SYSTEM "shops.dtd"> та Excel сам створить схему документа.

Майте на увазі, що використання в посиланні параметрів picture або param, призведе до того, що в кожному товарі може бути декілька тегів <picture> або <param> з різними значеннями, через що Excel, відкриваючи XML, як таблицю, зробить для кожного такого товару декілька майже однакових рядків, що відрізняються лише значеннями picture чи param. Таке дублювання товарів у таблиці може бути дуже недоречним для вирішення ваших завдань. Тому радимо використовувати файл лише для перегляду отриманої структури даних. Для вивантаження на маркетплейси краще використовувати сформоване посилання.

Приклад посилання на XML:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&excel=hide_dtd

 

Проблеми імпорту кількох XML від різних постачальників до Prom.ua

Проблема перетину/збігів діапазонів порядкових номерів товарів. Параметр shift


У довідці Prom.ua цей атрибут товару — id — описаний так: "Унікальний порядковий номер товару/послуги у файлі імпорту (ID), за яким надалі виконуватиметься оновлення цієї позиції". Як ID ми використовуємо код товару (про те, чим код товару відрізняється від артикула, є в опису параметра vendor_code).

Якщо у двох ваших постачальників id пронумеровані в тому самому діапазоні (наприклад від 1 і далі послідовно), то при імпорті файлу іншого постачальника, товари першого можуть оновлюватись даними від другого постачальника через те, що їх файли мають однакові id.

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

Перший спосіб вирішення – робити послідовний імпорт файлів від постачальників не на Prom.ua, а в іншу базу даних, яка вміє працювати з безліччю постачальників, що дозволяє вибрати постачальника під час імпорту. У цій базі даних кожному товару надається унікальний id. З цієї бази ви зможете робити експорт файлу з товарами всіх постачальників для імпорту на Prom.ua.

Другий спосіб вирішення (якщо немає загальної бази даних з усіма товарами).

Рознесіть діапазони ID постачальників, щоб вони не перетиналися. Наприклад, ви з'ясували, що у першого постачальника id нумеруються послідовно від 1 і навряд чи id колись буде більше за 200000. Вам потрібно зробити так, щоб у файлі другого постачальника (який теж нумерує товари від 1) до всіх id додалося число 200000, тобто , змістити діапазон id на 200000. Для третього постачальника змістити на 400000 і т.д.

На порталі Prom.ua немає жодних опцій імпорту для організації такого зміщення. Можливо, тому, що це складно і, при неправильному використанні, може призводити, наприклад, до повторного імпорту тих самих товарів. Для зміщення діапазону вам потрібно або використати якусь спеціальну програму, щоб перед імпортом другого постачальника змінювати у файлі всі id на id+200000, або попросити постачальника організувати для вас видачу готового XML, в якому id належать певному діапазону, який вам потрібен. У багатьох випадках для постачальника це не повинно викликати великих технічних труднощів. Якщо ваш постачальник формує XML динамічно, він може передбачити спеціальний параметр посилання для значення зміщення id і додавати це зміщення до id в момент завантаження XML.

У посиланні нашого XML цей параметр називається shift. Приклад посилання на XML:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&shift=9000000

Значення shift не має перевищувати 2 мільярди. Якщо ви плануєте використовувати цей параметр, вказуйте завжди те саме значення, і попередньо видаліть з магазину наші товари, імпортовані без зміщення id.

У нашій базі даних товари нумеруються від 10000 і на момент написання посібника останній номер товару не перевищує 135000.

 

Актуалізація та оновлення наявності товарів. Параметр out_of_stock


Якщо ви імпортуєте в один і той же магазин Prom.ua кілька файлів поспіль, потрібно використовувати налаштування маркетплейсу щодо імпорту: опція "Статус товарів, яких немає у файлі", обрати варіант "Залишити без змін".

Інакше при імпорті наступного файлу всі товари з першого файлу, яких немає в другому, стануть прихованими, видаленими або "не в наявності" (залежно варіанту, який ви оберете).

При виборі опції Prom.ua "Залишити без змін" потрібно, щоб товари були присутні в XML-файлі та були відзначені як "немає в наявності" (параметр available повинен бути порожнім). Це забезпечить актуалізацію товару та оновлення його у випадку, коли позиції немає в наявності. Мало того, зазвичай постачальники враховують в XML тільки товари, які є в наявності – для скорочення розміру файлу. Ми робимо так само, але для послідовного імпорту на Prom.ua ми додатково зробили спеціальний параметр у посиланні на XML.

Параметр out_of_stock=2 дозволяє додати в XML також товари, які не в наявності. Допустимі значення параметра: від 1 до 7 (застаріле значення out_of_stock=latest інтерпретується як 2 дні). При використанні параметра out_of_stock, у вас оновиться наявність товарів навіть якщо ви відмітите налаштування імпорту на Prom "Статус товарів, яких немає у файлі" = "Залишити без змін". Зазначте також налаштування-прапорець "Завантажити позиції в наявності/Гарантована наявність/Під замовлення", щоб Prom не додавав до магазину товари, що не в наявності. Щоб не пропустити оновлення наявності товарів, що покидають залишок, вам потрібно робити імпорт не рідше, ніж раз на Х днів (вибране вами число). Інакше якісь товари у вашому магазині можуть назавжди залишитися у наявності.

Повна ревізія наявності - отримання всіх товарів, що колись пішли з наявності, для виключення їх у вашому магазині (якщо вони там є). Для цього скопіюйте своє звичайне посилання на XML, видаліть у ньому параметр category, пропишіть у параметрі out_of_stock=total_revision
Це призведе до наступного:
1) для скорочення обсягу XML, сервер видасть у XML тільки товари "немає в наявності" (близько 80 тис) і опису товарів не буде в XML.
2) близько 2 тис. товарів, назавжди знятих із продажу, будуть з назвою "знятий з продажу" і будуть без картинки.
Налаштування імпорту Prom під час імпорту посилання з параметром out_of_stock=total_revision
1) у розділі "Інформація, яку потрібно оновити" позначте лише один прапорець - "Наявність".
2) позначте прапорець "Завантажити позиції в наявності/Гарантована наявність/Під замовлення", щоб Prom не додавав до магазину товари, а лише "виключав" наявність.
3) "Статус товарів, яких немає у файлі" - "Залишити без змін", щоб не чіпати товари інших ваших постачальників.
4) "Автоматичне оновлення посилання" - "Ніколи".
Це одноразова процедура, після неї поверніться до використання свого звичного посилання на XML (без total_revision).

При використанні out_of_stock (з будь-яким значенням) параметр at_least ігнорується. А якщо out_of_stock=total_revision , то ігноруються фільтри price_from, price_to, description=not_empty, щоб видати максимальну кількість товарів для ревізії наявності. Однак параметр category працює - обмежує XML категоріями, тому його краще прибрати при ревізії, тому що на складі Toysi товар могли перемістити в іншу категорію (коли він був ще в наявності), і це могло стати причиною того, що він зник з вашого XML, відфільтрованого за категорією, а пізніше товар залишив наявність, але, не потрапляючи в XML, у вашому магазині залишився в наявності назавжди.

Приклад посилання на XML:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&out_of_stock=3

 

Параметр category


Цей параметр може працювати в одному з двох режимів: "видати лише перелічені" або "виключити перелічені". Поєднати обидва режими неможливо і в цьому немає сенсу.

1. Режим "видати лише перелічені". Це фільтр за категорією, він обмежує XML товарами з певної категорії або набору категорій, включаючи всі їх дочірні категорії всіх рівнів. Номери всіх активних на цей час категорій магазину з прикладами параметра category можна знайти за цим посиланням: https://toysi.ua/feed-products-categories.php

Приклад посилання на XML для категорії Пазли (її номер 99075):

https://toysi.ua/feed-products-residue.php?vendor_code=prom&category=99075

Щоб передати серверу в параметрі category цілий набір категорій, потрібно перерахувати їх ідентифікатори через кому (без пропусків). Якщо ви хочете зробити фільтр для більш ніж 20 категорій, посилання на XML вийде дуже довгим. Довжина посилання обмежена можливостями протоколу http, тому якщо посилання дуже довге, вказуйте параметр category в кінці посилання і тестуйте, чи потрапляють у XML товари з останньої категорії набору.

Приклад посилання на XML для категорій Пазли, Конструктори, Дитячий транспорт:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&category=99075,99058,99064

("Новинки", "Акція", "ТОП відвантажень" та "Бренди" не є категоріями і не представлені в XML. Це тимчасові списки товарів, що належать різним категоріям. Акція - список товарів зі знижкою. Новинки - список недавніх нових надходжень. ТОП відвантажень - динамічний рейтинг позицій. Бренди - список товарів популярних брендів. На жаль, цими категоріями не можна наповнити XML-вивантаження)

2. Режим "виключити перелічені". Щоб вказати список категорій, які ви не бажаєте бачити в XML, потрібно перерахувати їх через кому і на початку цього перерахування додати мінус , що означає режим "виключити перелічені".

Приклад посилання на XML, з якого потрібно виключити категорії Уцінка, Пазли, Конструктори з усіма підкатегоріями:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&category=-51995,99075,99058

 

Параметр production


Якщо вказати параметр production=import або production=ukraine то XML буде обмежена товарами з категорії "Імпорт" або "Україна", що відповідають фільтру на сайті.

Приклад посилання на XML:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&production=import

 

Параметр cats


Якщо вказати параметр cats=yes , до кожного товару буде додано тег з текстовим поданням категорії та підкатегорії цього товару. Наприклад: <cats>Спорттовари|Активні ігри|Бомбочки</cats>. Деякі магазини не можуть успішно імпортувати дерево категорій з тега <categories>, але при цьому в налаштуваннях імпорту дозволяють вибрати для імпорту категорії будь-який тег товару та вибрати роздільник підкатегорій. Для таких магазинів передбачено тег <cats> та роздільник |

Приклад посилання на XML:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&cats=yes

 

Параметр vendor_code


Дозволяє вибрати, що буде в XML-тегу <vendorCode>: артикул виробника (неунікальний) або наш код товару (унікальний артикул нашого складу - ми навмисно уникаємо слова артикул, щоб не плутати з артикулом виробника).

Значення параметра vendor_code=sku (не великі літери, а малі!) вказує записати в <vendorCode> артикул виробника, тобто нашого постачальника. Увага: він не унікальний! У двох товарів різних виробників може бути однаковий артикул. І навіть два товари одного виробника можуть мати однаковий артикул, а то й взагалі це поле може бути порожнім. SKU у перекладі означає «складська облікова одиниця», ідентифікатор товарної позиції. Проте назва тега vendorCode говорить про виробника, а не про продавця, тому назвою sku тут позначений артикул виробника, тобто нашого постачальника.

Значення параметра vendor_code=prom вказує записати в <vendorCode> наш унікальний код товару , а артикул виробника дописати в кінець назви товару, щоб пошук Prom.ua міг знайти ваші товари й за артикулом виробника. Значення параметра vendor_code=prom тут має такий сенс: XML буде використовуватися за межами магазину Toysi, який виступає в ролі кінцевого постачальника, а отже, продавець, замовляючи товар, повинен працювати з кодами товарів Toysi.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom

Ми рекомендуємо використовувати vendor_code=prom і найголовніший аргумент такий: артикули виробників не є унікальними, вони можуть повторюватися у багатьох товарів, а для однозначної ідентифікації товару потрібно використовувати код товару. До того ж є близько 500 товарів з порожнім артикулом (від постачальника).

Якщо параметр vendor_code не вказати в посиланні або вказати неправильне значення (включаючи неправильний регістр символів - великі замість малих), то замість XML-тегу <vendorCode> буде тег <vendor_code> (не відповідний формату YML) і в ньому буде артикул виробника. Це застаріла поведінка посилання, залишена з метою зворотної сумісності для старих клієнтів.


Параметр download


дозволяє почати звантаження посилання на диск замість відображення в браузері. Використовуйте його, лише якщо ви хочете зберегти XML на локальному комп'ютері. Приклад посилання на XML:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&download=to_disk

 

Параметр user


дозволяє отримати XML ціни з урахуванням персональної знижки. Значення параметра user - це ваш ідентифікатор користувача API, який ви можете подивитися в особистому кабінеті, на сторінці https://toysi.ua/contact_info/?api=info
Приклад посилання на XML:

https://toysi.ua/feed-products-residue.php?vendor_code=prom&user=1000003479

Зверніть увагу: деякі товари магазину мають межу максимальної знижки 5% або 0%. Навіть якщо ваша персональна знижка вище, знижки на такі товари будуть розраховані за максимально допустимими знижками.

 

Параметр promo_action


дозволяє вимкнути акційні знижки. У період дії акцій, на низку товарів ціни знижено. Якщо в посиланні на XML вказати параметр promo_action=off , то початкові ціни акційних товарів втратять свої знижки - їм будуть присвоєні ціни, які були до початку акції. А до цих початкових цін потім буде застосовано вашу персональну знижку (якщо використовувати параметр user ), а потім буде застосовано націнки margin_cats, margin_ukr, margin_import, margin_action. Параметр promo_action зручно використовувати у парі з margin_action для вирівнювання націнки на акційні товари.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&promo_action=off

 

Параметр margin_ukr


дає змогу збільшити ціни на українські товари. Якщо у параметрі передати дробове число менше 1, це число буде сприйнято як відсоток націнки. Наприклад: margin_ukr=0.02 пропонує збільшити ціни на 2%, тобто помножити ціни на 1.02.

Якщо в параметрі передати число що більше або дорівнює 1, це число буде сприйнято як фіксована націнка. Наприклад: margin_ukr=1.01 пропонує додати до всіх цін 1.01 грн. При використанні параметрів автоматичної націнки, якщо ціна з націнкою менша, ніж рекомендована роздрібна ціна (у разі її наявності), буде вивантажена рекомендована роздрібна ціна товару в полі price та oldprice.

Приклад посилання на XML (націнка 10%): https://toysi.ua/feed-products-residue.php?vendor_code=prom&margin_ukr=0.1

Якщо в посиланні на XML вказано параметр user , то націнка буде застосовуватись до ціни, яка враховує вашу персональну знижку.

 

Параметр margin_import


дозволяє збільшити ціни на імпортні товари. Працює аналогічно параметру margin_ukr. При використанні параметрів автоматичної націнки, якщо ціна з націнкою менша, ніж рекомендована роздрібна ціна (у разі її наявності), буде вивантажена рекомендована роздрібна ціна товару в полі price та oldprice.

Приклад посилання на XML (націнка 10%): https://toysi.ua/feed-products-residue.php?vendor_code=prom&margin_import=0.1

 

Параметр margin_action


дозволяє збільшити ціни на акційні товари. Якщо margin_action не вказано у посиланні або дорівнює 0, то до акційних товарів застосовуються звичайні націнки margin_ukr і margin_import. А якщо зазначено, то до акційних товарів, замість margin_ukr і margin_import , застосовується націнка margin_action. Цей параметр зручно використовувати разом із параметром promo_action=off, що вимикає акційні знижки. Значення націнки margin_action потрібно вказувати так, як вказано в описі margin_ukr. Якщо в посиланні на XML вказано параметр user , то націнка буде застосовуватись до ціни, яка враховує вашу персональну знижку. При використанні параметрів автоматичної націнки, якщо ціна з націнкою менша, ніж рекомендована роздрібна ціна (у разі її наявності), буде вивантажена рекомендована роздрібна ціна товару в полі price та oldprice.

Приклад посилання на XML (націнка 10%): https://toysi.ua/feed-products-residue.php?vendor_code=prom&margin_action=0.1

 

Параметр margin_cats


дозволяє збільшити ціни на товари, що знаходяться у зазначених категоріях, а також на товари, що знаходяться у підкатегоріях. Якщо margin_cats вказано, то до обраних категорій товарів буде застосована вказана націнка, а націнки margin_ukr, margin_import та margin_action будуть проігноровані. Але якщо товари не знаходяться у вказаній у margin_cats категорії, то до товарів можуть застосовуватись margin_ukr, margin_import та margin_action. Значення націнки margin_cats потрібно вказувати так, як вказано в описі параметра margin_ukr, із зазначенням на початку id категорії та через нижнє підкреслення величини націнки. Категорії потрібно перераховувати через кому. Якщо в посиланні на XML вказано параметр user , то націнка буде застосовуватись до ціни, яка враховує вашу персональну знижку. При використанні параметрів автоматичної націнки, якщо ціна з націнкою менша, ніж рекомендована роздрібна ціна (у разі її наявності), буде вивантажена рекомендована роздрібна ціна товару в полі price та oldprice.

Щоб передати серверу в параметрі margin_cats цілий набір категорій, потрібно перерахувати їх ідентифікатори через кому (без пропусків). Якщо ви хочете зробити фільтр для більш ніж 20 категорій, посилання на XML вийде дуже довгим. Довжина посилання обмежена можливостями протоколу http, тому якщо посилання дуже довге, вказуйте параметр category в кінці посилання і тестуйте, чи потрапляють у XML товари з останньої категорії набору.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&margin_cats=99064_10.05,99074_0.02

У цьому прикладі до товарів з категорії "Дитячий транспорт" буде застосовано націнку у розмірі 10.05 грн. Ціни товарів з категорії "Настільні ігри, пазли" будуть збільшені на 2%, тобто помножені на 1.02.

 

Параметри price_from та price_to


дозволяють задати нижню та верхню межу цін, для включення товарів у XML. Значення має бути цілим числом.
Наприклад: price_from=20 означає, що XML міститиме товари з цінами >= 20 грн. А price_to=1000 означає, що XML міститиме товари з цінами <= 1000 грн. Йдеться про початкову ціну, тобто націнки margin_cats, margin_ukr, margin_import, margin_action застосовуються після фільтрації за ціною.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&price_from=20&price_to=1000

Якщо в посиланні на XML вказано параметр user , межі price_from і price_to будуть відносно ціни, що враховує вашу персональну знижку.

 

Параметр round


Якщо вказати цей параметр, то дробові ціни будуть округлені до цілих чисел одним із трьох способів:
round=up - у більшу сторону.
round=down - у менший сторону.
round=math - за правилами округлення (якщо дробова частина більша або дорівнює 0.5, то у більшу сторону, інакше - у меншу).

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&round=math

 

Параметр at_least


обмежує XML товарами, яких є хоча б at_least штук або більше.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&at_least=10

Якщо ви використовуєте at_least спільно з параметром out_of_stock , то, попри наявності at_least , XML може містити деякі товари, яких взагалі немає. Це пояснюється тим, що параметр out_of_stock пропонує включати в XML товари, які пішли з наявності в останні 7 днів. out_of_stock необхідний для надання статусу "немає в наявності" (у вашому магазині) товарам, які закінчилися. Докладніше про нього читайте вище.

 

Параметр in_stock


Якщо вказати параметр in_stock=min , до XML буде додано тег <quantity_in_stock> з мінімальним числом залишку товару на складі. Увага: це не точна кількість на складі, а мінімальна кількість з інтервалу типу "50...100 шт." (Так вказано залишки в тегу <ostatok>). Наприклад, при текстовому описі залишку "понад 100 шт." у тегу <ostatok>, у тегу <quantity_in_stock> буде число 100. При "50...100 шт." - Число 50.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&in_stock=min

 

Параметри vendor, country, video


Якщо вказати параметр vendor=yes , до XML буде додано тег <vendor> з назвою бренду.

Якщо вказати параметр country=yes , до XML буде додано тег <country> з назвою країни виробника товару.

Video тег не відповідає стандарту YML. Якщо вказати параметр video=watch , до XML буде додано тег виду
<video>https://www.youtube.com/watch?v=ZXJuJQVrgbI</video> (звичайне посилання на Youtube). Якщо вказати параметр video=embed , до XML буде додано тег виду <video>https://www.youtube.com/embed/ZXJuJQVrgbI</video> (посилання такого виду зазвичай використовується для вбудовування в сторінку сайту).

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&vendor=yes&country=yes&video=embed

 

Параметр key


Свій ключ доступу можна знайти в особистому кабінеті, в розділі API . Це обов’язковий параметр, без якого посилання не буде працювати.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&key=bb95a93c946acd

 

Параметр param


Якщо вказати параметр param=yes , властивості товару зникнуть з опису і будуть винесені в окремі теги:
<param name="Габарити">49 x 58 x 15 см</param> - це габарити в упаковці
<param name="Вага">2965 г</param> - це вага в упаковці
<param name="Країна реєстрації бренду">Китай</param>
<param name="Країна-виробник товару">Китай</param>
<param name="Колір">Різнокольоровий</param>
<param name="Матеріал">Комбінований</param>
<param name="Упаковка">Коробка</param>
<param name="Комплектація">Плита, таця, чайник, сковорідка, каструля</param>
<param name="Живлення">2 x Батарейки АА (не входять до комплекту)</param>
<param name="Вік">4 роки</param>

Майте на увазі, що в деяких маркетплейсах є свій набір назв характеристик (властивостей) - наші назви можуть не збігатися з ними, через що властивість може ігноруватися маркетплейсом. Іноді на панелі маркетплейса можна створювати свої властивості товару.

Якщо ви відкриваєте XML в Excel, майте на увазі, що при використанні параметра param у кожному товарі може бути по кілька тегів <param>, через що Excel (відкриваючи XML як таблицю) зробить для кожного такого товару по кілька майже однакових рядків, що відрізняються лише значеннями param. До того ж Excel додасть стовпець із назвами самих параметрів. Таке дублювання товарів у таблиці Excel може бути дуже недоречним для вирішення ваших завдань.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&param=yes

 

Параметр picture


У XML ніколи не видаються товари без фотографій. У товару може бути максимум 20 фотографій. Параметр picture дозволяє обмежити у XML максимальну кількість фотографій кожного товару. Без використання цього параметра видається лише одна фотографія. Якщо ви відкриваєте XML в Excel, майте на увазі, що при використанні параметра picture у кожному товарі може бути по кілька тегів <picture>, через що Excel, відкриваючи XML як таблицю, зробить для кожного такого товару по кілька майже однакових рядків, що відрізняються лише значеннями picture. Таке дублювання товарів у таблиці може бути дуже недоречним для вирішення ваших завдань.

Приклад посилання на XML (20 фотографій максимум): https://toysi.ua/feed-products-residue.php?vendor_code=prom&picture=20

 

Параметр offer_id


Задає код ОДНОГО товару, який буде видано у XML (більше ніяких позицій не буде). Якщо ви попередньо використовували у вивантаженні параметр shift, то разом з offer_id потрібно його обов'язково вказати знову. Це для того, щоб Toysi міг відняти значення shift з offer_id і обчислити таким чином код товару в базі Toysi. При використанні offer_id товар буде виданий у XML, навіть якщо його немає в наявності (як при out_of_stock). Можливий випадок, коли тег <offers></offers> - порожній (XML без товарів). Це пояснюється параметрами самого посилання (price_from, price_to, at_least, category та ін.) і тим, що Toysi у будь-який момент може закрити/припинити продаж зазначеного товару.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&offer_id=132871

 

Параметр description


description=not_empty дозволяє виключити з XML товари без опису

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&description=not_empty

 

Параметр lang


За замовчуванням, назви та опис в XML видаються російською мовою. Але при додаванні у посилання параметра lang=ukr , назви категорій, назви товарів, опис товарів, властивості товарів та назви властивостей (див. параметр param), а також тег <keywords> будуть українською мовою. Крім того, тег <url> міститиме посилання на україномовну сторінку товару.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&lang=ukr

 

Параметр many_lang


Якщо додати на посилання параметр many_lang=true , то додатково буде додано теги <name_ua> та <description_ua> з назвою та описом товарів українською мовою. Потрібно враховувати, що теги <name_ua> та <description_ua> НЕ будуть додані, якщо в посиланні використовується параметр lang=ukr.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&many_lang=true

 

Параметр glue


Дозволяє задати додаткові параметри, які будуть відображені в кінці назви товару. Нижче наведено список параметрів, які можна додати до назви.

vendorcode - артикул виробника товару.

id - код товару (без підсумовування з shift, не плутати з атрибутом id тега <offer>, на який впливає параметр shift).

vendor - назва бренду.

country - країна-виробник товару.

color - колір.

material - матеріал.

packaging - упаковка.

age - вік.

Параметри потрібно вводити через нижнє підкреслення в тому порядку, в якому Ви хотіли б бачити їх у назві.

Приклад посилання на XML (додається матеріал, колір та код товару): https://toysi.ua/feed-products-residue.php?vendor_code=prom&glue=material_color_id

Приклад сформованої назви: Залізниця "Мій 1-й поїзд" Пластик Червоний (10331)

 

Параметр prefix


Параметр prefix використовується спільно з параметром glue=id і дає можливість додати префікс на початок коду товару, який буде відображено у назві товару.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&glue=vendor_id_age&prefix=TS

 

Параметр lwh


Якщо вказати параметр lwh=yes , будуть додані теги:
<param name="Довжина в упаковці (см)">49</param>
<param name="Ширина в упаковці (см)">29</param>
<param name="Висота в упаковці (см)">30.5</param>
<param name="Довжина без упаковки (см)">15.5</param>
<param name="Ширина без упаковки (см)">20.4</param>
<param name="Висота без упаковки (см)">12</param>

Майте на увазі, що в деяких маркетплейсах є свій набір назв характеристик (властивостей), наші назви можуть не збігатися з ними. Через це параметр може ігноруватися маркетплейсом. Іноді на панелі маркетплейса можна створювати свої властивості товару, щоб розв'язати це питання.

Якщо ви відкриваєте XML в Excel, майте на увазі, що при використанні параметра param у кожному товарі може бути по кілька тегів <param>, через що Excel (відкриваючи XML як таблицю) зробить для кожного такого товару по кілька майже однакових рядків, що відрізняються лише значеннями param. До того ж Excel додасть стовпець із назвами самих параметрів. Таке дублювання товарів у таблиці Excel може бути дуже недоречним для вирішення ваших завдань.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&lwh=yes

 

Параметр assembly


Додає до товарів ціну за збирання замовлення від складу, яка діє у Toysi на цю мить. Для цього потрібно додати на посилання параметр assembly=true. Також потрібно враховувати, що ціна за збирання додається після всіх націнок та персональної знижки.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&assembly=true

 

Параметр count


Для того, щоб вивести тільки кількість товарів з заданими параметрами у вивантаженні, потрібно додати у посилання параметр count=true. XML структура НЕ формується - при зазначенні посилання у браузері буде виводитися число (номенклатура товарів нині). З часом це число може змінюватися, оскільки деякі товари залишають наявність, або з'являються нові. Щоб після перевірки кількості використати саме XML вивантаження, приберіть параметр count=true.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?vendor_code=prom&count=true

 

Параметр selling_type


Вказує, до якої категорії відноситься товар. Параметр selling_type може дорівнювати "r" або "u". selling_type = "r" - вказує, що товар продається в роздріб. selling_type = "u" - вказує, що товар продається оптом та в роздріб.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?selling_type=r

 

Параметр opt_price


Дозволяє задати оптові ціни на товари. Для цього потрібно вказати три параметри: opt_price, selling_type та opt_quantity. Якщо у параметрі opt_price передати дробове число менше 1, це число буде сприйнято як відсоток знижки. Наприклад: opt_price=0.02 пропонує зменшити ціни на 2%, тобто помножити ціни на 0.98. Якщо у параметрі opt_price передати число більше чи рівне 1, це число буде сприйнято як фіксована знижка. Наприклад: opt_price=1.01 наказує відняти від усіх цін 1.01 грн. Параметр selling_type повинен дорівнювати "u". Також разом із параметрами opt_price та selling_type потрібно обов'язково вказувати параметр opt_quantity - це кількість товарів, при замовленні яких починає діяти оптова ціна. Праметр opt_quantity повинен бути цілим числом, більше 1. В іншому випадку оптова ціна додана не буде. Потрібно враховувати, що оптова ціна формується після застосування всіх знижок та націнок.

Після зазначення параметрів opt_price, selling_type та opt_quantity будуть додані теги:
<prices>
   <price>
      <value>30.5</value>
      <quantity>15</quantity>
   </price>
</prices>

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?opt_price=0.9&selling_type=u&opt_quantity=2

 

Параметр prom_cat


Для імпорту товарів на Prom.ua ми рекомендуємо вказувати параметр prom_cat = "1". Це потрібно для відображення у xml привʼязки наших категорій до категорій Prom.ua. Якщо ж не вказувати цей параметр, то наші товари на Prom.ua можуть бути розміщені у довільних категоріях.

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?prom_cat=1

 

Параметр rrc


дозволяє виключити товари, у яких зазначено рекомендовану роздрібну ціну. Для цього у посиланні потрібно вказати rrc = "off".

Приклад посилання на XML: https://toysi.ua/feed-products-residue.php?rrc=off

 

Опис формату файлу XML


Зазвичай XML містить лише товари, які є в наявності (за винятком випадку використання GET-параметра out_of_stock, описаного вище). При використанні out_of_stock товари, яких немає, можна відрізнити по порожньому атрибуту available тега <offer>. Якщо ж товар є у наявності, то тег available="true".

XML-файл відповідає кодуванню UTF-8 і формату, описаному за посиланням https://toysi.ua/feed-products-yml.html Проте для опису товарів використовуються тільки теги: vendorCode, url, oldprice, price, currencyId, categoryId, picture, name, description, keywords.
Щоб були теги vendor, country, quantity_in_stock, param , їх потрібно увімкнути (див. GET-параметри vendor, country, in_stock, param, описані вище).

Тег oldprice вмикається лише для деяких товарів під час дії акцій.

Тег description може містити html-теги.

Тег currencyId завжди містить значення UAH.

У XML є ще деякі теги.

delivery та pickup - завжди містять true.

Теги, що не відповідають формату YML:

date - дата нового надходження (наприклад: 2017-12-31). Значення тега є лише у товарів з недавніх "приходів", інакше тег порожній. Якщо цей тег викликає помилки при імпорті XML, позбавтеся його, додавши у посилання GET-параметр yml=strict

isImport - якщо true, то імпортний товар, якщо false, то український. Якщо цей тег викликає помилки при імпорті XML, позбавтеся його, додавши у посилання GET-параметр yml=strict

ostatok - містить залишок у текстовому вигляді. Приклади значень: 0 або 2 шт. або 5...10 шт. або 10...50 шт. або 50...100 шт. або понад 100 шт. Якщо цей тег викликає помилки при імпорті XML, позбавтеся його, додавши у посилання GET-параметр yml=strict

cats - див. опис параметра cats.

video - див. опис параметра video.

 

Альтернативний експорт


Посилання на документ з описом застарілого API товарів  https://toysi.ua/xAPI/API.docx