Introduccion
API Ferreconst
API REST multi-empresa para operar un sistema de ferreteria: empresas, sucursales, cajas, usuarios, productos, inventario, proformas, clientes, proveedores, metodos de pago y configuracion general. El backend expone 71 endpoints organizados en 17 modulos con autenticacion JWT y control de acceso por empresa.
Arquitectura jerarquica: empresa padre gestiona empresas hijas, cada una con sucursales, cajas y usuarios independientes.
Login con RUC, apodo y contrasena. Bloqueo temporal tras 3 intentos fallidos. Access token para endpoints protegidos y refresh token para renovar sesion.
17 modulos con operaciones CRUD, ejemplos cURL con URL base configurable, reglas de negocio y respuestas JSON reales en cada pagina.
Base URL
Usa esta URL como referencia para probar los endpoints del backend. Los ejemplos cURL en cada pagina se adaptan automaticamente a esta URL.
https://api.ferreconst.space
Como esta organizada
Cada modulo agrupa endpoints de un area funcional: Autenticacion, Alertas, Sucursales, Marcas, Categorias, Cajas, Clientes, Empresas, Configuracion, Medidas, Metodos de Pago, Productos, Proformas, Proveedores, Stock, Usuarios y Health Check.
Cada modulo expone POST para crear, GET para listar, GET /:id para obtener detalle y PATCH para actualizar. Algunos incluyen operaciones adicionales como DELETE, PUT o acciones de negocio especificas (pagar, anular, enviar).
Cada endpoint documenta validaciones, restricciones de estado y efectos secundarios: descuento de stock al pagar, bloqueo por intentos fallidos, estados permitidos para cada operacion, y mas.
Cada pagina incluye un ejemplo cURL y la respuesta JSON esperada en el panel derecho. Los ejemplos usan la URL base configurada automaticamente.
Formato de autenticacion
El login devuelve accessToken, refreshToken y los datos de la empresa y el usuario autenticado. Los endpoints protegidos requieren el accessToken en el header Authorization: Bearer <token>.
{
"accessToken": "<jwt_access_token>",
"refreshToken": "<opaque_refresh_token>",
"company": {
"emid": "uuid",
"emruc": "1709639106001",
"emrznsocial": "Ferreconst ElectroLuz K y B",
"emlogo": "http://.../uploads/empresas/company.png",
"emestado": "activo",
"empadre": false
},
"user": {
"usid": "uuid",
"usnombre": "Juan Perez",
"usapodo": "jperez",
"uscorreo": "juan.perez@empresa.com",
"usimagen": "http://.../uploads/usuarios/user.png",
"usrol": "jefe",
"usestado": "activo"
}
}Lectura recomendada
- Revisa la pagina de autenticacion para entender el flujo: login con RUC + apodo, tokens JWT, rate limiting y renovacion de sesion.
- Identifica el RUC de tu empresa y las credenciales de un usuario activo para comenzar a probar.
- Explora los modulos desde el sidebar: cada uno agrupa endpoints de un dominio especifico con sus reglas de negocio.
- Antes de integrar un endpoint, valida campos requeridos, tipos de datos, reglas de negocio y codigos de error documentados.