Web Recommendations API
Получение персонализированных рекомендаций товаров для веб-приложения.
Возвращает список рекомендованных товаров на основе поведения пользователя и ML алгоритмов. При этом отправляет информацию о источнике рекомендаций для аналитики.
Получить рекомендации v3 🚧 IN DEVELOPMENT
Актуальная версия API для получения рекомендаций для веб-приложения с поддержкой как offers/moderated_offers.
Автоматические параметры
API автоматически устанавливает следующие параметры на сервере:
test_group_value
:"mod_offers"
(для работы с модерируемыми предложениями)- Лимит результатов: 30 предложений
Params
- Name
user_id
- Type
- string
- Description
Уникальный идентификатор пользователя в системе AlifShop в формате UUID (опционально).
- Name
from_layer*
- Type
- string
- Description
Источник запроса рекомендаций. Возможные значения:
main_page
,offer_page
,cart_page
.
- Name
from_app*
- Type
- string
- Description
Идентификатор канала приложения. Для веб-приложений используйте
"WebAndMobile"
.
- Name
offer_ids
- Type
- array[string]
- Description
Контекстные ID moderated_offers/offers для получения рекомендаций по ним на
cart_page
|offer_page
(опционально). Логика использования:main_page
: поле не передавайтеcart_page
: передается весь массив ID товаров в корзинеoffer_page
: передается только ID текущего просматриваемого товара
Значение
null
не используйте.
- Name
phone
- Type
- string
- Description
Номер телефона пользователя.
- Name
device_brand
- Type
- string
- Description
Бренд устройства (например,
Samsung
,iPhone
).
- Name
region
- Type
- string
- Description
Регион пользователя для локализации рекомендаций.
Структура ответа
Корневой объект ответа:
- Name
offers
- Type
- array
- Description
Массив рекомендованных предложений.
- Name
source
- Type
- string
- Description
Источник рекомендаций (например,
catboost
,collaborative_filtering
).
Структура элемента массива offers
:
- Name
offer_id
- Type
- integer
- Description
Идентификатор offer (если применимо).
- Name
moderated_offer_id
- Type
- string
- Description
UUID moderated_offer (если применимо).
- Name
name
- Type
- string
- Description
Название oффера.
- Name
slug
- Type
- string
- Description
slug товара для URL.
- Name
quantity
- Type
- integer
- Description
Количество доступного товара.
- Name
price
- Type
- number
- Description
Текущая цена товара в тийинах (64-битное число).
- Name
raw_old_price
- Type
- number
- Description
Исходная старая цена в тийинах (может быть null).
- Name
old_price
- Type
- number
- Description
Валидная старая цена (отображается только если скидка >= 1%).
- Name
is_visible
- Type
- boolean
- Description
Видимость товара.
- Name
rating
- Type
- number
- Description
Рейтинг товара.
- Name
discount
- Type
- number
- Description
Размер скидки в процентах (отрицательное значение, может быть null).
- Name
image_path
- Type
- string
- Description
Прямая ссылка на изображение товара.
- Name
bnpl_details
- Type
- object
- Description
Детали BNPL (Buy Now Pay Later) с полями:
has_daily_payment
(boolean) - Доступность ежедневных платежейprepayment_amount
(integer) - Сумма предоплаты
- Name
partner
- Type
- object
- Description
Информация о партнере, продающем товар.
- Name
events
- Type
- array
- Description
Массив событий (акций, скидок) для данного товара. Каждое событие содержит:
id
(string) - UUID идентификатор событияtitle
(string) - Название события на русском языкеtitle_uz
(string) - Название события на узбекском языкеslug
(string) - Слаг события для URL
- Name
condition
- Type
- object
- Description
Лучшее условие кредитования (выбирается по максимальной длительности).
- Name
monthly_loan_repayment
- Type
- integer
- Description
Размер ежемесячного платежа по кредиту (если доступно).
- Name
product_id
- Type
- integer
- Description
Идентификатор продукта (если доступен).
Request
curl -X POST "https://gw.alifshop.uz/web/client/offers/recommended-v3" \
-H "Content-Type: application/json" \
-d '{
"user_id": "3144fa31-1af2-4e67-ba7b-210def001db2",
"from_layer": "main_page",
"from_app": "WebAndMobile",
"phone": "+998901234567",
"device_brand": "Samsung",
"region": "Tashkent"
}'
Response
{
"offers": [
{
"offer_id": null,
"moderated_offer_id": "fe532866-50e5-4fed-93b8-4ebf68095d30",
"name": "Набор электроинструментов Ingco COSLI23011, желтый",
"slug": "nabor-elektroinstrumentov-ingco-cosli23011-zh",
"quantity": 4,
"price": 122100000,
"raw_old_price": null,
"old_price": null,
"is_visible": true,
"rating": 0.0,
"discount": null,
"image_path": "https://minio.k8s-dev.alifnasiya.uz/service-shop/moderation/partner-1220/1732169500-48.png",
"bnpl_details": {
"has_daily_payment": false,
"prepayment_amount": null
},
"partner": {
"id": 1220,
"name": "ikarvon.uz",
"logo_path": "catalog/partners/1735118794-photo_2024-12-25_14-25-37.jpg",
"slug": "ikarvon-uz",
"rating": 4.2,
"is_recommended": false
},
"events": [
{
"id": "942477f0-b022-4e1a-8a0e-499ee16d4bdc",
"title": "Инструменты для строительства",
"title_uz": "Qurilish uchun asbob-uskunalar",
"slug": "Qurilish-uchun-asbob-uskunalar-2"
}
],
"condition": {
"id": 15,
"duration": 12,
"commission": 18,
"event_id": 942477
},
"monthly_loan_repayment": 1100000,
"product_id": null
},
{
"offer_id": 98765,
"moderated_offer_id": null,
"name": "iPhone 15 Pro Max 256GB",
"slug": "iphone-15-pro-max-256gb",
"quantity": 10,
"price": 1800000000,
"raw_old_price": 1900000000,
"old_price": 1900000000,
"is_visible": true,
"rating": 4.8,
"discount": -5,
"image_path": "https://cdn.alifshop.uz/product/lg/iphone-15.jpg",
"bnpl_details": {
"has_daily_payment": false,
"prepayment_amount": 180000000
},
"partner": {
"id": 123,
"name": "Apple Store",
"logo_path": "https://cdn.alifshop.uz/partners/apple.jpg",
"slug": "apple-store",
"rating": 4.9,
"is_recommended": true
},
"events": [],
"condition": {
"id": 10,
"duration": 24,
"commission": 15,
"event_id": null
},
"monthly_loan_repayment": 150000000,
"product_id": 1234
}
],
"source": "catboost"
}
Лимит результатов фиксирован на уровне 30 предложений. API автоматически использует test_group_value: "mod_offers"
для работы с модерируемыми предложениями.