Характеристики товаров
Характеристики товаров и их значения являются важной частью описания товаров магазина. С помощью этих данных покупатели могут получать подробную информацию о товаре, а так же выполнять более точный поиск, фильтруя товары по значениям конкретных характеристик.
Любая характеристика может иметь неограниченный список возможных значений, представленных в формате строки или числа.
Для того, чтобы характеристика могла принимать участие в фильтрации товаров, необходимо, чтобы её поле
filterable
было установлено в значение true
.
Используемые структуры
Характеристика
{
"id": "90a9826b-7812-41a4-95e1-5ffd96ad94a8",
"name": "Частота процессора",
"filterable": true,
"field_type": {
"id": "range",
"name": "Диапазон"
},
"range_type": {
"id": "float",
"name": "С плавающей точкой"
},
"created_at": {
"timezone": "Asia\/Irkutsk",
"datetime_utc": "2020-05-27 13:58:39",
"datetime": "2020-05-27 21:58:39",
"datetime_at": "27.05.2020 в 21:58",
"date": "27.05.2020",
"diff": "1 год назад",
"timestamp": 1590587919,
"iso_utc": "2020-05-27T13:58:39+00:00",
"iso": "2020-05-27T21:58:39+08:00"
},
"updated_at": {
"timezone": "Asia\/Irkutsk",
"datetime_utc": "2020-05-27 13:58:39",
"datetime": "2020-05-27 21:58:39",
"datetime_at": "27.05.2020 в 21:58",
"date": "27.05.2020",
"diff": "1 год назад",
"timestamp": 1590587919,
"iso_utc": "2020-05-27T13:58:39+00:00",
"iso": "2020-05-27T21:58:39+08:00"
}
}
Описание полей
Значение характеристики
{
"id": "90a9826b-797e-4bed-a0ef-589ce4984079",
"name": "1.8 ГГц",
"range_value": 1.8,
"created_at": {
"timezone": "Asia\/Irkutsk",
"datetime_utc": "2020-05-27 13:58:39",
"datetime": "2020-05-27 21:58:39",
"datetime_at": "27.05.2020 в 21:58",
"date": "27.05.2020",
"diff": "1 год назад",
"timestamp": 1590587919,
"iso_utc": "2020-05-27T13:58:39+00:00",
"iso": "2020-05-27T21:58:39+08:00"
},
"updated_at": {
"timezone": "Asia\/Irkutsk",
"datetime_utc": "2020-05-27 13:58:39",
"datetime": "2020-05-27 21:58:39",
"datetime_at": "27.05.2020 в 21:58",
"date": "27.05.2020",
"diff": "1 год назад",
"timestamp": 1590587919,
"iso_utc": "2020-05-27T13:58:39+00:00",
"iso": "2020-05-27T21:58:39+08:00"
}
}
Описание полей
Запросы
API характеристик (наряду с опциями вариантов) имеет возможность передавать список возможных значений во время создания и/или редактирования характеристик. Это позволяет выполнить сохранение характеристики со всеми её значениями в одном API-запросе.
Прежде чем вы начнёте создавать и редактировать характеристики, необходимо учесть следующие технические требования и ограничения.
Создание характеристик
При создании характеристики можно передать неограниченное количество её значений в поле values
(массив).
Каждый элемент массива values
должен являться объектом с единственным полем - name
:
POST https://api.zenky.io/v2/features
{
"name": "Операционная система",
"values": [
{"name": "iOS"},
{"name": "Android"}
]
}
При передаче такого тела запроса будут выполнены следующие действия:
- Будет создана новая характеристика "Операционная система";
- К созданной характеристике будут добавлены 2 значения -
iOS
иAndroid
.
Редактирование характеристик
При редактировании характеристики список значений так же передаётся в поле values
(массив). Однако, в случае
изменения какого-либо значения, необходимо передать и id
такого значения (иначе будет создано новое значение).
Одновременно с редактированием существующих значений вы можете передавать новые значения (без поля id
).
PUT https://api.zenky.io/v2/features/a3ee2778-e06b-47aa-a001-90540d811f80
{
"values": [
{"name": "Windows 10 Mobile"},
{"id": "219f3837-e1ee-49b1-8f6b-0f12fdfcff13", "name": "Android 8.1.0 Oreo"}
]
}
При передаче такого тела запроса будут выполнены следующие действия:
- В характеристику "Операционная система" будет добавлено новое значение
Windows 10 Mobile
; - Значение с ID
219f3837-e1ee-49b1-8f6b-0f12fdfcff13
(ранее -Android
) будет изменено наAndroid 8.1.0 Oreo
.
Удаление значений характеристик
Для удаления ненужных значений характеристики необходимо передать ID таких значений в массиве removed_values
.
Одновременно с удалением существующих значений вы можете создавать новые и редактировать существующие значения.
PUT https://api.zenky.io/v2/features/a3ee2778-e06b-47aa-a001-90540d811f80
{
"removed_values": [
"219f3837-e1ee-49b1-8f6b-0f12fdfcff13"
]
}
При передаче такого тела запроса будут выполнены следующие действия:
- Значение с ID
219f3837-e1ee-49b1-8f6b-0f12fdfcff13
(Android 8.1.0 Oreo
) будет удалено из списка значений характеристикиОперационная система
; - У всех товаров, которые имели такое значение, характеристика
Операционная система
будет удалена (сами товары не будут удалены).
Методы
Список поддерживаемых методов для работы с характеристиками.
Список характеристик
Возвращает список характеристик магазина.