perekrestok_api.endpoints.catalog

Работа с каталогом

Functions

quote()

Each part of a URL, e.g. the path info, the query, etc., has a different set of reserved characters that must be quoted.

Classes

ClassCatalog(parent)

Методы для работы с каталогом товаров.

FetchResponse(request, page, url, headers, ...)

Represents the response of a request.

ProductService(parent)

Сервис для работы с товарами в каталоге.

class ClassCatalog(parent: PerekrestokAPI)[source][source]

Bases: object

Методы для работы с каталогом товаров.

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

Product: ProductService

Сервис для работы с товарами в каталоге.

async category_reviews(
category_id: int | list[int],
) FetchResponse[source][source]

Получить отзывы о товарах в категории или категориях по её ID.

async preview_feed(
category_id: int,
) FetchResponse[source][source]

Получение превью фида товаров разбитых на подкатегории. Работает исключительно с КАТЕГОРИЯМИ, а не с подкатегориями.

async feed(
filter: CatalogFeedFilter,
sort: CatalogFeedSort = abstraction.CatalogFeedSort.Popularity.ASC,
page: int = 1,
limit: int = 100,
with_best_reviews_only: bool = False,
) FetchResponse[source][source]

Получение фида товаров с фильтрами и сортировкой.

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

Схема плоской ленты товаров. Все товары находятся на одном уровне без объединения в группы. Используется для простых списков с единым порядком сортировки и пагинацией. Подходит для бесконечной прокрутки, поиска и фильтрации без акцентирования на группах.

async grouped_feed(
filter: CatalogFeedFilter,
sort: CatalogFeedSort = abstraction.CatalogFeedSort.Popularity.ASC,
page: int = 1,
limit: int = 100,
with_best_reviews_only: bool = False,
)[source][source]

ОСНОВНОЙ способ получения товаров по подкатегориям все разом.

Принимает ИСКЛЮЧИТЕЛЬНО ПОДКАТЕГОРИИ!

Выдает фиды товаров полностью, при этом уже разбитыми по подкатегориям

async form(
filter: CatalogFeedFilter,
disable_bubble_up: bool = False,
sort_by_alpha: bool = True,
) FetchResponse[source][source]

Получить форму поиска с доступными фильтрами для текущего контекста.

Parameters:
  • filter – Фильтры для определения контекста поиска

  • disable_bubble_up – Отключить пузырьковую сортировку

  • sort_by_alpha – Сортировать результаты по алфавиту

async tree() FetchResponse[source][source]

Получить дерево категорий каталога.

async category_info(
category_id: int,
) FetchResponse[source][source]

Получить информацию о категории по её ID.

async search(
query: str,
entity_types: list[Literal['product', 'category']] = ['product', 'category'],
) FetchResponse[source][source]

Поиск по товарам/категориям (в entity_types указывай где искать)

class ProductService(parent: PerekrestokAPI)[source][source]

Bases: object

Сервис для работы с товарами в каталоге.

async info(
product_plu: int | str,
) FetchResponse[source][source]

Получить информацию о товаре по PLU! НЕ ПУТАТЬ С ID ТОВАРА!

async available_count(
product_plu: int | str,
) FetchResponse[source][source]

Получить информацию о количестве товара в магазинах по PLU! НЕ ПУТАТЬ С ID ТОВАРА!

async similar(
product_id: int,
) FetchResponse[source][source]

Получить похожие товары по ID! НЕ ПУТАТЬ С PLU!

async categories(
product_plu: int | str,
) FetchResponse[source][source]

Получить списка категорий которым относится товар - по PLU! НЕ ПУТАТЬ С ID ТОВАРА!

async reviews_count(
product_plu: int | str,
) FetchResponse[source][source]

Получить количество отзывов о товаре по PLU! НЕ ПУТАТЬ С ID ТОВАРА!

async reviews(
product_plu: int | str,
page: int = 1,
limit: int = 10,
) FetchResponse[source][source]

Получить отзывы о товаре по PLU! НЕ ПУТАТЬ С ID ТОВАРА!