perekrestok_api.abstraction¶
Classes
|
Special type indicating an unconstrained type. |
Место показа баннера |
|
Фильтры каталога с параметрами |
|
Опции сортировки для фидов каталога товаров. |
|
Опции сортировки для точек геолокации. |
|
|
Класс для работы с географическими координатами. |
Ключи функционала API |
|
|
Базовый класс для создания опций сортировки с направлениями ASC/DESC. |
- class BannerPlace[source][source]¶
Bases:
object
Место показа баннера
- MAIN_BANNERS = 'main_web_banners'¶
Главные баннеры
- BRANDS = 'web_brands'¶
Бренды
- CATEGORY = 'web_category'¶
Категория
- class QualifierFeatureKey[source][source]¶
Bases:
object
Ключи функционала API
- VIRTUAL_CARD_BLOCK = 'virtual_card_block'¶
Блокировка виртуальной карты
- BASKET_DELIVERY_BANNER = 'basket_delivery_banner_web'¶
Баннер доставки корзины
- STICKERS_AVAILABILITY = 'stickers_availability'¶
Доступность стикеров
- SPAM_TRAP = 'spam_trap'¶
Механизм защиты от спама
- AB_EXP = 'ab_exp_web'¶
Эксперименты A/B тестирования
- PRODUCT_REVIEW_UPLOAD_IMAGE = 'product_review_upload_image'¶
Загрузка изображений в отзыве о продукте
- PARTNERS = 'partners'¶
Список партнёров
- CHARITY = 'charity'¶
Функционал благотворительности
- CARD_ACTIVATION_UNAVAILABLE = 'card_activation_unavailable'¶
Недоступность активации карты
- LOYALTY_CARD_NOTIFICATION = 'loyalty_card_notification'¶
Уведомление о лояльности карты
- PURCHASE_HISTORY_NOTIFICATION = 'purchase_history_notification'¶
Уведомление о истории покупок
- LOYALTY_LEVELS = 'loyalty_levels'¶
Уровни лояльности
- LOYALTY_ACHIEVEMENT = 'loyalty_achievement'¶
Достижения в лояльности
- TAG_TREES = 'tag_trees'¶
Дерево тегов
- PRODUCT_REVIEW = 'product_review_web'¶
Отзыв о продукте
- CHECKOUT_PROMO = 'checkout_promo'¶
Промоакции на этапе оформления заказа
- NEW_GENERAL_CHAT = 'new_general_chat'¶
Новый общий чат
- PHOTO_REVIEW = 'photo_review'¶
Фотоотзыв о продукте
- PREORDER_X5D = 'preorder_x5d'¶
Предпросмотр заказа X5D
- class EPL[source][source]¶
Bases:
object
Ключи функционала EPL
- PARTNERS = 'partners_web_epl'¶
Партнёры EPL
- BAR_CLUB = 'bar_club_web_epl'¶
Бар-клуб EPL
- EDINYI_RAZDEL_X5 = 'edinyi_razdel_x5_epl'¶
Единый раздел X5 в EPL
- ORANGE_BANNER = 'orange_banner_epl'¶
Оранжевый баннер EPL
- ORANGE_CASHBACK = 'orange_cashback_epl'¶
Оранжевый кэшбэк EPL
- DISCOUNT_DETAILS = 'discount_details_epl'¶
Детали скидки EPL
- VIP_DETAILS = 'vip_details_epl'¶
Детали VIP EPL
- X5_BANNER = 'x5_banner_web_epl'¶
Баннер X5 в EPL
- PACKET_PROMO = 'packet_promo_web_epl'¶
Промо-пакет EPL
- VIRTUAL_ORANGE = 'virtual_orange_web_epl'¶
Виртуальный оранжевый EPL
- BAR_CLUB_FORMS = 'bar_club_forms_epl'¶
Формы бар-клуба EPL
- FAVORITE_CATEGORY_V2 = 'favorite_category_v2_epl'¶
Избранная категория V2 EPL
- class CatalogFeedFilter[source][source]¶
Bases:
object
Фильтры каталога с параметрами
- as_dict(
- use_hidden_key: bool = True,
Преобразует фильтры в словарь для использования в API запросах.
Является в большей степени внутренним методом.
- Parameters:
use_hidden_key – Использовать скрытые ключи API вместо понятных имён. hidden_key - это имя фильтра воспринимаемое сервером Перекрестка. Внутри библиотеки создана обёртка с другими неймами для удобства и ясности.
- class Filter( )[source][source]¶
Bases:
object
Фильтр с параметрами value и hidden_key
Возвращает ключ фильтра, используемый в запросах к API.
- class FeaturesFilter( )[source][source]¶
Bases:
Filter
Класс для работы с фильтром FEATURES.
- add(key: str, value: str)[source][source]¶
Добавляет новую особенность в FEATURES.
- Parameters:
key – Ключ особенности (например, “brand”)
value – Значение особенности (например, “Nike”)
- CATEGORY_ID¶
ID категорий бывают 2 видов - главные и дочерние. По сути они имеют одинаковый и равный статус для системы.
- PROMO_LISTING¶
Работает как фильтр (при != -1), т.е. отбраковываются товары не учавствующие в акции. От куда брать доступные id остаётся загадкой. Можно просто перебрать id от 1 до N (пару сотен, думаю, достаточно).
- FROM_PEREKRESTOK¶
Исключает товары не являющиеся внутренним брендом сети (только СТМ).
- ONLY_DISCOUNT¶
Исключает товары без скидки (по регулярной цене).
- ONLY_WITH_REVIEWS¶
без отзывов или без оценок).
- Type:
Исключает товары без отзывов (требуется уточнение
- LOWEST_PRICE¶
Фильтр исключающий цену в копейках где
<N
. По умолчанию -1 (отсутствует). Диапазон цен для текущего поиска можно получить с помощью.Catalog.form()['content']['priceFrom']
(цена передаётся в копейках так же в копейках).Рекумендую использовать только в паре с
HIGHEST_PRICE
, т.к. я не знаю как сервер воспримет посылку только одного поля. Т.е. используйтеself.set_price_range(lowest, highest)
- HIGHEST_PRICE¶
Фильтр исключающий цену в копейках где
>N
. По умолчанию -1 (отсутствует). Диапазон цен для текущего поиска можно получить с помощью.Catalog.form()['content']['priceTo']
(цена передаётся в копейках так же в копейках).Рекумендую использовать только в паре с
LOWEST_PRICE
, т.к. я не знаю как сервер воспримет посылку только одного поля. Т.е. используйтеself.set_price_range(lowest, highest)
- FEATURES¶
страна изготовитель, тип продукта, бренд и тп.
Для получения доступных особенностей обратитесь к
.Catalog.form()['content']['searchFeatures']
. Ключ для.add()
/.remove()
Вы можете найти вkey
на первом уровне массива словарей, внутри такого словаря так же будетenumList
содержащий массив словарей с доступными значениями фильтра вvalue
.- Type:
Фильтр для “особенностей” продукта. Таких как
- class SortOption(order_by: str)[source][source]¶
Bases:
object
Базовый класс для создания опций сортировки с направлениями ASC/DESC.
- class CatalogFeedSort[source][source]¶
Bases:
object
Опции сортировки для фидов каталога товаров.
- Price = <perekrestok_api.abstraction.SortOption object>¶
Сортировка по цене
- Popularity = <perekrestok_api.abstraction.SortOption object>¶
Сортировка по популярности
- Discount = <perekrestok_api.abstraction.SortOption object>¶
Сортировка по размеру скидки
- Rating = <perekrestok_api.abstraction.SortOption object>¶
Сортировка по рейтингу
- Recommended = <perekrestok_api.abstraction.SortOption object>¶
Рекомендуемая сортировка (популярность без ручной настройки)
- class GeolocationPointSort[source][source]¶
Bases:
object
Опции сортировки для точек геолокации.
- Distance = <perekrestok_api.abstraction.SortOption object>¶
Сортировка по расстоянию
- class Geoposition(
- *args: list | tuple,
- longitude: float = None,
- latitude: float = None,
- coordinates: list | tuple = None,
Bases:
object
Класс для работы с географическими координатами.
Поддерживает несколько форматов инициализации: - Отдельные именованные параметры latitude/longitude - Список/кортеж coordinates [долгота, широта] (стандарт Перекрёстка) - Два отдельных float аргумента [широта, долгота] (мировой стандарт)
Note
При передаче координат через кортеж/массив, они идут как [долгота, широта] (стандарт для ответов от Перекрестка). При передаче как отдельных неименованных параметров, они идут как [широта, долгота] (стандарт для мира).