Добавление товаров в каталог и редактирование информации о них

Добавляет товары в каталог или редактирует информацию об уже имеющихся товарах.

Чтобы добавить новый товар, передайте его с новым идентификатором, который раньше никогда не использовался в каталоге. Старайтесь сразу передать как можно больше информации — она потребуется Маркету для подбора подходящей карточки или создания новой. Если известно, какой карточке на Маркете соответствует товар, можно сразу указать идентификатор этой карточки (SKU на Маркете) в поле marketSKU.

Для новых товаров обязательно укажите параметры: offerId, name, category, pictures, vendor, description.

Чтобы отредактировать информацию о товаре, передайте новые данные, указав в offerId соответствующий ваш SKU. Поля, в которых ничего не меняется, можно не передавать.

Правила использования SKU

  • У каждого товара SKU должен быть свой.

  • SKU товара нельзя менять — можно только удалить товар и добавить заново с новым SKU.

  • Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.

Данные в каталоге обновляются не мгновенно

Это занимает до нескольких минут.

⚙️ Лимит: 5000 товаров в минуту, не более 500 товаров в одном запросе

Request

POST

https://api.partner.market.yandex.ru/businesses/{businessId}/offer-mappings/update

Path parameters

Name

Type

Description

businessId*

integer<int64>

Идентификатор кабинета. Чтобы узнать идентификатор, воспользуйтесь запросом GET campaigns.

ℹ️ Что такое кабинет и магазин на Маркете

Body

application/json
{
    "offerMappings": [
        {
            "offer": {
                "offerId": "string",
                "name": "Ударная дрель Makita HP1630, 710 Вт",
                "category": "string",
                "pictures": [
                    "string"
                ],
                "videos": [
                    "string"
                ],
                "vendor": "LEVENHUK",
                "barcodes": [
                    46012300000000
                ],
                "description": "string",
                "manufacturerCountries": [
                    "Россия"
                ],
                "weightDimensions": {
                    "length": 65.55,
                    "width": 50.7,
                    "height": 20,
                    "weight": 1.001
                },
                "vendorCode": "VNDR-0005A",
                "tags": [
                    "до 500 рублей"
                ],
                "shelfLife": {
                    "timePeriod": 0,
                    "timeUnit": "HOUR",
                    "comment": "string"
                },
                "lifeTime": {
                    "timePeriod": 0,
                    "timeUnit": "HOUR",
                    "comment": "string"
                },
                "guaranteePeriod": {
                    "timePeriod": 0,
                    "timeUnit": "HOUR",
                    "comment": "string"
                },
                "customsCommodityCode": 8517610008,
                "certificates": [
                    "string"
                ],
                "boxCount": 0,
                "condition": {
                    "type": "PREOWNED",
                    "quality": "PERFECT",
                    "reason": "string"
                },
                "type": "DEFAULT",
                "downloadable": false,
                "adult": false,
                "age": {
                    "value": 0,
                    "ageUnit": "YEAR"
                },
                "params": [
                    {
                        "name": "Wi-Fi",
                        "value": "есть"
                    }
                ],
                "purchasePrice": {
                    "value": 0,
                    "currencyId": "RUR"
                },
                "additionalExpenses": {
                    "value": 0,
                    "currencyId": "RUR"
                },
                "cofinancePrice": {
                    "value": 0,
                    "currencyId": "RUR"
                }
            },
            "mapping": {
                "marketSku": 0
            }
        }
    ]
}

Name

Type

Description

offerMappings*

UpdateOfferMappingDTO[]

Перечень товаров, которые нужно добавить или обновить.
Информация о товаре.

UpdateOfferMappingDTO

Информация о товаре.

Name

Type

Description

offer*

UpdateOfferDTO

Параметры товара.
Основные параметры товара.

mapping

UpdateMappingDTO

Информация о карточке товара на Маркете.

UpdateOfferDTO

Параметры товара.

Name

Type

Description

offerId*

string

Ваш SKU — идентификатор товара в вашей системе.

Разрешена любая последовательность длиной до 80 знаков. В нее могут входить английские и русские буквы, цифры и символы . , / \ ( ) [ ] - = _

Правила использования SKU:

  • У каждого товара SKU должен быть свой.

  • SKU товара нельзя менять — можно только удалить товар и добавить заново с новым SKU.

  • Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.

Что такое SKU и как его назначать.

name

string

Составляйте название по схеме: тип + бренд или производитель + модель + особенности, если есть (например, цвет, размер или вес) и количество в упаковке.

Не включайте в название условия продажи (например, «скидка», «бесплатная доставка» и т. д.), эмоциональные характеристики («хит», «супер» и т. д.). Не пишите слова большими буквами — кроме устоявшихся названий брендов и моделей.

Оптимальная длина — 50–60 символов, максимальная — 256.

Рекомендации и правила
Example: Ударная дрель Makita HP1630, 710 Вт

category

string

Категория, к которой магазин относит свой товар. Она помогает точнее определить для товара категорию в каталоге Маркета.

Указывайте конкретные категории — например, набор ножей лучше отнести к категории Столовые приборы, а не просто Посуда.

Выбирайте категории, которые описывают товар, а не абстрактный признак — например, Духи, а не Подарки.

pictures

string[]

Ссылки на изображения товара. Изображение по первой ссылке считается основным, остальные дополнительными.

Требования к ссылкам

  • Ссылок может быть до 10.
  • Указывайте ссылку целиком, включая протокол http или https.
  • Максимальная длина — 512 символов.
  • Русские буквы в URL можно.
  • Можно использовать прямые ссылки на изображения и на Яндекс Диск. Ссылки на Яндекс Диске нужно копировать с помощью функции Поделиться. Относительные ссылки и ссылки на другие облачные хранилища — не работают.

https://example-shop.ru/images/sku12345.jpg

https://yadi.sk/i/NaBoRsimVOLov

/images/sku12345.jpg

https://www.dropbox.com/s/818f/tovar.jpg

Ссылки на изображение должны быть постоянными. Нельзя использовать динамические ссылки, меняющиеся от выгрузки к выгрузке.

Если нужно заменить изображение, выложите новое изображение по новой ссылке, а ссылку на старое удалите. Если просто заменить изображение по старой ссылке, оно не обновится.

Требования к изображениям

videos

string[]

Ссылка (URL) на видео товара.

Внимание

Пока действует временное ограничение: ссылка может быть только одна.

Требования к ссылке

  • Указывайте ссылку целиком, включая протокол http или https.
  • Максимальная длина — 512 символов.
  • Русские буквы в URL можно.
  • Можно использовать прямые ссылки на видео и на Яндекс Диск. Ссылки на Яндекс Диске нужно копировать с помощью функции Поделиться. Относительные ссылки и ссылки на другие облачные хранилища — не работают.

https://example-shop.ru/video/sku12345.avi

https://yadi.sk/i/NaBoRsimVOLov

/video/sku12345.avi

https://www.dropbox.com/s/818f/super-tovar.avi

Ссылки на видео должны быть постоянными. Нельзя использовать динамические ссылки, меняющиеся от выгрузки к выгрузке.

Если нужно заменить видео, выложите новое видео по новой ссылке, а ссылку на старое удалите. Если просто заменить видео по старой ссылке, оно не обновится.

Требования к видео

vendor

string

Название бренда или производителя. Должно быть записано так, как его пишет сам бренд.
Example: LEVENHUK

barcodes

string[]

Указывайте в виде последовательности цифр. Подойдут коды EAN-13, EAN-8, UPC-A, UPC-E или Code 128.

Для книг указывайте ISBN.

Для товаров определенных категорий и торговых марок штрихкод должен быть действительным кодом GTIN. Обратите внимание: внутренние штрихкоды, начинающиеся на 2 или 02, и коды формата Code 128 не являются GTIN.

Что такое GTIN


Example: 46012300000000

description

string

Подробное описание товара: например, его преимущества и особенности.

Не давайте в описании инструкций по установке и сборке. Не используйте слова «скидка», «распродажа», «дешевый», «подарок» (кроме подарочных категорий), «бесплатно», «акция», «специальная цена», «новинка», «new», «аналог», «заказ», «хит». Не указывайте никакой контактной информации и не давайте ссылок.

Можно использовать теги:

  • <h>, <h1>, <h2> и так далее — для заголовков;
  • <br> и <p> — для переноса строки;
  • <ol> — для нумерованного списка;
  • <ul> — для маркированного списка;
  • <li> — для создания элементов списка (должен находиться внутри <ol> или <ul>);
  • <div> — поддерживается, но не влияет на отображение текста.

Оптимальная длина — 400–600 символов, максимальная — 6000.

Рекомендации и правила

manufacturerCountries

string[]

Страна, где был произведен товар.

Записывайте названия стран так, как они записаны в списке.
Example: Россия

weightDimensions

OfferWeightDimensionsDTO

Габариты упаковки и вес товара.

vendorCode

string

Артикул товара от производителя.
Example: VNDR-0005A

tags

string[]

Метки товара, используемые магазином. Покупателям теги не видны. По тегам можно группировать и фильтровать разные товары в каталоге — например, товары одной серии, коллекции или линейки.

Максимальная длина тега 20 символов. У одного товара может быть максимум 10 тегов. Всего можно создать не больше 50 разных тегов.
Example: до 500 рублей

shelfLife

TimePeriodDTO

Срок годности — период, по прошествии которого товар становится непригоден.

Указывайте срок, указанный на банке или упаковке. Текущая дата, дата поставки или дата отгрузки значения не имеет.

Обязательно указывайте срок, если он есть.

В комментарии укажите условия хранения. Например, «Хранить в сухом помещении».

lifeTime

TimePeriodDTO

Срок службы — период, в течение которого товар должен исправно выполнять свою функцию.

Обязательно указывайте срок, если он есть.

В комментарии укажите условия хранения. Например, «Использовать при температуре не ниже −10 градусов».

guaranteePeriod

TimePeriodDTO

Гарантийный срок — период, в течение которого можно бесплатно заменить или починить товар.

Обязательно указывайте срок, если он есть.

В комментарии опишите особенности гарантийного обслуживания. Например, «Гарантия на аккумулятор — 6 месяцев».

customsCommodityCode

string

Код товара в единой Товарной номенклатуре внешнеэкономической деятельности (ТН ВЭД) — 10 или 14 цифр без пробелов.

Обязательно укажите, если он есть.
Example: 8517610008

certificates

string[]

Номера документов на товар: сертификата, декларации соответствия и т. п.

Передавать можно только номера документов, сканы которого загружены в личном кабинете продавца по инструкции.

boxCount

integer<int32>

Количество грузовых мест.

Параметр используется, если товар представляет собой несколько коробок, упаковок и так далее. Например, кондиционер занимает два места — внешний и внутренний блоки в двух коробках.

Для товаров, занимающих одно место, не передавайте этот параметр.

condition

OfferConditionDTO

Состояние уцененного товара.

Используется только для товаров, продаваемых с уценкой.

Правила продажи уцененных товаров

type

OfferType

Особый тип товара. Указывается, если товар — книга, аудиокнига, лекарство, музыка, видео или поставляется под заказ.
Enum: DEFAULT, MEDICINE, BOOK, AUDIOBOOK, ARTIST_TITLE, ON_DEMAND

downloadable

boolean

Признак цифрового товара. Укажите true, если товар доставляется по электронной почте.

Как работать с цифровыми товарами

adult

boolean

Параметр включает для товара пометку 18+. Устанавливайте ее только для товаров, которые относятся к удовлетворению сексуальных потребностей.

age

AgeDTO

Если товар не предназначен для детей младше определенного возраста, укажите это.

Возрастное ограничение можно задавать в годах (с нуля, с 6, 12, 16 или 18) или в месяцах (любое число от 0 до 12).

params

OfferParamDTO[]

Характеристики, которые есть только у товаров конкретной категории — например, диаметр колес велосипеда или материал подошвы обуви.
Параметры товара.

Используйте POST businesses/{businessId}/offer-cards/update для передачи характеристик товара, которые специфичны для его категории. Так переданные характеристики с большей вероятностью попадут на карточку.

purchasePrice

BasePriceDTO

Себестоимость — затраты на самостоятельное производство товара или закупку у производителя или поставщиков.

additionalExpenses

BasePriceDTO

Дополнительные расходы на товар. Например, на доставку или упаковку.

cofinancePrice

BasePriceDTO

Цена для скидок с Маркетом

Маркет может компенсировать до половины скидки. Назначьте минимальную цену до вычета тарифов, по которой готовы продавать товар, а мы рассчитаем скидку и размер софинансирования.

Если Маркет не готов софинансировать скидку, покупатель её не увидит.

UpdateMappingDTO

Карточка на Маркете, которая, с вашей точки зрения, подходит товару. Чтобы определить идентификатор подходящей карточки, воспользуйтесь поиском в кабинете (ТоварыКаталогЗагрузить товары).

Name

Type

Description

marketSku

integer<int64>

Идентификатор карточки на Маркете.

Может отсутствовать в ответе, если товар еще не привязан к карточке.

OfferWeightDimensionsDTO

Габариты упаковки и вес товара.

Если товар занимает несколько коробок, перед измерением размеров сложите их компактно.

Схема измерения многоместных грузов

Name

Type

Description

length*

number

Длина упаковки в см.
Example: 65.55

width*

number

Ширина упаковки в см.
Example: 50.7

height*

number

Высота упаковки в см.
Example: 20

weight*

number

Вес товара в кг с учетом упаковки (брутто).
Example: 1.001

TimePeriodDTO

Временной отрезок с комментарием. Требования к содержанию комментария зависят от контекста использования параметра и указаны в описании поля, которое его содержит.

Name

Type

Description

timePeriod*

integer

Продолжительность в указанных единицах.

timeUnit*

TimeUnitType

Единица измерения.
Enum: HOUR, DAY, WEEK, MONTH, YEAR

comment

string

Комментарий.

OfferConditionDTO

Состояние уцененного товара.

Name

Type

Description

type

OfferConditionType

Тип уценки.
Enum: PREOWNED, SHOWCASESAMPLE, REFURBISHED, REDUCTION, RENOVATED

quality

OfferConditionQualityType

Внешний вид товара.
Enum: PERFECT, EXCELLENT, GOOD

reason

string

Описание товара. Подробно опишите дефекты, насколько они заметны и где их искать.

OfferType

Особый тип товара:

  • MEDICINE — лекарства.
  • BOOK — книги.
  • AUDIOBOOK — аудиокниги.
  • ARTIST_TITLE — музыкальная и видеопродукция.
  • ON_DEMAND — товары на заказ.

Type

Description

OfferType

Enum: DEFAULT, MEDICINE, BOOK, AUDIOBOOK, ARTIST_TITLE, ON_DEMAND

AgeDTO

Возраст в заданных единицах измерения.

Name

Type

Description

value*

number

Значение.

ageUnit*

AgeUnitType

Единица измерения.
Enum: YEAR, MONTH

OfferParamDTO

Параметры товара.

Используйте POST businesses/{businessId}/offer-cards/update для передачи характеристик товара, которые специфичны для его категории. Так переданные характеристики с большей вероятностью попадут на карточку.

Name

Type

Description

name*

string

Название.

Должно совпадать с названием характеристики на Маркете. Узнать его можно из Excel-шаблона категории или через запрос POST category/{categoryId}/parameters.
Example: Wi-Fi

value*

string

Значение.
Example: есть

BasePriceDTO

Цена на товар.

Name

Type

Description

value*

number

Значение.

currencyId*

string

Валюта.

Если BasePriceDTO присутствует в запросе, указывайте RUR — российский рубль.
Example: RUR

TimeUnitType

Единица измерения времени:

  • HOUR — час;
  • DAY — сутки;
  • WEEK — неделя;
  • MONTH — месяц;
  • YEAR — год.

Type

Description

TimeUnitType

Enum: HOUR, DAY, WEEK, MONTH, YEAR

OfferConditionType

Тип уценки:

  • PREOWNED — бывший в употреблении товар, раньше принадлежал другому человеку.
  • SHOWCASESAMPLE — витринный образец.
  • REFURBISHED — повторная продажа товара.
  • REDUCTION — товар с дефектами.
  • RENOVATED — восстановленный товар.

REFURBISHED — специальное значение для одежды, обуви и аксессуаров. Используется только для уцененных товаров из этой категории. Другие значения для одежды, обуви и аксессуаров не используются.

Type

Description

OfferConditionType

Enum: PREOWNED, SHOWCASESAMPLE, REFURBISHED, REDUCTION, RENOVATED

OfferConditionQualityType

Внешний вид товара:

  • PERFECT — идеальный.
  • EXCELLENT — отличный.
  • GOOD — хороший.

Type

Description

OfferConditionQualityType

Enum: PERFECT, EXCELLENT, GOOD

AgeUnitType

Единицы измерения возраста:

  • YEAR — год.
  • MONTH — месяц.

Type

Description

AgeUnitType

Enum: YEAR, MONTH

Responses

200 OK

Все обязательные поля товаров заполнены, поэтому новые товары и внесенные изменения сохранены в каталоге.

Body

application/json
{
    "status": "OK"
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

ApiResponseStatusType

Тип ответа.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

400 Bad Request

Убедитесь, что все обязательные поля заполнены.

⚠️ Даже если проблема связана всего с одним товаром в запросе, в каталог не отправится ни один.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

ApiErrorDTO

Общий формат ошибки.

Name

Type

Description

code*

string

Код ошибки.

message

string

Описание ошибки.

401 Unauthorized

В запросе не указаны данные для авторизации.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

403 Forbidden

Данные для авторизации неверны или доступ к ресурсу запрещен.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

404 Not Found

Запрашиваемый ресурс не найден.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

420 Method Failure

Превышено ограничение на доступ к ресурсу.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

423 Locked

К ресурсу нельзя применить указанный метод.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

500 Internal Server Error

Внутренняя ошибка сервера.

Body

application/json
{
    "status": "OK",
    "errors": [
        {
            "code": "string",
            "message": "string"
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

Тип ответа.
Enum: OK, ERROR

errors

ApiErrorDTO[]

Список ошибок.
Общий формат ошибки.

Предыдущая
Следующая