Перейти к основному содержимому

Атрибуты и значения товаров

Принцип работы

Атрибуты позволяют хранить в Sailplay различные характеристики и свойства товаров: состав, вес, цвет, сезонность и т. п.

Атрибуты различаются по типу атрибута и типу значения.

Типы атрибутов

  • Однозначный атрибут — соотношение товаров и значений один-к-одному: каждый товар может иметь не более одного значения каждого атрибута.

    • Подходит для взаимоисключающих свойств: доступность товара, модельный год, цвет (если вы точно знаете, что у товара может быть только один цвет).
  • Многозначный атрибут — соотношение товаров и значений один-к-многим: один товар может иметь несколько значений атрибута одновременно.

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

Типы значений

  • Текст — можно хранить любые строки. Подходит для большинства характеристик.
  • Число — можно хранить только число (возможны отрицательные и дробные значения).

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

Важно

В атрибутах следует хранить только те характеристики, которые однозначно относятся ко всем товарам с этим SKU.

Если под одним SKU продаётся несколько вариантов товара с разными характеристиками (например, размер), то такие характеристики лучше передавать в параметрах покупки, а не в атрибутах SKU.


Создание и редактирование атрибутов товаров

При создании атрибутов товаров используйте метод /api/v2/basket/attributes/add/ (см. ref:basket-attributes-add).

В запросе, помимо авторизационных данных приложения, необходимо указать:

  • sku — техническое имя атрибута (внутренний идентификатор в вашей системе)
  • остальные параметры атрибута (тип, заголовок и т. п.)

Для редактирования используйте /api/v2/basket/attributes/edit/ (см. ref:basket-attributes-edit).

Важно

При редактировании атрибута возможно изменение его типа с однозначного на многозначный, но не наоборот.

Чтобы получить список всех созданных атрибутов и их значений, используйте метод /api/v2/basket/attributes/list/ (см. ref:basket-attributes-list).

В запросе обязательны только token и store_department_id (см. Авторизация. Если передать sku атрибута, в ответе вернётся информация только по нему.


Значения атрибутов

Методы API для работы со значениями атрибутов позволяют:

  • создавать значения
  • редактировать значения
  • получать список значений

В запросах необходимо передавать:

  • value_skuSKU значения
  • attribute_skuSKU атрибута, к которому относится значение

В отличие от атрибутов, значения можно удалять через метод /api/v2/basket/attributes/values/delete/ (см. ref:basket-attributes-values-delete).


Присвоение атрибутов и значений товарам

Чтобы присвоить ранее загруженному в систему товару атрибут и значение, используйте метод /api/v2/basket/products/attributes/add/ (см. ref:basket-products-attributes-add).

В запросе нужно передать:

  • product_sku — SKU товара
  • attribute_sku — SKU атрибута
  • value_sku — SKU значения

Чтобы изменить значение атрибута у товара, используйте метод /api/v2/basket/products/attributes/edit/ (см. ref:basket-products-attributes-edit).

В запросе передаются:

  • value_sku_from — SKU текущего значения
  • value_sku_to — SKU нового значения

Чтобы удалить присвоенный товару атрибут, используйте /api/v2/basket/products/attributes/delete/ (см. ref:basket-products-attributes-delete).