# /api/lite/products/features

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

Создать/обновить вариант со значением опции, не указанными в таком справочнике - можно, новое значение опции не попадет в общий справочник

### Запрос списка опций

/api/lite/products/features

Метод возвращает справочник всех опций и их значений для клиента

<div id="bkmrk-"><table class="relative-table wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid" style="padding: 0px; height: 17px;" width="692"><colgroup><col style="width: 123.0px;"></col><col style="width: 110.0px;"></col><col style="width: 458.0px;"></col></colgroup><thead class="tableFloatingHeaderOriginal" style="position: fixed; margin-top: 0px; left: 325px; z-index: 3; width: 691px; top: 40px;"></thead></table>

</div><div id="bkmrk-%D0%9F%D0%BE%D0%BB%D0%B5-%D0%A2%D0%B8%D0%BF-%2F-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82-%D0%9E%D0%BF"><table class="relative-table wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders" role="grid" style="padding: 0px;"><tbody aria-live="polite" aria-relevant="all"><tr><td>**Поле**</td><td>**Тип / формат**</td><td>**Описание**</td></tr><tr role="row"><td class="confluenceTd">id</td><td class="confluenceTd">string</td><td class="confluenceTd">Идентификатор опции</td></tr><tr role="row"><td class="confluenceTd">code</td><td class="confluenceTd">string</td><td class="confluenceTd">Читаемый код опции</td></tr><tr role="row"><td class="confluenceTd">title</td><td class="confluenceTd">string</td><td class="confluenceTd">Читаемое наименование опции</td></tr><tr role="row"><td class="confluenceTd">type</td><td class="confluenceTd">string</td><td class="confluenceTd">Тип опции (string/decimal)</td></tr><tr role="row"><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">values</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">array</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">Список значений опции</td></tr><tr role="row"><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">stringValue</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">string</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">Значение опции (строка)</td></tr><tr role="row"><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">decimalValue</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">decimal</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">Значение опции (число)</td></tr><tr role="row"><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">ordering</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">decimal</td><td class="highlight-yellow confluenceTd" data-highlight-colour="yellow" title="Цвет фона: Желтый">сортировка</td></tr></tbody></table>

</div><div id="bkmrk--0"></div>####  

#### **Пример результата запроса:**

```JSON
{
    "success": true,
    "features": [
                {
                    "id": "a2ebf183-f30d-417b-af89-e3ff86d2cca7",
                    "code": "size",
                    "title": "Размер",                  
                    "type": "string",
                    "values": [
                        {
                            "stringValue": "XXL",
                            "ordering": 4
                        },
                        {
                            "stringValue": "XL",
                            "ordering": 3
                        }                      
                    ]
                },
                {
                    "id": "a2ebf183-f30d-417b-af89-e3ff86d2cca8",
                    "code": "coef",
                    "title": "Тестовый коэффициент",                  
                    "type": "decimal",
                    "values": [
                        {
                            "decimalValue": 1.3,
                            "ordering": 100
                        },
                        {
                            "decimalValue": 2.5,
                            "ordering": 200
                        }                      
                    ]
                }
            ]
}
```

###  

### Создание/обновление опции

/api/lite/products/features

Создает или обновляет опцию.

Поле code опции при создании/обновлении - обязательное поле, он задается **явно для каждой** опции.

Список значений опции при создании - необязателен

####  

#### **Пример создания/обновления атрибута:**

```JSON
{
    "id": "a2ebf183-f30d-417b-af89-e3ff86d2cca7",
    "code": "size",
    "title": "Размер",                 
    "type": "string",
    "values": [
                        {
                            "stringValue": "XXL",
                            "ordering": 4
                        },
                        {
                            "stringValue": "XL",
                            "ordering": 3
                        }                      
                    ]
}
```

<div id="bkmrk--1"></div>