#⚫ Яндекс.Маркет - Маркетплейсы
Модуль включает расширенные возможности выгрузки товарных предложений в YML и поддержку моделей работы DBS и FBS, загрузку заказов в магазин.
#⚫ Яндекс.Маркет
Чтобы включить модуль, зайдите в панель управления вашего сайта и в верхнем меню выберите пункт Модули → Управление модулями → Маркетплейсы - Яндекс.Маркет - Включить.
#Настройка в личном кабинете Яндекс.Маркет
- Если товары уже загружены, пропустите этот шаг.
Если на Яндекс.Маркет нет товаров и нужно выгрузить их в маркетплейс: в личном кабинете Яндекс.Маркет откройте Товары - Автообновление каталога, укажите адрес YML файла: https://ваш_сайт/yml/.
- Если вы планируете обрабатывать заказы в ЯМ, пропустите этот шаг.
Если вы хотите обрабатывать заказы в интернет-магазине, в личном кабинете Яндекс.Маркет откройте раздел Настройки - Модули и API, закладка Получение запросов от Маркета - включите режим получения запросов от Маркета.
В личном кабинете Яндекс.Маркет откройте раздел Настройки - Модули и API и укажите в поле URL для запросов API значение https://ваш_сайт/phpshop/modules/yandexcart/api.php, выберите Тип авторизации URL.
Настройка модуля, блок Информация
- В кабинете Яндекс.Маркет откройте
Настройки - Модули и APIзакладкаОтправка запросов Маркету, скопируйте ID кабинета и вставьте в модуль в разделИнформация -Идентификатор кабинета. - В кабинете Яндекс.Маркет откройте
Настройки - Модули и APIзакладкаОтправка запросов Маркетусоздайте Авторизационный токен с полными правами[^9] (all-methods). Скопируйте токен и вставьте его в модуль в полеАвторизационный токен для отправки запросов Маркету[^10]. - Если вы планируете обрабатывать заказы в ЯМ, пропустите этот шаг. В кабинете Яндекс.Маркет откройте
Настройки - Модули и API, вкладкаПолучение запросов от МаркетасоздайтеАвторизационный токен[^11]. Скопируйте токен и вставьте его в модуль в полеАвторизационный токен для получения запросов от Маркета[^12]. - Поле пароль защищает от несанкционированной кражи контента. При использовании пароля ссылка на файл YML примет вид
https://ваш_сайт/yml/?pas=*******. При использовании пароля требуется так же заменить ссылку в Яндекс.Маркете. - Можно временно блокировать прием заказов[^13]. Нужно для тестирования приема заказов на стороне магазина, если вы обрабатываете заказы в магазине.
- Укажите, выгружать ли характеристики товаров на Маркет[^14].
- Укажите, что требуется обновлять из магазина в Маркет: Склад, Цены, Склад и цены[^15].
- Укажите доставку[^16] для заказов с Маркета.
- Включите Журнал операций[^17] для отслеживания выгрузки[^18] данных.
Ссылка на товар[^19] - включите, если нужна кнопка Купить на Яндекс.Маркет[^20]. Требует добавление метки в ваш шаблон.Создавать товар^21 - если на ЯМ будет новый товар, который отсутствует в магазине (соответствующий артикул), то он будет создан автоматически с приходом заказа. Иначе, товара просто не будет в заказе.- Шаблон генерации описания[^22] - настройка описания товаров.
Настройка модуля, блок Кампания
- Выберите свои Модель/модели работы:
Кампания №1,Кампания №2: DBS, FBS, FBY или Экспресс[^23]. - В кабинете Яндекс.Маркет откройте
Настройки - Модули и APIзакладкаОтправка запросов Маркету, скопируйте значение ID кампании[^24] в поле Идентификатор кампании настроек модуля раздел Кампания № _. - Выберите Склад товаров для каждой модели. Несколько складов можно создать в меню
Настройки - Склады.
Ссылка на файл с товарами- для каждой Кампании нужно указать свою ссылку в Яндекс.Маркет, согласно п.1 этой инструкции. Если товары в ЯМ уже загружены, пропустите этот шаг.Колонка цен Яндекс.МаркетиНаценкаслужат для выгрузки на маркетплейс своих отдельных цен. Подробнее про колонки цен.
Настройка модуля, блок Товары
- Размещение[^25] - отметьте нужные категории, или выберите Все категории, укажите модель работы, нужно ли вкл или выкл с показа на Яндекс.Маркет. Нажмите
Сохранить. Один и тот же товар может присутствовать в нескольких моделях.
Настройка модуля, блок Способы оплаты для DBS/FBS
Настройка модуля, блок Статусы заказа для DBS/FBS
- Это нужно если заказы обрабатываются в магазине, если вы обрабатываете заказы в ЯМ, пропустите этот шаг. Укажите соответствие статусов заказа в Яндекс.Маркет[^27] со статусами заказа в интернет-магазине. При изменении статуса заказа на статус, соответствующий статусам "Статус передан в службу доставки", "Заказ доставлен в пункт самовывоза", "Статус доставлен", "Магазин не может выполнить заказ", "Покупатель решил заменить товар другим по собственной инициативе", "Покупатель отменил заказ по собственным причинам" будет изменен статус заказа в Яндекс.Маркете.
- Если вы обрабатываете заказы в ЯМ, то нужно привязать только один статус
Заказ подтвержден, его можно начать обрабатывать[^28] и выбрать статус с опцией Списание в магазине[^29], для актуализации остатков на сайте.
#Автоматическая выгрузка цен и остатков
- Для автоматической выгрузки цен и остатков товаров в Яндекс.Маркет по расписанию, добавьте новую задачу в модуль Задачи с адресом запускаемого файла
phpshop/modules/yandexcart/cron/products.php.
Остатки и цены выгружаются так же при редактировании карточки товара в магазине и через файл YML.
#Настройка товаров для выгрузки на Яндекс.Маркет
- Отметьте товары, которые будут выгружены на Яндекс.Маркет в п. 21 этой инструкции.
- Затем, в карточке редактирования товара в закладке Яндекс.Маркет[^30] настройте дополнительные параметры вывода для Яндекс.Маркета. Все, что заполнено у товара во вкладке
Яндекс, будет выводиться в фид.
Товары можно обработать пакетно - смотрите раздел Пакетная обработка товаров
- Настройте имя и код производителя. Имя производителя можно также указать через характеристику Бренд.
- Настройте опцию вывода наличия у товара гарантии производителя.
- Настройте комментарий. Комментарий используется для отражения информации о минимальной сумме заказа, минимальной партии товара, необходимости предоплаты (указание элемента обязательно) или вариантах оплаты, описания акций и распродаж. Допустимая длина текста в элементе — 50 символов.
- Настройте опцию вывода страны производителя.
- Настройте опцию принадлежности к товарам для взрослых. Обязателен для обозначения товара, имеющего отношение к удовлетворению сексуальных потребностей, либо иным образом эксплуатирующего интерес к сексу.
- Для размещения по модели FBS у товаров необходимо заполнить Вес, Длина, Ширина, Высота на вкладке Основное. И параметры Компания производитель, адрес и рег. номер (если есть), Страна производства на вкладке Яндекс.Маркет
#Настройка доставки по модели DBS
- В карточке редактирования доставки в закладке Модули - Яндекс.Маркет настройте максимальное количество дней доставки.
- Настройте время заказа для увеличения срока доставки.
- Настройте опцию вывода доставки для Яндекс.Маркета).
- Настройте опцию принадлежности доставки только для локального региона.
- Настройте параметр типа доставки (Курьерская, Самовывоз или Почта).
- Выберите, для какого региона будет отображаться способ доставки. Необходимо заполнить поле
Регион доставки. - Для способа доставки
Самовывозобязательно нужно выбрать минимум одну Точку продаж. Точки продаж необходимо создать в личном кабинете Яндекс.Маркет.
#Настройка характеристик
- В настройках модуля включите опцию
Вывод характеристик в YML[^31]. Характеристика выводится в YML файле в тегахParam. - Если нужно отключить какие-то характеристики для выгрузки на Маркет, зайдите в характеристику, меню
Товары - Характеристики, в закладкеМодули - Яндекс.Маркетотключите характеристику для вывода на Яндекс.Маркет[^32].
- Настройте единицу измерения для числовых параметров (дюйм, Мб, кг и т.д.)
#Подключение одновременно нескольких моделей работы
Для одновременной работы магазина в нескольких моделях используются настройки из секций Кампания №1, Кампания №2 и Кампания №3, с указанием идентификаторов компании, моделей работы, цен и складов.
Для каждой кампании используется свой адрес URL для запросов API.
- Кампания 1:
https://ваш_сайт/phpshop/modules/yandexcart/api.php - Кампания 2:
https://ваш_сайт/phpshop/modules/yandexcart/api-2.php - Кампания 3:
https://ваш_сайт/phpshop/modules/yandexcart/api-3.php
Для каждой кампании используется свой адрес Ссылки на товары.
- Кампания 1:
https://ваш_сайт/yml/ - Кампания 2:
https://ваш_сайт/yml/?campaign=2 - Кампания 3:
https://ваш_сайт/yml/?campaign=3
#Загрузка товаров из Яндекс.Маркета
-
Для загрузки товаров из Яндекс.Маркета в настройке модуля должно быть заполнено поле
Идентификатор кабинета. -
Список товаров для загрузки из Яндекс.Маркета доступен в разделе
Модули - Яндекс.Маркет- Товары из Яндекс.Маркета. -
По клику на название товара откроется карточка с описанием данных по товару с Яндекс.Маркет.
-
Для загрузки товара используется кнопка
Загрузить товар. Для повторной загрузки товара следует удалить его из базы товаров в магазине. Из Яндекс.Маркета загрузятся данные по товару, в том числе, изображения и описание. -
Для загрузки всех товаров сразу из Яндекс.Маркета следует из настроек модуля нажать на кнопку
Загрузить товары в CSV.После этого будет сформирован и загружен файл product.yandex.csv, который загружается через штатный функционал Импорта данных. Если товаров в Яндекс.Маркете много, то создание CSV может занять время и ресурсы хостинга.
#Загрузка заказов из Яндекс.Маркета
- Для загрузки заказов из Яндекс.Маркета должно быть в настройке модуля заполнено поле
Идентификатор кабинета. - Список заказов для загрузки из Яндекс.Маркета доступен в разделе
Модули - Яндекс.Маркет - Заказы из Яндекс.Маркета. - По клику на номер заказа откроется карточка с описанием данных по заказу с Яндекс.Маркет.
- Для загрузки заказа используется кнопка Загрузить заказ. Для повторной загрузки заказа следует удалить его из базы заказов в магазине.
- Для автоматической загрузки заказов из Яндекс.Маркета по расписанию следует добавить новую задачу в модуль Задачи с адресом запускаемого файла
phpshop/modules/yandexcart/cron/orders.php
#Выгрузка цен и остатков на ЯМ
Остатки и цены также выгружаются из магазина в маркетплейс несколькими способами:
- В момент нажатия кнопки
Сохранитьу товара. - Нажатием кнопки
Выгрузить цены и остаткив настройках модуля. - По расписанию: укажите статус заказа, включите опцию
Списывать со склада. Склад уменьшится у товаров в заказе на количество штук в заказе. Новые остатки уйдут в маркетплейс по расписанию. Для этого включите модуль Задачи и добавьте новую задачу с адресом запускаемого файлаphpshop/modules/yandexcart/cron/products.php.
#Дополнительные возможности модуля
- Выгрузка стоимости доставки для каждого товара в Яндекс.Маркет на основе формулы расчета доставке по весу товара.
- Выгрузка тега бренда.
- Выгрузка параметров товара из характеристик.
- Выгрузка старой цены товара.
- Выгрузка веса товара.
#Настройка колонок цен и наценок
В настройке модуля можно указывать, какие колонки цен выгружать, а также делать наценки. Для выгрузки товаров, можно назначить шаблон описания товаров.

#✅ Пакетная обработка товаров
Пакетно заполнить товары можно через выгрузку текущих товаров в csv, правку файла и загрузку через Обновление через Импорт базы.
- В меню
Товарывыделите нужные товары, нажмите⚙️ - Экспортировать выбранные:

- Выберите нужные поля (подсказка полей есть в карточке товара[^33]). Обязательные поля Артикул или id и Каталог[^34]. Поставьте выгрузку характеристик Колонка, кодировка UTF-8. Нажмите
Выполнить:
.jpeg)
- В полученном файле измените данные, сохраните файл как csv, кодировка UTF-8.
- В меню
База - импорт данныхвыберите сохраненный файл. Выберите характеристики Колонка, кодировку UTF-8, отключите загрузку фото. НажмитеВыполнить:

#SQL запросы для пакетной обработки
Для использования SQL команд в большинстве случаев помогает штатная возможность панели управления магазином База - SQL запрос к базе.
| # | SQL | Описание |
|---|---|---|
| 1 | update phpshop_products set manufacturer_warranty='1'; | Включение гарантии в Яндекс.Маркете для всех товаров |
| 2 | update phpshop_products set sales_notes="Минимальная партия - 1шт; минимальная сумма заказа - 1000 руб."; | Добавляем комментарий ко всем товарам для Яндекс.Маркета |
| 3 | update phpshop_products set country_of_origin="Беларусь"; | Добавляем страну производителя ко всем товарам для Яндекс.Маркета |
| 4 | update phpshop_products set yml='0' where price<1 or items<1; | Замена статуса участие в Яндекс.Маркете (убрать из выгрузки) при пустом складе или нулевой цене |
| 5 | update phpshop_products set yml='1' where price>0 or items>0; | Замена статуса участие в Яндекс.Маркете (добавить в выгрузку) при положительном складе или нулевой цене |
| 6 | update phpshop_products set sklad='0' where items>0; | Замена статуса участие в Яндекс.Маркете (убрать нет в наличии) при положительном складе |
| 7 | update phpshop_products set yml='0' where pic_big="" or pic_big="0"; | Замена статуса участие в Яндекс.Маркете (добавить в выгрузку) при отсутствии изображения |
#Стандартные ошибки YML
Не загружается прайс-лист на площадку Яндекс.Маркет: Ошибки при разборе файла: Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Start tag expected, '<' not found ( ) (строка 1, столбец 1)
В настройках модуля Яндекс.Маркет включена защита ссылки YML паролем, а новая ссылка с паролем типа http://shopname.ru/yml/yandex.php?pas=******* в Яндекс.Маркете не указана.
Не получается подключиться к Яндекс-Маркету. При проверке файла Яндекс пишет: "Внимание! Прайс-лист содержит ошибки. Определена кодировка: windows-1251 (строка 0, столбец 0) Дата из файла: 2020-06-14 02:06 (строка 3, столбец 38) Ошибка: Обнаружен цикл в дереве категорий: категория 21 ссылается на категорию 21 (строка 8, столбец 7722) Фатальная ошибка: Фид отклонен"
При заполнении каталога была допущена ошибки и каталог А стал ссылаться на самого себя, что приводит к цикличности и ошибки проверки.
Исходя из указанного "зависшего каталога" с ID=21, выполним его удаление через панель управления магазином. Для этого выберете База - SQL запрос к базе - под основным окном в выпадающем меню выбираем Удалить каталог. После знака = ставим ID каталога и жмем клавишу ОК (в нашем случаи указываем 21).
Размещение Вашего магазина было приостановлено за повторяющиеся ошибки в прайс-листе. Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Expected entity name for reference (строка 8817, столбец 320) Формат XML требует соблюдения правил заполнения описания товара.
Открываем свой файл для Яндекс Маркета http://имя сайта/yml/yandex.php любым браузером. Нажимаем в меню браузера опцию "Просмотр исходного кода страницы" и переходит к указанной строке (у нас указано в ошибке строка 8817). В этой строке нарушен синтаксис XML. Пример:
<offer id="1781" type="book" available="true">
<url>http://shop.ru/shop/UID_1781.html?from=yml</url>
<price>850</price>
<currencyId>RUR</currencyId>
<categoryId>25</categoryId>
<picture>http://shop.ru/UserFiles/Image/img1781_16198s.jpg</picture>
<name>Служебник.</name>>
<description> Аналойный, церковнославянский язык, двухцветная печать.</description>
</offer>
Ошибку вызывает тег
<description>
Аналойный, церковнославянский язык, двухцветная печать.
</description>
Нужно узнать номер товара (offer id="1781"), найти его через админ-панель магазина через поиск 1781 и отредактировать описание товара, убрав лишние символы
. Если символы не видны в визуально редакторе, то перейти в режим html редактора. Сохранить изменения и отправить Яндексу на анализ снова.
#Скачивание большого файла YML
При обнаружение ошибки в YML файла, Яндекс.Маркет показывает справочную информацию в какой строке обнаружена ошибка. Для анализа ошибки в файле yml следует его предваритеьно скачать и открыть любам текстовым редакторов, например Блокнотом.
Если товаров в магазине менее 10 000, то yml файл без проблем скачивается через браузер, иначе могут возникнуть сложности при его загрузке из-за большого объема и нехватки памяти для браузера.
Для скачивание больших YML файлов можно воспользоваться командой:
wget https://имя_сайта/yml/
Если используется Windows, то нужно предварительно установить программу PowerShell и выполнить Пуск - Командная строка.
powershell
wget https://имя_сайта/yml/ -outfile yandex.xml

В результате, через некоторое время (зависит от объема файла) в корне пользовательской папки C: появится файл
Users
ИмяПользователяyandex.xml для дальнейшего анализа по номеру строки. Для быстрого перехода на нужный номер строки используйте вызов меню перехода следующее сочетание клавишCtrl+G.
[^10]:
.png)
[^11]:
.png)
[^12]:
.png)
[^13]:
.png)
[^14]:
.png)
[^15]:
.png)
[^16]:
.png)
[^17]:
.png)
[^18]:
.png)
[^19]:
.png)
[^20]:
.png)
[^22]:
.png)
[^23]:
.png)
[^24]:
 (1) (1) (1) (1) (1).png)
[^25]:
.png)
[^26]:
.png)
[^27]:
.png)
[^28]:
.png)
[^29]:
.png)
[^30]:
.png)
[^31]:
.png)
[^32]:
.png)
[^33]:
<img src="../.././help-main/.gitbook/assets/9.jpeg" alt="" data-size="original">
[^34]: Поле Каталог нужен для корректной загрузки характеристик обратно.
Если не будете редактировать характеристики, Каталог не нужен.