November 4, 2018

ТЗ по WIX для Nastart24

Цель: Сделать возможным создавать посадочные страницы опираясь на api сайта nastart24.ru

Ссылки API:

https://nastart24.ru/api/ — основная ссылка api, все методы ниже будут относительно этой ссылки

request/getCalcParams — Позволяет получить несколько массивов объектов для калькуляции на основном сайте. В этом методе интересует sportKinds, ageRatioRanges, eventPeriods

 class sportKind
    {
        int id; // Id вида спорта
        string title; // Название спорта
        int? masterId; // Id категории (другой вид спорта может быть главной категорией)
        int sportKindType; // Тип спорта
        double ratio; // Коэффициент для расчета страховой суммы (КВС)
    }

class ageRatioRange
{
      int id; // id возрастной группы
      int ageFrom; // с какого возраста
      int ageTo; // по какой
      double ratio; // коэффициент (КВ)
}

class eventPeriod
{
    int id; // id периода
    int days; // количество дней
    double ratio; // коэффициент (КД)
}

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

Что то типа этого, но можно не париться с категориями, а просто раскидать все виды спорта по алфавиту одним списком и добавить пункт "все виды спорта". Выбрать можно только один вид спорта на WIX.

Формула расчета страховки: Округлить(МЦ + (КВС * КД * СУМ * КВ))

МЦ - модификтор цены

СУМ - сумма покрытия страховки

КВС - коэффициент вида спорта

КД - коэффициент периода

КВ - коэффициент возрастной

МЦ, СУМ — берем локально из настроек скрипта и с калькулятора

остальное с бека

pay/thirdPartyOrder - метод который принимает модель для оплаты с викса.

Пока не работает, можно сделать заглушку.

class ThirdPartyOrderRequest
{
    int SportKindId; // Id вида спорта который юзер выбрал 
    int PeriodId; // id КД
    int PriceModificator; // модификатор цены
    int AgeId; // id возрастного коэффициента 
    Date DateFrom; // дата начала страхования
    Date DateTo; // дата окончания страхования
    
    string PayerFIO; // ФИО плательщика
    string PayerEmail; // Почта плательщика
    string InsuredFIO; // ФИО застрахованного
    Date InsuredBirthDay; // Дата рождения застрахованного
    
    string SuccessPayUrl; // Страница успешной оплаты
    string FailPayUrl; // Страница неуспешной оплаты
}
    

После отправки на бэк этой модели бек вернет url с на плетжный сервис, нужно перенаправить юзера на платежный сервис, сервис вернет юзера на страницу success или fail.

Скрипт должен быть универсальным.

На входе у него будут параметры:

  • Возможен ли выбор спорта или только из предложенных или всех (int[]?)
  • Только для детей (bool)
  • Даты начала и окончания (Date)
  • Модификатор цены

При попытке задать другие параметры на фронте после настройки скрипта, скрипт должен возвращать пользователю сообщение об ошибке.