Руководство по API генератора заключений

URL: https://conclusion-generator.ru

Авторизация

Все запросы к API требуют заголовок X-API-Key:

X-API-Key: ваш-api-ключ


Эндпоинты

МетодURLОписание
GET/api/v1/healthПроверка работоспособности (без авторизации)
POST/api/v1/conclusions/generate/1.7.6Генерация заключения по водонасыщению
POST/api/v1/conclusions/generate/1.7.5Генерация заключения по толщине слоёв
POST/api/v1/conclusions/generateУниверсальный эндпоинт (определяет тип по полю measurement_type)


1.7.6 — Водонасыщение и коэффициент уплотнения

Что подаётся на вход

{
  "measurement_type": "1.7.6",
  "project": { ... },
  "climate_zone": "II",
  "design_requirements": [ ... ],
  "test_results": [ ... ]
}

Описание полей

#### Корневые поля

ПолеТипОбязательноОписание
measurement_typeстрокадаТип измерения: "1.7.6"
climate_zoneстроканетДорожно-климатическая зона: "I", "II", "III", "IV", "V". Используется только для ЩМА (ГОСТ 31015-2002). Влияет на норму водонасыщения кернов. Если не указана — используется зона II-III (3,5%).
compaction_norm_sectionстроканетПункт СП для коэффициента уплотнения: "12.5.3" (СП 78.13330.2012, строгие нормы) или "6.15" (СП 82.13330.2016, общая норма ≥0,93).
normative_referenceстроканетНормативный документ, по умолчанию "СП 78.13330.2012"

#### project — информация о проекте

ПолеТипОбязательноОписание
numberстрокадаНомер проекта, например "ИМ-20-502-П-3Э-ТКР1.1-ГЧ"
stageстрокадаСтадия проекта: "П" (проектная) или "Р" (рабочая)
sheetстрокадаНомер листа, например "4"
construction_typeстроканетТип конструкции, например "тип 1"

#### design_requirements — проектные требования по слоям (массив)

ПолеТипОбязательноОписание
layerстрокадаКод слоя: "ВСП", "НСП", "ВСО", "НСО"
layer_nameстрокадаНазвание: "Верхний слой покрытия", "Нижний слой покрытия" и т.д.
materialстрокадаМатериал, например "Щебеночно-мастичный асфальтобетон ЩМА-20"
gostстрокадаГОСТ материала: "ГОСТ 31015-2002" или "ГОСТ 9128-2013"
thickness_mmчислонетПроектная толщина в мм

#### test_results — результаты испытаний по слоям (массив)

ПолеТипОбязательноОписание
layerстрокадаКод слоя (должен совпадать с design_requirements)
water_saturation_cores_percentчислонетВодонасыщение кернов, % (например 2.6)
water_saturation_reformed_percentчислонетВодонасыщение переформованных образцов, %
compaction_coefficientчислонетКоэффициент уплотнения (например 1.01)

Какие измерения для каких материалов

МатериалВодонасыщение керновВодонасыщение переформ.Коэф. уплотнения
ЩМА (ГОСТ 31015-2002)да (зависит от климатической зоны)нетнет
Высокоплотный (ГОСТ 9128-2013)да (до 3,0%)да (0,5%-2,5%)да (≥0,99)
Плотный тип А (ГОСТ 9128-2013)да (до 5,0%)да (1,5%-5,0%)да (≥0,99)
Плотный тип Б (ГОСТ 9128-2013)да (до 4,5%)да (1,0%-4,0%)да (≥0,99)
Плотный тип В/Г (ГОСТ 9128-2013)да (до 4,5%)да (1,0%-4,0%)да (≥0,98)
Плотный тип Д (ГОСТ 9128-2013)да (до 4,0%)да (0,5%-4,0%)да (≥0,98)
Пористый (ГОСТ 9128-2013)да (до 10,0%)нетда (≥0,98)
Высокопористый (ГОСТ 9128-2013)да (до 18,0%)нетда (≥0,98)
Холодный тип Бх/Вх/Гх/Дх (ГОСТ 9128-2013)да (5,0%-9,0%)нетда (≥0,96)

#### Нормы водонасыщения ЩМА по климатическим зонам (ГОСТ 31015-2002, п.5.3, табл.2)

Климатическая зонаВодонасыщение кернов
Iдо 3,0%
II, IIIдо 3,5%
IV, Vдо 4,0%

Примечание: Система автоматически определяет тип материала по полю material и gost в запросе. Для ЩМА, если climate_zone не указана, используется норма для зон II-III (до 3,5%).

#### Коэффициент уплотнения — выбор пункта СП

ПунктСПНормыКогда применять
12.5.3 (по умолчанию)СП 78.13330.2012 (Автомобильные дороги)≥0,99 (высокоплотный, тип А/Б), ≥0,98 (тип В/Г/Д, пористый), ≥0,96 (холодный)Строгие нормы по типам материала
6.15СП 82.13330.2016 (Благоустройство территорий)≥0,93 для всех покрытийЧерез 10 суток после уплотнения

Для выбора используйте параметр compaction_norm_section со значением "12.5.3" или "6.15".

Пример запроса 1.7.6

{
  "measurement_type": "1.7.6",
  "project": {
    "number": "ИМ-20-502-П-3Э-ТКР1.1-ГЧ",
    "stage": "П",
    "sheet": "4",
    "construction_type": "тип 1"
  },
  "climate_zone": "II",
  "compaction_norm_section": "12.5.3",
  "normative_reference": "СП 78.13330.2012",
  "design_requirements": [
    {
      "layer": "ВСП",
      "layer_name": "Верхний слой покрытия",
      "material": "Щебеночно-мастичный асфальтобетон ЩМА-20",
      "gost": "ГОСТ 31015-2002",
      "thickness_mm": 50
    },
    {
      "layer": "НСП",
      "layer_name": "Нижний слой покрытия",
      "material": "Крупнозернистый плотный асфальтобетон тип Б марка II",
      "gost": "ГОСТ 9128-2013",
      "thickness_mm": 70
    }
  ],
  "test_results": [
    {
      "layer": "ВСП",
      "water_saturation_cores_percent": 2.6
    },
    {
      "layer": "НСП",
      "water_saturation_cores_percent": 1.1,
      "water_saturation_reformed_percent": 3.7,
      "compaction_coefficient": 1.01
    }
  ]
}

Примечание: В этом примере climate_zone: "II" указывает, что для ЩМА-слоя (ВСП) будет использоваться норма водонасыщения до 3,5% (зона II).


1.7.5 — Толщина слоёв дорожной одежды

Что подаётся на вход

{
  "measurement_type": "1.7.5",
  "project": { ... },
  "design_requirements": [ ... ],
  "test_results": [ ... ],
  "layers_match_project": true/false,
  "composition_match_project": true/false
}

Описание полей

#### project — информация о проекте

Аналогично 1.7.6 (см. выше).

#### design_requirements — проектные требования по слоям (массив)

ПолеТипОбязательноОписание
layerстрокадаКод слоя: "ВСП", "НСП", "ВСО", "НСО"
layer_nameстрокадаНазвание слоя
materialстрокадаМатериал слоя
gostстрокадаГОСТ материала
design_thickness_mmчислодаПроектная толщина в мм
geogrid_requiredbooleanнетТребуется ли геосетка по проекту (true/false)

#### test_results — результаты испытаний по слоям (массив)

ПолеТипОбязательноОписание
layerстрокадаКод слоя
measurements_mmмассив чиселдаВсе измерения толщины, например [50, 52]
average_mmчислодаСредняя толщина (рассчитывается оператором)
total_mmчислонетСуммарная толщина (для составных слоёв из нескольких фрагментов)
geogrid_foundbooleanнетОбнаружена ли геосетка при осмотре (true/false)
noteстроканетПримечание, например "Слой состоит из двух фрагментов"

#### Дополнительные поля (экспертная оценка оператора)

ПолеТипОбязательноОписание
layers_match_projectbooleanдаКоличество слоёв соответствует проекту?
composition_match_projectbooleanдаСостав слоёв соответствует проекту?

Важно: Эти два поля определяют пункты заключения о количестве и составе слоёв. Оператор ставит true или false на основе визуального осмотра.

Логика проверки толщины

Применяются допустимые отклонения по СП 78.13330.2012 п.16.11, прил.А, табл.А.1:

- Допуск: ±10мм для всех типов материалов - Если отклонение от проекта в пределах ±10мм → "соответствует" (с указанием ссылки на СП) - Если отклонение превышает ±10мм → "не соответствует"

Примеры: - Проект 50мм, факт 57мм (отклонение +7мм) → соответствует - Проект 50мм, факт 63мм (отклонение +13мм) → не соответствует - Проект 70мм, факт 62мм (отклонение -8мм) → соответствует

Логика проверки геосетки

- Если geogrid_required: true и geogrid_found: false → в заключении будет отмечено отсутствие геосетки - Если geogrid_required: false — проверка геосетки не выполняется

Пример запроса 1.7.5

{
  "measurement_type": "1.7.5",
  "project": {
    "number": "14-4001-Б-1.3-ТКР-1.1-АД",
    "stage": "П",
    "sheet": "11",
    "construction_type": "Тип 1а"
  },
  "design_requirements": [
    {
      "layer": "ВСП",
      "layer_name": "Верхний слой покрытия",
      "material": "Щебеночно-мастичный асфальтобетон ЩМА-20",
      "gost": "ГОСТ 31015-2002",
      "design_thickness_mm": 50,
      "geogrid_required": false
    },
    {
      "layer": "НСП",
      "layer_name": "Нижний слой покрытия",
      "material": "Крупнозернистый асфальтобетон плотный тип Б марки II",
      "gost": "ГОСТ 9128-2013",
      "design_thickness_mm": 70,
      "geogrid_required": true
    },
    {
      "layer": "ВСО",
      "layer_name": "Верхний слой основания",
      "material": "Крупнозернистый асфальтобетон плотный тип Б марки II",
      "gost": "ГОСТ 9128-2013",
      "design_thickness_mm": 90,
      "geogrid_required": false
    }
  ],
  "test_results": [
    {
      "layer": "ВСП",
      "measurements_mm": [50, 52],
      "average_mm": 51
    },
    {
      "layer": "НСП",
      "measurements_mm": [62, 61],
      "average_mm": 62,
      "geogrid_found": false
    },
    {
      "layer": "ВСО",
      "measurements_mm": [75, 77],
      "average_mm": 76
    }
  ],
  "layers_match_project": false,
  "composition_match_project": true
}

В этом примере: - ВСП: 51 мм вместо 50 мм → не соответствует (отклонение +1 мм) - НСП: 62 мм вместо 70 мм → не соответствует, геосетка не найдена - ВСО: 76 мм вместо 90 мм → не соответствует - Количество слоёв: falseне соответствует (будет указано про геосетку) - Состав слоёв: trueсоответствует


Формат ответа

{
  "conclusion": "Текст заключения...",
  "measurement_type": "1.7.5"
}


Примеры вызова через curl

Проверка работоспособности

curl https://conclusion-generator.ru/api/v1/health

Генерация заключения 1.7.6

curl -X POST https://conclusion-generator.ru/api/v1/conclusions/generate/1.7.6 \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ваш-ключ" \
  -d '{
    "measurement_type": "1.7.6",
    "project": { "number": "...", "stage": "П", "sheet": "4" },
    ...
  }'


Коды ошибок

КодОписание
200Успех
400Неверный формат запроса или неподдерживаемый тип измерения
401Отсутствует или неверный API-ключ
422Ошибка валидации данных (неверные типы полей)
429Превышен лимит запросов к LLM
500Внутренняя ошибка сервера
502Ошибка LLM-сервиса
503LLM-сервис недоступен


Интерактивная документация

Swagger UI доступен по адресу: https://conclusion-generator.ru/api/docs

Там можно: - Посмотреть все эндпоинты - Попробовать запросы прямо в браузере - Скачать OpenAPI-спецификацию