YML

本文是关于YML文件的结构。 要了解如何设置特定产品参数,请在参考中找到它。

YML (Yandex Market Language) — Yandex自己的基于XML的标准。 在YML文件中,您可以以方便自动生成的格式描述整个商店目录。

本指南介绍了YML文件的所有必要元素。

提示

如果您使用流行的CMS,可能有一个现成的模块,可以生成YML文件。 现成模块列表

用于更新目录的文件和用于管理放置的文件

您可以使用YML文件来解决两个任务:

-将产品添加到目录并更新有关它们的信息;
-管理货物在商店的放置。

解决不同任务的YML文件在所需元素集上有所不同。

标题

任何YML文件中都需要它。

它是这样写的:


                <?xml version="1.0" encoding="UTF-8"?>

标题占据第一行,并以空字符开头。 UTF-8和Windows-1251编码是合适的。

根元素 <yml_catalog>

任何YML文件中都需要它。

任何XML文档都有根元素。 YML格式使用带有date属性的`<yml_catalog>'元素作为根。

在属性中,指定文件中的数据为当前时刻的日期和时间。 目录的上传版本必须不超过10天。

必须根据RFC3339标准指定日期和时间,如下所示:


                <yml_catalog date="2022-05-22T14:37+03:00">

请务必指定时区。 它是从UTC开始计算的。 例如,克拉斯诺亚尔斯克时间是这样写的:


                <yml_catalog date="2022-05-22T15:08+07:00">

以后不能指定日期和时间。

如果文件需要很长时间才能生成,请在属性中指定生成的开始时间。 为什么?

重要

如果使用YML传输余额或价格,则必须指定date属性。

元素 <shop>

任何YML文件中都需要它。

'<Yml_catalog>'元素包含没有属性的`'元素的单个副本。 它描述了为其准备文件的存储。

它包含:

元素

数据类型

意义

<name>

文本:
<name>BestSeller</name>

你的商店名称

<company>

文本:
<company>Tne Best inc.</company>

你的公司名称

<url>

文本:

<url>http://best.seller.ru</url>

商店的网站地址,根据RFC3986标准记录

<platform>

文本:
<platform>uCoz</platform>

内容管理系统的名称

<categories>

包含嵌套的`'元素

商店出售的产品类别列表

<offers>

包含嵌套元素'`

优惠列表-在商店出售的产品,价格

元素 <categories>

提示

如果您从市场列表中选择一个值,产品将立即落入适当的类别。 当您从商店中的类别列表中指定值时,产品类别将在Yandex上确定。市场将是自动的。

它只在管理产品的YML文件中需要。

嵌套在''元素中,没有属性。 它被放置在**元素''之前。 它包含尽可能多的''元素,每个元素都描述了商店中可用的产品类别之一。

创建类别时,请遵循建议:
-指定特定类别—例如,最好将一组刀具分类为餐具,而不仅仅是餐具;
-选择描述产品而不是抽象特征的类别-例如,最好指定香水而不是礼品

每个类别都需要分配一个唯一标识符-一个长达18位的正整数-并写入'id'属性。 写一个数字不应该从零开始-例如,055将不起作用。

要将一个类别嵌套到另一个类别中,请使用parentId属性。

结果会是这样的:


<categories>
    <category id="1">书籍</category>
    <category id="2" parentId="1">侦探</category>
    <category id="3" parentId="1">动作片</category>
    <category id="4">短片</category>
    <category id="5" parentId="4">喜剧</category>
    <category id="6">打印机</category>
    <category id="7">办公室设备</category>
</categories>

元素 <offers>

任何YML文件中都需要它。 嵌套的`'元素的内容取决于YML文件解决的任务。

它位于**元素<categories>之后。 它没有属性。 它包含尽可能多的`'元素,每个元素都描述了商店中的一个产品。 ''具有包含您的产品SKU的强制id属性。 什么是SKU

重要

''元素已经过时,最好不要使用它。 如果有一个,你的SKU的值是从它取的,而不是从''元素的'id'属性。

在''中,您需要指定产品的特性(名称,描述,制造商等)或放置参数(价格,折扣,剩菜等)。

查看[参考](../fields/index.md)。**

它会告诉您需要哪些参数以及如何在YML文件中设置它们。

如果YML文件用于添加产品,请参阅具有特征的表。如果要管理放置,请使用带有放置参数的表。

现成档案的例子

管理货物

下载

管理安置

下载

Если указывать время завершения генерации, можно потерять изменения, внесенные вручную. Допустим, магазин начал генерировать файл в 12:00. В 12:05 вы через кабинет изменили цену товара. В 12:10 магазин сформировал файл, и его скачал Маркет. Если в файле будет стоять время 12:10, Маркет заменит внесенную вами цену на неактуальную из файла. Если же в нем будет стоять 12:00, ваше изменение будет считаться более поздним и никуда не денется.

Значение по умолчанию — это значение, которое используется, если элемента в файле нет. Например, если для элемента element значение по умолчанию true:

Чтобы задать true

Чтобы задать false

Можно не включать элемент в YML-файл. Если удобно, можно его задать явно:

<element>true</element>

Нужно обязательно задать значение в файле:

<element>false</element>