3️⃣Product/Service Database Configuration for JediDesk AI

XML File Requirements

Jedidesk uses price lists for bulk addition and updating of products. Below are detailed requirements for the file format, field completion, and recommendations for successful import.

1. Purpose of the Price List

A price list is a structured file containing product data, used for:

  • initial import.

  • regular updates of prices, stock levels, and content.

2. Technical Requirements

  • Allowed data encoding — UTF-8;

  • The YML standard does not allow the use of non-printable characters with ASCII codes from 0 to 31 (except for characters with codes 9, 10, 13 — tab, line feed, carriage return);

  • The URL of the product offer must be encoded according to the RFC-1738 standard;

  • Example of a price list implementation.

  • Characters ", &, ><, ' must be replaced with their corresponding codes (examples).

  • "

&amp;quot;

  • &

&amp;amp;

  • >

&amp;gt;

  • <

&amp;lt;

  • '

&amp;apos;

*The requirement applies only to writing text and does not apply to writing tags;

3. Description of tags and data elements in XML:

yml_catalog

*required element

The root element of the YML format. The date attribute indicates the date and time of XML (YML) generation or modification. The date must be in the format YYYY-MM-DD hh:mm.

shop

*required element

Information about the online store.

name

optional element

Store name. Not published on the website, used for internal identification. Maximum number of characters — 255.

company

optional element

Store name. Not published on the website, used for internal identification. Maximum number of characters — 255.

url

optional element

URL of the store's main page. Maximum number of characters — 255.

currencies

*required element

List of exchange rates. Each currency is described by a separate currency element. The value in the currency id attribute must be specified as a three-letter alphabetic currency code: UAH, USD, EUR (ISO 4217 standard). Only for the hryvnia is rate="1". The separator between the integer and fractional parts can be a dot or a comma. Example:

<currencies>
<currency id="UAH" rate="1"/>
<currency id="USD" rate="36.6"/>
<currency id="EUR" rate="37.9"/>
</currencies>

categories

*required element

List of product categories. For each category, a unique identifier (id) is specified; numbering is optional.

  • Category IDs must remain unchanged;

  • It is recommended that a single category in the price list does not contain products from two different site categories;

  • It is recommended to specify the category name according to the name on the website;

  • Maximum number of characters — 255. Example:

    <categories>
    <category id="1">Кутові дивани</category>
    <category id="2">Смарт-годинник</category>
    <category id="3">Дитячі ігрові комплекси</category>
    </categories>

offers

*required element

List of all product items. Opens after the </categories> tag. Closes before the </shop> tag.

offer

*required element

Information about a product item.

  • Each product is described in a separate offer element;

  • Each item must have a unique id; numbering is optional. Allowed characters: Aa-Zz and 0-9; Cyrillic and spaces are not allowed;

  • Changing the id is prohibited if the product has already been added to your site;

  • The available attribute indicates product availability:

    • true — product is in stock,

    • false — product is out of stock.

  • Each product variant must be submitted with a separate unique offer id (color, size, volume, configuration, etc.).

stock_quantity або quantity_in_stock

*required element

Product stock. An integer value. The product will be available as long as this parameter is greater than 0. It must be specified for each offer; items without this tag will be marked as “out of stock.”

url (в offer)

optional element

URL of the product page on the seller's website. Maximum number of characters — 500.

price

*required element

Product price. An integer or decimal value. Use a dot or a comma as the separator between the integer and fractional parts.

price_old або old_price

optional element

Strikethrough price (old product price). An integer or decimal value. Used to display a discount on the product. The value of <price_old> must be higher than the value of <price>.

price_promo або promo_price

optional element

Promo price, used to add the product to a promo page. An integer or decimal value.

currencyId

optional element

Currency in which the product price is specified: UAH / USD / EUR.

categoryId

*required element

Identifier of the category to which the product belongs.

picture

optional element

URL of the product image. The link must have a security certificate (https), must not contain Cyrillic characters or spaces, and the maximum number of characters is 1999. The first photo in the list will be the main image on the product page. Minimum number of images — 1, maximum — 15. Maximum size of a single image (file) — 10 MB.

vendor

*required element

Product brand (trademark/manufacturer).

article

optional element

Product SKU.

name або model

*required element

name_ua або model_ua

optional element

Product item name. The price list cannot contain two or more items with exactly the same name; Maximum number of characters — 255. name_ua — item name in Ukrainian. If the Ukrainian name for the product is not specified in the price list, the marketplace will apply automatic translation.

description

*required element

description_ua

optional element

Text description of the product. Maximum number of characters — 50,000; The description can be formatted using HTML tags, which must be grouped in the CDATA section. description_ua — product description in Ukrainian. If the Ukrainian description is not provided in the price list, the website will apply automatic translation.

state

optional element

Product condition. Used for selling discounted, used, or refurbished products. new — new product; stock — discounted product; used — used product; refurbished — refurbished product. By default (and if the state tag is not specified), products are assigned the status new.

docket

optional element

docket_ua

optional element

Short product description. Must be used to indicate the reason for a discounted product (if the product has the corresponding status). Text field, maximum number of characters — 255

param

optional element

Product specifications (parameters). The parameter name is specified in the name attribute. Both the name and value must be filled in; empty tags are not allowed. For multi-value text parameters, values are listed using the <br> separator and enclosed in CDATA. Example:

<param name="Колір">Чорний</param>
<param name="Додаткові характеристики"><![CDATA[Прасувати за температури не більше ніж 110 °C <br>
Не можна вибілювати засобами, які містять хлор <br>
Прання за температури 30 °C.]]></param>

paramid

optional element

D of the specification (parameter) on the website. Used for automatic linking of the parameter. IDs of parameters and their values for a specific category can be downloaded in the seller’s dashboard, under “Product Management” → “Reference Guides.” If the parameter type is: ComboBox, List Values, List, Checkbox, CheckBoxGroup, CheckBoxGroupValues — the valueid attribute must be specified. Example:

<param name="Колір" paramid="136895" valueid="1150615">Коричневий</param>

valueid

optional element

ID of the specification (parameter) value on the website. Used for automatic linking of the value.

Maximum number of characters — 255. Example:

<param name="Сезон" paramid="39560" valueid="2296922, 2645254, 63320">Осіння, Весняна, Літня</param>

value lang

optional element

Used to specify a text specification in two languages. value lang="uk" — Ukrainian; value lang="ru" — Russian. Maximum number of characters — 255. Example:

<param name="Рекомендації по догляду">
<value lang="uk">Не відбілювати</value>
<value lang="ru">Не отбеливать</value>
</param>

4. Data Updates

  • To update price/stock, it is sufficient to provide id, price, quantity.

  • Description and photos are updated when re-importing with the same id.

  • Partial updates are possible — only the changed fields need to be sent.

5. Common Errors

  • Price with a comma instead of a dot.

  • Empty id field.

  • Indirect photo URLs (link to a page, not the file).

  • Incorrect category.

Last updated