Skip to content

Latest commit

 

History

History
45 lines (26 loc) · 3.44 KB

File metadata and controls

45 lines (26 loc) · 3.44 KB

Задача 4 | Список спецпредложений – получение данных

⬅️ назад

ТЗ

Необходмио реализовать логику получения данных для отображения виджета с информацией о пользователе.

Запрос 1

Метод 1: /bundles

Результат запроса должен представляться массивом модели SpecialBundle и получаться из JSON (передается в виде Data).

Полученные данные нужно сохранять в кэш. До совершения сетевого запроса нужно проверять наличие кэша (если не пуст, то сразу возвращать данные)

Запрос 2

Метод 2: /offers/list?userId=_адишник юзера_&recomendation=true/false

Значение параметра recomendation равно true или false в зависимости от вызываемого метода (см. описание протокола)

Результат запроса должен представляться массивом модели OfferShortInfo и получаться из JSON (передается в виде Data)

Возможные знавения для поля type объекта bonuses:

  • cashback – кэшбэк (процент)
  • special_points – бонусные баллы value в bonuses – дробное число

Массив restrictions содержит ограничения по отображению и доступности спецпредложения (может быть пустой, но поле обязательное). Возможные значения элемнетов:

  • for_bundles – описывает ограничения по подпискам. Внутри содержится массив bundles_ids с кодами подписок, для которых доступено данное спецпредложение, а также newValue, которое указывает то, на какое значение необходимо заменить бонус из bonuses->value

Запрос 3

Метод 3: /offers?userId=_адишник юзера_&id=_айдишник оффера_

Результат запроса должен представляться моделью OfferFullDetails и получаться из JSON (передается в виде Data)

Контракт объекта спецпредложения содержит в себе все то, что описано в запросе 2. Особенностью данного метода является то, что он содержит расширенную информацию об конкретном спецпредложении

Ожидаемое решение

Необходимо реализовать

  • IBundlesService, который производит сетевой запрос на получение списка всех существующих подписок. Ожидается реализация сетевого запроса и парсинга результата
  • IOffersService для данных об спецпредложениях. Ожидается реализация сетевого запроса и парсинга результата