160 lines
6.0 KiB
Markdown
160 lines
6.0 KiB
Markdown
# Проект ЕРВ - Форма обращений за выплатой страховки
|
||
|
||
## Описание проекта
|
||
|
||
Веб-приложение для обработки обращений за выплатой страхового возмещения по полисам ЕРВ (Евроинс). Проект представляет собой многошаговую форму с интеграцией в 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)
|
||
|
||
## Лицензия
|
||
|
||
Проект разработан для ЕРВ (Евроинс).
|
||
|