Яндекс Маркет (устарело)
Интеграция VirtualPos с Яндекс Маркетом: Маркет получает из VirtualPos каталог товаров, цены и остатки, а заказы покупателей приходят в VirtualPos как заказы покупателей. Поддерживаются модели FBS (в том числе Экспресс) и DBS — товар хранится в ваших точках продаж, вы собираете заказ и передаёте его в доставку или выдаёте покупателю.
Эта интеграция устарела. Новым клиентам подключайте Маркет в разделе Маркетплейсы → Яндекс Маркет — см. Яндекс Маркет. Статья описывает прежнюю интеграцию для тех, кто уже работает через неё, в том числе с Яндекс Едой.
Общее описание
Обмен идёт через API. Маркет сам обращается к облаку VirtualPos: запрашивает остатки, подтверждает корзину покупателя, передаёт новые заказы и изменения их статусов, а каталог с ценами забирает по ссылке на YML-файл. VirtualPos, в свою очередь, сообщает Маркету, когда заказ собран или отменён. Фоновых заданий у интеграции нет — данные передаются в момент запроса.
Каждый магазин на Маркете — это кампания. В VirtualPos кампании настраиваются в разделе Маркетплейсы → Яндекс Маркет (устарело).
- Подключение Поддержка подключает модуль. Вы выбираете прайс-лист, из которого на Маркет выгружаются цены.
- Кампания В VirtualPos добавляете кампанию: ID кампании, юрлицо, модель продаж и токены доступа.
- Склады Сопоставляете склад Маркета с точкой продаж VirtualPos: с неё берутся остатки и на неё оформляются заказы.
- Кабинет Маркета В кабинете продавца указываете адрес API облака VirtualPos и ссылку на каталог, переключаете магазин на работу через API.
- Заказы Новые заказы с Маркета появляются в VirtualPos. Вы собираете заказ — Маркет узнаёт, что он готов к отгрузке.

Подключение интеграции
Подготовка в VirtualPos
- Обратитесь в поддержку VirtualPos по телефону 8-800-205-93-94, чтобы подключить модуль Яндекс Маркета. После подключения в меню появится пункт Маркетплейсы → Яндекс Маркет (устарело). Состояние модуля видно в Администрирование → Настройки системы → Доп. модули.
- Откройте Администрирование → Настройки системы, вкладка «Интернет-витрина», и в поле «Прайслист» выберите прайс-лист с ценами для Маркета. Поле показывается, когда «Интернет-витрина» включена.

- Проверьте товары, которые будут продаваться на Маркете: у товара и его группы в поле «Отображать в интернет-витрине» должно быть «Показать товар», а в прайс-листе — цена (см. Каталог, цены и остатки).
Кампания и склады
- В кабинете продавца Маркета откройте Настройки → Настройки API и скопируйте номер кампании. Там же нажмите «Изменить» у авторизационного токена и скопируйте токен — это «Токен доступа к нашему АПИ».
- В VirtualPos откройте Маркетплейсы → Яндекс Маркет (устарело), нажмите «Добавить», заполните поля кампании и нажмите «Сохранить» (см. Кампании).
- В карточке кампании нажмите «(обновить токен)» и получите токен доступа к Яндексу (см. Токен доступа к Яндексу).
- В кабинете Маркета откройте Логистика → Склады и скопируйте номер склада. В карточке кампании в блоке «Склады Яндекса» нажмите «Добавить» и сопоставьте склад с точкой продаж.
Настройка кабинета Маркета
- В Настройки → Настройки API в поле «URL для запросов API» укажите адрес:
https://<облако>.myvirtualpos.ru/yandexMarket/api/campaigns/<ID кампании>
где <облако> — имя вашего облака VirtualPos, <ID кампании> — номер кампании на Маркете, например https://moya-kompaniya.myvirtualpos.ru/yandexMarket/api/campaigns/21000100.
- В Товары → Автообновление каталога нажмите «Добавить ссылку на файл» и вставьте «Ссылку на YML» из карточки кампании в VirtualPos. Нажмите «Проверить файл».
- Переключите способ работы магазина на «Автоматически через API» и отправьте тестовый запрос. Сообщение об успехе означает, что Маркет достучался до облака VirtualPos.
Внимание. Токен в кабинете Маркета и «Токен доступа к нашему АПИ» в кампании VirtualPos должны совпадать. Если токены разные или ID кампании указан неверно, VirtualPos отклоняет запросы Маркета, и заказы не приходят.
Кампании
Раздел Маркетплейсы → Яндекс Маркет (устарело) — список кампаний. Кнопка «Поиск» открывает фильтры по ID кампании, юрлицу, модели продаж и приложению. Колонки настраиваются в меню «Действия» → Настроить колонки…; токены по умолчанию скрыты.

Чтобы добавить кампанию, нажмите «Добавить»:
| ID кампании | Номер кампании из кабинета Маркета (Настройки → Настройки API). Обязательное поле |
| Юр. лицо | Юрлицо или ИП, от которого вы продаёте на Маркете. Точки продаж этого юрлица предлагаются первыми при сопоставлении складов. От системы налогообложения юрлица зависит ставка НДС в каталоге. Обязательное поле |
| Модель продаж | FBS или DBS — как в кабинете Маркета. Экспресс-доставка работает по модели FBS. Обязательное поле |
| Приложение | Приложение Яндекса, через которое VirtualPos обращается к API Маркета. Выберите «Яндекс Маркет» |
| Токен доступа к Яндексу | Токен, с которым VirtualPos обращается к Маркету: отправляет статусы и получает заказы. Заполняется кнопкой «(обновить токен)» в карточке кампании |
| Токен доступа к нашему АПИ | Авторизационный токен из кабинета Маркета. С ним Маркет обращается к облаку VirtualPos |

После сохранения открывается карточка кампании. Кнопка «Изменить» открывает ту же форму, «Удалить» удаляет кампанию вместе с её складами.

«Ссылка на YML» — адрес каталога для Автообновления каталога в кабинете Маркета.
Токен доступа к Яндексу
- В карточке кампании нажмите «(обновить токен)» рядом с полем «Токен доступа к Яндексу». Ссылка есть, если в кампании выбрано «Приложение».
- В окне «Получить токен доступа» нажмите «Получить код доступа» — откроется сайт Яндекса. Войдите под учётной записью, у которой есть доступ к кабинету продавца, и скопируйте код.
- Вставьте код в поле «Проверочный код» и нажмите «Обновить токен». Код действует 10 минут.

Если токен ещё действует, появится сообщение «Обновление не требуется. Токен будет действовать еще N дн.». Если токен истёк, VirtualPos не сможет сообщать Маркету о сборке и отмене заказов — обновите его так же.
Склады Яндекса
Склад Маркета сопоставляется с точкой продаж VirtualPos в блоке «Склады Яндекса» карточки кампании. Нажмите «Добавить» и заполните поля:
| Номер склада в Яндексе | Номер склада из кабинета Маркета (Логистика → Склады). Обязательное поле |
| Точка продаж | Активная точка продаж VirtualPos. Под полем показано юрлицо кампании |

С сопоставленной точки продаж Маркет получает остатки, и на неё оформляются заказы. Склад без точки продаж не участвует в обмене.
- Модель продаж FBS Заведите в кампании один склад. Маркет не сообщает склад в заказе, поэтому VirtualPos берёт первую сопоставленную точку продаж. Для нескольких точек создайте на Маркете отдельные кампании.
- Модель продаж DBS Сопоставьте все точки, из которых покупатели забирают заказы. Код точки выдачи в кабинете Маркета должен совпадать с ид точки продаж в VirtualPos. При оформлении заказа покупателю предлагаются только точки, где есть весь товар из корзины. Покупатель забирает заказ сам (самовывоз) и оплачивает его онлайн.
Каталог, цены и остатки
Каталог Маркет забирает по ссылке на YML из карточки кампании. В каталог попадают товары, у которых одновременно:
- тип — товар (не услуга и не комплект), товар активен;
- в поле «Отображать в интернет-витрине» выбрано «Показать товар» — у товара и хотя бы у одной его группы;
- есть остаток в точках продаж, сопоставленных с кампанией.
В каталог передаются название, описание, фото, штрихкоды EAN-13, производитель, группа, ставка НДС (по юрлицу кампании), цена и остаток. Артикулом товара на Маркете (SKU) служит ид товара в VirtualPos. Вес и габариты в каталоге не передаются из карточки товара — проверьте и при необходимости исправьте их в кабинете Маркета.
Цены берутся из прайс-листа, выбранного в настройках интернет-витрины. Товар без цены в прайс-листе попадёт в каталог без цены.
Остатки Маркет запрашивает по каждому складу: VirtualPos возвращает остаток сопоставленной точки продаж. Резервы под заказы при этом не вычитаются. Для модели FBS при оформлении заказа покупатель может заказать не больше, чем есть в точке.
Заказы с Яндекс Маркета
Когда покупатель оформляет заказ, Маркет передаёт его в VirtualPos, и в разделе Заказы покупателей появляется новый заказ.

| Источник заказа | «Яндекс Маркет» |
| Клиент | «Яндекс Маркет» — общий клиент для всех заказов с Маркета, создаётся автоматически |
| Точка продаж / склад выдачи | Точка, сопоставленная со складом Маркета, для DBS — выбранная покупателем точка выдачи |
| Способ получения | «Самовывоз» или «Доставка» |
| Способ оплаты | «Оплата онлайн» (предоплата на Маркете) или «Оплата при получении». Предоплаченный заказ отмечается оплаченным, когда Маркет подтверждает оплату |
| Адрес доставки | Регион покупателя |
| Комментарий | «ТЕСТОВЫЙ ЗАКАЗ!!!» для тестовых заказов Маркета, способ оплаты, проверочный код для выдачи и комментарий покупателя |
| GUID | Номер заказа на Маркете |
| Внешний идентификатор заказа | <ID кампании>:<номер заказа на Маркете> |
| Товары | Товары и количество из заказа. Цена — цена товара до скидок Маркета |
Работа с заказом:
Новый → Готов к выдаче → Отправлен → Завершён
| Сборка | Готов к выдаче |
| Соберите заказ и переведите его в статус «Готов к выдаче» — VirtualPos сообщит Маркету, что заказ готов к отгрузке. | |
| Отмена | Отменён |
| Если заказ не удаётся выполнить, переведите его в статус «Отменён» — Маркет получит отмену по инициативе магазина. | |
| Передача в доставку | Отправлен |
| Статус меняется автоматически, когда Маркет сообщает, что заказ передан в доставку. | |
| Доставка | Завершён |
| Статус меняется автоматически, когда Маркет сообщает, что заказ доставлен. | |
Статусы, которые VirtualPos отправляет на Маркет:
| Статус заказа в VirtualPos | Статус на Маркете |
|---|---|
| Готов к выдаче | PROCESSING / READY_TO_SHIP — заказ собран |
| Отменён | CANCELLED / SHOP_FAILED — отменён магазином |
Статусы, которые приходят с Маркета:
| Статус на Маркете | Статус заказа в VirtualPos |
|---|---|
DELIVERY — передан в доставку | Отправлен |
DELIVERED — доставлен | Завершён |
CANCELLED — отменён | Отменён |
Другие статусы Маркета статус заказа в VirtualPos не меняют. Этикетки и акты для отгрузки печатаются в кабинете продавца Маркета.
Журнал интеграции
Запросы Маркета и ошибки обмена записываются в журнал: Администрирование → Настройки системы, вкладка «Прочее», ссылка «Журнал интеграции с Яндекс Маркет». Значок рядом со ссылкой скачивает файл журнала. Если заказ не пришёл или статус не передался на Маркет, причину ищите здесь.

YML интернет-витрины
Кроме интеграции по API, у интернет-витрины VirtualPos есть собственная выгрузка каталога в формате YML — для размещения товаров витрины на Маркете без приёма заказов. Она настраивается на вкладке «Интернет-витрина» в разделе «Размещение на Яндекс-Маркет»:
| Активировать Яндекс-Маркет | Включено — витрина отдаёт каталог по ссылке http://<облако>.myvirtualpos.ru/yml |
| Выгружать товары | Все или Только в наличии |
Для работы через кампании эта настройка не нужна: у каждой кампании своя «Ссылка на YML».
Права доступа
Доступ к разделу даёт роль marketplaces («Маркетплейсы») или отдельные права:
console.yandexcampaign.manage | Пункт меню Маркетплейсы → Яндекс Маркет (устарело), список кампаний |
console.yandexcampaign.view | Просмотр кампании |
console.yandexcampaign.create | Добавление кампании |
console.yandexcampaign.update | Изменение кампании и обновление токена доступа к Яндексу |
console.yandexcampaign.delete | Удаление кампании |
console.yandexcampaignwarehouse.* | Склады Яндекса: список, добавление, просмотр, изменение, удаление |
console.yandexcampaign.* | Полный доступ к кампаниям |
Частые ошибки
| Сообщение или ситуация | Причина | Что делать |
|---|---|---|
| Нет пункта Маркетплейсы → Яндекс Маркет (устарело) | Модуль не подключён или у пользователя нет права console.yandexcampaign.manage | Обратитесь в поддержку или к администратору |
Тестовый запрос из кабинета Маркета не проходит, ответ Unauthorized | Токен в кабинете Маркета не совпадает с «Токеном доступа к нашему АПИ» или в адресе API другой ID кампании | Сверьте токен и ID кампании в VirtualPos и в кабинете Маркета |
| Не задано соответствие для склада Яндекса с ID: … | Склад Маркета не сопоставлен с точкой продаж | Добавьте склад в блоке «Склады Яндекса» кампании |
| Не найден товар с ID = […] | В заказе товар, которого нет в VirtualPos | Проверьте, что артикул (SKU) товара на Маркете равен ид товара в VirtualPos |
| В заказе указано несколько складов для самовывоза или доставки | Товары заказа относятся к разным складам | Проверьте сопоставление складов кампании |
| Товар не появляется на Маркете | Товар не попал в каталог: нет остатка в точках кампании, скрыт в интернет-витрине или его группа скрыта | Проверьте условия из раздела Каталог, цены и остатки |
| На Маркете нет цены | У товара нет цены в прайс-листе витрины | Добавьте цену в прайс-лист, выбранный в настройках интернет-витрины |
| Статус «Готов к выдаче» не дошёл до Маркета | Истёк токен доступа к Яндексу или в кампании не выбрано приложение | Обновите токен в карточке кампании; подробности — в журнале интеграции |
| Ошибка. Для этой записи не задано приложение | Обновление токена без приложения | Выберите в кампании «Приложение» |
| Ошибка. Не удалось получить refresh_token | Код доступа неверный или истёк (действует 10 минут) | Получите новый код и повторите |