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

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

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

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

Атрибут может быть:

  • Однозначный
  • Многозначный

В зависимости от типа атрибута и значения логика их применения может отличаться:

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

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

На этапе создания атрибута так же можно указать его тип:

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

Многозначный атрибут - соотношение товаров и значений один-к-многим, то есть каждый товар одновременно может иметь несколько значений таких атрибутов. Этот тип хорошо подходит для сложных характеристик, вроде состава, или авторства. Словом во всех случаях, когда есть вероятность привязки к товару нескольких значений следует использовать этот тип.

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

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

При создании атрибутов товаров, в запросе кроме авторизационных данных приложения для них также обязательно указывается отдельный sku - внутренний идентификатор в вашей системе.

При редактировании атрибута обязательным параметром в запросе является только sku. Для остальных параметров стоит передавать только те значения, которые вы хотите изменить.

🚧

Важно

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

Метод /api/v2/basket/attributes/list/ служит для получения списка всех созданных атрибутов и их значений. Обязательными в запросе являются только token и store_department_id. В случае передачи в запросе sku атрибута, в ответе вернется информация только для него.

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

Методы API для работы со значениями атрибутов также позволяют создавать, редактировать и получать список значений.
В запросах необходимо передавать sku значения и sku самого атрибута, к которому оно относится.
В отличие от атрибутов их значение можно удалять запросом к методу /api/v2/basket/attributes/values/delete/

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

Чтобы присвоить ранее загруженному в систему товару атрибут и значение, в запросе нужно указать sku товара, sku атрибута и sku его значения.
При изменении значения атрибута у товара в запросе передаются sku текущего (value_sku_from) и нового значение (value_sku_to).
Метод /api/v2/basket/products/attributes/delete/ позволяет удалить присвоенный товару атрибут.