Recsys API

Получение персонализированных рекомендаций товаров.

Возвращает список рекомендованных товаров на основе поведения пользователя и ML алгоритмов. При этом отправляет информацию о источнике рекомендаций для аналитики.


POST/offers/recommended/v3

Получить рекомендации v3 🚧 IN DEVELOPMENT

Актуальная версия API для получения рекомендаций с упрощенной структурой ответа и поддержкой событий. Использует универсальное поле offer_id (string) для всех типов предложений - может содержать как числовой ID обычного предложения, так и GUID модерируемого предложения.

Params

  • Name
    user_id*
    Type
    string
    Description

    Уникальный идентификатор пользователя в системе AlifShop.

  • Name
    from_layer*
    Type
    string
    Description

    Источник запроса рекомендаций. Возможные значения: main_page, offer_page, cart_page.

  • Name
    from_app*
    Type
    string
    Description

    Идентификатор платформы. Для AlifMobi используйте "alifmobi".

  • Name
    test_group_value
    Type
    string
    Description

    Идентификатор группы для A/B тестирования. Возможные значения: prod, mod_offers, null. По умолчанию: prod. Если отправляете null или неизвестное значение, применяем prod. Значение нечувствительно к регистру.

  • Name
    phone
    Type
    string
    Description

    Номер телефона пользователя.

  • Name
    device_brand
    Type
    string
    Description

    Бренд устройства (например, Samsung, iPhone).

  • Name
    device_os
    Type
    string
    Description

    Операционная система устройства (Android, iOS).

  • Name
    mobi_user_id
    Type
    string
    Description

    Специальный идентификатор пользователя для AlifMobi приложения.

  • Name
    offer_ids
    Type
    array[string]
    Description

    Контекстные ID moderated_offers/offers для получения рекомендаций по ним на cart_page | offer_page (опционально). Для main_page поле не передавайте. Значение null не используйте.

  • Name
    region
    Type
    string
    Description

    Регион пользователя для локализации рекомендаций.

Структура ответа

  • Name
    offer_id
    Type
    string
    Description

    Универсальный идентификатор предложения. Может содержать как числовой ID обычного предложения (например, "98765"), так и UUID модерируемого предложения (например, "a1b2c3d4-e5f6-7890-abcd-ef1234567890").

  • Name
    name
    Type
    string
    Description

    Название товара.

  • Name
    image_path
    Type
    string
    Description

    Прямая ссылка на изображение товара (упрощенная структура).

  • Name
    price
    Type
    integer
    Description

    Текущая цена товара в сумах (без десятичных знаков).

  • Name
    events
    Type
    array
    Description

    Массив событий (акций, скидок) для данного товара. Каждое событие содержит:

    • id (string) - UUID идентификатор события
    • title (string) - Название события на русском языке
    • title_uz (string) - Название события на узбекском языке
    • slug (string) - Слаг события для URL
  • Name
    partner
    Type
    object
    Description

    Информация о партнере, продающем товар.

Request

POST
/offers/recommended/v3
curl -X POST "https://gw.alifshop.uz/offers/recommended/v3" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "3144fa31-1af2-4e67-ba7b-210def001db2",
    "from_layer": "main_page", 
    "from_app": "alifmobi",
    "device_os": "Android",
    "test_group_value": "mod_offers",
    "offer_ids": [
      "fe532866-50e5-4fed-93b8-4ebf68095d30",
      "12345",
      "67890"
    ]
  }'

Response

{
  "offers": [
    {
      "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,
      "path": "offer/nabor-elektroinstrumentov-ingco-cosli23011-zh",
      "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"
        },
        {
          "id": "9f624602-3eb8-11ef-b057-fa163eee6b46",
          "title": "Школьная ярмарка",
          "title_uz": "Maktab bozori",
          "slug": "rasprodaja"
        }
      ]
    },
    {
      "offer_id": "96674c6d-3816-49a7-a37f-8e82a050accd",
      "name": "Автосигнализация Dominant D917S, черный",
      "slug": "avtosignalizaciya-dominant-d917s-cherniy-1747198856",
      "quantity": 9,
      "price": 283920000,
      "raw_old_price": null,
      "old_price": null,
      "is_visible": true,
      "rating": 0.0,
      "path": "offer/avtosignalizaciya-dominant-d917s-cherniy-1747198856",
      "discount": null,
      "image_path": "https://minio.k8s-dev.alifnasiya.uz/service-shop/moderation/partner-1277/1742111605-auto.jpg",
      "bnpl_details": {
        "has_daily_payment": false,
        "prepayment_amount": null
      },
      "partner": {
        "id": 1277,
        "name": "AvtoAksessuar_MK", 
        "logo_path": "catalog/partners/1744022569-auto-accessuar.png",
        "slug": "AVTO-AKSESSUAR",
        "rating": 4.2,
        "is_recommended": false
      },
      "events": [
        {
          "id": "b2e3aaa8-3eb8-11ef-b057-fa163eee6b46",
          "title": "Автотовары",
          "title_uz": "Avtotovarlar", 
          "slug": "ivent-avtotovarlar"
        }
      ]
    }
  ],
  "mini_app_id": null,
  "source": "catboost"
}
POST/offers/recommended/v2

Получить рекомендации v2 ✅ STABLE

Рекомендуемая версия для получения персонализированных рекомендаций товаров для AlifMobi приложения на основе поведения пользователя и ML алгоритмов. Используйте эту версию для новых интеграций.

Params

  • Name
    user_id*
    Type
    string
    Description

    Уникальный идентификатор пользователя в системе AlifShop.

  • Name
    from_layer*
    Type
    string
    Description

    Источник запроса рекомендаций. Возможные значения: main_page, offer_page, cart_page.

  • Name
    from_app*
    Type
    string
    Description

    Идентификатор платформы. Для AlifMobi используйте "alifmobi".

  • Name
    phone
    Type
    string
    Description

    Номер телефона пользователя.

  • Name
    device_brand
    Type
    string
    Description

    Бренд устройства (например, Samsung, iPhone).

  • Name
    device_os
    Type
    string
    Description

    Операционная система устройства (Android, iOS).

  • Name
    test_group_value
    Type
    string
    Description

    Идентификатор группы для A/B тестирования. Допустимые значения: cf, prod. По умолчанию: значение из конфигурации или cf; неверные значения приводятся к дефолту.

  • Name
    mobi_user_id
    Type
    string
    Description

    Специальный идентификатор пользователя для AlifMobi приложения.

  • Name
    product_ids
    Type
    array
    Description

    Массив ID товаров для контекстных рекомендаций.

  • Name
    region
    Type
    string
    Description

    Регион пользователя для локализации рекомендаций.

Request

POST
/offers/recommended/v2
curl -X POST "https://gw.alifshop.uz/offers/recommended/v2" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "12345",
    "from_layer": "main_page",
    "from_app": "alifmobi",
    "device_os": "Android"
  }'

Response

{
  "offers": [
    {
      "id": 98765,
      "name": "iPhone 15 Pro Max 256GB",
      "slug": "iphone-15-pro-max-256gb",
      "quantity": 10,
      "price": 18000000,
      "old_price": 19000000,
      "is_visible": true,
      "rating": 4.8,
      "path": "offer/iphone-15-pro-max-256gb",
      "discount": -5,
      "product": {
        "id": 1234,
        "name": "iPhone 15 Pro Max",
        "title_image": {
          "lg_path": "https://cdn.alifshop.uz/product/lg/iphone-15.jpg",
          "md_path": "https://cdn.alifshop.uz/product/md/iphone-15.jpg",
          "sm_path": "https://cdn.alifshop.uz/product/sm/iphone-15.jpg"
        }
      },
      "bnpl_details": {
        "has_daily_payment": false,
        "prepayment_amount": 1800000
      },
      "partner": {
        "id": 123,
        "name": "Apple Store",
        "logo_path": "https://cdn.alifshop.uz/partners/apple.jpg",
        "slug": "apple-store",
        "rating": 4.9,
        "is_recommended": true
      }
    }
  ],
  "mini_app_id": "alif_mobi_001",
  "source": "recommendation_service"
}

POST/offers/recommended

Получить рекомендации v1 ⚠️ DEPRECATED

Устаревшая версия API для получения рекомендаций. Рекомендуем использовать v3 для новых интеграций. Лимит результатов фиксирован на уровне сервиса (30).

Params

  • Name
    mobi_user_id*
    Type
    string
    Description

    Специальный идентификатор пользователя для AlifMobi приложения.

  • Name
    phone*
    Type
    string
    Description

    Номер телефона пользователя.

  • Name
    user_id
    Type
    string
    Description

    Уникальный идентификатор пользователя в системе AlifShop.

  • Name
    auth_id
    Type
    integer
    Description

    ID авторизации пользователя.

  • Name
    device_brand
    Type
    string
    Description

    Бренд устройства (например, Samsung, iPhone).

  • Name
    device_os
    Type
    string
    Description

    Операционная система устройства (Android, iOS).

  • Name
    region
    Type
    string
    Description

    Регион пользователя для локализации рекомендаций.

Request

POST
/offers/recommended
curl -X POST "https://gw.alifshop.uz/offers/recommended" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "12345",
    "mobi_user_id": "mob_67890",
    "phone": "+998901234567",
    "device_os": "Android"
  }'

Response

{
  "offers": [
    {
      "id": 98765,
      "name": "iPhone 15 Pro Max 256GB",
      "slug": "iphone-15-pro-max-256gb",
      "quantity": 10,
      "price": 18000000,
      "old_price": 19000000,
      "is_visible": true,
      "rating": 4.8,
      "path": "offer/iphone-15-pro-max-256gb",
      "discount": -5,
      "product": {
        "id": 1234,
        "name": "iPhone 15 Pro Max",
        "title_image": {
          "lg_path": "https://cdn.alifshop.uz/product/lg/iphone-15.jpg",
          "md_path": "https://cdn.alifshop.uz/product/md/iphone-15.jpg",
          "sm_path": "https://cdn.alifshop.uz/product/sm/iphone-15.jpg"
        }
      },
      "bnpl_details": {
        "has_daily_payment": false,
        "prepayment_amount": 1800000
      },
      "partner": {
        "id": 123,
        "name": "Apple Store",
        "logo_path": "https://cdn.alifshop.uz/partners/apple.jpg",
        "slug": "apple-store",
        "rating": 4.9,
        "is_recommended": true
      }
    }
  ],
  "mini_app_id": "************" //запросить у Админа
}