Опции вариантов товаров


Опции вариантов товаров позволяют определять различия между несколькими, с виду одинаковыми, вариантами одного товара. К примеру, если магазин занимается продажей футболок, то в качестве опций вариантов могут выступать такие вещи, как размер футболки, её цвет и т.п.

Первые относятся непосредственно к товару (конкретная футболка) и описывают только базовые свойства, которые одинаковы для любого варианта товара (страна-производитель, материал, способ нанесения рисунка и т.д.).

Опции вариантов же должны иметь разные значения для каждого варианта товара. Таким образом, для одного типа футболок (к примеру, футболка с логотипом игры) вы можете создать несколько вариантов, которые имеют разные комбинации размеров и цветов.

Кроме того, при добавлении товара в корзину покупатель выбирает именно вариант, а заполненные опции помогут ему более точно определить потребность в том или ином варианте.

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

Используемые структуры

Опция варианта

{
    "id": "9b3457a1-4cf4-4572-a498-7e7ce37c0570",
    "name": "Объем памяти",
    "created_at": {
      "timezone": "Asia/Irkutsk",
      "datetime_utc": "2019-04-19 04:00:00",
      "datetime": "2019-04-19 12:00:00",
      "datetime_at": "19.04.2019 в 12:00",
      "diff": "2 часа назад"
    },
    "updated_at": {
      "timezone": "Asia/Irkutsk",
      "datetime_utc": "2019-04-19 04:00:00",
      "datetime": "2019-04-19 12:00:00",
      "datetime_at": "19.04.2019 в 12:00",
      "diff": "2 часа назад"
    }
}

Описание полей

Значение опции

{
    "id": "079820d6-fe0c-4c81-b6d5-1f7fffc03055",
    "name": "32 GB"
}

Описание полей

Запрос

API опций вариантов (наряду с характеристиками) имеет возможность передавать список возможных значений во время создания и/или редактирования опций. Это позволяет выполнить сохранение опции со всеми её значениями в одном API-запросе.

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

Создание опций

При создании опции можно передать неограниченное количество её значений в поле values (массив). Каждый элемент массива values должен являться объектом с единственным полем - name:

POST https://my.zenky.io/api/variant-options

{
  "name": "Объем памяти",
  "values": [
    {"name": "32 GB"},
    {"name": "64 GB"}
  ]
}

При передаче такого тела запроса будут выполнены следующие действия:

  1. Будет создана новая опция "Объем памяти";
  2. К созданной опции будут добавлены 2 значения - 32 GB и 64 GB.

Редактирование опций

При редактировании опций список значений так же передаётся в поле values (массив). Однако, в случае изменения какого-либо значения, необходимо передать и id такого значения (иначе будет создано новое значение).

Одновременно с редактированием существующих значений вы можете передавать новые значения (без поля id).

PUT https://my.zenky.io/api/product-variants/9b3457a1-4cf4-4572-a498-7e7ce37c0570

{
  "values": [
    {"name": "128 гигабайт"},
    {"id": "079820d6-fe0c-4c81-b6d5-1f7fffc03055", "name": "32 гигабайта"}
  ]
}

При передаче такого тела запроса будут выполнены следующие действия:

  1. В характеристику "Объем памяти" будет добавлено новое значение 128 гигабайт;
  2. Значение с ID 079820d6-fe0c-4c81-b6d5-1f7fffc03055 (ранее - 32 GB) будет изменено на 32 гигабайта.

Удаление значений опций

Для удаления ненужных значений опций необходимо передать ID таких значений в массиве removed_values.

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

DELETE https://my.zenky.io/api/product-variants/9b3457a1-4cf4-4572-a498-7e7ce37c0570

{
  "removed_values": [
    "079820d6-fe0c-4c81-b6d5-1f7fffc03055"
  ]
}

При передаче такого тела запроса будут выполнены следующие действия:

  1. Значение с ID 079820d6-fe0c-4c81-b6d5-1f7fffc03055 (32 гигабайта) будет удалено из списка значений опции Объем памяти;
  2. У всех вариантов товаров, которые имели такое значение, опция Объем памяти будет удалена (сами варианты товаров не будут удалены).
  3. Вам, возможно, потребуется пересмотреть список вариантов в панели управления магазином для выявления ошибочных вариантов.
Пояснение к пункту 3

Предположим, что в каком-либо товаре вы использовали варианты с 2 опциями - объем памяти (16 GB и 32 GB) и цвет (Space Grey и Rose Gold).

Таким образом, комбинации вариантов выглядят так:

  1. 16 GB Space Grey;
  2. 32 GB Space Grey;
  3. 16 GB Rose Gold;
  4. 32 GB Rose Gold.

В случае, если вы удаляете значение 16 GB из опции Объем памяти, ваши варианты примут следующий вид:

  1. Space Grey (вариант без указания объема памяти);
  2. 32 GB Space Grey;
  3. Rose Gold (вариант без указания объема памяти);
  4. 32 GB Rose Gold.

Список значений опции можно получить, передав в параметре with значение values.

Методы

Список поддерживаемых методов для работы с опциями вариантов.

Список опций вариантов

Возвращает список опций вариантов товаров магазина.

Создание опции вариантов

Просмотр опции вариантов

Редактирование опции вариантов

Удаление опции вариантов