Списки характеристик товаров по категориям

Метод доступен для моделей: FBY, FBS, Экспресс и DBS.

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

Возвращает список характеристик с допустимыми значениями для заданной листовой категории.

Поля в ответе определяют правила передачи характеристики в методах:

⚙️ Лимит: 100 категорий в минуту

Request

POST

https://api.partner.market.yandex.ru/v2/category/{categoryId}/parameters

Path parameters

Name

Description

categoryId

Type: integer

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

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

Min value: 0

Exclusive min: true

Query parameters

Name

Description

businessId

Type: integer

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

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

Min value: 1

Responses

200 OK

Список характеристик товаров из заданной категории.

Body

application/json
{
  "status": "OK",
  "result": {
    "categoryId": 0,
    "parameters": [
      {
        "id": 1,
        "name": "example",
        "type": "TEXT",
        "unit": {},
        "description": "example",
        "recommendationTypes": [
          null
        ],
        "required": true,
        "filtering": true,
        "distinctive": true,
        "multivalue": true,
        "allowCustomValues": true,
        "values": [
          null
        ],
        "constraints": {},
        "valueRestrictions": [
          null
        ]
      }
    ]
  }
}

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    result

    Type: CategoryContentParametersDTO

    Информация о параметрах категории.

    Example
    {
      "categoryId": 0,
      "parameters": [
        {
          "id": 1,
          "name": "example",
          "type": "TEXT",
          "unit": {
            "defaultUnitId": 0,
            "units": [
              {}
            ]
          },
          "description": "example",
          "recommendationTypes": [
            "HAS_VIDEO"
          ],
          "required": true,
          "filtering": true,
          "distinctive": true,
          "multivalue": true,
          "allowCustomValues": true,
          "values": [
            {
              "id": 0,
              "value": "example",
              "description": "example"
            }
          ],
          "constraints": {
            "minValue": 0.5,
            "maxValue": 0.5,
            "maxLength": 0
          },
          "valueRestrictions": [
            {
              "limitingParameterId": 1,
              "limitedValues": [
                null
              ]
            }
          ]
        }
      ]
    }
    
    Example
    {
      "result": {
        "categoryId": 0,
        "parameters": [
          {
            "id": 1,
            "name": "example",
            "type": "TEXT",
            "unit": {
              "defaultUnitId": 0,
              "units": [
                null
              ]
            },
            "description": "example",
            "recommendationTypes": [
              "HAS_VIDEO"
            ],
            "required": true,
            "filtering": true,
            "distinctive": true,
            "multivalue": true,
            "allowCustomValues": true,
            "values": [
              {}
            ],
            "constraints": {
              "minValue": 0.5,
              "maxValue": 0.5,
              "maxLength": 0
            },
            "valueRestrictions": [
              {}
            ]
          }
        ]
      }
    }
    

ApiResponseStatusType

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

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

Type: string

Enum: OK, ERROR

ApiResponse

Стандартная обертка для ответов сервера.

Name

Description

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

Example
{
  "status": "OK"
}

CategoryId

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

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

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

Type: integer

Min value: 0

Exclusive min: true

ParameterType

Тип данных:

  • TEXT — текст.
  • ENUM — список возможных значений.
  • BOOLEANtrue или false.
  • NUMERIC — число.

Type: string

Enum: TEXT, ENUM, BOOLEAN, NUMERIC

UnitDTO

Единица измерения.

Name

Description

fullName

Type: string

Полное название единицы измерения.

Example: килограмм

id

Type: integer

Идентификатор единицы измерения.

name

Type: string

Сокращенное название единицы измерения.

Example: кг

Example
{
  "id": 0,
  "name": "кг",
  "fullName": "килограмм"
}

CategoryParameterUnitDTO

Единицы измерения характеристики товара.

Name

Description

defaultUnitId

Type: integer

Единица измерения по умолчанию.

units

Type: UnitDTO[]

Допустимые единицы измерения.

Example
[
  {
    "id": 0,
    "name": "кг",
    "fullName": "килограмм"
  }
]
Example
{
  "defaultUnitId": 0,
  "units": [
    {
      "id": 0,
      "name": "кг",
      "fullName": "килограмм"
    }
  ]
}

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

ParameterValueOptionDTO

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

Name

Description

id

Type: integer

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

value

Type: string

Значение.

Example: example

description

Type: string

Описание значения.

Example: example

Example
{
  "id": 0,
  "value": "example",
  "description": "example"
}

ParameterValueConstraintsDTO

Ограничения на значения характеристик.

Name

Description

maxLength

Type: integer

Максимальная длина текста.

maxValue

Type: number

Максимальное число.

minValue

Type: number

Минимальное число.

Example
{
  "minValue": 0.5,
  "maxValue": 0.5,
  "maxLength": 0
}

OptionValuesLimitedDTO

Значение ограничивающей характеристики и список допустимых значений ограничиваемой характеристики.

Name

Description

limitingOptionValueId

Type: integer

Идентификатор значения ограничивающей характеристики.

optionValueIds

Type: integer[]

Идентификаторы допустимых значений ограничиваемой характеристики.

Unique items: true

Example
[
  1
]
Example
{
  "limitingOptionValueId": 0,
  "optionValueIds": [
    1
  ]
}

ValueRestrictionDTO

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

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

Пример

Характеристика размер сама по себе может принимать девять разных значений: S, M, L, 44, 46, 48, 42/164, 46/176, 44S.

Если ограничивающая характеристика размерная сетка принимает значение RU, список возможных значений размера сокращается до 44, 46, 48.

Name

Description

limitedValues

Type: OptionValuesLimitedDTO[]

Значения ограничивающей характеристики и соответствующие допустимые значения текущей характеристики.

Example
[
  {
    "limitingOptionValueId": 0,
    "optionValueIds": [
      1
    ]
  }
]

limitingParameterId

Type: integer

Идентификатор ограничивающей характеристики.

Min value: 1

Example
{
  "limitingParameterId": 1,
  "limitedValues": [
    {
      "limitingOptionValueId": 0,
      "optionValueIds": [
        1
      ]
    }
  ]
}

CategoryParameterDTO

Характеристика товара.

Name

Description

allowCustomValues

Type: boolean

Можно ли передавать собственное значение, которого нет в списке вариантов Маркета. Только для характеристик типа ENUM.

distinctive

Type: boolean

Является ли характеристика особенностью варианта.

filtering

Type: boolean

Используется ли характеристика в фильтре.

id

Type: integer

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

Min value: 1

multivalue

Type: boolean

Можно ли передать сразу несколько значений.

required

Type: boolean

Обязательность характеристики.

type

Type: ParameterType

Тип данных.

Тип данных:

  • TEXT — текст.
  • ENUM — список возможных значений.
  • BOOLEANtrue или false.
  • NUMERIC — число.

Enum: TEXT, ENUM, BOOLEAN, NUMERIC

constraints

Type: ParameterValueConstraintsDTO

Ограничения на значения. Только для характеристик типа TEXT и NUMERIC.

  • Для NUMERIC используются поля minValue и maxValue.
  • Для TEXT используется поле maxLength.

Ограничения на значения характеристик.

Example
{
  "minValue": 0.5,
  "maxValue": 0.5,
  "maxLength": 0
}

description

Type: string

Описание характеристики.

Example: example

name

Type: string

Название характеристики.

Example: example

recommendationTypes

Type: OfferCardRecommendationType[] | null

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

Min items: 1

Unique items: true

Example
[
  "HAS_VIDEO"
]

unit

Type: CategoryParameterUnitDTO

Единицы измерения характеристики товара.

Example
{
  "defaultUnitId": 0,
  "units": [
    {
      "id": 0,
      "name": "кг",
      "fullName": "килограмм"
    }
  ]
}

valueRestrictions

Type: ValueRestrictionDTO[] | null

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

Min items: 1

Example
[
  {
    "limitingParameterId": 1,
    "limitedValues": [
      {
        "limitingOptionValueId": 0,
        "optionValueIds": [
          1
        ]
      }
    ]
  }
]

values

Type: ParameterValueOptionDTO[] | null

Список допустимых значений параметра. Только для характеристик типа ENUM.

Min items: 1

Example
[
  {
    "id": 0,
    "value": "example",
    "description": "example"
  }
]
Example
{
  "id": 1,
  "name": "example",
  "type": "TEXT",
  "unit": {
    "defaultUnitId": 0,
    "units": [
      {
        "id": 0,
        "name": "кг",
        "fullName": "килограмм"
      }
    ]
  },
  "description": "example",
  "recommendationTypes": [
    "HAS_VIDEO"
  ],
  "required": true,
  "filtering": true,
  "distinctive": true,
  "multivalue": true,
  "allowCustomValues": true,
  "values": [
    {
      "id": 0,
      "value": "example",
      "description": "example"
    }
  ],
  "constraints": {
    "minValue": 0.5,
    "maxValue": 0.5,
    "maxLength": 0
  },
  "valueRestrictions": [
    {
      "limitingParameterId": 1,
      "limitedValues": [
        {
          "limitingOptionValueId": 0,
          "optionValueIds": [
            null
          ]
        }
      ]
    }
  ]
}

CategoryContentParametersDTO

Информация о параметрах категории.

Name

Description

categoryId

Type: CategoryId

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

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

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

Min value: 0

Exclusive min: true

Example: 0

parameters

Type: CategoryParameterDTO[] | null

Список характеристик.

Min items: 1

Example
[
  {
    "id": 1,
    "name": "example",
    "type": "TEXT",
    "unit": {
      "defaultUnitId": 0,
      "units": [
        {
          "id": 0,
          "name": "кг",
          "fullName": "килограмм"
        }
      ]
    },
    "description": "example",
    "recommendationTypes": [
      "HAS_VIDEO"
    ],
    "required": true,
    "filtering": true,
    "distinctive": true,
    "multivalue": true,
    "allowCustomValues": true,
    "values": [
      {
        "id": 0,
        "value": "example",
        "description": "example"
      }
    ],
    "constraints": {
      "minValue": 0.5,
      "maxValue": 0.5,
      "maxLength": 0
    },
    "valueRestrictions": [
      {
        "limitingParameterId": 1,
        "limitedValues": [
          {}
        ]
      }
    ]
  }
]
Example
{
  "categoryId": 0,
  "parameters": [
    {
      "id": 1,
      "name": "example",
      "type": "TEXT",
      "unit": {
        "defaultUnitId": 0,
        "units": [
          {}
        ]
      },
      "description": "example",
      "recommendationTypes": [
        "HAS_VIDEO"
      ],
      "required": true,
      "filtering": true,
      "distinctive": true,
      "multivalue": true,
      "allowCustomValues": true,
      "values": [
        {
          "id": 0,
          "value": "example",
          "description": "example"
        }
      ],
      "constraints": {
        "minValue": 0.5,
        "maxValue": 0.5,
        "maxLength": 0
      },
      "valueRestrictions": [
        {
          "limitingParameterId": 1,
          "limitedValues": [
            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: example

message

Type: string

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

Example: 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: 1

    Example
    [
      {
        "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.

Категория, у которой нет дочерних.