Характеристики товаров


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

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

Для того, чтобы характеристика могла принимать участие в фильтрации товаров, необходимо, чтобы её поле filterable было установлено в значение true.

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

Характеристика

{
    "id": "a3ee2778-e06b-47aa-a001-90540d811f80",
    "name": "Операционная система",
    "filterable": true,
    "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": "219f3837-e1ee-49b1-8f6b-0f12fdfcff13",
    "name": "Android"
}

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

Запрос

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

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

Создание характеристик

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

POST https://my.zenky.io/api/features

{
  "name": "Операционная система",
  "values": [
    {"name": "iOS"},
    {"name": "Android"}
  ]
}

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

  1. Будет создана новая характеристика "Операционная система";
  2. К созданной характеристике будут добавлены 2 значения - iOS и Android.

Редактирование характеристик

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

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

PUT https://my.zenky.io/api/features/a3ee2778-e06b-47aa-a001-90540d811f80

{
  "values": [
    {"name": "Windows 10 Mobile"},
    {"id": "219f3837-e1ee-49b1-8f6b-0f12fdfcff13", "name": "Android 8.1.0 Oreo"}
  ]
}

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

  1. В характеристику "Операционная система" будет добавлено новое значение Windows 10 Mobile;
  2. Значение с ID 219f3837-e1ee-49b1-8f6b-0f12fdfcff13 (ранее - Android) будет изменено на Android 8.1.0 Oreo.

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

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

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

PUT https://my.zenky.io/api/features/a3ee2778-e06b-47aa-a001-90540d811f80

{
  "removed_values": [
    "219f3837-e1ee-49b1-8f6b-0f12fdfcff13"
  ]
}

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

  1. Значение с ID 219f3837-e1ee-49b1-8f6b-0f12fdfcff13 (Android 8.1.0 Oreo) будет удалено из списка значений характеристики Операционная система;
  2. У всех товаров, которые имели такое значение, характеристика Операционная система будет удалена (сами товары не будут удалены).

Методы

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

Список характеристик

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

Создание характеристики

Просмотр характеристики

Редактирование характеристики

Удаление характеристики