# Импорт товаров интернет-магазина



# Подготовка фида (файла с товарами интернет-магазина)

Для товаров магазина мы используем файл формата xml по стандарту Яндекс.Маркета (YML), при создании файла следуйте **[документации Яндекса](https://yandex.ru/support/marketplace/ru/assortment/auto/yml)**.
 

Атрибуты элемента `<offer></offer>`, которые мы загружаем из фида:

- id
- name
- url
- price
- oldprice
- picture
- description
- typePrefix
- vendor
- model
- categoryId

Корректность формата файла можно проверить через **[валидатор XML-фидов](https://webmaster.yandex.ru/tools/xml-validator/)**, во вкладке “Маркет”.

# Подготовка регионального фида

#### Общее

Функционал региональности позволяет получать локальную информацию о товарах (например цену и наличие), актуальную для конкретного региона (страны / города).  

В свою очередь это позволяет: 
- отображать в рекомендациях товары, доступные в конкретном регионе со специфичной к этому региону ценой;
- в email-рассылках использовать информацию о товаре, специфичную для региона, к которому относится пользователь.
 
#### Изменения YML для поддержки региональности
Для передачи специфичной для региона информации о товаре через yml необходимо в тег `offer` добавить блок `stock`. Пример:
 
```xml

<offer id="1039485" available="true">
    <price>100.00</price>
    <url>http://example.com/pathToProduct</url>
  <stock id="14"> К примеру, этот stock отвечает за Екатеринбург
    <available>true</available> Наличие товара в Екатеринбурге
    <price>200.00</price> Цена товара в Екатеринбурге
    <url>http://ekb.example.com/pathToProduct</url> Ссылка на товар на поддомене для Екатеринбурга
  </stock>
  <stock id="15"> К примеру, этот stock отвечает за Санкт-Петербург
    <available>false</available> Наличие товара в Санкт-Петербурге
    <price>250.00</price> Цена товара в Санкт-Петербурге
    <url>http://spb.example.com/pathToProduct</url> Ссылка на товар на поддомене для Санкт-Петербурга
  </stock>
</offer>
```
 
 
В данный момент каталог товаров поддерживает кастомизацию следующих атрибутов:  

- available
- price
- oldPrice
- url  
- currencyId
 
Требования к описанию атрибутов региона:
- каждый элемент offer обязательно должен содержать все стоки;
- товары, у которых не указан ни один `stock`, должны быть не в наличии `(available=”false”)`;
- каждый элемент `stock` в рамках одного `offer` обязан иметь уникальные строковые идентификаторы, заданные атрибутом `id`;
 
Таким образом, при получении информации о товаре, привязанном к одному из объявленных регионов, данные о цене и наличии будут переопределены значениями элемента `stock`.
 
#### Передача stock id в локальное хранилище браузера

Кроме этого, на сайте необходимо создать ключ в локальном хранилище(**[localStorage](https://developer.mozilla.org/ru/docs/Web/API/Window/localStorage)**) с именем `_lh_stock_id` и со значением, которое будет равно `stock id` в фиде.

То есть, если посетитель заходит на сайт ekb.example.com, а в фиде за Екатеринбург отвечает `stock id` со значением “2” то нужно, чтобы создавался ключ `_lh_stock_id` со значением “2”, в этом случае сервис будет использовать данные о товарах из фида ориентируясь на элемент `stock`, у которого stock `id=”2”`.