# Конфигурация проекта ## Переменные окружения и настройки ### База данных **Файл:** `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 ```