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) | да (до 3,5%) | нет | нет |
| Высокоплотный (ГОСТ 9128-2013) | да (до 3,0%) | да (1,0%-3,5%) | да (≥0,99) |
| Плотный тип А/Б/В/Г/Д (ГОСТ 9128-2013) | да (до 4,5%) | да (1,0%-4,0%) | да (≥0,99) |
| Пористый (ГОСТ 9128-2013) | да (до 10,0%) | нет | нет |
| Высокопористый (ГОСТ 9128-2013) | да (до 12,0%) | нет | нет |
| Холодный тип Бх/Вх/Гх/Дх (ГОСТ 9128-2013) | да (5,0%-9,0%) | нет | нет |
Примечание: Система автоматически определяет тип материала по полю material и gost в запросе.
{
"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 на основе визуального осмотра.
- Если average_mm равно design_thickness_mm → "соответствует"
- Если average_mm отличается хоть на 1 мм → "не соответствует"
- Если 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 мм)
- НСП: 62 мм вместо 70 мм → не соответствует, геосетка не найдена
- ВСО: 76 мм вместо 90 мм → не соответствует
- Количество слоёв: false → не соответствует (будет указано про геосетку)
- Состав слоёв: true → соответствует
{
"conclusion": "Текст заключения...",
"measurement_type": "1.7.5"
}
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-спецификацию