ТЗ по 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)
- Модификатор цены
При попытке задать другие параметры на фронте после настройки скрипта, скрипт должен возвращать пользователю сообщение об ошибке.