Опции вариантов товаров
Опции вариантов товаров позволяют определять различия между несколькими, с виду одинаковыми, вариантами одного товара. К примеру, если магазин занимается продажей футболок, то в качестве опций вариантов могут выступать такие вещи, как размер футболки, её цвет и т.п.
Первые относятся непосредственно к товару (конкретная футболка) и описывают только базовые свойства, которые одинаковы для любого варианта товара (страна-производитель, материал, способ нанесения рисунка и т.д.).
Опции вариантов же должны иметь разные значения для каждого варианта товара. Таким образом, для одного типа футболок (к примеру, футболка с логотипом игры) вы можете создать несколько вариантов, которые имеют разные комбинации размеров и цветов.
Кроме того, при добавлении товара в корзину покупатель выбирает именно вариант, а заполненные опции помогут ему более точно определить потребность в том или ином варианте.
Как и характеристики, любая опция может иметь неограниченный список возможных значений, представленных в формате строки или числа.
Используемые структуры
Опция варианта
{
"id": "8ffdf81c-5171-4c0b-aa08-6089fde39962",
"store_id": "8ffdea45-ca27-46fb-9e65-80abd8fdced8",
"name": "Объём памяти",
"created_at": {
"timezone": "Asia\/Irkutsk",
"datetime_utc": "2020-03-01 03:00:00",
"datetime": "2020-03-01 11:00:00",
"datetime_at": "01.03.2020 в 11:00",
"date": "01.03.2020",
"diff": "2 года назад",
"timestamp": 1583031600,
"iso_utc": "2020-03-01T03:00:00+00:00",
"iso": "2020-03-01T11:00:00+08:00"
},
"updated_at": {
"timezone": "Asia\/Irkutsk",
"datetime_utc": "2020-03-01 03:00:00",
"datetime": "2020-03-01 11:00:00",
"datetime_at": "01.03.2020 в 11:00",
"date": "01.03.2020",
"diff": "2 года назад",
"timestamp": 1583031600,
"iso_utc": "2020-03-01T03:00:00+00:00",
"iso": "2020-03-01T11:00:00+08:00"
}
}
Описание полей
Значение опции
{
"id": "8ffdf81c-54a8-49cf-90ad-75fb0d3409e1",
"name": "64 ГБ"
}
Описание полей
Запрос
API опций вариантов (наряду с характеристиками) имеет возможность передавать список возможных значений во время создания и/или редактирования опций. Это позволяет выполнить сохранение опции со всеми её значениями в одном API-запросе.
Прежде чем вы начнёте создавать и редактировать опции, необходимо учесть следующие технические требования и ограничения.
Создание опций
При создании опции можно передать неограниченное количество её значений в поле values
(массив).
Каждый элемент массива values
должен являться объектом с единственным полем - name
:
POST https://api.zenky.io/v2/variant-options
{
"name": "Объем памяти",
"values": [
{"name": "32 GB"},
{"name": "64 GB"}
]
}
При передаче такого тела запроса будут выполнены следующие действия:
- Будет создана новая опция "Объем памяти";
- К созданной опции будут добавлены 2 значения -
32 GB
и64 GB
.
Редактирование опций
При редактировании опций список значений так же передаётся в поле values
(массив). Однако, в случае
изменения какого-либо значения, необходимо передать и id
такого значения (иначе будет создано новое значение).
Одновременно с редактированием существующих значений вы можете передавать новые значения (без поля id
).
PUT https://api.zenky.io/v2/product-variants/9b3457a1-4cf4-4572-a498-7e7ce37c0570
{
"values": [
{"name": "128 гигабайт"},
{"id": "079820d6-fe0c-4c81-b6d5-1f7fffc03055", "name": "32 гигабайта"}
]
}
При передаче такого тела запроса будут выполнены следующие действия:
- В характеристику "Объем памяти" будет добавлено новое значение
128 гигабайт
; - Значение с ID
079820d6-fe0c-4c81-b6d5-1f7fffc03055
(ранее -32 GB
) будет изменено на32 гигабайта
.
Удаление значений опций
Для удаления ненужных значений опций необходимо передать ID таких значений в массиве removed_values
.
Одновременно с удалением существующих значений вы можете создавать новые и редактировать существующие значения.
DELETE https://api.zenky.io/v2/product-variants/9b3457a1-4cf4-4572-a498-7e7ce37c0570
{
"removed_values": [
"079820d6-fe0c-4c81-b6d5-1f7fffc03055"
]
}
При передаче такого тела запроса будут выполнены следующие действия:
- Значение с ID
079820d6-fe0c-4c81-b6d5-1f7fffc03055
(32 гигабайта
) будет удалено из списка значений опцииОбъем памяти
; - У всех вариантов товаров, которые имели такое значение, опция
Объем памяти
будет удалена (сами варианты товаров не будут удалены). - Вам, возможно, потребуется пересмотреть список вариантов в панели управления магазином для выявления ошибочных вариантов.
Пояснение к пункту 3
Предположим, что в каком-либо товаре вы использовали варианты с 2 опциями - объем памяти (16 GB
и 32 GB
)
и цвет (Space Grey
и Rose Gold
).
Таким образом, комбинации вариантов выглядят так:
- 16 GB Space Grey;
- 32 GB Space Grey;
- 16 GB Rose Gold;
- 32 GB Rose Gold.
В случае, если вы удаляете значение 16 GB
из опции Объем памяти
, ваши варианты примут следующий вид:
- Space Grey (вариант без указания объема памяти);
- 32 GB Space Grey;
- Rose Gold (вариант без указания объема памяти);
- 32 GB Rose Gold.
Список значений опции можно получить, передав в параметре with
значение values
.
Методы
Список поддерживаемых методов для работы с опциями вариантов.
Список опций вариантов
Возвращает список опций вариантов товаров магазина.