Mobile App Recommendations API
API для мобильного приложения Alifshop (Mobile App). Включает три исторических (legacy) маршрута и один новый v3.
v3: Рекомендации (новый)
Возвращает персонализированные рекомендации с упрощённой структурой ответа.
Params
- Name
user_id*
- Type
- string
- Description
- ID пользователя.
- Name
from_layer*
- Type
- string
- Description
main_page
|offer_page
|cart_page
.
- Name
from_app*
- Type
- string
- Description
- Идентификатор клиентского приложения (например,
"mobile"
).
- Name
offer_ids
- Type
- array[string]
- Description
Контекстные ID moderated_offers/offers для
offer_page
|cart_page
(опционально). Дляmain_page
поле не передавайте. Значениеnull
не используйте.
- Name
phone
- Type
- string | null
- Description
- Номер телефона.
- Name
device_brand
- Type
- string | null
- Description
- Бренд устройства.
- Name
device_os
- Type
- string | null
- Description
Android
|iOS
.
- Name
region
- Type
- string | null
- Description
- Регион пользователя.
- Name
test_group_value
- Type
- string | null
- Description
- A/B:
prod
|mod_offers
|null
(по умолчаниюprod
).
Request
curl -X POST "https://gw.alifshop.uz/mobile/offers/recommended/v3" \
-H "Content-Type: application/json" \
-d '{
"user_id": "12345",
"from_layer": "main_page",
"from_app": "mobile",
"device_os": "Android",
"offer_ids": [
"fe532866-50e5-4fed-93b8-4ebf68095d30",
"12345",
"67890"
]
}'
Response
{
"offers": [
{
"offer_id": "fe532866-50e5-4fed-93b8-4ebf68095d30",
"name": "iPhone 15 Pro Max 256GB",
"slug": "iphone-15-pro-max-256gb-mobile",
"quantity": 5,
"price": 18000000,
"old_price": 19000000,
"rating": 4.8,
"image_path": "https://cdn.alifshop.uz/mobile/iphone-15-pro.jpg",
"partner": {
"id": 123,
"name": "Apple Store",
"slug": "apple-store"
}
}
],
"source": "catboost"
}
CF v1: Рекомендации (v2 backend)
GW-маршрут проксируется на /api/gateway/web/offers/recommended-v2
. Используется для персонализированных рекомендаций.
Params
- Name
user_id
- Type
- string
- Description
- ID пользователя.
- Name
from_layer*
- Type
- string
- Description
main_page
|offer_page
|cart_page
.
- Name
from_app*
- Type
- string
- Description
- Идентификатор клиентского приложения (например,
"mobile"
).
- Name
offer_ids
- Type
- array
- Description
- Контекстные ID предложений (опционально).
- Name
phone
- Type
- string
- Description
- Номер телефона.
- Name
device_brand
- Type
- string
- Description
- Бренд устройства.
- Name
device_os
- Type
- string
- Description
Android
|iOS
.
- Name
region
- Type
- string
- Description
- Регион пользователя.
Request
curl -X POST "https://gw.alifshop.uz/mobile/cf/v1/recommended" \
-H "Content-Type: application/json" \
-d '{
"user_id": "12345",
"from_layer": "main_page",
"from_app": "mobile",
"device_os": "Android"
}'
Response
{
"offers": [
{
"id": 98765,
"name": "iPhone 15 Pro Max 256GB",
"slug": "iphone-15-pro-max-256gb",
"price": 18000000,
"old_price": 19000000,
"rating": 4.8,
"product": {
"id": 1234,
"title_image": {
"lg_path": "https://cdn.alifshop.uz/product/lg/iphone-15.jpg"
}
},
"partner": {
"id": 123,
"name": "Apple Store"
}
}
],
"source": "recommendation_service"
}
CF v1: Рекомендации (CF backend)
GW-маршрут может быть сконфигурирован на /api/gateway/web/offers/recommended-cf
. Поля запроса аналогичны v2 backend-варианту.
Params
- Name
user_id
- Type
- string
- Description
- ID пользователя.
- Name
from_layer*
- Type
- string
- Description
main_page
|offer_page
|cart_page
.
- Name
from_app*
- Type
- string
- Description
- Идентификатор клиентского приложения.
- Name
offer_ids
- Type
- array
- Description
- Контекстные ID предложений (опционально).
- Name
device_os
- Type
- string
- Description
Android
|iOS
.
Примечание: выбор backend (recommended-v2
vs recommended-cf
) выполняется на уровне конфигурации GW.
Request
curl -X POST "https://gw.alifshop.uz/mobile/cf/v1/recommended" \
-H "Content-Type: application/json" \
-d '{
"user_id": "12345",
"from_layer": "main_page",
"from_app": "mobile"
}'
Response
{
"offers": [
{
"id": 111,
"name": "Samsung Galaxy S24 Ultra 512GB",
"slug": "samsung-galaxy-s24-ultra-512gb",
"price": 15000000,
"old_price": 16000000,
"rating": 4.7,
"partner": {
"id": 456,
"name": "Samsung Store"
}
}
],
"source": "cf"
}
Категории: рекомендации
Рекомендации для страницы категорий. Проксируется на /api/gateway/categories-page/recommendations
. Возвращает список офферов (без обёртки).
Params
- Name
user_id
- Type
- string
- Description
- ID пользователя.
- Name
exp_id
- Type
- string
- Description
- Эксперимент/группа (опционально).
- Name
from_app*
- Type
- string
- Description
- Идентификатор клиентского приложения.
- Name
phone
- Type
- string
- Description
- Телефон.
- Name
device_brand
- Type
- string
- Description
- Бренд устройства.
- Name
device_os
- Type
- string
- Description
Android
|iOS
.
- Name
region
- Type
- string
- Description
- Регион.
- Name
category_id
- Type
- integer
- Description
- ID категории.
- Name
sub_category_id
- Type
- integer
- Description
- ID подкатегории.
- Name
third_category_id
- Type
- integer
- Description
- ID третьего уровня категорий.
Request
curl -X POST "https://gw.alifshop.uz/mobile/recommended-offers/categories-page" \
-H "Content-Type: application/json" \
-d '{
"user_id": "12345",
"from_app": "mobile",
"device_os": "Android",
"category_id": 10
}'
Response
[
{
"id": 98765,
"name": "iPhone 15 Pro Max 256GB",
"price": 18000000,
"product": { "id": 1234, "title_image": { "lg_path": "..." } },
"partner": { "id": 123, "name": "Apple Store" }
}
]