Передача значений характеристики

Во всех сценариях ориентируйтесь на данные из ответа метода получения характеристик POST v2/category/{categoryId}/parameters:

  • values[].id — идентификаторы для передачи в valueId;
  • multivalue — можно ли передать несколько значений;
  • allowCustomValues — можно ли передавать собственные значения (value без valueId);
  • unit.defaultUnitId, unit.units[] — единицы измерения и их идентификаторы (unitId);
  • constraints — ограничения на значения (границы чисел, максимальная длина текста).

Передача значений выполняется в параметре parameterValues в двух методах (правила одинаковые):

Характеристика со списком допустимых значений (тип ENUM), нужно указать одно значение

  • Когда применять: характеристика типа ENUM, в ответе метода характеристик поле multivalue = false.
  • Что передавать: один объект с parameterId и valueId (идентификатор берите из values[].id). Поле value можно не указывать.
  • Ограничение: если allowCustomValues = false, передача только value без valueId приведет к ошибке валидации.
Пример — одно значение из списка
{
  "parameterValues": [
    { "parameterId": 111111, "valueId": 999999, "value": "10" }
  ]
}

Характеристика допускает собственные значения, нужно указать одно собственное значение

  • Когда применять: характеристика типа ENUM, в ответе метода характеристик поле allowCustomValues = true, multivalue = false.
  • Что передавать: один объект с parameterId и строкой в value. Поле valueId не указывайте.
Пример — одно собственное значение
{
  "parameterValues": [
    { "parameterId": 111111, "value": "Собственное значение" }
  ]
}

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

  • Когда применять: в ответе метода характеристик поле multivalue = true.
  • Что передавать: несколько объектов с одинаковым parameterId — по одному на каждое значение.
    • Если значение из перечня Маркета — укажите valueId.
    • Если разрешены собственные значения (allowCustomValues = true) — укажите value без valueId.
Пример — несколько собственных значений
{
  "parameterValues": [
    { "parameterId": 111111, "value": "Собственное значение 1" },
    { "parameterId": 111111, "value": "Собственное значение 2" }
  ]
}

Характеристика с единицами измерения

  • Когда применять: для характеристики в ответе указаны единицы (unit.defaultUnitId, unit.units[]).
  • Что передавать: при необходимости указывайте unitId в каждом объекте значения; если unitId не указан, используется единица по умолчанию.
Пример — значение с единицей измерения
{
  "parameterValues": [
    { "parameterId": 111111, "value": "10", "unitId": 3 }
  ]
}

Удаление ранее переданного значения

  • Что передавать: объект с тем же parameterId и пустым value (""). Это удалит значение характеристики.
Пример — удаление значения характеристики
{
  "parameterValues": [
    { "parameterId": 111111, "value": "" }
  ]
}