Редактирование категорийных характеристик товара
Метод доступен для моделей: FBY, FBS, Экспресс и DBS.
Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке
- offers-and-cards-management — Управление товарами и карточками
- all-methods — Полное управление кабинетом
Редактирует характеристики товара, которые специфичны для категории, к которой он относится.
Здесь только то, что относится к конкретной категории
Если вам нужно изменить основные параметры товара (название, описание, изображения, видео, производитель, штрихкод), воспользуйтесь запросом POST v2/businesses/{businessId}/offer-mappings/update.
Чтобы удалить характеристики, которые заданы в параметрах с типом string, передайте пустое значение.
Данные в каталоге обновляются не мгновенно
Это занимает до нескольких минут.
| ⚙️ Лимит: 10 000 товаров в минуту |
|---|
Request
POST
https://api.partner.market.yandex.ru/v2/businesses/{businessId}/offer-cards/update
Path parameters
|
Name |
Description |
|
businessId |
Type: integer Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns. ℹ️ Что такое кабинет и магазин на Маркете Min value: |
Body
application/json
{
"offersContent": [
{
"offerId": "example",
"categoryId": 0,
"parameterValues": [
{
"parameterId": 1,
"unitId": 0,
"valueId": 0,
"value": "example"
}
]
}
]
}
|
Name |
Description |
|
offersContent |
Type: OfferContentDTO[] Список товаров с указанными характеристиками. Min items: Max items: Example
|
ShopSku
Ваш SKU — идентификатор товара в вашей системе.
Правила использования SKU:
-
У каждого товара SKU должен быть свой.
-
Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов.
Важно
Пробельные символы в начале и конце значения автоматически удаляются. Например, " SKU123 " и "SKU123" будут обработаны как одинаковые значения.
Что такое SKU и как его назначать
Type: string
Min length: 1
Max length: 255
Pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$
Example: example
CategoryId
Идентификатор категории на Маркете.
При изменении категории убедитесь, что характеристики товара и их значения в параметре parameterValues вы передаете для новой категории.
Список категорий Маркета можно получить с помощью запроса POST v2/categories/tree.
Type: integer
Min value: 0
Exclusive min: true
ParameterValueDTO
Значение характеристики.
|
Name |
Description |
|
parameterId |
Type: integer Идентификатор характеристики. Min value: |
|
unitId |
Type: integer Идентификатор единицы измерения. Если вы не передали параметр |
|
value |
Type: string Значение. Для характеристик типа
Example: |
|
valueId |
Type: integer Идентификатор значения.
|
Example
{
"parameterId": 1,
"unitId": 0,
"valueId": 0,
"value": "example"
}
OfferContentDTO
Товар с указанными характеристиками.
|
Name |
Description |
|
categoryId |
Type: CategoryId Идентификатор категории на Маркете. При изменении категории убедитесь, что характеристики товара и их значения в параметре Список категорий Маркета можно получить с помощью запроса POST v2/categories/tree. Min value: Exclusive min: Example: |
|
offerId |
Type: ShopSku Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Важно Пробельные символы в начале и конце значения автоматически удаляются. Например, Что такое SKU и как его назначать Min length: Max length: Pattern: Example: |
|
parameterValues |
Type: ParameterValueDTO[] Список характеристик с их значениями. При изменении характеристик передавайте только те, значение которых нужно обновить. Если в Подробнее читайте в «Передача значений характеристики». Min items: Max items: Example
|
Example
{
"offerId": "example",
"categoryId": 0,
"parameterValues": [
{
"parameterId": 1,
"unitId": 0,
"valueId": 0,
"value": "example"
}
]
}
Responses
200 OK
Запрос выполнен корректно, данные обработаны.
Ответ 200 сам по себе не значит, что переданные значения корректны
Обязательно посмотрите детали ответа: status, а также перечень ошибок (results.errors) и замечаний (results.warnings), если они есть.
- Если хотя бы по одному товару вернулась ошибка (
results.errors), полеstatus=ERROR. Изменения по всем переданным товарам не будут применены. - Если ошибок нет, но хотя бы по одному товару вернулось замечание (
results.warnings), полеstatus=OK, и изменения будут применены.
Если в status вернулось ERROR, убедитесь, что:
- все обязательные характеристики заполнены;
- характеристики действительно существуют в указанных категориях;
- значения соответствуют характеристикам;
- ваши собственные значения имеют нужный тип данных.
Найти проблемы помогут поля errors и warnings.
Body
application/json
{
"status": "OK",
"results": [
{
"offerId": "example",
"errors": [
{}
],
"warnings": [
null
]
}
]
}
Type: object
All of 2 types
-
Type: ApiResponse
Стандартная обертка для ответов сервера.
Example
{ "status": "OK" } -
Type: object
results
Type: UpdateOfferContentResultDTO[] | null
Ошибки и предупреждения, которые появились при обработке переданных значений. Каждый элемент списка соответствует одному товару.
Если ошибок и предупреждений нет, поле не передается.
Min items:
1Example
[ { "offerId": "example", "errors": [ { "type": "OFFER_NOT_FOUND", "parameterId": 0, "message": "example" } ], "warnings": [ null ] } ]Example
{ "results": [ { "offerId": "example", "errors": [ { "type": "OFFER_NOT_FOUND", "parameterId": 0, "message": "example" } ], "warnings": [ null ] } ] }
ApiResponseStatusType
Тип ответа. Возможные значения:
OK— ошибок нет.ERROR— при обработке запроса произошла ошибка.
Type: string
Enum: OK, ERROR
ApiResponse
Стандартная обертка для ответов сервера.
|
Name |
Description |
|
status |
Type: ApiResponseStatusType Тип ответа. Возможные значения:
Enum: |
Example
{
"status": "OK"
}
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 v2/category/{categoryId}/parameters.
Type: string
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
OfferContentErrorDTO
Текст ошибки или предупреждения.
|
Name |
Description |
|
message |
Type: string Текст ошибки или предупреждения. Example: |
|
type |
Type: OfferContentErrorType Типы ошибок и предупреждений:
Проверить, какие категорийные характеристики доступны для заданной категории, и получить их настройки можно с помощью запроса POST v2/category/{categoryId}/parameters. Enum: |
|
parameterId |
Type: integer Идентификатор характеристики, с которой связана ошибка или предупреждение. |
Example
{
"type": "OFFER_NOT_FOUND",
"parameterId": 0,
"message": "example"
}
UpdateOfferContentResultDTO
Ошибки и предупреждения, которые появились из-за переданных характеристик.
|
Name |
Description |
|
offerId |
Type: ShopSku Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Важно Пробельные символы в начале и конце значения автоматически удаляются. Например, Что такое SKU и как его назначать Min length: Max length: Pattern: Example: |
|
errors |
Type: OfferContentErrorDTO[] | null Ошибки. Если хотя бы по одному товару есть ошибка, информация в каталоге не обновится по всем переданным товарам. Min items: Example
|
|
warnings |
Type: OfferContentErrorDTO[] | null Предупреждения. Информация в каталоге обновится. Min items: Example
|
Example
{
"offerId": "example",
"errors": [
{
"type": "OFFER_NOT_FOUND",
"parameterId": 0,
"message": "example"
}
],
"warnings": [
null
]
}
400 Bad Request
Запрос содержит неправильные данные. Подробнее об ошибке
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: ApiErrorResponse
Стандартная обертка для ошибок сервера.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] }
ApiErrorDTO
Общий формат ошибки.
|
Name |
Description |
|
code |
Type: string Код ошибки. Example: |
|
message |
Type: string Описание ошибки. Example: |
Example
{
"code": "example",
"message": "example"
}
ApiErrorResponse
Стандартная обертка для ошибок сервера.
Type: object
All of 2 types
-
Type: ApiResponse
Стандартная обертка для ответов сервера.
Example
{ "status": "OK" } -
Type: object
errors
Type: ApiErrorDTO[] | null
Список ошибок.
Min items:
1Example
[ { "code": "example", "message": "example" } ]Example
{ "errors": [ { "code": "example", "message": "example" } ] }
Example
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
401 Unauthorized
В запросе не указаны данные для авторизации. Подробнее об ошибке
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: ApiErrorResponse
Стандартная обертка для ошибок сервера.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] }
403 Forbidden
Данные для авторизации неверны или доступ к ресурсу запрещен. Подробнее об ошибке
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: ApiErrorResponse
Стандартная обертка для ошибок сервера.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] }
404 Not Found
Запрашиваемый ресурс не найден. Подробнее об ошибке
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: ApiErrorResponse
Стандартная обертка для ошибок сервера.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] }
420 Method Failure
Превышено ограничение на доступ к ресурсу. Подробнее об ошибке
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: ApiErrorResponse
Стандартная обертка для ошибок сервера.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] }
423 Locked
К ресурсу нельзя применить указанный метод. Подробнее об ошибке
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: ApiErrorResponse
Стандартная обертка для ошибок сервера.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] }
500 Internal Server Error
Внутренняя ошибка Маркета. Подробнее об ошибке
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "example",
"message": "example"
}
]
}
Type: object
All of 1 type
-
Type: ApiErrorResponse
Стандартная обертка для ошибок сервера.
Example
{ "status": "OK", "errors": [ { "code": "example", "message": "example" } ] }
No longer supported, please use an alternative and newer version.
Запрещены ASCII символы с 0 по 31 (кроме 9) и 127 из таблицы.