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

Метод доступен для всех моделей.

Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке

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

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

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

Чтобы удалить характеристики, которые заданы в параметрах с типом string, передайте пустое значение.

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

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

⚙️ Лимит: 10 000 товаров в минуту

Request

POST

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

Path parameters

Name

Description

businessId*

Type: integer<int64>

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

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

Min value: 1

Body

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

Name

Description

offersContent*

Type: OfferContentDTO[]

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

Min items: 1

Max items: 100

OfferContentDTO

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

Name

Description

categoryId*

Type: integer<int32>

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

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

Список категорий Маркета можно получить с помощью запроса POST categories/tree.

Min value: 1

offerId*

Type: string

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

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

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

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

SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов.

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

Min length: 1

Max length: 255

Pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$

parameterValues*

Type: ParameterValueDTO[]

Список характеристик с их значениями.

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

Чтобы удалить значение заданной характеристики, передайте ее parameterId с пустым value.
Значение характеристики.

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

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

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

Min items: 1

Max items: 300

ParameterValueDTO

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

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

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

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

Name

Description

parameterId*

Type: integer<int64>

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

Min value: 1

unitId

Type: integer<int64>

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

value

Type: string

Значение.

Для характеристик типа ENUM передавайте вместе с valueId.

valueId

Type: integer<int64>

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

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

Передавайте вместе с value.

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

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

Description

results

Type: UpdateOfferContentResultDTO[]

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

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

UpdateOfferContentResultDTO

Ошибки и предупреждения, которые появились из-за переданных характеристик.

Name

Description

offerId*

Type: string

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

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

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

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

SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов.

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

Min length: 1

Max length: 255

Pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$

errors

Type: OfferContentErrorDTO[]

Ошибки.

Если хотя бы по одному товару есть ошибка, информация в каталоге не обновится по всем переданным товарам.
Текст ошибки или предупреждения.

Min items: 1

warnings

Type: OfferContentErrorDTO[]

Предупреждения.

Информация в каталоге обновится.
Текст ошибки или предупреждения.

Min items: 1

ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Type

Description

ApiResponseStatusType

Enum: OK, ERROR

OfferContentErrorDTO

Текст ошибки или предупреждения.

Name

Description

message*

Type: string

Текст ошибки или предупреждения.

type*

Type: OfferContentErrorType

Типы ошибок и предупреждений:

  • OFFER_NOT_FOUND — такого товара нет в каталоге.
  • UNKNOWN_CATEGORY — указана неизвестная категория.
  • INVALID_CATEGORY — указана нелистовая категория. Укажите ту, которая не имеет дочерних категорий.
  • UNKNOWN_PARAMETER — передана характеристика, которой нет среди характеристик категории.
  • UNEXPECTED_BOOLEAN_VALUE — вместо boolean-значения передано что-то другое.
  • NUMBER_FORMAT — передана строка, не обозначающая число, вместо числа.
  • INVALID_UNIT_ID — передана единица измерения, недопустимая для характеристики.
  • INVALID_GROUP_ID_LENGTH — в названии превышено допустимое значение символов — 255.
  • INVALID_GROUP_ID_CHARACTERS — переданы недопустимые символы.

Проверить, какие категорийные характеристики доступны для заданной категории, и получить их настройки можно с помощью запроса POST category/{categoryId}/parameters.

Enum: OFFER_NOT_FOUND, UNKNOWN_CATEGORY, INVALID_CATEGORY, UNKNOWN_PARAMETER, UNEXPECTED_BOOLEAN_VALUE, NUMBER_FORMAT, INVALID_UNIT_ID, INVALID_GROUP_ID_LENGTH, INVALID_GROUP_ID_CHARACTERS

parameterId

Type: integer<int64>

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

OfferContentErrorType

Типы ошибок и предупреждений:

  • OFFER_NOT_FOUND — такого товара нет в каталоге.
  • UNKNOWN_CATEGORY — указана неизвестная категория.
  • INVALID_CATEGORY — указана нелистовая категория. Укажите ту, которая не имеет дочерних категорий.
  • UNKNOWN_PARAMETER — передана характеристика, которой нет среди характеристик категории.
  • UNEXPECTED_BOOLEAN_VALUE — вместо boolean-значения передано что-то другое.
  • NUMBER_FORMAT — передана строка, не обозначающая число, вместо числа.
  • INVALID_UNIT_ID — передана единица измерения, недопустимая для характеристики.
  • INVALID_GROUP_ID_LENGTH — в названии превышено допустимое значение символов — 255.
  • INVALID_GROUP_ID_CHARACTERS — переданы недопустимые символы.

Проверить, какие категорийные характеристики доступны для заданной категории, и получить их настройки можно с помощью запроса POST category/{categoryId}/parameters.

Type

Description

OfferContentErrorType

Enum: OFFER_NOT_FOUND, UNKNOWN_CATEGORY, INVALID_CATEGORY, UNKNOWN_PARAMETER, UNEXPECTED_BOOLEAN_VALUE, NUMBER_FORMAT, INVALID_UNIT_ID, INVALID_GROUP_ID_LENGTH, INVALID_GROUP_ID_CHARACTERS

400 Bad Request

Запрос содержит неправильные данные. Подробнее об ошибке

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

ApiErrorDTO

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

Name

Description

code*

Type: string

Код ошибки.

message

Type: string

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

401 Unauthorized

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

403 Forbidden

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

404 Not Found

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

420 Method Failure

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

423 Locked

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

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

500 Internal Server Error

Внутренняя ошибка Маркета. Подробнее об ошибке

Body

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

Name

Description

errors

Type: ApiErrorDTO[]

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

Min items: 1

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

No longer supported, please use an alternative and newer version.

Запрещены ASCII символы с 0 по 31 (кроме 9) и 127 из таблицы.