8.2 KiB
8.2 KiB
Конфигурация проекта
Переменные окружения и настройки
База данных
Файл: ticket/database.php
$host = "localhost";
$username = "ci20465_erv";
$password = "c7vOXbmG";
$database = "ci20465_erv";
$table = "lexrpiority";
CRM API
Endpoint:
https://crm.clientright.ru/webservice.php
Учетные данные:
$username = "api";
$userAccessKey = "4r9ANex8PT2IuRV";
WebForms Capture:
https://crm.clientright.ru/modules/Webforms/capture.php
Параметры формы:
$formToken = "sid:ec649134ad232e44c3ad71bbd321cee986f05545,1688385374";
$publicId = "3ddc71c2d79ef101c09b0d4e9c6bd08b";
$formName = "websiteticket";
Внешние сервисы
DaData API
$dadataToken = "f5d6928d7490cd44124ccae11a08c7fa5625d48c";
$dadataUrl = "https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/party";
IP Geolocation
$ipApiUrl = "http://ip-api.com/json/{IP}?lang=ru";
File Upload
$fileUploadUrl = "https://form.clientright.ru/fileupload_v2.php";
Form Processing
$formProcessingUrl = "https://form.clientright.ru/server_new.php";
Контрагент по умолчанию (ЕРВ)
Файл: ticket/index.php (строки 65-72)
$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/'
);
Валидные тарифы полисов
Базовые тарифы:
$valid_tariffs_basic = [
'STB0048', 'STB1099', 'STB1100', 'STB2099',
'AVS21500', 'AVS22500'
];
Дополнительные тарифы:
$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'
];
Ограничения файлов
$maxFileSize = 5 * 1024 * 1024; // 5 МБ
$maxFilesPerField = 10;
$allowedFormats = ['pdf', 'jpg', 'png', 'gif', 'jpeg', 'heic', 'HEIC'];
Настройки формы
ID формы:
$formId = "00001";
Направление обращения:
$direction = "ЕРВ Средства размещения";
Маппинг полей формы
Поля клиента (data-ws_type="client")
| Поле формы | CRM поле | Описание |
|---|---|---|
lastname |
lastname |
Фамилия |
firstname |
firstname |
Имя |
patronymic |
secondname |
Отчество |
phonenumber |
mobile |
Телефон |
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 |
|
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 |
Иные реквизиты |
Типы страховых случаев
$eventTypes = [
'delay_flight' => 'Задержка авиарейса (более 3 часов)',
'cancel_flight' => 'Отмена авиарейса',
'miss_connection' => 'Пропуск (задержка прибытия) стыковочного рейса',
'emergency_landing' => 'Посадка воздушного судна на запасной аэродром',
'delay_train' => 'Задержка отправки поезда',
'cancel_train' => 'Отмена поезда',
'delay_ferry' => 'Задержка/отмена отправки парома/круизного судна'
];
Коды документов
$documentCodes = [
'21' => 'Паспорт гражданина Российской Федерации',
'07' => 'Военный билет',
'24' => 'Удостоверение личности военнослужащего Российской Федерации',
'91' => 'Иные документы'
];
Настройки логирования
Путь к логам:
$logFile = "logs/logfile.log";
Уровни логирования:
- Информационные сообщения
- Ошибки
- Отладочная информация
Настройки сессии
session_start();
$subDir = session_id(); // Используется для изоляции файлов пользователей
URL для редиректа после успешной отправки
$successRedirectUrl = "https://lexpriority.ru/ok";
Политика обработки персональных данных
$privacyPolicyUrl = "https://lexpriority.ru/politics";
Рекомендации по безопасности
- Храните секретные ключи в переменных окружения
- Не коммитьте пароли и токены в репозиторий
- Используйте HTTPS для всех внешних запросов
- Валидируйте все входные данные
- Используйте prepared statements для SQL
- Ограничьте права доступа к файлам
- Регулярно обновляйте зависимости
Переменные для разработки
Тестовый режим
// Добавьте ?demodata=1 к URL для автоматического заполнения формы
$demoMode = isset($_GET["demodata"]) ? $_GET["demodata"] : false;
Тестовые данные для API
$testInn = "643922466250";
$testSmsCode = "795372";
Настройки сервера
PHP требования
- PHP 7.4 или выше
- Расширения:
- curl
- mysqli
- gd (для работы с изображениями)
- mbstring
Права доступа
# Для директории загрузки файлов
chmod 755 uploads/
chmod 755 logs/
Настройки PHP.ini
upload_max_filesize = 10M
post_max_size = 10M
max_execution_time = 300
memory_limit = 256M