fixprice_api.endpoints.catalog

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

Functions

api_child_field(child_factory, *[, repr, ...])

Dataclass field helper for child API services initialized in ApiParent.__post_init__.

autotest(func)

dataclass([cls, init, repr, eq, order, ...])

Add dunder methods based on the fields defined in the class.

overload(func)

Decorator for overloaded functions/methods.

Classes

ApiChild(parent)

Base class for API child services that keeps a typed parent reference.

ApiParent()

Dataclass mixin that initializes fields declared with api_child_field.

ClassCatalog(parent)

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

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

Represents the response of a request.

MethodType

alias of MethodType

PWResponse

alias of Response

ProductService(parent)

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

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

Bases: ApiChild[FixPriceAPI], ApiParent

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

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

Product: ProductService

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

async tree() FetchResponse[source][source]

Возвращает список категорий.

async products_list(
category_alias: str,
subcategory_alias: str | None = None,
page: int = 1,
limit: int = 24,
sort: CatalogSort | str = abstraction.CatalogSort.POPULARITY,
) FetchResponse[source][source]

Возвращает количество и список товаров в категории/подкатегории.

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

Bases: ApiChild[FixPriceAPI]

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

async balance(
product_id: int,
in_stock: bool = True,
search: str | None = None,
) FetchResponse[source][source]

Проверка наличия товара в точках города. Возвращает информацию о магазине и int количество товара. city_id в базовом классе должен быть обязательно указан, иначе ошибка!

in_stock - фильтрует только те магазины, в которых есть товар, иначе все. Search Page - фильтр по поисковому адресу.

async info(*, url: str)[source][source]
async info(
*,
category: str,
product_id: int,
slug: str,
)

Информация СПАРСИВАЕТСЯ (в отличии от других методов). Инфо о товаре со страницы типа https://fix-price.com/catalog/produkty-i-napitki/p-1902248-shokoladnye-konfety-inis-nickers-135-g

Либо предоставляете url напрямую, например products[0]["url"]

Данные карточки лежат в obj[“data”][0][“categoryData”][“product”]