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) |
{
"measurement_type": "1.7.6",
"project": { ... },
"design_requirements": [ ... ],
"test_results": [ ... ]
}
#### 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) | да | да | да |
{
"measurement_type": "1.7.6",
"project": {
"number": "ИМ-20-502-П-3Э-ТКР1.1-ГЧ",
"stage": "П",
"sheet": "4",
"construction_type": "тип 1"
},
"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
}
]
}
{
"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_required | boolean | нет | Требуется ли геосетка по проекту (true/false) |
#### test_results — результаты испытаний по слоям (массив)
| Поле | Тип | Обязательно | Описание |
layer | строка | да | Код слоя |
measurements_mm | массив чисел | да | Все измерения толщины, например [50, 52] |
average_mm | число | да | Средняя толщина (рассчитывается оператором) |
total_mm | число | нет | Суммарная толщина (для составных слоёв из нескольких фрагментов) |
geogrid_found | boolean | нет | Обнаружена ли геосетка при осмотре (true/false) |
note | строка | нет | Примечание, например "Слой состоит из двух фрагментов" |
#### Дополнительные поля (экспертная оценка оператора)
| Поле | Тип | Обязательно | Описание |
layers_match_project | boolean | да | Количество слоёв соответствует проекту? |
composition_match_project | boolean | да | Состав слоёв соответствует проекту? |
Важно: Эти два поля определяют пункты заключения о количестве и составе слоёв. Оператор ставит true или false на основе визуального осмотра.
- Применяется допуск ±10 мм по СП 78.13330.2012 п.16.11, прил.А, табл.А.1 - Если отклонение ≤ 10 мм → "соответствует" (со ссылкой на СП) - Если отклонение > 10 мм → "не соответствует"
- Если geogrid_required: true и geogrid_found: false → в заключении будет отмечено отсутствие геосетки
- Если geogrid_required: false — проверка геосетки не выполняется
{
"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 мм, в пределах допуска ±10 мм)
- НСП: 62 мм вместо 70 мм → соответствует (отклонение -8 мм, в пределах допуска ±10 мм), геосетка не найдена
- ВСО: 76 мм вместо 90 мм → не соответствует (отклонение -14 мм, превышает допуск ±10 мм)
- Количество слоёв: false → не соответствует (будет указано про геосетку)
- Состав слоёв: true → соответствует
{
"conclusion": "Текст заключения...",
"measurement_type": "1.7.5",
"compliance": [
{
"layer": "ВСП",
"layer_name": "Верхний слой покрытия",
"thickness": true,
"geogrid": null,
"water_saturation_cores": null,
"water_saturation_reformed": null,
"compaction_coefficient": null
}
]
}
compliance — результаты проверки соответствия по слоямМассив объектов, по одному на каждый слой. Каждый объект содержит:
| Поле | Тип | Описание |
layer | строка | Код слоя (ВСП, НСП, ВСО, НСО) |
layer_name | строка | Название слоя |
thickness | bool/null | Соответствие толщины (только для 1.7.5) |
geogrid | bool/null | Наличие геосетки (только для 1.7.5, если требуется по проекту) |
water_saturation_cores | bool/null | Соответствие водонасыщения кернов (только для 1.7.6) |
water_saturation_reformed | bool/null | Соответствие водонасыщения переформованных (только для 1.7.6) |
compaction_coefficient | bool/null | Соответствие коэффициента уплотнения (только для 1.7.6) |
- true — значение соответствует нормам ГОСТа
- false — значение НЕ соответствует нормам ГОСТа
- null — параметр не применим к данному слою (например, коэффициент уплотнения не проверяется для ЩМА)
#### Пример ответа для 1.7.6
{
"conclusion": "Верхний слой покрытия:\n1. Водонасыщение...",
"measurement_type": "1.7.6",
"compliance": [
{
"layer": "ВСП",
"layer_name": "Верхний слой покрытия",
"water_saturation_cores": true,
"water_saturation_reformed": null,
"compaction_coefficient": null
},
{
"layer": "НСП",
"layer_name": "Нижний слой покрытия",
"water_saturation_cores": true,
"water_saturation_reformed": true,
"compaction_coefficient": true
}
]
}
#### Пример ответа для 1.7.5
{
"conclusion": "1. Фактическая толщина...",
"measurement_type": "1.7.5",
"compliance": [
{
"layer": "ВСП",
"layer_name": "Верхний слой покрытия",
"thickness": true
},
{
"layer": "НСП",
"layer_name": "Нижний слой покрытия",
"thickness": true,
"geogrid": false
},
{
"layer": "ВСО",
"layer_name": "Верхний слой основания",
"thickness": false
}
]
}
curl https://conclusion-generator.ru/api/v1/health
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-сервиса |
| 503 | LLM-сервис недоступен |
Swagger UI доступен по адресу: https://conclusion-generator.ru/api/docs
Там можно: - Посмотреть все эндпоинты - Попробовать запросы прямо в браузере - Скачать OpenAPI-спецификацию