Атрибуты и значения товаров
Принцип работы
Атрибуты позволяют хранить в 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_sku— SKU значенияattribute_sku— SKU атрибута, к которому относится значение
В отличие от атрибутов, значения можно удалять через метод /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).