Endpoints API REST
👥 Usuarios
GET
/api/users - Listar usuariosGET
/api/users/:id - Obtener usuario por IDPOST
/api/users - Crear usuarioPUT
/api/users/:id - Actualizar usuarioDELETE
/api/users/:id - Eliminar usuario🔐 Autenticación
POST
/api/auth/login - Iniciar sesiónPOST
/api/auth/register - Registro de nuevo usuarioGET
/api/auth/profile - Obtener perfil del usuario autenticadoPOST
/api/auth/logout - Cerrar sesión🔒 Roles
GET
/api/roles - Listar rolesPOST
/api/roles - Crear rolGET
/api/roles/:id - Obtener rolPUT
/api/roles/:id - Editar rolDELETE
/api/roles/:id - Eliminar rol🔒 Usuarios, Roles y Permisos
GET
/api/permisos - Listar permisosPOST
/api/permisos - Crear permisoPUT
/api/permisos/:id - Actualizar PermisoDELETE
/api/permisos/:id - Eliminar permisosAsignación Usuarios y Roles
POST
/api/users/:id/roles - Asignar roles a usuarioGET
/api/users/:id/roles - Obtener roles del usuarioRoles y Permisos
POST
/api/roles/:id/permisos - Asignar permisos al rolGET
/api/roles/:id/permisos - Listar permisos del rol🛒 Productos y Categorías
GET
/api/productos?page=1&limit=10&search=laptop - Listar productos + paginación + limite datos por página + busquedaPOST
/api/productos - Crear productoGET
/api/productos/:id - Detalle de productoPUT
/api/productos/:id - Editar productoDELETE
/api/productos/:id - Eliminar productoCategorias
GET
/api/categorias - Listar categoríasPOST
/api/categorias - Crear categoríaGET
/api/categorias/:id - Mostrar categoriaPUT
/api/categorias/:id - Editar categoriaDELETE
/api/categorias/:id - Eliminar categoria🏪 Inventario y Almacenes
GET
/api/almacenes - Listar almacenesPOST
/api/almacenes - Crear almacénPUT
/api/almacenes/:id - Actualizar almacénInventarios (Filtros)
GET
/api/inventario - Ver todo el inventario (todos los productos, en todos los almacenes, de todas las sucursales)GET
/api/inventario/producto/:id_producto - Ver todos los almacenes + stock donde está un producto específico, incluyendo a qué sucursal pertenece cada almacen (se puede reutilizar la busqueda de productos y luego seleccionar el id_producto para iniciar el filtro)GET
/api/inventario/sucursal/:id_sucursal?page=1&limit=30&search=laptop - Ver el inventario agrupado por almacenes de una sucursal específica (se puede seleccionar el id_sucursal(es) asignado a la sesion actual del users) [con un select de lista de sucursales podria iniciar el filtro] opcionalmente adicionar paginación limite y busquedaGET
/api/inventario/almacen/:id_almacen - Ver el inventario de un solo almacén [a partir de un select de almacenes al seleccionar se puede filtrar los productos + stock]GET
/api/inventario/sucursal/:id_sucursal/almacen/:id_almacen - Ver el inventario por id_sucursal y id_almacen [a partir de un select de sucursales y otro select de almacenes al seleccionar se puede filtrar los productos + stock]PUT
/api/almacen/actualizar_stock_producto - Actualizar stock en inventario (almacen_producto)📦 Notas y Movimientos
POST
/api/notas - Crear nota (compra, venta o devolucion)GET
/api/notas/:id - Detalle de nota (compra venta)GET
/api/notas?tipo_nota=compra - Listar notas (compra, venta o devolucion)POST
/api/movimientos - Registrar movimientoGET
/api/movimientos?tipo=ingreso - Listar movimientos tipo ingresoGET
/api/movimientos?tipo=salida - Listar movimientos tipo salidaGET
/api/movimientos?tipo=devolucion - Listar movimientos tipo devolucionGET
/api/movimientos/producto/:producto_id – Historial de movimientos por productoGET
/movimientos/almacen/:almacen_id – Historial por almacén