Files
erv-clientright/CONFIG.md

280 lines
8.2 KiB
Markdown
Raw Normal View History

2026-03-13 10:42:01 +03:00
# Конфигурация проекта
## Переменные окружения и настройки
### База данных
**Файл:** `ticket/database.php`
```php
$host = "localhost";
$username = "ci20465_erv";
$password = "c7vOXbmG";
$database = "ci20465_erv";
$table = "lexrpiority";
```
### CRM API
**Endpoint:**
```
https://crm.clientright.ru/webservice.php
```
**Учетные данные:**
```php
$username = "api";
$userAccessKey = "4r9ANex8PT2IuRV";
```
**WebForms Capture:**
```
https://crm.clientright.ru/modules/Webforms/capture.php
```
**Параметры формы:**
```php
$formToken = "sid:ec649134ad232e44c3ad71bbd321cee986f05545,1688385374";
$publicId = "3ddc71c2d79ef101c09b0d4e9c6bd08b";
$formName = "websiteticket";
```
### Внешние сервисы
#### DaData API
```php
$dadataToken = "f5d6928d7490cd44124ccae11a08c7fa5625d48c";
$dadataUrl = "https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/party";
```
#### IP Geolocation
```php
$ipApiUrl = "http://ip-api.com/json/{IP}?lang=ru";
```
#### File Upload
```php
$fileUploadUrl = "https://form.clientright.ru/fileupload_v2.php";
```
#### Form Processing
```php
$formProcessingUrl = "https://form.clientright.ru/server_new.php";
```
### Контрагент по умолчанию (ЕРВ)
**Файл:** `ticket/index.php` (строки 65-72)
```php
$contractor = array(
'inn' => '7714312079',
'ogrn' => '1037714037426',
'accountname' => 'Филиал ООО РСО ЕВРОИНС Туристическое',
'address' => '119049 Москва, 4-й Добрынинский пер., д.8, помещ. С 14-I, ком. 21-26',
'email' => 'info@erv.ru',
'phone' => '84956265800',
'website' => 'https://www.erv.ru/'
);
```
### Валидные тарифы полисов
**Базовые тарифы:**
```php
$valid_tariffs_basic = [
'STB0048', 'STB1099', 'STB1100', 'STB2099',
'AVS21500', 'AVS22500'
];
```
**Дополнительные тарифы:**
```php
$valid_tariffs_other = [
'SPV0001', 'SPV0002', 'SPV0003', 'SPV0004', 'SPV0005',
'STV0090',
'SPV1001', 'SPV1002', 'SPV1003', 'SPV1004', 'SPV1005',
'SPV2001', 'SPV2002', 'SPV2004', 'SPV2005',
'OPV1001', 'OPV1002', 'OPV1003', 'OPV1004', 'OPV1005',
'OPV2001', 'OPV2002', 'OPV2004', 'OPV2005'
];
```
### Ограничения файлов
```php
$maxFileSize = 5 * 1024 * 1024; // 5 МБ
$maxFilesPerField = 10;
$allowedFormats = ['pdf', 'jpg', 'png', 'gif', 'jpeg', 'heic', 'HEIC'];
```
### Настройки формы
**ID формы:**
```php
$formId = "00001";
```
**Направление обращения:**
```php
$direction = "ЕРВ Средства размещения";
```
### Маппинг полей формы
#### Поля клиента (data-ws_type="client")
| Поле формы | CRM поле | Описание |
|------------|----------|----------|
| `lastname` | `lastname` | Фамилия |
| `firstname` | `firstname` | Имя |
| `patronymic` | `secondname` | Отчество |
| `phonenumber` | `mobile` | Телефон |
| `email` | `email` | Email |
| `birthday` | `birthday` | Дата рождения |
| `reg_adres` | `mailingstreet` | Адрес регистрации |
| `inn` | `inn` | ИНН |
| `code` | `code` | SMS-код |
#### Поля проекта (data-ws_type="project")
| Поле формы | CRM поле | Описание |
|------------|----------|----------|
| `insured_from` | `cf_1887` | Дата начала страхования |
| `insured_to` | `cf_1889` | Дата окончания страхования |
| `claim` | `cf_1899` | Код документа |
| `doc` | `cf_1804` | Серия и номер документа |
| `countryevent` | `cf_1909` | Страна события |
| `agree` | `cf_2502` | Согласие на обработку данных |
#### Поля контрагента (data-ws_type="contractor")
| Поле формы | CRM поле | Описание |
|------------|----------|----------|
| `place_inn` | `inn` | ИНН |
| - | `ogrn` | ОГРН |
| `place` | `accountname` | Наименование |
| `place_adres` | `address` | Адрес |
| `place_email` | `email` | Email |
| `place_phone` | `phone` | Телефон |
| `place_website` | `website` | Сайт |
#### Другие поля (data-ws_type="other")
| Поле формы | CRM поле | Описание |
|------------|----------|----------|
| - | `cf_2446` | Флаг наличия в базе |
| `police_number` | `cf_1885` | Номер полиса |
| `event_type` | `cf_1726` | Тип события |
| `insurence_date` | `cf_2566` | Дата страхового случая |
| `transport_number` | `cf_2568` | Номер рейса/поезда |
| `description` | `description` | Описание ситуации |
| - | `cf_1945` | ФИО получателя |
| - | `cf_1265` | Банк |
| - | `cf_1267` | БИК |
| - | `cf_1269` | Расчетный счет |
| - | `cf_1271` | Корр. счет |
| - | `cf_1273` | Иные реквизиты |
### Типы страховых случаев
```php
$eventTypes = [
'delay_flight' => 'Задержка авиарейса (более 3 часов)',
'cancel_flight' => 'Отмена авиарейса',
'miss_connection' => 'Пропуск (задержка прибытия) стыковочного рейса',
'emergency_landing' => 'Посадка воздушного судна на запасной аэродром',
'delay_train' => 'Задержка отправки поезда',
'cancel_train' => 'Отмена поезда',
'delay_ferry' => 'Задержка/отмена отправки парома/круизного судна'
];
```
### Коды документов
```php
$documentCodes = [
'21' => 'Паспорт гражданина Российской Федерации',
'07' => 'Военный билет',
'24' => 'Удостоверение личности военнослужащего Российской Федерации',
'91' => 'Иные документы'
];
```
### Настройки логирования
**Путь к логам:**
```php
$logFile = "logs/logfile.log";
```
**Уровни логирования:**
- Информационные сообщения
- Ошибки
- Отладочная информация
### Настройки сессии
```php
session_start();
$subDir = session_id(); // Используется для изоляции файлов пользователей
```
### URL для редиректа после успешной отправки
```php
$successRedirectUrl = "https://lexpriority.ru/ok";
```
### Политика обработки персональных данных
```php
$privacyPolicyUrl = "https://lexpriority.ru/politics";
```
## Рекомендации по безопасности
1. **Храните секретные ключи в переменных окружения**
2. **Не коммитьте пароли и токены в репозиторий**
3. **Используйте HTTPS для всех внешних запросов**
4. **Валидируйте все входные данные**
5. **Используйте prepared statements для SQL**
6. **Ограничьте права доступа к файлам**
7. **Регулярно обновляйте зависимости**
## Переменные для разработки
### Тестовый режим
```php
// Добавьте ?demodata=1 к URL для автоматического заполнения формы
$demoMode = isset($_GET["demodata"]) ? $_GET["demodata"] : false;
```
### Тестовые данные для API
```php
$testInn = "643922466250";
$testSmsCode = "795372";
```
## Настройки сервера
### PHP требования
- PHP 7.4 или выше
- Расширения:
- curl
- mysqli
- gd (для работы с изображениями)
- mbstring
### Права доступа
```bash
# Для директории загрузки файлов
chmod 755 uploads/
chmod 755 logs/
```
### Настройки PHP.ini
```ini
upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 300
memory_limit = 256M
```