Initial
This commit is contained in:
159
README.md
Normal file
159
README.md
Normal 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)
|
||||
|
||||
## Лицензия
|
||||
|
||||
Проект разработан для ЕРВ (Евроинс).
|
||||
|
||||
Reference in New Issue
Block a user