Добавление и редактирование товаров в каталоге
Deprecated
Этот метод устарел. Вместо него используйте POST businesses/{businessId}/offer-mappings/update.
Добавляет товары, указанные в запросе, в ваш каталог товаров и редактирует уже имеющиеся товары.
Информацию о товарах нужно передать в теле POST-запроса.
У каждого товара должен быть ваш SKU — уникальный код, который вы используете для идентификации товара:
- Чтобы добавить в каталог новый товар, укажите в параметре
shopSku
ваш SKU, которого еще нет в каталоге. - Чтобы отредактировать товар из каталога, укажите в параметре
shopSku
ваш SKU этого товара в каталоге.
В обоих случаях в запросе нужно передать полное описание товара, даже если вы хотите изменить только несколько характеристик.
Если вы знаете, какой карточке товара на Маркете соответствует ваш товар, укажите ее идентификатор (SKU на Маркете) во входном параметре mapping. Получить SKU на Маркете рекомендованной карточки товара можно с помощью запроса POST campaigns/{campaignId}/offer-mapping-entries/suggestions или через кабинет. Если SKU на Маркете не указан, сотрудники Маркета сами подберут или создадут подходящую карточку товара, либо у него появится статус NEED_CONTENT
(нужно найти карточку или создать ее самостоятельно) в выходных данных запроса GET campaigns/{campaignId}/offer-mapping-entries.
Перед публикацией товары проходят модерацию. Если в одном из отправленных товаров найдена ошибка, ответ на запрос будет иметь HTTP-код 400 Bad Request, и ни один из товаров не отправится на модерацию. При этом если вы не передадите все обязательные параметры для какого‑либо товара, после модерации у него появится статус NEED_INFO
(в описании товара не хватает информации) в выходных данных запроса GET campaigns/{campaignId}/offer-mapping-entries.
В одном запросе можно добавить не более 500 товаров.
Данные в каталоге обновляются не мгновенно
Это занимает до нескольких минут.
⚙️ Лимит: 5 000 товаров в минуту |
---|
Request
POST
https://api.partner.market.yandex.ru/campaigns/{campaignId}/offer-mapping-entries/updates
Path parameters
Name |
Type |
Description |
campaignId* |
integer<int64> |
Идентификатор кампании в API и магазина в кабинете. Каждая кампания в API соответствует магазину в кабинете. Чтобы узнать идентификаторы своих магазинов, воспользуйтесь запросом GET campaigns. |
Body
{
"offerMappingEntries": [
{
"offer": {
"name": "Ударная дрель Makita HP1630, 710 Вт",
"shopSku": "string",
"category": "string",
"vendor": "LEVENHUK",
"vendorCode": "VNDR-0005A",
"description": "string",
"id": "string",
"feedId": 0,
"barcodes": [
46012300000000
],
"urls": [
"string"
],
"pictures": [
"string"
],
"manufacturer": "string",
"manufacturerCountries": [
"string"
],
"minShipment": 0,
"transportUnitSize": 0,
"quantumOfSupply": 0,
"deliveryDurationDays": 0,
"boxCount": 0,
"customsCommodityCodes": [
"string"
],
"weightDimensions": {
"length": 65.55,
"width": 50.7,
"height": 20,
"weight": 1.001
},
"supplyScheduleDays": [
"MONDAY"
],
"shelfLifeDays": 0,
"lifeTimeDays": 0,
"guaranteePeriodDays": 0,
"processingState": {
"status": "UNKNOWN",
"notes": [
{
"type": "ASSORTMENT",
"payload": "string"
}
]
},
"availability": "ACTIVE",
"shelfLife": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"lifeTime": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"guaranteePeriod": {
"timePeriod": 0,
"timeUnit": "HOUR",
"comment": "string"
},
"certificate": "string"
},
"mapping": {
"marketSku": 0,
"modelId": 0,
"categoryId": 0
},
"awaitingModerationMapping": {
"marketSku": 0,
"modelId": 0,
"categoryId": 0
},
"rejectedMapping": {
"marketSku": 0,
"modelId": 0,
"categoryId": 0
}
}
]
}
Name |
Type |
Description |
offerMappingEntries* |
Информация о товарах в каталоге. В теле запроса можно передать от одного до 500 товаров. Обязательный параметр.
|
UpdateOfferMappingEntryDTO
Список товаров.
В теле запроса можно передать от одного до 500 товаров.
Обязательный параметр.
Name |
Type |
Description |
offer |
Информация о товаре из каталога. |
|
mapping |
Информация о карточке товара на Маркете. Если параметр не указан, сотрудники Маркета сами подберут или создадут подходящую карточку товара, либо у него появится статус NEED_CONTENT (нужно найти карточку или создать ее самостоятельно) в выходных данных запроса GET campaigns/{campaignId}/offer-mapping-entries. |
|
awaitingModerationMapping |
Информация о карточке товара на Маркете, проходящей модерацию для данного товара |
|
rejectedMapping |
Информация о последней карточке товара на Маркете, отклоненной на модерации для данного товара |
MappingsOfferInfoDTO
Информация о товаре из каталога.
Name |
Type |
Description |
name |
string |
Составляйте название по схеме: тип + бренд или производитель + модель + особенности, если есть (например, цвет, размер или вес) и количество в упаковке. Не включайте в название условия продажи (например, «скидка», «бесплатная доставка» и т. д.), эмоциональные характеристики («хит», «супер» и т. д.). Не пишите слова большими буквами — кроме устоявшихся названий брендов и моделей. Оптимальная длина — 50–60 символов, максимальная — 256.
|
shopSku |
string |
Ваш SKU — идентификатор товара в вашей системе. Разрешена любая последовательность длиной до 80 знаков. В нее могут входить английские и русские буквы, цифры и символы Правила использования SKU:
Что такое SKU и как его назначать
|
category |
string |
Категория товара в вашем магазине. Значение будет использовано для определения категории товара на Маркете в случае, если вы не передали категорию в параметре marketCategoryId. Указывайте конкретные категории — например, набор ножей лучше отнести к категории Столовые приборы, а не просто Посуда. Выбирайте категории, которые описывают товар, а не абстрактный признак — например, Духи, а не Подарки. Значение будет использовано для определения категории товара на Маркете в случае, если вы не передали категорию в параметре |
vendor |
string |
Название бренда или производителя. Должно быть записано так, как его пишет сам бренд.
|
vendorCode |
string |
Артикул товара от производителя.
|
description |
string |
Подробное описание товара: например, его преимущества и особенности. Не давайте в описании инструкций по установке и сборке. Не используйте слова «скидка», «распродажа», «дешевый», «подарок» (кроме подарочных категорий), «бесплатно», «акция», «специальная цена», «новинка», «new», «аналог», «заказ», «хит». Не указывайте никакой контактной информации и не давайте ссылок. Можно использовать теги:
Оптимальная длина — 400–600 символов, максимальная — 6000.
|
id |
string |
Ваш SKU — идентификатор товара в вашей системе. Разрешена любая последовательность длиной до 80 знаков. В нее могут входить английские и русские буквы, цифры и символы Правила использования SKU:
Что такое SKU и как его назначать
|
feedId |
integer<int64> |
Идентификатор фида. |
barcodes |
string[] |
Указывайте в виде последовательности цифр. Подойдут коды EAN-13, EAN-8, UPC-A, UPC-E или Code 128. Для книг указывайте ISBN. Для товаров определенных категорий и торговых марок штрихкод должен быть действительным кодом GTIN. Обратите внимание: внутренние штрихкоды, начинающиеся на 2 или 02, и коды формата Code 128 не являются GTIN. Что такое GTIN
|
urls |
string[] |
URL фотографии товара или страницы с описанием на вашем сайте. Переданные данные не будут отображаться на витрине, но они помогут специалистам Маркета найти карточку для вашего товара. Должен содержать один вложенный параметр url.
|
pictures |
string[] |
Ссылки (URL) изображений товара в хорошем качестве. Можно указать до 10 ссылок. При этом изображение по первой ссылке будет основным. Оно используется в качестве изображения товара в поиске Маркета и на карточке товара. Другие изображения товара доступны в режиме просмотра увеличенных изображений. Обязательный параметр. Должен содержать хотя бы один вложенный параметр |
manufacturer |
string |
Изготовитель товара: компания, которая произвела товар, ее адрес и регистрационный номер (если есть). Необязательный параметр. |
manufacturerCountries |
string[] |
Список стран, в которых произведен товар. Обязательный параметр. Должен содержать хотя бы одну, но не больше 5 стран.
|
minShipment |
integer<int32> |
Минимальное количество единиц товара, которое вы поставляете на склад. Например, если вы поставляете детское питание партиями минимум по 10 коробок, а в каждой коробке по 6 баночек, укажите значение 60. |
transportUnitSize |
integer<int32> |
Количество единиц товара в одной упаковке, которую вы поставляете на склад. Например, если вы поставляете детское питание коробками по 6 баночек, укажите значение 6. |
quantumOfSupply |
integer<int32> |
Добавочная партия: по сколько единиц товара можно добавлять к минимальному количеству minShipment. Например, если вы поставляете детское питание партиями минимум по 10 коробок и хотите добавлять к минимальной партии по 2 коробки, а в каждой коробке по 6 баночек, укажите значение 12. |
deliveryDurationDays |
integer<int32> |
Срок, за который продавец поставляет товары на склад, в днях. |
boxCount |
integer<int32> |
Сколько мест (если больше одного) занимает товар. Параметр указывается, только если товар занимает больше одного места (например, кондиционер занимает два места: внешний и внутренний блоки в двух коробках). Если товар занимает одно место, не указывайте этот параметр. |
customsCommodityCodes |
string[] |
Список кодов товара в единой Товарной номенклатуре внешнеэкономической деятельности (ТН ВЭД). Обязательный параметр, если товар подлежит особому учету (например, в системе «Меркурий» как продукция животного происхождения или в системе «Честный ЗНАК»). Может содержать только один вложенный код ТН ВЭД.
|
weightDimensions |
Габариты упаковки и вес товара. |
|
supplyScheduleDays |
Дни недели, в которые продавец поставляет товары на склад.
|
|
shelfLifeDays |
integer<int32> |
Внимание Параметр устарел и не рекомендуется к использованию. Вместо него используйте параметр Срок годности: через сколько дней товар станет непригоден для использования. |
lifeTimeDays |
integer<int32> |
Внимание Параметр устарел и не рекомендуется к использованию. Вместо него используйте параметр Срок службы: сколько дней товар будет исправно выполнять свою функцию, а изготовитель — нести ответственность за его существенные недостатки. |
guaranteePeriodDays |
integer<int32> |
Гарантийный срок товара: сколько дней возможно обслуживание и ремонт товара или возврат денег, а изготовитель или продавец будет нести ответственность за недостатки товара. |
processingState |
Информация о статусе публикации товара на Маркете. |
|
availability |
Планы по поставкам:
Значения по умолчанию:
|
|
shelfLife |
Информация о сроке годности: через какое время (в годах, месяцах, днях, неделях или часах) товар станет непригоден для использования. Например, срок годности есть у таких категорий, как продукты питания и медицинские препараты. Обязательный параметр, если у товара есть срок годности. Внимание Если у товара есть срок годности, а вы не укажете его, товар будет скрыт с Маркета. |
|
lifeTime |
Информация о сроке службы: в течение какого периода (в годах, месяцах, днях, неделях или часах) товар будет исправно выполнять свою функцию, а изготовитель — нести ответственность за его существенные недостатки. Обязательный параметр, если у товара есть срок службы. Внимание Если у товара есть срок службы, а вы не укажете его, товар будет скрыт с Маркета. |
|
guaranteePeriod |
Информация о гарантийном сроке: в течение какого периода (в годах, месяцах, днях, неделях или часах) возможны обслуживание и ремонт товара или возврат денег, а изготовитель или продавец будет нести ответственность за недостатки товара. Обязательный параметр, если у товара есть гарантийный срок. Внимание Если у товара есть гарантийный срок, а вы не укажете его, товар будет скрыт с Маркета. |
|
certificate |
string |
Номер документа на товар. Перед указанием номера документ нужно загрузить в кабинете продавца на Маркете. Инструкция |
OfferMappingDTO
Информация о текущей карточке товара на Маркете.
Name |
Type |
Description |
marketSku |
integer<int64> |
SKU на Маркете — идентификатор карточки товара на Маркете. При первом запросе marketSku привязывает товар к карточке Маркета. В дальнейшем изменить SKU через отправку запроса нельзя, для этого нужно обратиться в службу поддержки. |
modelId |
integer<int64> |
Идентификатор модели для текущей карточки товара на Маркете. Например, две лопатки разных цветов имеют разные SKU на Маркете (параметр |
categoryId |
integer<int64> |
Идентификатор категории для текущей карточки товара на Маркете. |
OfferWeightDimensionsDTO
Габариты упаковки и вес товара.
Если товар занимает несколько коробок, перед измерением размеров сложите их компактно.
Name |
Type |
Description |
length* |
number |
Длина упаковки в см.
|
width* |
number |
Ширина упаковки в см.
|
height* |
number |
Высота упаковки в см.
|
weight* |
number |
Вес товара в кг с учетом упаковки (брутто).
|
DayOfWeekType
День недели:
MONDAY
— понедельник.TUESDAY
— вторник.WEDNESDAY
— среда.THURSDAY
— четверг.FRIDAY
— пятница.SATURDAY
— суббота.SUNDAY
— воскресенье.
Type |
Description |
Enum: |
OfferProcessingStateDTO
Информация о статусе публикации товара на Маркете.
Name |
Type |
Description |
status |
Статус публикации товара
|
|
notes |
Причины, по которым товар не прошел модерацию. |
OfferAvailabilityStatusType
Планы по поставкам:
ACTIVE
— поставки будут.INACTIVE
— поставок не будет: товар есть на складе, но вы больше не планируете его поставлять. Через 60 дней после того, как товар закончится на складе, этот статус изменится наDELISTED
.DELISTED
— архив: товар закончился на складе, и его поставок больше не будет. Если товар вернется на склад (например, покупатель вернет заказ), этот статус изменится наINACTIVE
.
Type |
Description |
Enum: |
TimePeriodDTO
Временной отрезок с комментарием. Требования к содержанию комментария зависят от контекста использования параметра и указаны в описании поля, которое его содержит.
Name |
Type |
Description |
timePeriod* |
integer |
Продолжительность в указанных единицах. |
timeUnit* |
Единица измерения.
|
|
comment |
string |
Комментарий. |
OfferProcessingStatusType
Статус публикации товара:
READY
— товар прошел модерацию. Чтобы разместить его на Маркете, установите для него цену.IN_WORK
— товар проходит модерацию. Это занимает несколько дней.NEED_CONTENT
— для товара без SKU на МаркетеmarketSku
нужно найти карточку самостоятельно (через API или кабинет продавца на Маркете) или создать ее, если товар еще не продается на Маркете.NEED_INFO
— товар не прошел модерацию из-за ошибок или недостающих сведений в описании товара. Информация о причинах отклонения возвращается в параметреnotes
.REJECTED
— товар не прошел модерацию, так как Маркет не планирует размещать подобные товары.SUSPENDED
— товар не прошел модерацию, так как Маркет пока не размещает подобные товары.
Type |
Description |
Enum: |
OfferProcessingNoteDTO
Причины, по которым товар не прошел модерацию.
Name |
Type |
Description |
type |
Тип причины, по которой товар не прошел модерацию.
|
|
payload |
string |
Дополнительная информация о причине отклонения товара. |
TimeUnitType
Единица измерения времени:
HOUR
— час;DAY
— сутки;WEEK
— неделя;MONTH
— месяц;YEAR
— год.
Type |
Description |
Enum: |
OfferProcessingNoteType
Тип причины, по которой товар не прошел модерацию:
ASSORTMENT
— товар производится в разных вариантах. Каждый из них нужно описать как отдельный товар (входной параметрoffer-mapping-entry
запроса POST campaigns/{campaignId}/offer-mapping-entries/updates или строка в каталоге, если вы загружаете товары через кабинет продавца на Маркете).CANCELLED
— товар отозван с модерации по вашей инициативе.CONFLICTING_INFORMATION
(ранее ошибочноCONFLICTING
) — вы предоставили противоречивую информацию о товаре. Параметры, которые нужно исправить, указаны в параметреpayload
.DEPARTMENT_FROZEN
— правила размещения товаров в данной категории перерабатываются, поэтому товар пока не может пройти модерацию.INCORRECT_INFORMATION
— информация о товаре, которую вы предоставили, противоречит описанию от производителя. Параметры, которые нужно исправить, указаны в параметреpayload
.LEGAL_CONFLICT
— товар не прошел модерацию по юридическим причинам. Например, он официально не продается в России или у вас нет разрешения на его продажу.NEED_CLASSIFICATION_INFORMATION
— информации о товаре, которую вы предоставили, не хватает, чтобы отнести его к категории. Проверьте, что правильно указали название, категорию, производителя и страны производства товара, а также URL изображений или страниц с описанием, по которым можно идентифицировать товар.NEED_INFORMATION
— товар раньше не продавался в России и пока не размещается на Маркете. Для него можно создать карточку. Подробнее см. в разделе Работа с карточкой товара Справки Маркета для продавцов.NEED_PICTURES
— для идентификации товара нужны его изображения. Отправьте URL изображений товара в запросе POST campaigns/{campaignId}/offer-mapping-entries/updates или загрузите обновленный каталог через кабинет продавца на Маркете.NEED_VENDOR
— неверно указан производитель товара.NO_CATEGORY
,NO_KNOWLEDGE
— товары из указанной категории пока не размещаются на Маркете. Если категория появится, товар будет снова отправлен на модерацию.NO_PARAMETERS_IN_SHOP_TITLE
— товар производится в разных вариантах, и из указанного названия непонятно, о каком идет речь. Параметры, которые нужно добавить в название товара, указаны в параметреpayload
.NO_SIZE_MEASURE
— для этого товара нужна размерная сетка. Отправьте ее в службу поддержки или вашему менеджеру. Требования к размерной сетке указаны в параметреpayload
.UNKNOWN
— товар не прошел модерацию по другой причине. Обратитесь в службу поддержки или к вашему менеджеру.
Type |
Description |
Enum: |
Responses
200 OK
Статус выполнения операции
Body
{
"status": "OK"
}
Name |
Type |
Description |
status |
Тип ответа.
|
400 Bad Request
Запрос содержит неправильные данные.
Body
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Type |
Description |
status |
Тип ответа.
|
|
errors |
Список ошибок. |
ApiErrorDTO
Общий формат ошибки.
Name |
Type |
Description |
code* |
string |
Код ошибки. |
message |
string |
Описание ошибки. |
401 Unauthorized
В запросе не указаны данные для авторизации.
Body
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Type |
Description |
status |
Тип ответа.
|
|
errors |
Список ошибок. |
403 Forbidden
Данные для авторизации неверны или доступ к ресурсу запрещен.
Body
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Type |
Description |
status |
Тип ответа.
|
|
errors |
Список ошибок. |
404 Not Found
Запрашиваемый ресурс не найден.
Body
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Type |
Description |
status |
Тип ответа.
|
|
errors |
Список ошибок. |
420 Method Failure
Превышено ограничение на доступ к ресурсу.
Body
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Type |
Description |
status |
Тип ответа.
|
|
errors |
Список ошибок. |
423 Locked
К ресурсу нельзя применить указанный метод.
Body
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Type |
Description |
status |
Тип ответа.
|
|
errors |
Список ошибок. |
500 Internal Server Error
Внутренняя ошибка сервера.
Body
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Type |
Description |
status |
Тип ответа.
|
|
errors |
Список ошибок. |
Что такое GTIN
GTIN — это уникальный номер, присвоенный товару в единой международной базе GS1. Из этого номера получается штрихкод формата EAN, UPC или ISBN.
Как убедиться, что товар есть в базе
Проверить код можно на странице проверки на сайте ассоциации GS1. Если товар не находится, запросите код GTIN у вашего поставщика.
Как получить GTIN для своих товаров
Чтобы получить коды GTIN, производителю нужно вступить в ассоциацию GS1 и зарегистрировать товары.