This commit is contained in:
Fedor
2026-03-13 10:42:01 +03:00
commit 9708638e0a
4050 changed files with 1028632 additions and 0 deletions

159
README.md Normal file
View File

@@ -0,0 +1,159 @@
# Проект ЕРВ - Форма обращений за выплатой страховки
## Описание проекта
Веб-приложение для обработки обращений за выплатой страхового возмещения по полисам ЕРВ (Евроинс). Проект представляет собой многошаговую форму с интеграцией в CRM-систему ClientRight.
## Технологический стек
- **Backend**: PHP 7.4+
- **Frontend**: HTML5, CSS3, JavaScript (jQuery)
- **База данных**: MySQL
- **Интеграции**:
- CRM ClientRight (веб-сервисы)
- DaData API (автодополнение адресов и организаций)
- SMS-сервис для подтверждения телефона
- IP-геолокация (ip-api.com)
## Структура проекта
```
erv.clientright.ru/
├── ticket/ # Основная рабочая версия формы
│ ├── index.php # Главная страница формы
│ ├── database.php # Проверка полисов в БД
│ ├── sms-test.php # Тестирование SMS
│ ├── css/ # Стили
│ ├── js/ # JavaScript файлы
│ └── libs/ # Внешние библиотеки
├── ticket3/ # Альтернативная версия
├── ervws/ # Версия для веб-сервисов
├── test/ # Тестовая версия
├── public_html/ # Публичная версия
├── vendor/ # PHP зависимости (Composer)
├── libs/ # Общие библиотеки
└── Документация API.txt # Документация по API CRM
```
## Основные функции
1. **Многошаговая форма** (3 шага):
- Шаг 1: Подтверждение телефона через SMS
- Шаг 2: Информация о страховом случае
- Шаг 3: Персональные данные и документы
2. **Проверка полиса**:
- Валидация номера полиса в базе данных
- Проверка тарифов и сроков действия
3. **Загрузка файлов**:
- Поддержка форматов: PDF, JPG, PNG, GIF, JPEG, HEIC
- Конвертация HEIC в JPEG
- Максимальный размер файла: 5 МБ
- Максимум 10 файлов на поле
4. **Интеграция с CRM**:
- Создание/обновление клиента (CreateContact)
- Создание/обновление контрагента (CreateAccount)
- Создание проекта (CreateProject)
- Загрузка файлов в CRM
## Конфигурация
### База данных
- Хост: `localhost`
- База: `ci20465_erv`
- Таблица для проверки полисов: `lexrpiority`
### CRM API
- Endpoint: `https://crm.clientright.ru/webservice.php`
- Username: `api`
- Access Key: `4r9ANex8PT2IuRV`
### Внешние сервисы
- **DaData API Token**: `f5d6928d7490cd44124ccae11a08c7fa5625d48c`
- **Форма обработки**: `https://form.clientright.ru/server_new.php`
- **Загрузка файлов**: `https://form.clientright.ru/fileupload_v2.php`
## Установка и запуск
1. Убедитесь, что установлены:
- PHP 7.4 или выше
- MySQL
- Composer (для зависимостей)
2. Установите зависимости:
```bash
composer install
```
3. Настройте подключение к базе данных в `database.php`
4. Настройте права доступа для загрузки файлов
## Рабочие версии
- **Основная рабочая версия**: `/ticket/`
- **Тестовая версия**: `/test/`
- **Публичная версия**: `/public_html/`
## API CRM - Основные операции
### 1. Авторизация
```php
operation = getchallenge
operation = login
```
### 2. Работа с клиентами
```php
operation = CreateContact
```
### 3. Работа с контрагентами
```php
operation = CreateAccount
```
### 4. Работа с проектами
```php
operation = CreateProject
```
### 5. Получение списка файлов
```php
operation = GetFilesList
```
Подробная документация в файле `Документация API.txt`
## Особенности реализации
- **Валидация форм**: Проверка обязательных полей на каждом шаге
- **Маски ввода**: Телефон, ИНН, даты, банковские реквизиты
- **Адаптивность**: Поддержка мобильных устройств
- **Логирование**: Логи операций в `logs/logfile.log`
- **Обработка ошибок**: Try-catch блоки и валидация ответов
## Безопасность
- Проверка типов файлов при загрузке
- Валидация размеров файлов
- Защита от XSS через экранирование данных
- Использование сессий для изоляции данных пользователей
## Разработка
Для разработки используйте версию в директории `/ticket/` или `/test/`.
### Тестовый режим
Добавьте параметр `?demodata=1` к URL для автоматического заполнения формы тестовыми данными.
## Контакты
- Разработчик: [TG: @wwdev](https://t.me/wwdev)
## Лицензия
Проект разработан для ЕРВ (Евроинс).