> For the complete documentation index, see [llms.txt](https://docs.jedidesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jedidesk.com/nalashtuvannya-jedidesk-ai/nalashtuvannya-bazi-tovariv-poslug-dlya-jedidesk-ai.md).

# Налаштування бази товарів/послуг для JediDesk AI

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

### 1. Призначення прайс-листа

Прайс-лист — це структурований файл з даними про товари, який використовується для:\
\- початкового імпорту.\
\- регулярного оновлення цін, залишків і контенту.

### 2. Технічні вимоги

* допустиме кодування даних — UTF-8;
* стандарт YML не допускає використання недрукованих символів з ASCII-кодами від 0 до 31 (за винятком символів з кодами 9, 10, 13 — табуляція, перенесення рядка, повернення каретки);
* url-адреса товарної пропозиції повинна бути закодована відповідно до стандарту RFC-1738;
* Приклад реалізації [прайс-листа](https://public.rozetka.market/sellerrozetka/s1596/xml-pricelist-exaple.xml).
* символи ", &, > <, ' потрібно замінювати на еквівалентні коди. (приклади)

  | Символ в тексті     | Код в XML   |
  | ------------------- | ----------- |
  | <ul><li>"</li></ul> | \&amp;quot; |
  | <ul><li>&</li></ul> | \&amp;amp;  |
  | <ul><li>></li></ul> | \&amp;gt;   |
  | <ul><li><</li></ul> | \&amp;lt;   |
  | <ul><li>'</li></ul> | \&amp;apos; |

  &#x20;\*Вимога стосується лише написання тексту і не стосується написання тегів;

### 3. Опис тегів та елементів даних в xml:

<table data-header-hidden><thead><tr><th>Елемент / тег</th><th>Значення</th></tr></thead><tbody><tr><td><p><strong>yml_catalog</strong></p><p>*обов'язковий елемент</p></td><td>Кореневий елемент формату YML. Атрибут date вказує дату і час генерації або зміни XML (YML). Дата повинна мати формат YYYY-MM-DD hh:mm.</td></tr><tr><td><p><strong>shop</strong></p><p>*обов'язковий елемент</p></td><td>Інформація про інтернет-магазин.</td></tr><tr><td><p><strong>name</strong></p><p>необов'язковий елемент</p></td><td><p>Назва магазину. На сайті не публікується, використовується для внутрішньої ідентифікації.</p><p>Максимальна кількість символів ━ 255.</p></td></tr><tr><td><p><strong>company</strong></p><p>необов'язковий елемент</p></td><td><p>Назва компанії. Не публікується, використовується для внутрішньої ідентифікації.</p><p>Максимальна кількість символів ━ 255.</p></td></tr><tr><td><p><strong>url</strong></p><p>необов'язковий елемент</p></td><td><p>url-адреса головної сторінки магазину.</p><p>Максимальна кількість символів ━ 255.</p></td></tr><tr><td><p><strong>categories</strong></p><p>*обов'язковий елемент</p></td><td><p>Перелік категорій товарів. Для кожної категорії вказується унікальний ідентифікатор <em>(id)</em>, нумерація дозвільна.</p><ul><li>id категорій повинні залишатися незмінними;</li><li>parentId - можливість ваказати батьківську категорію для побудови ієрархії;</li><li>рекомендуємо, щоб в одній категорії в прайс-листі не було товарів з двох різних категорій сайту;</li><li>рекомендуємо вказувати назву категорії згідно з назвою на сайті;</li><li>максимальна кількість символів ━ 255.</li></ul><p>Приклад:</p><pre><code>&#x3C;categories>
&#x3C;category id="1">Кутові дивани&#x3C;/category>
&#x3C;category id="2">Смарт-годинник&#x3C;/category>
&#x3C;category id="3">Дитячі ігрові комплекси&#x3C;/category>
&#x3C;/categories>
</code></pre></td></tr><tr><td><p><strong>offers</strong></p><p>*обов'язковий елемент</p></td><td>Список всіх товарних позицій. Відкривається після тегу <em>&#x3C;/categories></em>. Закривається перед тегом <em>&#x3C;/shop></em>.</td></tr><tr><td><p><strong>offer</strong></p><p>*обов'язковий елемент</p></td><td><p>Інформація про товарну позицію.</p><ul><li>кожен товар описується в окремому елементі <em>offer</em>;</li><li>кожна позиція повинна мати унікальний <em>id</em>, нумерація дозвільна, допускається використання символів: Aa-Zz і 0-9, не допускається використання кирилиці та пробілів;</li><li>забороняється змінювати <em>id</em>, якщо товар вже доданий на ваш сайт;</li><li>атрибут <em>available</em> вказує наявність товару:<br><em>true</em> — товар в наявності,<br><em>false</em> — немає в наявності.</li></ul><p>Кожен різновид товару потрібно передавати окремим унікальним <em>offer id</em> (колір, розмір, об'єм, комплектація тощо).</p></td></tr><tr><td><p><strong>stock_quantity</strong> або <strong>quantity_in_stock</strong></p><p>*обов'язковий елемент</p></td><td><p>Залишки товару. Ціле цифрове значення. Товар буде в наявності поки цей параметр більше ніж 0.</p><p>Обов'язково вказувати для кожного <em>offer</em>, позиції без тегу будуть у статусі «немає в наявності».</p></td></tr><tr><td><p><strong>url</strong> (в offer)</p><p>необов'язковий елемент</p></td><td><p>url-адреса сторінки товару на сайті продавця.</p><p><em>Рекомендуємо заповнювати дане значення для надання посилання користувачу.</em></p><p>Максимальна кількість символів ━ 500.</p></td></tr><tr><td><p><strong>price</strong></p><p>*обов'язковий елемент</p></td><td>Ціна товару. Ціле або дробове числове значення. Роздільником цілої та дробової частин використовуйте крапку або кому.</td></tr><tr><td><p><strong>price_old</strong> або <strong>old_price</strong></p><p>необов'язковий елемент</p></td><td><p>Перекреслена ціна (стара ціна товару). Ціле або дробове числове значення. Використовується для відображення знижки на товар.</p><p>Значення <em>&#x3C;price_old></em> має бути вище значення <em>&#x3C;price></em>.</p></td></tr><tr><td><p><strong>currencyId</strong></p><p>необов'язковий елемент</p></td><td>Валюта, в якій вказана ціна товару: UAH / USD / EUR.</td></tr><tr><td><p><strong>categoryId</strong></p><p>*обов'язковий елемент</p></td><td>Ідентифікатор категорії, до якої відноситься товар.</td></tr><tr><td><p><strong>picture</strong></p><p>необов'язковий елемент</p></td><td><p>url-адреса зображення товару. Посилання повинно мати сертифікат безпеки (https), не має містити кирилицю та пробіли, максимальна кількість символів ━ 1999.</p><p>Мінімальна кількість ━ 1, максимальна ━ 15. Максимальний розмір одного зображення (файлу) ━ 10 Мб.</p></td></tr><tr><td><p><strong>vendor</strong></p><p>*обов'язковий елемент</p></td><td>Бренд товару (торгова марка/виробник).</td></tr><tr><td><p><strong>article</strong></p><p>необов'язковий елемент</p></td><td>Артикул товару.</td></tr><tr><td><p><strong>name</strong> або <strong>model</strong></p><p>*обов'язковий елемент</p></td><td><p>Назва товарної позиції.</p><ul><li>максимальна кількість символів — 255.</li></ul></td></tr><tr><td><p><strong>description</strong></p><p>*обов'язковий елемент</p></td><td><p>Текстовий опис товару.</p><ul><li>максимальна кількість символів — 50 000;</li><li>опис можна форматувати за допомогою HTML тегів, які потрібно згрупувати в розділі <em>CDATA</em>.</li></ul></td></tr><tr><td><p><strong>state</strong></p><p>необов'язковий елемент</p></td><td><p>Стан товару. Використовується для продажу уцінених, вживаних чи відновлених товарів.</p><ul><li><em>new</em> — новий товар;</li><li><em>stock</em> — уцінений товар;</li><li><em>used</em> — вживаний товар;</li><li><em>refurbished</em> — відновлений товар.</li></ul><p>За замовчуванням (і якщо тег <em>state</em> не вказаний) товарам встановлюється статус <em>new</em>.</p></td></tr><tr><td><p><strong>param</strong></p><p>необов'язковий елемент</p></td><td><p>Характеристики товару (параметри).</p><p>Назва характеристики вказується в атрибуті <em>name.</em> Назва та значення обов'язково мають бути заповнені, не допускається наявність незаповненого тегу.</p><p>В багатозначному текстовому параметрі значення перераховуються через роздільник &#x3C;br> і закриваються в CDATA.</p><p>Приклад:</p><pre><code>&#x3C;param name="Колір">Чорний&#x3C;/param>
&#x3C;param name="Додаткові характеристики">&#x3C;![CDATA[Прасувати за температури не більше ніж 110 °C &#x3C;br>
Не можна вибілювати засобами, які містять хлор &#x3C;br>
Прання за температури 30 °C.]]>&#x3C;/param>
</code></pre><p>Максимальна кількість символів ━ 500.</p></td></tr><tr><td><p><strong>paramid</strong></p><p>необов'язковий елемент</p></td><td><p><em>id</em> характеристики (параметра) на сайті. Використовується для автоматичної зв’язки параметра.</p><p><em>id</em> параметрів та їх значень для конкретної категорії можна завантажити в кабінеті продавця, розділ «Управління товарами» → «Довідники».</p><p>Якщо тип параметра: ComboBox, List Values, List, Checkbox, CheckBoxGroup, CheckBoxGroupValues ━ обов'язково вказувати атрибут <em>valueid</em>.</p><p>Приклад:</p><pre><code>&#x3C;param name="Колір" paramid="136895" valueid="1150615">Коричневий&#x3C;/param>
</code></pre></td></tr><tr><td><p><strong>valueid</strong></p><p>необов'язковий елемент</p></td><td><p><em>id</em> значення характеристики (параметра) на сайті. Використовується для автоматичної прив'язки значення.</p><p>Приклад:</p><pre><code>&#x3C;param name="Сезон" paramid="39560" valueid="2296922, 2645254, 63320">Осіння, Весняна, Літня&#x3C;/param>
</code></pre><p>Максимальна кількість символів ━ 255.</p></td></tr><tr><td><p><strong>value lang</strong></p><p>необов'язковий елемент</p></td><td><p>Використовується для вказання текстової характеристики двома мовами.<br><em>value lang="uk"</em> — українська;<br><em>value lang="ru"</em> — російська.</p><p>Приклад:</p><pre><code>&#x3C;param name="Рекомендації по догляду">
&#x3C;value lang="uk">Не відбілювати&#x3C;/value>
&#x3C;value lang="ru">Не отбеливать&#x3C;/value>
&#x3C;/param>
</code></pre><p>Максимальна кількість символів ━ 255.</p></td></tr></tbody></table>

### 4. Оновлення даних

\- Для оновлення ціни/залишків достатньо передати \`id\`, \`price\`, \`quantity\`.\
\- Опис і фото змінюються при повторному імпорті з тим же \`id\`.\
\- Можливе часткове оновлення — тільки змінені поля.

### 5. Типові помилки

\- Ціна з комою замість крапки.\
\- Порожнє поле \`id\`.\
\- Непрямі URL фото (ведуть на сторінку, а не файл).\
\- Некоректна категорія.<br>
