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)
|
|||
|
|
|
|||
|
|
## Лицензия
|
|||
|
|
|
|||
|
|
Проект разработан для ЕРВ (Евроинс).
|
|||
|
|
|