Магазин и каталоги
Можно создавать отдельные магазины для различных департаментов, кооперативных участков организации методом Mutation:manageShop
mutation OrganizationMutation {
manageShop(
data: {
organization: {
slug: "romashka",
division: "vasilek", #ID или slug департамента, если необходимо
shops: {
slug: "flowers",
title: "Маркетплейс Цветы",
description: "Выращиваем сами",
}
}
}
) {
organization {
slug
divisions {
slug
shops {
slug
title
}
}
}
}
}
Список публичных категорий
Категории являются максимально полным списком и классификацией товаров и услуг. Категории переведены на несколько языков для удобства использования:
- RU - русский
- EN - английский
Перевод на другие языки осуществляется рабочими группами.
Как перевести на другой язык?
Запрос на получение списка публичных категорий, в котором можно также определить фильты поиска (не обязательно):
- id - поиск по первым нескольким знакам уникального номера категории
- slug - поиск по первым нескольким знакам уникального псевдонима категории
- lang - поиск по языку названия и описания категории
- title - поиск по названиям категории (в разработке)
- description - поиск по приблизительному описанию категории или группы товаров (в разработке)
query CategoryQuery {
categories(title: "Фрук") {
id
slug
translate {
title
lang
description
}
lft
parent
rgt
}
}
В результате запроса вы получите список всех публичных категорий в соответствии с выбранными фильтрами поиска. Запрос с заголовком авторизации также выведет список категорий, которые были созданы специально для Вашего магазина и не входят в общий список.
Список частных каталогов для магазина
Для Вашего магазина не все категории могут быть использованы, а только те, которые наилучшим образом соответствуют тематике магазина и предлагаемым товарам и услугам. Вы можете определять и менять категории по необходимости:
- Во время создания карточки товара - добавлять новую категорию и подразделы
- Изначально определить список необходимых категорий
Для определения списка категорий в вашем магазине определите тип Mutations:manageCatalog:
mutation CatalogMutation {
manageCatalog(
catalog: {
category: "food", #можно использовать UUID категории или slug
shop: "romashka"
}
) {
catalog {
id
translate {
title
}
}
}
}
В Ваш каталог будет скопирована публичная категория с доступным названием и описанием, а также месторасположением в иерархии категорий. Когда необходимо переименовать категорию или переместить категорию но другую позицию, отправьте расширенный запрос:
mutation CatalogMutation {
manageCatalog(
catalog: {
parent: "food", #можно использовать UUID категории или slug
shop: "romashka",
translate: [
{lang: "ru", title: "Ягоды", description: "Сами собирали"},
{lang: "en", title: "Berries"},
]
}
) {
catalog {
id
translate {
title
}
}
}
}
Если какая-либо категория отсутствует в общем списке публичных категорий, Вы можете создать свою категорию специально для Вашего магазина, а также можете менять текст и описание уже существующей категории, которые будут отображаться только для Вашего магазина.
mutation CatalogMutation {
manageCatalog(
parent: "food",
shop: "romashka",
translate: {lang: "ru", title: "Грибы"}
) {
catalog {
id
translate {
title
}
}
}
}
Каждой категории вы также можете назначать флажки, которые будут выделять категорию из всего списка
- is_active - категория отображается в общем списке
- is_new - категория новая
- is_featured - избранные категории
- start_at - категория отображается начиная с этой даты
- end_at - категория отображается до этой даты
Например, создайте категорию для новогоднях товаров, которая будет отображаться только один месяц в период праздников:
mutation CatalogMutation {
manageCatalog(
catalog: {
parent: "food",
is_featured: true,
start_at: "2025-12-01",
end_at: "2026-01-14",
translate: {
lang: "ru",
title: "Съедобные украшения",
description: "Шоколадные игрушки на ёлку"
}
}
) {
catalog {
id
translate {
title
}
}
}
}
Иерархия категорий и каталогов
Вы можете менять очередность и расположение категорий и субкатегорий в иерархии. Для этого можно использовать два различных подхода:
Метод прямой зависимости
Каждая категория имеет поле parent, которое указывает на UUID уникальный номер родительского каталога. В этом случае такая категория является субкатегорией и принадлежит категории выше по иерархии. Пустое поле означает, что категория находится на вершине иерархии.
Очередность размещения категорий определяется полем lft, от меньшего номера к большему. Это поле так же используется во втором подходе.
Пример использования метода прямой зависимости:
1. Продовольствие parent="", slug="food"
1.1. Ягоды parent="food", slug="berries"
1.2. Фрукты parent="food", slug="fruit"
1.1.1. Яблоки parent="fruit", slug="apple"
Метод вложенных полей
Такой метод определяет поле основной родительской категории, внутри которой находятся все субкатегории. Поле категории определяется между lft (левая граница поля) и rgt(правая граница поля). Например, если основная категоря имеет две субкатегории, то иерархия будет выглядеть таким образом:
lft=0 Продовольствие rgt=9
lft=1 Ягоды rgt=2
lft=3 Фрукты rgt=8
lft=4 Яблоки rgt=5
lft=6 Финики rgt=7
При добавлении или изменении очередности расположения категории, вы можете учитывать любой из предложенных подходов. При создании новой котегории и без указания lft, такая категория будет поставлена в крайнее положение в самый низ, либо вы можете определить конкретный номер позиции в иерархии в поле lft. При этом поле rgt и поля следующих категорий будут вычеслены и скорректированы автоматически.
mutation CatalogMutation {
manageCatalog(
catalog: {
shop: "romashka",
id: "b049f742-5e24-442d-86e9-261b507d3a75", #UUID или slug Вашего каталога
rgt: 10,
lft: 11
}
) {
catalog {
id
translate {
title
}
}
}
}
Для перенесения субкатегории в поле другой родительской категории, помимо позиции lft вам также необходимо изменить и UUID поля новой родительской категории parent.
mutation CatalogMutation {
manageCatalog(
catalog: {
shop: "romashka",
parent: "95954bca-f949-434b-907a-5530f349fe6a", #UUID или slug Вашего каталога
id: "b049f742-5e24-442d-86e9-261b507d3a75", #UUID или slug Вашего каталога
rgt: 24,
lft: 25
}
) {
catalog {
id
translate {
title
}
}
}
}
Теперь мы можем добавлять товары и продукты, наполняя наши категории.
Подробнее: Товары, продукты и услуги