НОРМОСКАН Документация
API v1Проекты, версии и решения специалистов

Проекты, версии и решения специалистов

Обновлено 8 октября 2026

bundle объединяет проверки одного проекта. Создайте bundle один раз. Передавайте его bundle_id при следующих загрузках проекта. Каждая проверка получает свой run_id. revision_id обозначает состав файлов, а не решение по замечанию.

Создать именованный комплект

bash
curl --fail-with-body "$NK_BASE/bundles" \
  -H "Authorization: Bearer $NK_KEY" \
  -H "Content-Type: application/json" \
  --data '{"label":"Жилой дом — рабочая документация"}'
  1. Получите замечания через GET /runs/{run_id}/findings.
  2. Выберите finding_id нужного замечания.
  3. Передайте feedback_snapshot в поле snapshot.
  4. Задайте decision: accepted для одобрения, rejected для отклонения или withdrawn для отзыва решения.
  5. Для первого решения задайте version: 0.
  6. При изменении используйте последнюю version своего решения. Найдите его в feedback по finding_id, snapshot и feedback_actor.
  7. Задайте уникальную метку request_key. Допустимая длина указана в справочнике метода.
  8. При повторе того же запроса сохраните прежний request_key. Повтор не создаёт второе решение.

Тело POST /runs/{run_id}/feedback — учебный пример

json
{
  "snapshot": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "finding_id": "16f2c114-4904-4cb3-8a92-b61f5e6a583a",
  "decision": "rejected",
  "reason": "Исправлено в следующем листе комплекта",
  "version": 0,
  "request_key": "review-001-item-7-v1"
}

Используйте snapshot и finding_id из ответа API. Примеры содержат вымышленные идентификаторы. При 409 report_changed или version_conflict получите актуальный результат. Затем получите историю решений. Используйте версию из ответа.

Сервер хранит решения отдельно от опубликованного отчёта.

Для решений по замечаниям используйте feedback. Получите дополнительные возможности через GET /features. Общий справочник не гарантирует наличие настроек сотрудников в вашем подключении.

GET /memory возвращает заметки и automatic_application. Сейчас automatic_application равен false. Заметки не изменяют следующую проверку автоматически. POST /memory создаёт предложение заметки по feedback_id проверки, связанной с bundle. Предложение требует отдельного рассмотрения.

Отозвать заметку можно через /memory/{note_id}/revoke.