Mobile App Recommendations API

API для мобильного приложения Alifshop (Mobile App). Включает три исторических (legacy) маршрута и один новый v3.


POST/mobile/offers/recommended/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

POST
/mobile/offers/recommended/v3
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"
}

POST/mobile/cf/v1/recommended

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

POST
/mobile/cf/v1/recommended
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"
}

POST/mobile/cf/v1/recommended

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

POST
/mobile/cf/v1/recommended
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"
}

POST/mobile/recommended-offers/categories-page

Категории: рекомендации

Рекомендации для страницы категорий. Проксируется на /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

POST
/mobile/recommended-offers/categories-page
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" }
  }
]