Редактирование категорийных характеристик товара

Редактирует характеристики товара, которые специфичны для категории, к которой он относится.

Здесь только то, что относится к конкретной категории

Если вам нужно изменить основные параметры товара (название, описание, изображения, видео, производитель, штрихкод), воспользуйтесь запросом POST businesses/{businessId}/offer-mappings/update.

Всегда передавайте список характеристик и значений целиком, даже если нужно изменить всего одну из них. Передача отсутствующего значения стирает значение, сохраненное ранее.

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

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

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

Request

POST

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

Path parameters

Name

Type

Description

businessId*

integer<int64>

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

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

Body

application/json
{
    "offersContent": [
        {
            "offerId": "string",
            "categoryId": 0,
            "parameterValues": [
                {
                    "parameterId": 0,
                    "unitId": 0,
                    "valueId": 0,
                    "value": "string"
                }
            ]
        }
    ]
}

Name

Type

Description

offersContent*

OfferContentDTO[]

Список товаров с указанными характеристиками.
Товар с указанными характеристиками.

OfferContentDTO

Товар с указанными характеристиками.

Name

Type

Description

offerId*

string

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

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

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

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

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

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

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


Min length: 1
Max length: 80

categoryId*

integer<int32>

Идентификатор категории на Маркете. Чтобы узнать идентификатор категории, к которой относится товар, воспользуйтесь запросом POST categories/tree.

parameterValues*

ParameterValueDTO[]

Список характеристик с их значениями. Обновляется всегда целиком. Максимальное количество — 300.
Значение характеристики.

Вы можете указывать несколько значений одной характеристики при условии, что:

  • Тип характеристики — ENUM.
  • В ответе на запрос POST category/{categoryId}/parameters у данной характеристики поле multivalue имеет значение true.

Для этого в parameterValues передавайте каждое значение отдельно — несколько объектов с параметрами parameterId, valueId и value. Параметр parameterId должен быть одинаковым.

ParameterValueDTO

Значение характеристики.

Вы можете указывать несколько значений одной характеристики при условии, что:

  • Тип характеристики — ENUM.
  • В ответе на запрос POST category/{categoryId}/parameters у данной характеристики поле multivalue имеет значение true.

Для этого в parameterValues передавайте каждое значение отдельно — несколько объектов с параметрами parameterId, valueId и value. Параметр parameterId должен быть одинаковым.

Name

Type

Description

parameterId*

integer<int64>

Идентификатор характеристики.

unitId

integer<int64>

Идентификатор единицы измерения. Если вы не передали параметр unitId, используется единица измерения по умолчанию.

valueId

integer<int64>

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

Обязательно передавайте идентификатор, если передаете значение из перечня допустимых значений, полученного от Маркета.

Только для характеристик типа ENUM.

value*

string

Значение.

Responses

200 OK

Запрос выполнен корректно, данные обработаны.

Ответ 200 сам по себе не значит, что переданные значения корректны

Обязательно посмотрите детали ответа: status и перечень ошибок, если он есть.

Даже если ошибка допущена в характеристиках всего одного товара, никакие изменения из запроса в каталог не попадут.

Если в status вернулось ERROR, убедитесь, что:

  • все обязательные характеристики заполнены;
  • характеристики действительно существуют в указанных категориях;
  • значения соответствуют характеристикам;
  • ваши собственные значения имеют нужный тип данных.

Найти проблемы помогут поля errors и warnings.

Body

application/json
{
    "status": "OK",
    "results": [
        {
            "offerId": "string",
            "errors": [
                {
                    "type": "OFFER_NOT_FOUND",
                    "parameterId": 0,
                    "message": "string"
                }
            ],
            "warnings": [
                {
                    "type": "OFFER_NOT_FOUND",
                    "parameterId": 0,
                    "message": "string"
                }
            ]
        }
    ]
}

Name

Type

Description

status

ApiResponseStatusType

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

results

UpdateOfferContentResultDTO[]

Ошибки и предупреждения, возникшие при обработке переданных значений. Каждый элемент списка соответствует одному товару.

Поле не передается, если все в порядке.
Ошибки и предупреждения, касающиеся переданных характеристик товара.

ApiResponseStatusType

Тип ответа.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

UpdateOfferContentResultDTO

Ошибки и предупреждения, касающиеся переданных характеристик товара.

Name

Type

Description

offerId*

string

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

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

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

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

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

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

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


Min length: 1
Max length: 80

errors

OfferContentErrorDTO[]

Ошибки, препятствующие отправке контента в каталог.
Сообщение об ошибке.

warnings

OfferContentErrorDTO[]

Предупреждения, не препятствующие отправке контента в каталог.
Сообщение об ошибке.

OfferContentErrorDTO

Сообщение об ошибке.

Name

Type

Description

type*

OfferContentErrorType

Типы ошибок:

  • OFFER_NOT_FOUND — такого товара нет в каталоге.
  • UNKNOWN_CATEGORY — указана неизвестная категория.
  • CATEGORY_MISMATCH — указанная категория не совпадает с категорией товара.
  • UNKNOWN_PARAMETER — передана характеристика, отсутствующая среди характеристик категории.
  • UNEXPECTED_BOOLEAN_VALUE — вместо boolean-значения передано что-то другое.
  • NUMBER_FORMAT — передана строка, не обозначающая число, вместо числа.
  • VALUE_BLANK — передано пустое значение.
  • INVALID_UNIT_ID — передана единица измерения, недопустимая для характеристики.


Enum: OFFER_NOT_FOUND, UNKNOWN_CATEGORY, CATEGORY_MISMATCH, UNKNOWN_PARAMETER, UNEXPECTED_BOOLEAN_VALUE, NUMBER_FORMAT, VALUE_BLANK, INVALID_UNIT_ID

parameterId

integer<int64>

Идентификатор характеристики, с которой связана ошибка.

message*

string

Сообщение об ошибке.

OfferContentErrorType

Типы ошибок:

  • OFFER_NOT_FOUND — такого товара нет в каталоге.
  • UNKNOWN_CATEGORY — указана неизвестная категория.
  • CATEGORY_MISMATCH — указанная категория не совпадает с категорией товара.
  • UNKNOWN_PARAMETER — передана характеристика, отсутствующая среди характеристик категории.
  • UNEXPECTED_BOOLEAN_VALUE — вместо boolean-значения передано что-то другое.
  • NUMBER_FORMAT — передана строка, не обозначающая число, вместо числа.
  • VALUE_BLANK — передано пустое значение.
  • INVALID_UNIT_ID — передана единица измерения, недопустимая для характеристики.

Type

Description

OfferContentErrorType

Enum: OFFER_NOT_FOUND, UNKNOWN_CATEGORY, CATEGORY_MISMATCH, UNKNOWN_PARAMETER, UNEXPECTED_BOOLEAN_VALUE, NUMBER_FORMAT, VALUE_BLANK, INVALID_UNIT_ID

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[]

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