Files
erv-clientright/database_php_returns.md
2026-03-13 10:42:01 +03:00

4.2 KiB
Raw Permalink Blame History

Что возвращает database.php и что используется

SQL запрос

SELECT * FROM lexrpiority WHERE voucher = '...' LIMIT 1

Возвращает ВСЕ поля строки из таблицы lexrpiority.

Что используется в PHP скрипте

После получения строки из БД ($row = mysqli_fetch_assoc($result)), скрипт использует:

  1. tariff_code_basic - для проверки валидности тарифа
  2. tariff_code_other - для проверки валидности тарифа

Что возвращается в JSON ответе

При успехе (полис найден и валиден):

{
  "success": "true",
  "message": "Полис найден",
  "result": {
    // ВСЯ строка из БД (все поля таблицы lexrpiority)
    "id": "35927",
    "row_no": "893",
    "agent_code": "E50208",
    "voucher": "E50208-306083026",
    "insured_name": "SHAROV IURII",
    "insured_birth": "10.05.1974",
    "insured_gender": "U",
    "status": "NV",
    "insured_counter": "1",
    "issued_on": "17.11.2025",
    "insured_from": "19.11.2025",  // ⭐ ИСПОЛЬЗУЕТСЯ на фронтенде
    "insured_to": "24.11.2025",    // ⭐ ИСПОЛЬЗУЕТСЯ на фронтенде
    "insured_days": "6",
    "destination": "GEO",
    "productvariant_code": "10223",
    "tariff_code_basic": "STB2003",
    "tariff_code_sport": "",
    "tariff_code_cancel": "",
    "tariff_code_other": "SPV2002",  // ⭐ ИСПОЛЬЗУЕТСЯ для проверки
    "premium_cur_basic": "12,48",
    "premium_cur_sport": "",
    "premium_cur_cancel": "",
    "premium_cur_other": "13",
    "premium_cur": "25,48",
    "premium_loc": "2067,13",
    // ... и другие поля
  }
}

При ошибке (полис не найден или не валиден):

{
  "success": "false",
  "message": "Полис не найден" или "Ваш полис не включает покрытие задержки рейса",
  "result": ""
}

Что используется на фронтенде (JavaScript)

В ticket_dev/js/common.js строки 1227-1228:

// Автозаполнение дат из результата проверки полиса
$('input[name=insured_from]').val(res.result.insured_from.replace(/\./g, '-'));
$('input[name=insured_to]').val(res.result.insured_to.replace(/\./g, '-'));

Используются только 2 поля:

  • result.insured_from - дата начала действия полиса
  • result.insured_to - дата окончания действия полиса

Вывод для вебхука n8n

Для вебхука нужно возвращать:

Минимально необходимое:

  • found: 1/0 - для IF Node в n8n
  • success: true/false - для совместимости с PHP
  • message - текстовое сообщение

Желательно (для автозаполнения на фронтенде):

  • result.insured_from - дата начала полиса
  • result.insured_to - дата окончания полиса

Опционально (для дополнительной информации):

  • Остальные поля из таблицы lexrpiority (если нужны для логирования/аналитики)

Рекомендуемый формат ответа вебхука

{
  "success": true,
  "found": 1,
  "message": "Полис найден",
  "result": {
    "insured_from": "19.11.2025",
    "insured_to": "24.11.2025",
    "voucher": "E50208-306083026",
    "insured_name": "SHAROV IURII",
    "tariff_code_basic": "STB2003",
    "tariff_code_other": "SPV2002"
    // Можно добавить другие поля, если нужны
  }
}

Или минимальный вариант (если не нужны данные для автозаполнения):

{
  "success": true,
  "found": 1,
  "message": "Полис найден",
  "result": {
    "insured_from": "19.11.2025",
    "insured_to": "24.11.2025"
  }
}