Saltar al contenido principal

Referencia completa de endpoints

Base URL: https://api.comandoconstrucciones.com

Resumen

MétodoEndpointDescripción
GET/Health check
GET/api/profilesListar perfiles de acero
GET/api/profiles/{id}Obtener un perfil
GET/api/citiesListar ciudades
GET/api/cities/{id}Obtener una ciudad
POST/api/calc/beamVerificar viga
POST/api/calc/beam/optimalViga óptima
POST/api/calc/columnVerificar columna
POST/api/calc/column/optimalColumna óptima
POST/api/calc/purlinCorreas de cubierta
POST/api/calc/facade-purlinCorreas de fachada
POST/api/calc/windCargas de viento
POST/api/calc/vibrationVibraciones de piso
POST/api/calc/steeldeckSteel deck + losa
POST/api/calc/baseplatePlaca base
POST/api/calc/trussCercha metálica
POST/api/calc/framePórtico 2D
POST/api/calc/flexo-compressionFlexo-compresión
POST/api/calc/composite-columnColumna compuesta
POST/api/calc/budgetPresupuesto
POST/api/calc/connection/shear-tabConexión simple (Shear Tab)
POST/api/calc/connection/fillet-weldSoldadura en filete
POST/api/calc/connection/momentConexión a momento
GET/api/calc/connection/bolt-typesTipos de pernos
GET/api/calc/connection/electrodesElectrodos disponibles

Total: 25 endpoints


Rate Limiting

TipoLímite
Cálculos (/api/calc/*)30 solicitudes/minuto por IP
Datos (/api/profiles, /api/cities)200 solicitudes/hora por IP

Responde HTTP 429 Too Many Requests al superarlo.


GET /

Health check.

{ "app": "ComandoCalc", "version": "0.1.0", "status": "ok" }

POST /api/calc/beam

Verificar viga bajo flexión + cortante + deflexión (AISC F, G).

{
"profile_id": "IPE-200",
"dead_load": 150,
"live_load": 300,
"span": 5.0,
"unbraced_length": 5.0,
"Cb": 1.0,
"use": "floor"
}

Response:

{
"profile_id": "IPE-200",
"profile_designation": "IPE 200",
"Mu": 2531.25,
"phi_Mn": 3843.2,
"Vu": 2025.0,
"phi_Vn": 24710.4,
"deflection_live": 0.92,
"deflection_limit": 1.39,
"moment_ratio": 0.659,
"shear_ratio": 0.082,
"deflection_ratio": 0.661,
"status": "OK",
"governing": "Momento"
}

POST /api/calc/beam/optimal

Selecciona el perfil más liviano que cumple.

{
"dead_load": 250,
"live_load": 500,
"span": 6.0,
"unbraced_length": 6.0,
"profile_type": "ipe",
"use": "floor"
}

POST /api/calc/column

Columna bajo compresión + momento (AISC E, H1).

{
"profile_id": "HEA-200",
"Pu": 25000,
"Mux": 800,
"Muy": 0,
"height": 4.0,
"Kx": 1.0,
"Ky": 1.0
}

Response:

{
"phi_Pn": 48320,
"phi_Mnx": 9840,
"phi_Mny": 4210,
"axial_ratio": 0.517,
"interaction_ratio": 0.773,
"interaction_eq": "H1-1a",
"KLr_max": 68.4,
"status": "OK",
"governing": "Interacción H1-1a"
}

POST /api/calc/wind

Cargas de viento NSR-10 Título B para una ciudad colombiana.

{
"city_id": 150,
"building_height": 8.0,
"building_width": 20.0,
"building_length": 40.0,
"roof_angle": 15.0,
"roof_type": "dos_aguas",
"exposure": "C",
"enclosure": "closed",
"use_group": 2,
"topography": "flat"
}

POST /api/calc/baseplate

Placa base bajo carga axial y momento (AISC DG-1).

{
"Pu": 30000,
"Mux": 0,
"column_depth": 20.0,
"column_bf": 20.0,
"concrete_fc": 210,
"pedestal_width": 50,
"pedestal_length": 50,
"plate_steel": "A36",
"bolt_size": "3/4",
"num_bolts": 4
}

Response:

{
"N": 35.0,
"B": 35.0,
"t_req": 1.83,
"t_recommended": 1.905,
"phi_Pp": 54123,
"bearing_ratio": 0.554,
"bolt_size": "3/4",
"num_bolts": 4,
"bolt_tension": 0,
"bolt_ratio": 0,
"status": "OK",
"governing": "Aplastamiento concreto"
}

POST /api/calc/truss

Cercha metálica 2D por FEM (AISC D, E).

{
"span": 12.0,
"height": 2.0,
"num_panels": 6,
"truss_type": "pratt",
"dead_load": 80,
"live_load": 100,
"wind_load": 40,
"profile_id": "L-75x75x6"
}

POST /api/calc/frame

Pórtico metálico 2D bajo cargas gravitacionales + viento (AISC H, NSR-10 deriva).

{
"num_bays": 2,
"bay_width": 6.0,
"height": 4.5,
"dead_load": 150,
"live_load": 300,
"wind_pressure": 80,
"column_id": "HEA-200",
"beam_id": "IPE-300",
"support_type": "fixed"
}

POST /api/calc/connection/shear-tab

Conexión simple a cortante con pernos (AISC J3, J4).

{
"Vu": 8000,
"bolt_type": "A325-3/4",
"n_bolts": 4,
"connection_type": "bearing",
"plate_steel": "A36",
"plate_thickness": 0.953,
"beam_web_thickness": 0.6,
"beam_Fu": 4080,
"edge_dist": 3.81,
"bolt_spacing": 7.62,
"weld_size": 0.635,
"electrode": "E70",
"n_weld_lines": 2
}

Response:

{
"bolt_type": "A325-3/4",
"n_bolts": 4,
"plate_width": 9.6,
"plate_height": 30.5,
"plate_thickness": 0.953,
"weld_size": 0.635,
"weld_length": 30.5,
"checks": [
{ "name": "Cortante de pernos (J3.6)", "demand": 8000, "capacity": 38015, "ratio": 0.210, "status": "OK" },
{ "name": "Aplastamiento en placa (J3.10)", "demand": 8000, "capacity": 41880, "ratio": 0.191, "status": "OK" }
],
"max_ratio": 0.391,
"status": "OK",
"governing": "Block shear en placa (J4.3)"
}

POST /api/calc/connection/fillet-weld

Soldadura en filete bajo cortante y/o normal (AISC J2.4).

{
"Vu": 5000,
"Nu": 0,
"weld_size": 0.794,
"weld_length": 25.0,
"n_welds": 2,
"electrode": "E70",
"base_metal_thickness": 1.27,
"base_metal_Fu": 4080
}

Response:

{
"weld_size": 0.794,
"throat": 0.5614,
"Aw": 28.07,
"phi_Rn_weld": 62230,
"phi_Rn_shear_base": 97524,
"phi_Rn": 62230,
"ratio": 0.0803,
"status": "OK",
"governing": "Soldadura",
"min_size_req": 0.476,
"size_ok": true
}

POST /api/calc/connection/moment

Conexión momento soldada viga-columna (AISC J2, J4, J10).

{
"Mu": 12000,
"Vu": 3000,
"beam_depth": 24.0,
"beam_flange_width": 12.0,
"beam_flange_thickness": 0.98,
"beam_web_thickness": 0.60,
"column_flange_thickness": 1.50,
"electrode": "E70",
"bolt_type": "A325-3/4",
"n_bolts_web": 3
}

Response:

{
"flange_force": 52830,
"weld_size_flange": 0.82,
"phi_Rn_flange_weld": 53940,
"flange_weld_ratio": 0.979,
"flange_weld_status": "OK",
"phi_Rfl": 127800,
"column_flange_ratio": 0.413,
"column_flange_status": "OK",
"max_ratio": 0.979,
"status": "OK",
"governing": "Soldadura alas"
}

GET /api/calc/connection/bolt-types

Lista de pernos estructurales disponibles con área y diámetro.


GET /api/calc/connection/electrodes

Lista de electrodos disponibles con FEXX en kg/cm².


GET /api/profiles

Lista todos los perfiles disponibles. Soporta filtros por familia.

Parámetros query:

  • family: ipe, hea, heb, w, c, l, tr, rhs
GET /api/profiles?family=ipe

GET /api/cities

Lista ciudades colombianas con velocidad de viento NSR-10.

Parámetros query:

  • department: nombre del departamento
  • search: búsqueda por nombre
GET /api/cities?department=Antioquia
GET /api/cities?search=bogota