Получение информации о заполненности карточек магазина
Метод доступен для моделей: FBY, FBS, Экспресс и DBS.
Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке
- offers-and-cards-management — Управление товарами и карточками
- offers-and-cards-management:read-only — Просмотр товаров и карточек
- all-methods — Полное управление кабинетом
- all-methods:read-only — Просмотр всех данных
Возвращает сведения о состоянии контента для заданных товаров:
- создана ли карточка товара и в каком она статусе;
- рейтинг карточки — на сколько процентов она заполнена;
- переданные характеристики товаров;
- есть ли ошибки или предупреждения, связанные с контентом;
- рекомендации по заполнению карточки.
Чтобы получить другие характеристики товаров, воспользуйтесь методом POST v2/businesses/{businessId}/offer-mappings.
| ⚙️ Лимит: 600 запросов в минуту |
|---|
Request
POST
https://api.partner.market.yandex.ru/v2/businesses/{businessId}/offer-cards
Path parameters
|
Name |
Description |
|
businessId |
Type: integer Идентификатор кабинета. Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns. ℹ️ Что такое кабинет и магазин на Маркете Min value: |
Query parameters
|
Name |
Description |
|
limit |
Type: integer Количество значений на одной странице. Min value: |
|
page_token |
Type: string Идентификатор страницы c результатами. Если параметр не указан, возвращается первая страница. Рекомендуем передавать значение выходного параметра Если задан Example: |
Body
application/json
{
"offerIds": [
"example"
],
"cardStatuses": [
"HAS_CARD_CAN_NOT_UPDATE"
],
"categoryIds": [
0
],
"withRecommendations": false
}
|
Name |
Description |
|
cardStatuses |
Type: OfferCardStatusType[] | null Фильтр по статусам карточек. Min items: Unique items: Example
|
|
categoryIds |
Type: CategoryId[] | null Фильтр по категориям на Маркете. Min items: Max items: Unique items: Example
|
|
offerIds |
Type: ShopSku[] | null Идентификаторы товаров, информация о которых нужна.
Min items: Max items: Unique items: Example
|
|
withRecommendations |
Type: boolean Возвращать ли список рекомендаций к заполнению карточки и средний рейтинг карточки у товаров той категории, которая указана в Значение по умолчанию: Default: |
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
OfferCardStatusType
Статус карточки товара:
HAS_CARD_CAN_NOT_UPDATE— Карточка Маркета.HAS_CARD_CAN_UPDATE— Можно дополнить.HAS_CARD_CAN_UPDATE_ERRORS— Изменения не приняты.HAS_CARD_CAN_UPDATE_PROCESSING— Изменения на проверке.NO_CARD_NEED_CONTENT— Создайте карточку.NO_CARD_MARKET_WILL_CREATE— Создаст Маркет.NO_CARD_ERRORS— Не создана из-за ошибки.NO_CARD_PROCESSING— Проверяем данные.NO_CARD_ADD_TO_CAMPAIGN— Разместите товар в магазине.
Type: string
Enum: HAS_CARD_CAN_NOT_UPDATE, HAS_CARD_CAN_UPDATE, HAS_CARD_CAN_UPDATE_ERRORS, HAS_CARD_CAN_UPDATE_PROCESSING, NO_CARD_NEED_CONTENT, NO_CARD_MARKET_WILL_CREATE, NO_CARD_ERRORS, NO_CARD_PROCESSING, NO_CARD_ADD_TO_CAMPAIGN
CategoryId
Идентификатор категории на Маркете.
При изменении категории убедитесь, что характеристики товара и их значения в параметре parameterValues вы передаете для новой категории.
Список категорий Маркета можно получить с помощью запроса POST v2/categories/tree.
Type: integer
Min value: 0
Exclusive min: true
Responses
200 OK
Информация о карточках указанных товаров.
Body
application/json
{
"status": "OK",
"result": {
"offerCards": [
{
"offerId": "example",
"mapping": {},
"parameterValues": [
null
],
"cardStatus": "HAS_CARD_CAN_NOT_UPDATE",
"contentRating": 0,
"averageContentRating": 0,
"contentRatingStatus": "UPDATING",
"recommendations": [
null
],
"groupId": "example",
"errors": [
null
],
"warnings": [
null
]
}
],
"paging": {
"nextPageToken": "example"
}
}
}
Type: object
All of 2 types
-
Type: ApiResponse
Стандартная обертка для ответов сервера.
Example
{ "status": "OK" } -
Type: object
result
Type: OfferCardsContentStatusDTO
Список товаров с информацией о состоянии карточек.
Example
{ "offerCards": [ { "offerId": "example", "mapping": { "marketSku": 1, "marketSkuName": "example", "marketModelId": 0, "marketModelName": "example", "marketCategoryId": 0, "marketCategoryName": "example" }, "parameterValues": [ { "parameterId": 1, "unitId": 0, "valueId": 0, "value": "example" } ], "cardStatus": "HAS_CARD_CAN_NOT_UPDATE", "contentRating": 0, "averageContentRating": 0, "contentRatingStatus": "UPDATING", "recommendations": [ { "type": "HAS_VIDEO", "percent": 0, "remainingRatingPoints": 1 } ], "groupId": "example", "errors": [ { "message": "example", "comment": "example" } ], "warnings": [ null ] } ], "paging": { "nextPageToken": "example" } }Example
{ "result": { "offerCards": [ { "offerId": "example", "mapping": {}, "parameterValues": [ {} ], "cardStatus": "HAS_CARD_CAN_NOT_UPDATE", "contentRating": 0, "averageContentRating": 0, "contentRatingStatus": "UPDATING", "recommendations": [ {} ], "groupId": "example", "errors": [ {} ], "warnings": [ null ] } ], "paging": { "nextPageToken": "example" } } }
ApiResponseStatusType
Тип ответа. Возможные значения:
OK— ошибок нет.ERROR— при обработке запроса произошла ошибка.
Type: string
Enum: OK, ERROR
ApiResponse
Стандартная обертка для ответов сервера.
|
Name |
Description |
|
status |
Type: ApiResponseStatusType Тип ответа. Возможные значения:
Enum: |
Example
{
"status": "OK"
}
MarketSku
Идентификатор карточки товара на Маркете.
Type: integer
Min value: 1
UpdateMappingDTO
Карточка на Маркете, которая, с вашей точки зрения, подходит товару. Чтобы определить идентификатор подходящей карточки, воспользуйтесь поиском в кабинете (Товары → Каталог → Загрузить товары).
По результатам проверки Маркет может привязать товар к более подходящей карточке.
|
Name |
Description |
|
marketSku |
Type: MarketSku Идентификатор карточки на Маркете. Идентификатор карточки товара на Маркете. Min value: Example: |
Example
{
"marketSku": 1
}
GetMappingDTO
Информация о товарах в каталоге.
Type: object
All of 2 types
-
Type: UpdateMappingDTO
Идентификатор карточки на Маркете. Показывает текущую привязку товара к карточке.
Может отсутствовать в ответе, если товар еще не привязан к карточке. Проверьте статус карточки или исправьте ошибки.
Карточка на Маркете, которая, с вашей точки зрения, подходит товару. Чтобы определить идентификатор подходящей карточки, воспользуйтесь поиском в кабинете (Товары → Каталог → Загрузить товары).
По результатам проверки Маркет может привязать товар к более подходящей карточке.
Example
{ "marketSku": 1 } -
Type: object
marketCategoryId
Type: integer
Идентификатор категории на Маркете, в которую попал товар.
Может отсутствовать в ответе, если Маркет еще не определил категорию товара.
marketCategoryName
Type: string
Название категории карточки на Маркете.
Может отсутствовать в ответе, если Маркет еще не определил категорию товара.
Example:
examplemarketModelName
Type: string
Название модели на Маркете.
Может отсутствовать в ответе, если товар еще не привязан к карточке.
Example:
examplemarketSkuName
Type: string
Название карточки товара.
Может отсутствовать в ответе, если товар еще не привязан к карточке.
Example:
exampleExample
{ "marketSkuName": "example", "marketModelName": "example", "marketCategoryId": 0, "marketCategoryName": "example" }
Example
{
"marketSku": 1,
"marketSkuName": "example",
"marketModelName": "example",
"marketCategoryId": 0,
"marketCategoryName": "example"
}
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"
}
OfferCardContentStatusType
Статус вычисления рейтинга карточки товара и рекомендаций:
UPDATING— рейтинг обновляется.ACTUAL— рейтинг актуальный.
Type: string
Enum: UPDATING, ACTUAL
OfferCardRecommendationType
Рекомендация по дополнению или замене контента. Не возвращается для карточек, которые заполнены Маркетом или содержат бывшие в употреблении товары.
Часть рекомендаций относятся к основным параметрам, которые есть у товаров любых категорий. Другие — к тем характеристикам, которые есть у товара потому, что он относится к определенной категории.
1. Рекомендации, относящиеся к основным параметрам
Каждая такая рекомендация относится к единственному параметру. Чтобы заполнить этот параметр, пользуйтесь запросом POST v2/businesses/{businessId}/offer-mappings/update.
Рекомендации по заполнению параметров в updateOfferMappings:
-
RECOGNIZED_VENDOR— напишите название производителя так, как его пишет сам производитель (параметрvendor). -
PICTURE_COUNT— добавьте изображения (параметрpictures). ТребованияДля рекомендации приходит процент ее выполнения.
-
FIRST_PICTURE_SIZE— замените первое изображение более крупным (параметрpictures). Требования -
TITLE_LENGTH— измените название (параметрname). Составьте название по схеме: тип + бренд или производитель + модель + особенности, если есть (размер, вес, цвет). Требования -
DESCRIPTION_LENGTH— добавьте описание рекомендуемого размера (параметрdescription). Требования -
AVERAGE_PICTURE_SIZE— замените все изображения на изображения высокого качества (параметрpictures). Требования -
FIRST_VIDEO_LENGTH— добавьте первое видео рекомендуемой длины (параметрvideos). Требования -
FIRST_VIDEO_SIZE— замените первое видео на видео высокого качества (параметрvideos). Требования -
AVERAGE_VIDEO_SIZE— замените все видео на видео высокого качества (параметрvideos). Требования -
VIDEO_COUNT— добавьте хотя бы одно видео (параметрvideos). ТребованияДля рекомендации приходит процент ее выполнения.
2. Рекомендации, относящиеся к характеристикам по категориям
Каждая такая рекомендация предполагает заполнение одной или нескольких характеристик. Чтобы узнать, какие именно характеристики нужно заполнить, воспользуйтесь запросом POST v2/category/{categoryId}/parameters. Например, если вы получили рекомендацию MAIN, нужно заполнить характеристики, имеющие MAIN в массиве recommendationTypes.
Рекомендации:
-
MAIN— заполните ключевые характеристики товара, которые используются в поиске и фильтрах.Для рекомендации приходит процент ее выполнения.
-
ADDITIONAL— заполните дополнительные характеристики товара.Для рекомендации приходит процент ее выполнения.
-
DISTINCTIVE— заполните характеристики, которыми отличаются друг от друга варианты товара.Для рекомендации приходит процент ее выполнения.
3. Устаревшие рекомендации
HAS_VIDEO.FILTERABLE.HAS_DESCRIPTION.HAS_BARCODE.
Type: string
Enum: HAS_VIDEO, RECOGNIZED_VENDOR, MAIN, ADDITIONAL, DISTINCTIVE, FILTERABLE, PICTURE_COUNT, HAS_DESCRIPTION, HAS_BARCODE, FIRST_PICTURE_SIZE, TITLE_LENGTH, DESCRIPTION_LENGTH, AVERAGE_PICTURE_SIZE, FIRST_VIDEO_SIZE, FIRST_VIDEO_LENGTH, AVERAGE_VIDEO_SIZE, VIDEO_COUNT
OfferCardRecommendationDTO
Рекомендация по заполнению карточки товара.
|
Name |
Description |
|
type |
Type: OfferCardRecommendationType Рекомендация. Рекомендация по дополнению или замене контента. Не возвращается для карточек, которые заполнены Маркетом или содержат бывшие в употреблении товары. Часть рекомендаций относятся к основным параметрам, которые есть у товаров любых категорий. Другие — к тем характеристикам, которые есть у товара потому, что он относится к определенной категории. 1. Рекомендации, относящиеся к основным параметрам Каждая такая рекомендация относится к единственному параметру. Чтобы заполнить этот параметр, пользуйтесь запросом POST v2/businesses/{businessId}/offer-mappings/update. Рекомендации по заполнению параметров в
2. Рекомендации, относящиеся к характеристикам по категориям Каждая такая рекомендация предполагает заполнение одной или нескольких характеристик. Чтобы узнать, какие именно характеристики нужно заполнить, воспользуйтесь запросом POST v2/category/{categoryId}/parameters. Например, если вы получили рекомендацию Рекомендации:
3. Устаревшие рекомендации
Enum: |
|
percent |
Type: integer Процент выполнения рекомендации. Указывается для рекомендаций некоторых типов:
Min value: Max value: Exclusive max: |
|
remainingRatingPoints |
Type: integer Максимальное количество баллов рейтинга карточки, которые можно получить за выполнение рекомендаций. Min value: Max value: |
Example
{
"type": "HAS_VIDEO",
"percent": 0,
"remainingRatingPoints": 1
}
OfferErrorDTO
Сообщение об ошибке, связанной с размещением товара.
|
Name |
Description |
|
comment |
Type: string Пояснение. Example: |
|
message |
Type: string Тип ошибки. Example: |
Example
{
"message": "example",
"comment": "example"
}
OfferCardDTO
Информация о состоянии карточки товара.
Если поле mapping отсутствует в ответе, Маркет еще не успел обработать информацию о товаре. Чтобы определить категорию такого товара, повторите запрос через несколько минут.
|
Name |
Description |
|
offerId |
Type: ShopSku Ваш SKU — идентификатор товара в вашей системе. Правила использования SKU:
SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов. Важно Пробельные символы в начале и конце значения автоматически удаляются. Например, Что такое SKU и как его назначать Min length: Max length: Pattern: Example: |
|
averageContentRating |
Type: integer Средний рейтинг карточки у товаров той категории, которая указана в Возвращается, только если параметр |
|
cardStatus |
Type: OfferCardStatusType Статус карточки. Статус карточки товара:
Enum: |
|
contentRating |
Type: integer Рейтинг карточки. |
|
contentRatingStatus |
Type: OfferCardContentStatusType Статус вычисления рейтинга карточки и рекомендаций. Статус вычисления рейтинга карточки товара и рекомендаций:
Enum: |
|
errors |
Type: OfferErrorDTO[] | null Ошибки в контенте, препятствующие размещению товара на витрине. Min items: Example
|
|
groupId |
Type: string Идентификатор группы товаров. У товаров, которые объединены в одну группу, будет одинаковый идентификатор. Как объединить товары на карточке Example: |
|
mapping |
Type: GetMappingDTO Основная информация о карточке товара. Информация о товарах в каталоге. Example
|
|
parameterValues |
Type: ParameterValueDTO[] | null Список характеристик с их значениями. Min items: Example
|
|
recommendations |
Type: OfferCardRecommendationDTO[] | null Список рекомендаций к заполнению карточки. Возвращается, только если параметр Рекомендации Маркета помогают заполнять карточку так, чтобы покупателям было проще найти ваш товар и решиться на покупку. Min items: Example
|
|
warnings |
Type: OfferErrorDTO[] | null Связанные с контентом предупреждения, не препятствующие размещению товара на витрине. Min items: Example
|
Example
{
"offerId": "example",
"mapping": {
"marketSku": 1,
"marketSkuName": "example",
"marketModelId": 0,
"marketModelName": "example",
"marketCategoryId": 0,
"marketCategoryName": "example"
},
"parameterValues": [
{
"parameterId": 1,
"unitId": 0,
"valueId": 0,
"value": "example"
}
],
"cardStatus": "HAS_CARD_CAN_NOT_UPDATE",
"contentRating": 0,
"averageContentRating": 0,
"contentRatingStatus": "UPDATING",
"recommendations": [
{
"type": "HAS_VIDEO",
"percent": 0,
"remainingRatingPoints": 1
}
],
"groupId": "example",
"errors": [
{
"message": "example",
"comment": "example"
}
],
"warnings": [
null
]
}
ForwardScrollingPagerDTO
Идентификатор следующей страницы.
|
Name |
Description |
|
nextPageToken |
Type: string Идентификатор следующей страницы результатов. Example: |
Example
{
"nextPageToken": "example"
}
OfferCardsContentStatusDTO
Список товаров с информацией о состоянии карточек.
|
Name |
Description |
|
offerCards |
Type: OfferCardDTO[] Страница списка товаров с информацией о состоянии карточек. Example
|
|
paging |
Type: ForwardScrollingPagerDTO Идентификатор следующей страницы. Идентификатор следующей страницы. Example
|
Example
{
"offerCards": [
{
"offerId": "example",
"mapping": {
"marketSku": 1,
"marketSkuName": "example",
"marketModelId": 0,
"marketModelName": "example",
"marketCategoryId": 0,
"marketCategoryName": "example"
},
"parameterValues": [
{
"parameterId": 1,
"unitId": 0,
"valueId": 0,
"value": "example"
}
],
"cardStatus": "HAS_CARD_CAN_NOT_UPDATE",
"contentRating": 0,
"averageContentRating": 0,
"contentRatingStatus": "UPDATING",
"recommendations": [
{
"type": "HAS_VIDEO",
"percent": 0,
"remainingRatingPoints": 1
}
],
"groupId": "example",
"errors": [
{
"message": "example",
"comment": "example"
}
],
"warnings": [
null
]
}
],
"paging": {
"nextPageToken": "example"
}
}
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" } ] }
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.