Запрос «м видео api» обычно означает один вопрос: что на площадке можно перевести на автомат, а что придётся делать руками. Ответ у М.Видео короткий. Официальный API маркетплейса умеет ровно две вещи — обновлять цены и обновлять остатки. Карточки, заказы, отчёты и документы в публичной спецификации не описаны.
Разбираем, по каким правилам работают цены и остатки, где спрятаны неочевидные ограничения и как связать площадку с остальными маркетплейсами. Про саму площадку и путь от заявки до первой продажи — в обзоре «М.Видео для селлеров».
Что закрывает API М.Видео, а что остаётся в кабинете
Спецификация опубликована открыто, по адресу sellers.mvideo.ru/openapi, в формате OpenAPI, версия 1.0. Боевой сервер — sellers.mvideoeldorado.ru: домен общий для М.Видео и Эльдорадо, это не опечатка.
| Задача селлера | Как решается сейчас |
|---|---|
| Обновить цены | API, до 1 000 позиций в запросе |
| Обновить остатки по складам | API, синхронно или фоновой задачей |
| Проверить, как прошла загрузка | API: статус задачи, прогресс, детализация ошибок |
| Завести и отредактировать карточку | Кабинет продавца или Excel-шаблон |
| Получить и собрать заказ FBS | Кабинет или сторонний сервис |
| Скачать отчёты и документы | Кабинет продавца |
В коммерческих предложениях встречается формулировка «полная интеграция с М.Видео по API» — с заказами, этикетками и отчётом комиссионера. Методов для этого в публичной спецификации нет. Значит, заказы у такого решения реализованы иначе, и спросить как — разумно до оплаты.
Доступ: Client ID и ключ
Пара «Client ID + ключ» создаётся самим селлером в личном кабинете, в разделе «Доступ к API». Ключей можно завести до трёх — по одному на каждую систему, которая будет ходить в площадку. Отдельной заявки на подключение API не требуется.
Если ключ не создаётся или запросы отбиваются, вопрос задают через форму обратной связи кабинета: раздел «Технические проблемы», тема «Доступ к API». Вход в кабинет и его разделы разобраны в отдельной статье про личный кабинет селлера М.Видео.
Две схемы авторизации в одном API
В спецификации живут два поколения методов, и авторизуются они по-разному.
- Первое поколение. Клиент получает пару токенов —
accessTokenиrefreshToken. Время жизни accessToken — два часа, дальше его обновляют по refreshToken, а когда истечёт и он, пару получают заново. В каждый запрос идёт заголовокAuthorization: Bearer <accessToken>. - Второе поколение — методы
/v2/priceи/v2/stock. Здесь токен не нужен: ключ передаётся заголовкомapi-key. Схема проще, и для регулярной выгрузки цен и остатков её достаточно.
Требование, о котором забывают чаще всего: все запросы к API должны содержать заголовок User-Agent. Оно записано в спецификации отдельной строкой. Самописный скрипт без User-Agent площадка не пропустит, и ошибка при этом выглядит как проблема с доступом, а не с заголовком.
Цены: дата начала всегда в будущем
В одном запросе на обновление цен передают до 1 000 позиций. Обязательные поля — код товара М.Видео (SAP-код), цена, валюта и дата начала действия. Валюта принимает единственное значение — RUB. Дополнительно можно передать свой код номенклатуры и перечёркнутую цену.
Дальше начинаются правила площадки, и они жёстче, чем на Wildberries и Ozon. Все они зашиты в коды ошибок, которые вернёт API.
| Код ошибки | Что означает |
|---|---|
| START_DATE_CANNOT_BE_TODAY_OR_LESS_THAN_TODAY | Дата начала действия цены должна быть будущей. Сегодняшним числом цену не поставить |
| DIFFERENT_WITH_PREVIOUS | Новая цена продажи отличается от предыдущей меньше чем на 1 ₽ |
| SAME_DATES_FOR_SAME_PRODUCTS | В одной пачке два значения на один товар с одинаковой датой |
| MIN_PRICE_VALUE_VIOLATION | Цена с учётом округления ниже минимального порога площадки |
| PROMO_GREATER_THAN_PREVIOUS | Перечёркнутая цена выше действующей цены продажи |
| PREVIOUS_NOT_CHANGED | Перечёркнутую цену можно загрузить только через два дня после повышения цены продажи |
| LESS_ALLOWED_PERCENT / MORE_ALLOWED_PERCENT | Скидка вышла за коридор, разрешённый площадкой |
Практический вывод один: репрайсер «на лету» здесь не работает. Цена на М.Видео — это плановое значение с датой, а не мгновенная переустановка. Логику переоценки под акции и распродажи нужно строить с запасом хотя бы в сутки. Перечёркнутую цену без цены продажи площадка тоже не примет.
Остатки: полный срез, а не дельта
В строке остатка передают код склада (в терминах М.Видео — код R-объекта), код товара, количество и единицу измерения: штуки или упаковки. Можно добавить свой код номенклатуры.
Главное правило записано в самой спецификации, и его легко пропустить: в одном запросе нужно отправлять все товары, по которым обновляются остатки, не разделяя их на части. Привычная по другим площадкам схема «догрузим только изменившиеся SKU» здесь приводит к некорректной обработке. Каждая выгрузка — полный срез склада.
Загрузка идёт в фоне. Метод возвращает идентификатор задачи, а дальше по этому идентификатору доступны три вещи: статус задачи, индикатор выполнения и детализация ошибок по строкам. Если интегратор не показывает вам эти три ответа, вы не узнаете, что половина остатков не встала.
Две ошибки встречаются чаще прочих: STOCK_MULTIPLICITY — один и тот же товар пришёл в выгрузке дважды, и ROBJECT_INCORRECT_FROM_SUPPLIER — в файле некорректные коды складов. Вторая почти всегда означает, что справочник складов в учётной системе разъехался с кабинетом. Какие вообще бывают склады и схемы у площадки, разобрано в статье про логистику М.Видео.
Чем это отличается от привычных Wildberries и Ozon
Селлер приходит на М.Видео с готовыми ожиданиями от других площадок. Разница — в самой модели обмена, и сильнее всего мешает одна деталь: товар сопоставляется не по вашему артикулу, а по коду товара М.Видео. Свой код номенклатуры площадка принимает, но как справочное значение.
Пока у каждой позиции не проставлен код М.Видео, ни цены, ни остатки уходить не будут: и в ценах, и в остатках это обязательное поле.
Отсюда практический порядок запуска: сначала карточки в кабинете, потом выгрузка кодов и сопоставление с учётной системой, и только третьим шагом — автоматический обмен ценами и остатками. Ровно эти три шага площадка описывает на своей странице для поставщиков: зарегистрироваться и подписать договор, завести карточки, прогрузить цены и остатки.
Как связать М.Видео с остальными маркетплейсами
Отдельный скрипт под одну площадку окупается, когда М.Видео — единственный канал. Если каналов несколько, остатки логичнее вести в одном месте, иначе продажа на Ozon уменьшает физический склад, а на М.Видео товар продолжает висеть в наличии.
В SelSup интеграция с М.Видео устроена так:
- Товары связываете вручную по артикулу М.Видео: выгружаете Excel из раздела «Товары», заполняете столбец «Артикул М.Видео» и загружаете файл обратно через массовое редактирование. Импорт карточек из М.Видео не работает — площадка не отдаёт их наружу.
- После этого SelSup передаёт остатки по связанным товарам в М.Видео вместе с остальными каналами.
- Заказы FBS попадают в общий раздел заказов, статусы синхронизируются. Сборка, маршрутизация и печать идут в модуле «Умный склад».
- Интеграцию включает поддержка по запросу.
Полный список площадок и учётных систем есть на странице интеграций SelSup.
Что проверить до подключения
- Проставлены ли артикулы М.Видео у всех товаров, которые пойдут в выгрузку.
- Совпадают ли коды складов в учётной системе с кодами R-объектов в кабинете.
- Заложен ли в расписание сдвиг цены на будущую дату.
- Отправляется ли остаток полным срезом, а не приростом.
- Видите ли вы ошибки построчно, а не общий статус «загружено».
- Кто и как обрабатывает заказы FBS, если API их не отдаёт.
Если проще посмотреть, чем читать: покажем на вашем ассортименте, как связываются товары, как уходят цены и остатки и как заказы М.Видео попадают в общую сборку вместе с другими маркетплейсами. Записаться на демонстрацию SelSup — встреча занимает около получаса.
Частые вопросы
Есть ли у М.Видео открытый API?
Да. Спецификация лежит по адресу sellers.mvideo.ru/openapi и доступна без регистрации. Возможности в ней описаны две: управление ценами и управление остатками.
Можно ли получать заказы по API М.Видео?
В публичной спецификации методов для заказов нет. Заказы обрабатывают в кабинете продавца или в стороннем сервисе. Если подрядчик обещает заказы «по API площадки», уточните, о каком именно контуре речь.
Сколько ключей можно создать?
До трёх. Этого хватает, чтобы развести доступ между учётной системой, сервисом управления продажами и тестовым контуром.
Почему новая цена не применилась сразу?
Потому что API не принимает сегодняшнюю или прошедшую дату начала действия цены. Значение всегда ставится на будущую дату, и мгновенной переоценки на площадке нет.
Почему обновились не все остатки?
Чаще всего выгрузку разбили на части. Площадка ждёт все позиции одним запросом. Вторая причина — дубли товара в одном файле или коды складов, которых нет в кабинете.
Нужен ли программист, чтобы подключить интеграцию?
Для самописного скрипта — да: понадобится обработка токенов, фоновых задач и кодов ошибок. Через готовый сервис достаточно создать ключ в кабинете и проставить артикулы М.Видео у товаров.
Продолжайте читать и смотреть
Новости маркетплейсов, автоматизация и практические разборы ИИ — на удобной для вас площадке.
