Подготовка
Работа с Git Установка Vue CLI Client-server Примеры боевого кода
ECommerce
Работа с корзиной Работа с заказами
Пользователи
Работа с избранным Пользователи
Каталог
Работа с каталогом
Общее
Поиск Обратная связь Работа со стилями Классы для GTM
  • 1 Получить категории
  • 2 Получить товары
  • 3 Получить карточку товара
  • 4 Получить фильтр для категории
arrow_back Работа с каталогом

Получить категории

/api/site/v1/Platform/Catalog/Categories/getCategories

Метод получает категории товарного каталога.


let params = {
};

this.request('Platform/Catalog/Categories/getCategories', params, res => {
});

 

Ответ сервера


{
  "status": "ok",
  "items": [
    {
      "id": 1,
      "title": "Женщинам",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/22/1/7fotxi.webp",
      "link": "/catalog/category/1"
    },
    {
      "id": 2,
      "title": "Мужчинам",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/22/1/w16eef.webp",
      "link": "/catalog/category/2"
    },
    {
      "id": 3,
      "title": "Детям",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/22/1/4268p7.webp",
      "link": "/catalog/category/3"
    },
    {
      "id": 4,
      "title": "TOP Fashion",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/22/1/ikcrk0.webp",
      "link": "/catalog/category/4"
    },
    {
      "id": 5,
      "title": "Аксессуары",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/22/1/2e12w6.webp",
      "link": "/catalog/category/5"
    },
    {
      "id": 6,
      "title": "Ювелирные украшения",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/22/1/8297xz.webp",
      "link": "/catalog/category/6"
    }
  ]
}

 

Получить товары

/api/site/v1/Platform/Catalog/Products/getProducts

Метод получает товары.

Параметры

page Порядковый номер страницы пагинации
categories

Список категорий. По умолчанию пустой объект.

При необходимости {45,98,34} - нужно передать id категорий откуда выбирать товары

 


let params = {
  page : 1,
  categories : {}
};

this.request('Platform/Catalog/Products:getProducts', params, res => {
});

Ответ сервера


{
  "status": "ok",
  "products": [
    {
      "id": 1,
      "name": "Платье",
      "description": "Натуральные материалы и яркие краски",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/10/20/1/s6ay3w.jpg",
      "prices": {
        "current": 4000.4,
        "old": 4123.0,
        "currency": {
          "code": "RUB",
          "title": "руб"
        }
      },
      "allowAddToCart": 1,
      "inTheCart": 1,
      "labels": [
        {
          "id": 1,
          "icon": "https://frontend.prologue-framework.ru/upload/prfiles/2021/12/22/1/d6eztg.svg",
          "text": false,
          "tooltip": "Здоровое питание",
          "color": {
            "text": false,
            "background": "#fff"
          }
        },
        {
          "id": 2,
          "icon": false,
          "text": "Акция",
          "tooltip": "Акция 20%",
          "color": {
            "text": "#fff",
            "background": "#4481EB"
          }
        }
      ],
      "modalPreview": false,
      "link": "/catalog/product/1"
    },
    {
      "id": 2,
      "name": "Юбка",
      "description": "Натуральные материалы и яркие принты",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/10/20/1/y9h3oo.jpg",
      "prices": {
        "current": 2100.4,
        "old": 2123.0,
        "currency": {
          "code": "RUB",
          "title": "руб"
        }
      },
      "allowAddToCart": 1,
      "inTheCart": 0,
      "labels": false,
      "modalPreview": false,
      "link": "/catalog/product/2"
    },
    {
      "id": 3,
      "name": "Сапоги",
      "description": "Натуральная кожа",
      "image": "https://frontend.prologue-framework.ru/upload/prfiles/2021/10/20/1/o9u7sf.webp",
      "prices": {
        "current": 1700.0,
        "old": false,
        "currency": {
          "code": "RUB",
          "title": "руб"
        }
      },
      "allowAddToCart": 1,
      "inTheCart": 1,
      "labels": false,
      "modalPreview": false,
      "link": "/catalog/product/3"
    }
  ],
  "countPages": 10
}

 

allowAddToCart 1/0 - Разрешает или запрещает добавлять товар в корзину.
inTheCart 1/0 - Хранит в себе информацию добавлен ли товар в корзину.
modalPreview

true - по клику на карточку откроется модальное окно с превью товара

false - переход на детальную страницу

 

 

enlightened Если products===false, необходимо вывести сообщение: Товары не найдены.

Получить карточку товара

/api/site/v1/Platform/Catalog/Products/getProductCard

Метод получает карточку товара.

Параметры

productId Id товара

 


let params = {
  productId : 1
};

this.request('Platform/Catalog/Products:getProductCard', params, res => {
});

 

Ответ сервера


{
  "status": "ok",
  "product": {
    "id": 1,
    "url": "/catalog/product/1/",
    "name": "MISSMEXX",
    "article": {
      "title": "Артикул",
      "value": "6333308"
    },
    "images": [
      {
        "src": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/15/1/iiwh50.jpg"
      },
      {
        "src": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/15/1/zpfl2j.jpg"
      },
      {
        "src": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/15/1/h0a6j0.jpg"
      },
      {
        "src": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/15/1/xyfe01.jpg"
      },
      {
        "src": "https://frontend.prologue-framework.ru/upload/prfiles/2021/11/15/1/7t7jer.jpg"
      }
    ],
    "labels": [
      {
        "id": 1,
        "icon": "https://frontend.prologue-framework.ru/upload/prfiles/2021/12/22/1/d6eztg.svg",
        "text": false,
        "tooltip": "Здоровое питание",
        "color": {
          "text": false,
          "background": "#fff"
        }
      },
      {
        "id": 2,
        "icon": false,
        "text": "Акция",
        "tooltip": "Акция 20%",
        "color": {
          "text": "#fff",
          "background": "#4481EB"
        }
      }
    ],
    "prices": {
      "current": "1000.00",
      "old": "1200.00",
      "currency": {
        "code": "RUB",
        "title": "руб"
      }
    },
    "params": {
      "weight": {
        "title": "Вес",
        "value": "400",
        "unit": "граммов"
      },
      "color": {
        "title": "Цвет",
        "value": "Розовый"
      },
      "size": {
        "title": "Размер",
        "value": "43"
      }
    },
    "actionLabel": {
      "title": "Акция!",
      "color": "#f44336"
    },
    "cart": {
      "allowAddToCart": 1,
      "inTheCart": 1,
      "quantityInCart": 2,
      "addToCartBtn": {
        "title": "Добавить в корзину"
      }
    },
    "description": {
      "preview": {
        "text": "Прекрасное платье"
      },
      "full": {
        "title": "Описание",
        "text": "<p>Женское вечернее платье, в котором прекрасно сочетается красота, элегантность и удобство.</p> <p><strong>Состав</strong></p> <p>Вискоза 65%, полиэстер 30%, эластан 5%</p>"
      }
    },
    "characteristics": {
      "title": "Характеристики",
      "items": [
        {
          "key": "Материал",
          "value": "Шелк"
        },
        {
          "key": "Производитель",
          "value": "Россия"
        }
      ]
    }
  }
}

 

cart.allowAddToCart 1/0 - Разрешает или запрещает добавлять товар в корзину.
cart.inTheCart 1/0 - Хранит в себе информацию добавлен ли товар в корзину.

 

 

enlightened Если res.status===error, необходимо вывести сообщение: res.errorData

Получить фильтр для категории

/api/site/v1/Platform/Catalog/Products/Filter/getFilter

Модуль получает фильтр для товаров в категории.


let params = {
};

this.request('Platform/Catalog/Products/Filter/getFilter', params, res => {
});

 

Ответ сервера


{
  "filter": {
    "categories": [
      {
        "id": 1,
        "name": "Телефоны и переферия",
        "link": "/catalog/category/1/",
        "childs": [
          {
            "id": 2,
            "name": "Смартфоны",
            "link": "/catalog/category/23/",
            "childs": false
          },
          {
            "id": 23,
            "name": "Умные часы",
            "link": "/catalog/category/231/",
            "childs": false
          }
        ]
      },
      {
        "id": 3,
        "name": "Бытова техника",
        "link": "/catalog/category/14/",
        "childs": false
      },
      {
        "id": 4,
        "name": "Товары для лома",
        "link": "/catalog/category/23/",
        "childs": false
      },
      {
        "id": 5,
        "name": "Сад и огород",
        "link": "/catalog/category/114/",
        "childs": false
      },
      {
        "id": 6,
        "name": "Офисная техника",
        "link": "/catalog/category/164/",
        "childs": false
      }
    ],
    "properties": [
      {
        "id": 1,
        "name": "Цена",
        "code": "price",
        "type": "range",
        "extremums": {
          "min": 100,
          "max": 2000
        },
        "values": {
          "min": 400,
          "max": 1500
        }
      },
      {
        "id": 2,
        "name": "Пол",
        "code": "gender",
        "type": "smart-list",
        "multiSelect": false,
        "values": [
          {
            "id": 1,
            "title": "Мужской",
            "icon": false,
            "value": "man"
          },
          {
            "id": 2,
            "title": "Женский",
            "icon": false,
            "value": "female"
          }
        ]
      },
      {
        "id": 3,
        "name": "Размер",
        "code": "size",
        "type": "smart-list",
        "multiSelect": true,
        "values": [
          {
            "id": 1,
            "title": "21",
            "icon": false,
            "value": 21
          },
          {
            "id": 2,
            "title": "22",
            "icon": false,
            "value": 22
          },
          {
            "id": 3,
            "title": "23",
            "icon": false,
            "value": 23
          },
          {
            "id": 4,
            "title": "24",
            "icon": false,
            "value": 24
          },
          {
            "id": 5,
            "title": "25",
            "icon": false,
            "value": 25
          },
          {
            "id": 6,
            "title": "26",
            "icon": false,
            "value": 26
          }
        ]
      },
      {
        "id": 4,
        "name": "Премиум товары",
        "code": "premium",
        "type": "checkbox"
      },
      {
        "id": 5,
        "name": "Цвет",
        "code": "color",
        "type": "smart-list",
        "multi-select": true,
        "values": [
          {
            "id": 1,
            "title": "Красный",
            "icon": {
              "color": "#ff0000"
            },
            "value": "red"
          },
          {
            "id": 2,
            "title": "Зеленый",
            "icon": {
              "color": "green"
            },
            "value": "black"
          },
          {
            "id": 3,
            "title": "Черный",
            "icon": {
              "color": "black"
            },
            "value": "black"
          },
          {
            "id": 4,
            "title": "Сканди",
            "icon": {
              "src": "https://frontend.prologue-framework.ru/upload/prfiles/2022/02/14/1/5g339w.png"
            },
            "value": "scandi"
          }
        ]
      }
    ],
    "sorter": {
      "sortingList": [
        {
          "id": 1,
          "title": "Сначала дешевые",
          "code": "price.asc"
        },
        {
          "id": 2,
          "title": "Сначала дорогие",
          "code": "price.desc"
        },
        {
          "id": 3,
          "title": "По названию А-Я",
          "code": "name.asc"
        },
        {
          "id": 4,
          "title": "По названию Я-А",
          "code": "name.desc"
        }
      ]
    },
    "msg": {
      "clearFilter": "Сбросить фильтр",
      "clearAll": "Очистить все"
    }
  }
}