Технічна документація

Калькулятор лізингу — архітектура та інфраструктура

Версія 1.0 Грудень 2025 Конфіденційно
01

Загальний огляд системи

Система EXIM Leasing складається з декількох взаємопов'язаних компонентів:

Webflow
Frontend
Mirohost
API (Київ)
Бізнес-логіка
Vercel
Доп. API
Ключова особливість

Всі розрахунки виконуються в 1С:Підприємство. Frontend лише відображає результати.

02

Архітектура системи

👤 Користувач
☁️ Cloudflare
CDN + SSL
🌐 Webflow
www.eximleasing.com.ua
↓ POST /leasing
⚙️ API Server
api.eximleasing.com.ua
🔍 Vercel
Пошук компаній
🏢 1С:Підприємство
vpLeasingCalculator
03

Потік даних калькулятора

Крок 1: Введення даних

ПолеЕлементПриклад
Тип техніки.calculator_autoЛегкові авто
Марка / Модель#mark / #modelToyota Camry
Вартість#field-61 500 000 грн
Аванс / Термін#first-payment / #termin30% / 36 міс

Крок 2: Формування запиту

Функція sendCalculation() перетворює дані та відправляє на API:

const translatedTypes = { "legkovi": "_ЛЕГКОВЫЕ", "gruz": "_ГРУЗОВЫЕ" }; const saleValue = salesData[selectedType]?.[brand.toLowerCase()] || 0; fetch('https://api.eximleasing.com.ua/leasing', { method: 'POST', body: JSON.stringify(data) });

Крок 3: Обробка на сервері

Express.js → Валідація → 1С vpLeasingCalculator → Розрахунок 36 платежів → JSON Response

Крок 4: Відображення результату

const filtered = data.schedule.filter(item => item.period !== 0); const sum = filtered.reduce((acc, item) => acc + item.repayment + item.commission, 0); const avgPayment = sum / filtered.length; // Середній щомісячний платіж
04

Інфраструктура хостингу

Основний сайт

Доменwww.eximleasing.com.ua
ПлатформаWebflow
DNSproxy-ssl.webflow.com
РегіонAWS Ireland (eu-west-1)
CDNCloudflare

API сервер

Доменapi.eximleasing.com.ua
IP78.27.236.94
ХостингMirohost (Київ)
СерверApache 2.4.58 (Ubuntu)
BackendExpress.js + 1С

Допоміжний API (Vercel)

Доменexim-back-end-express.vercel.app
EndpointPOST /companies/info
ПризначенняПошук компаній за ЄДРПОУ
05

API калькулятора лізингу

Endpoint

POST https://api.eximleasing.com.ua/leasing Content-Type: application/json

Структура запиту

{ "request": { "type": "calc", "ref": "webflow-test-7" }, "lease_type": "ФИНАНСОВЫЙ", "category": "_ЛЕГКОВЫЕ", "subcategory": "ЛЕГКОВЫЕ", "brand": "Toyota", "model": "Camry", "year": 2025, "cost": 1500000, "prepayment": 450000, "term": 36, "discount": 3, "customer": "ФЛ" }

Структура відповіді

{ "serviceInfo": { "errorCode": 0 }, "calcInfo": { "prepayment": 450000, "term": 36, "one_com": 45000, "one_com_prc": 3 }, "insuranceInfo": { "kasko": {...}, "osago": {...} }, "schedule": [ { "period": 0, "repayment": 450000, "commission": 45000 }, { "period": 1, "repayment": 56756.76, "commission": 56531 }, // ... 36 періодів ] }
06

Категорії техніки

Перетворення типів техніки з frontend в API формат:

FrontendAPI categoryAPI subcategory
legkovi_ЛЕГКОВЫЕЛЕГКОВЫЕ
commercial_ГРУЗОВЫЕГРУЗОВЫЕ_ДО_2
gruz_ГРУЗОВЫЕГРУЗОВЫЕ_СВЫШЕ_2
prichepy_ПРИЦЕПЫПОЛУПРИЦЕП
spectechnikaСПЕЦТЕХНИКАСЕЛЬХОЗТЕХНИКА_САМОХОДНАЯ
bus_АВТОБУСЫАВТОБУСЫ_СВЫШЕ_20
07

Партнерські знижки

Знижки зберігаються на frontend в об'єкті salesData:

Легкові авто

МаркаЗнижка
Toyota3%
Opel, Peugeot, Citroën5%
Subaru4%
Maxus3%
Renault, Hyundai, Skoda2%

Спецтехніка

МаркаЗнижка
ELVORTI10%
Basak8%
Tumosan6%
Armatrac, YTO, ELEX5%
Hidromek2%
08

DNS конфігурація

ДоменТипЗначенняПризначення
www.eximleasing.com.uaCNAMEproxy-ssl.webflow.comОсновний сайт
api.eximleasing.com.uaA78.27.236.94API калькулятора
При міграції

Оновити A-запис для api.eximleasing.com.ua на нову IP-адресу.

09

Чек-лист міграції сервера

КомпонентДеЩо змінювати
1IP адреса APIDNSA-запис api.eximleasing.com.ua
2SSL сертифікатСерверВстановити HTTPS
3CORSСерверДозволити www.eximleasing.com.ua
4Express.jsСерверПеренести код
5Зв'язок з 1ССерверНалаштувати підключення
6URL APIWebflowОновити (якщо новий домен)
Рекомендація

Якщо домен залишається незмінним — зміни в Webflow не потрібні.

10

Технологічний стек

Frontend

  • Webflow — CMS + хостинг
  • JavaScript — логіка калькулятора
  • GSAP — анімації
  • Google Fonts — Onest

Backend

  • Ubuntu — ОС
  • Apache 2.4.58 — веб-сервер
  • Express.js — Node.js
  • 1С:Підприємство — розрахунки

Аналітика

11

Що потрібно змінити при міграції

Перелік компонентів, які необхідно налаштувати для переносу калькулятора на новий сервер.

Компонент Де змінювати Що змінювати
IP адреса API DNS провайдер A-запис для api.eximleasing.com.ua
SSL сертифікат Новий сервер Встановити HTTPS (Let's Encrypt або інший)
CORS налаштування Новий сервер Дозволити запити з www.eximleasing.com.ua
Express.js код Новий сервер Перенести код API зі старого сервера
Зв'язок з 1С Новий сервер Налаштувати підключення до 1С:Підприємство
URL API (якщо новий домен) Webflow Оновити URL в JavaScript коді калькулятора

Порядок виконання

1

Підготувати новий сервер

Встановити Node.js, Apache/Nginx, SSL сертифікат

2

Перенести та налаштувати код

Скопіювати Express.js проєкт, налаштувати CORS та підключення до 1С

3

Протестувати API напряму

Перевірити роботу калькулятора через IP нового сервера

4

Переключити DNS

Змінити A-запис api.eximleasing.com.ua на нову IP-адресу

5

Перевірити роботу сайту

Протестувати калькулятор на www.eximleasing.com.ua

Важливо

Якщо домен API залишається api.eximleasing.com.ua — зміни в Webflow не потрібні. Сайт автоматично почне працювати з новим сервером після оновлення DNS.