Здесь вы можете посмотреть как работать со свойствами товара. Почти все свойства товара являются характеристиками.
Обратите внимание! Свойство без родителя является группой, в нем нельзя хранить данные товара.
Список свойств товара
Получает список свойств товара. Список можно фильтровать и производить поиск.
Путь: /wp-json/usam/v1/product_attributes
Метод запроса: GET
- hide_empty (число) (не обязательно) — Скрывать ли термины в которых нет записей. 1 — скрывать пустые, 0 — показывать пустые.
- object_ids (массив) (не обязательно) — Укажите тут число или массив чисел, чтобы получить термины, у которых поле
object_id
таблицы wp_term_relationships совпадет с указанными значениями. Обычно в поле object_id находятся ID записей к которым прикреплен термин. - include (массив) (не обязательно) — ID терминов, которые нужно включить в выборку. Если указать этот параметр, то многие другие станут бесполезными..
- external_code (массив) (не обязательно) — список внешних кодов, термины которых нужно получить
- exclude_tree (массив) (не обязательно) — ID родительских терминов, которые нужно исключить. Исключена будет вся ветка.
- exclude (массив) (не обязательно) — ID терминов, которые нужно исключить
- parent (число) (не обязательно) — ID родительского термина, чтобы получить только прямых потомков. Будет получен только первый уровень вложенности, а не все дерево как в параметре child_of. Если указать 0, то будут выведены термины верхнего уровня.
- meta_query (массив) (не обязательно) — Запрос для получения элементов на основе метаданных. Смотрите WP_Meta_Query.
- meta_key (строка) (не обязательно) — Получит термины у которых есть указанное метаполе. Можно использовать в связке с
meta_value
. - meta_value (строка) (не обязательно) — Получит термины у которых значение метаполя равно указанному значению. Всегда используется в связке с
meta_key
. - childless (число) (не обязательно)— 1 пропустит (не получит) термины у которых есть дочерние термины.
- hierarchical (число) (не обязательно)— Включать ли в результат термины, которые имеют не пустые дочерние термины (в которых есть записи).
- fields — (строка) (не обязательно) дополнительные поля, которые нужно получить;
- search (строка) (не обязательно) — поиск по названию;
- count (число) (не обязательно) — количество, по умолчанию 10;
- paged (число) (не обязательно) — страница списка;
- orderby (строка) (не обязательно) — сортировать по полю;
- order (строка) (не обязательно) — направление сортировки ASC или DESC;
- type_attribute — получить свойства определенного типа массив, строка (не обязательный);
fields может содержать:
ids
— вернуть массив чисел;names
— вернуть массив строк.count
— возвращает количество найденных терминов.id=>parent
— вернуть массив, где ключ = ID термина, а значение = ID родительского термина.id=>slug
— вернуть массив, где ключ = ID термина, а значение = слаг (название для УРЛ) термина.id=>name
— вернуть массив, где ключ = ID термина, а значение = название (имя) термина.
Пример запроса
/wp-json/usam/v1/product_attributes
Возвращает
Ответы в формате JSON
{
"count": 1,
"items": [
{"term_id":564,
"name":"Материал",
"slug":"shhipcy",
"term_group":0,
"term_taxonomy_id":610,
"taxonomy":"usam-product_attributes",
"description":"",
"parent":86,
"count":17,
"url":"http://radov39.ru/product_attributes/shhipcy",
"type_attribute":"T",
"external_code":"dstfgjgy45",
"mandatory":1,
"filter":1,
"search":1,
"sorting_products":1,
"compare_products":1,
"do_not_show_in_features":1
}]
}
Описание получаемых данных
- term_id — номер в базе
- name — название
- slug — код
- term_group — системное wordpress
- term_taxonomy_id — системное wordpress
- taxonomy — системное wordpress
- description — описание
- parent — родитель
- count — количество товаров
- url — ссылка
- type — тип свойства
- external_code — внешний код
- important — важное или нет ( по умолчанию 0 )
- mandatory — обязательное для заполнение менеджером ( по умолчанию 0 )
- filter — фильтровать по этому свойству на сайте или нет ( по умолчанию 0 )
- search — искать по этому свойству на сайте или нет ( по умолчанию 0 )
- sorting_products — добавить в сортировку на сайте или нет ( по умолчанию 0 )
- compare_products — показывать в сравнении на сайте или нет ( по умолчанию 0 )
- do_not_show_in_features — не показывать в списке характеристик клиенту или показывать ( по умолчанию 0 )
Создать или обновить свойство товара
Этим методом вы можете создать или обновить свойство товара. Если не будет передан term_id или external_code и название уникально, то свойство будет создано. Нельзя создавать свойства с одинаковыми именами, даже у разных родителей.
Путь: /wp-json/usam/v1/product_attributes
Метод запроса: PUT
- items — массив содержащий данные для создания или обновления (обязательный)
Значения items смотрите ниже.
- name (строка) (обязательно) — название;
- term_id (число) (не обязательно) — номер, число;
- slug (строка) (не обязательно) — slug;
- external_code (строка) (не обязательно) — внешний код;
- sort (число) (не обязательно) — сортировка при отображении на сайте, число;
- parent_id (число) (не обязательно) — номер категории родителя, число;
- parent_external_code (строка) (не обязательно) — внешний код категории родителя;
- type_attribute (строка) (не обязательно) — тип свойства
- important (число) (не обязательно) — важное или нет ( по умолчанию 0 )
- mandatory (число) (не обязательно) — обязательное для заполнение менеджером ( по умолчанию 0 )
- filter (число) (не обязательно) — фильтровать по этому свойству на сайте или нет ( по умолчанию 0 )
- search (число) (не обязательно) — искать по этому свойству на сайте или нет ( по умолчанию 0 )
- sorting_products (число) (не обязательно) — добавить в сортировку на сайте или нет ( по умолчанию 0 )
- compare_products (число) (не обязательно) — показывать в сравнении на сайте или нет ( по умолчанию 0 )
- do_not_show_in_features (число) (не обязательно) — не показывать в списке характеристик клиенту или показывать ( по умолчанию 0 )
- variants (массив) (не обязательно) — список вариантов
Варианты передаются в массиве:
- code (строка) (не обязательно) — код, используется, например, для кода цвета
- value (строка) (обязательно) — название варианта
- sort (число) (не обязательно) — сортировка
Возможные типы свойств
Значения параметра type_attribute могут быть следующие:
- Т — текст
- DESCRIPTION — описание
- O — число
- C — флажок (да — нет)
- M — выбор нескольких значений
- COLOR_SEVERAL — выбор нескольких цветов
- S — выбор одного значения из текстовых вариантов
- N — выбор одного значения из вариантов чисел (значение вариантов числа)
- COLOR — выбор одного цвета из вариантов
- D — дата
- F — файл
- L — ссылка, в которой текст ссылки сама ссылка
- LBLANK — ссылка при нажатии открывается в новом окне, в которой текст ссылки сама ссылка
- LDOWNLOAD — ссылка, в которой текст ссылки Cкачать
- LDOWNLOADBLANK — ссылка при нажатии открывается в новом окне, в которой текст ссылки Cкачать
- YOUTUBE — ссылка на YouTube
- A — выбор сотрудника
Пример запроса
В примере ниже будет создана группа «Основные» и созданы два свойства в этой группе: «Материал» и «Размер».
/wp-json/usam/v1/product_attributes
{"items":[
{"name":"Основные", "external_code":12},
{"name":"Материал", "parent_external_code":12, "type_attribute":"T"},
{"name":"Размер", "parent_external_code":12, "type_attribute":"S", "variants":[["value":"Железо","code":"","sort":1],["value":"Пластик","code":"","sort":2]]}
]}