{
  "openapi": "3.1.0",
  "info": {
    "title": "SnabExpertKZ & КЗЭ «ДимАл» — API инженерного подбора и каталога оборудования",
    "version": "2.8.3",
    "description": "API-спецификация для автономных AI-агентов (ChatGPT, Claude, Perplexity, Gemini), систем CPQ и инженеров ПТО. Позволяет получить полный машиночитаемый каталог оборудования завода «ДимАл» и произвести инженерный расчет совместимости грузоподъемного электромагнита с краном или мобильным перегружателем по нормам ПБ 10-382-00.",
    "contact": {
      "name": "ТОО SnabExpertKZ — Официальный дилер КЗЭ «ДимАл»",
      "email": "kzsnabexpert@gmail.com",
      "url": "https://snabexpert.com"
    }
  },
  "servers": [
    {
      "url": "https://snabexpert.com",
      "description": "Основной производственный сервер (Казахстан и Центральная Азия)"
    }
  ],
  "paths": {
    "/catalog.json": {
      "get": {
        "summary": "Получить полный машиночитаемый каталог оборудования «ДимАл»",
        "description": "Возвращает исчерпывающие технические характеристики серий ДКМ, ДПМ, ДЖС, ДГМ, ТМ (траверсы) и ПНС/ИБП в формате JSON.",
        "operationId": "getCatalog",
        "responses": {
          "200": {
            "description": "Каталог успешно получен",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Получить полную инженерную базу знаний в формате Markdown для LLM",
        "description": "Возвращает таблицы ТТХ, сравнение поколений М-42/М-62 с ДКМ, формулы расчета по ПБ 10-382-00 и логистическую матрицу по Казахстану и Центральной Азии.",
        "operationId": "getLlmsFullDoc",
        "responses": {
          "200": {
            "description": "Документация Markdown успешно получена",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/calculate-matching": {
      "get": {
        "summary": "Расчет совместимости магнита с краном или перегружателем (ПБ 10-382-00)",
        "description": "Вычисляет оптимальную модель электромагнита ДКМ или ДПМ по типу базовой машины, тоннажу крана, типу груза и режиму работы ПВ.",
        "operationId": "calculateCraneMatching",
        "parameters": [
          {
            "name": "crane_capacity_ton",
            "in": "query",
            "required": true,
            "description": "Паспортная грузоподъемность крюка крана или перегружателя в тоннах (от 3.2 до 50 т)",
            "schema": { "type": "number", "minimum": 3.2, "maximum": 50, "default": 10 }
          },
          {
            "name": "carrier_type",
            "in": "query",
            "required": false,
            "description": "Тип грузоподъемной машины: мостовой/козловой кран (bridge, коэф. 0.85), мобильный перегружатель Fuchs/Sennebogen (loader, коэф. 0.65), автокран (mobile, коэф. 0.60), экскаватор (excavator, коэф. 0.60)",
            "schema": {
              "type": "string",
              "enum": ["bridge", "loader", "mobile", "excavator"],
              "default": "bridge"
            }
          },
          {
            "name": "cargo_type",
            "in": "query",
            "required": true,
            "description": "Категория перемещаемого груза",
            "schema": {
              "type": "string",
              "enum": ["scrap", "scrap_heavy", "scrap_light", "pig_iron", "rebar", "slabs", "sheets"],
              "default": "scrap"
            }
          },
          {
            "name": "duty_cycle",
            "in": "query",
            "required": false,
            "description": "Режим работы ПВ и термостойкость (standard / 50, pv75 / 75, hot / 100)",
            "schema": {
              "type": "string",
              "enum": ["standard", "pv75", "hot", "50", "75", "100"],
              "default": "pv75"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Результат инженерного подбора оборудования",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": { "type": "boolean", "example": true },
                    "carrier_type": { "type": "string", "example": "bridge" },
                    "safety_factor": { "type": "number", "example": 0.85 },
                    "recommended_magnet": { "type": "string", "example": "ДКМ140СТ-У1" },
                    "magnet_mass_kg": { "type": "integer", "example": 2300 },
                    "sling_mass_kg": { "type": "integer", "example": 180 },
                    "payload_kg": { "type": "integer", "example": 1300 },
                    "power_kw": { "type": "number", "example": 13.2 },
                    "total_hook_load_kg": { "type": "integer", "example": 3780 },
                    "crane_reserve_percent": { "type": "integer", "example": 62 },
                    "recommended_cabinet": { "type": "string", "example": "ПНС-100" },
                    "recommended_ups": { "type": "string", "example": "ИБП-100" },
                    "pb_10_382_compliant": { "type": "boolean", "example": true },
                    "manufacturer": { "type": "string", "example": "Кировский завод электромагнитов «ДимАл»" },
                    "official_dealer": { "type": "string", "example": "ТОО «SnabExpertKZ»" }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
