Endpoints de la API
GET
/proveedores/solicitudes-ordenes
Obtiene todas las solicitudes de órdenes de compra activas.
Respuesta
[
{
"id_solicitud_orden": 1,
"id_usuario": 5,
"id_administrador": 2,
"estado": 1,
"fecha_orden_compra": "2025-05-20",
"fecha_recepcion": "2025-05-25",
"activo": 1,
"createdAt": "2025-05-12T12:30:00.000Z",
"updatedAt": "2025-05-12T14:15:00.000Z",
"usuario_solicitante": {
"id_usuario": 5,
"nombre": "Juan Pérez"
},
"administrador": {
"id_usuario": 2,
"nombre": "Ana Gómez"
},
"DetalleSolicitudOrdenCompras": [
{
"id_solicitud_orden_detalle": 1,
"id_solicitud_orden": 1,
"id_producto": 15,
"unidades": 10.00,
"activo": 1,
"Producto": {
"id_producto": 15,
"nombre": "Producto A",
"codigo": "PA001"
}
}
]
}
]
GET
/proveedores/solicitudes-ordenes/:solicitudId
Obtiene una solicitud de orden de compra específica por su ID.
Parámetros
Nombre
Ubicación
Descripción
solicitudId
path
ID de la solicitud a consultar
Respuesta
{
"id_solicitud_orden": 1,
"id_usuario": 5,
"id_administrador": 2,
"estado": 1,
"fecha_orden_compra": "2025-05-20",
"fecha_recepcion": "2025-05-25",
"activo": 1,
"createdAt": "2025-05-12T12:30:00.000Z",
"updatedAt": "2025-05-12T14:15:00.000Z",
"usuario_solicitante": {
"id_usuario": 5,
"nombre": "Juan Pérez"
},
"administrador": {
"id_usuario": 2,
"nombre": "Ana Gómez"
},
"DetalleSolicitudOrdenCompras": [
{
"id_solicitud_orden_detalle": 1,
"id_solicitud_orden": 1,
"id_producto": 15,
"unidades": 10.00,
"activo": 1,
"Producto": {
"id_producto": 15,
"nombre": "Producto A",
"codigo": "PA001"
}
}
]
}
GET
/proveedores/solicitudes-ordenes/where
Filtra solicitudes de órdenes de compra por diferentes criterios.
Parámetros de Consulta
Nombre
Tipo
Descripción
id_usuario
number
ID del usuario solicitante
id_administrador
number
ID del administrador
estado
number
Estado de la solicitud (0, 1, 2)
POST
/proveedores/solicitudes-ordenes
Crea una nueva solicitud de orden de compra.
Cuerpo de la Solicitud
{
"id_usuario": 5,
"fecha_orden_compra": "2025-05-20",
"fecha_recepcion": "2025-05-25",
"detalle_solicitud": [
{
"id_producto": 15,
"unidades": 10
},
{
"id_producto": 22,
"unidades": 5
}
]
}
Respuesta
{
"title": "Registro Exitoso",
"msg": "La solicitud de orden de compra fue registrada con éxito",
"type": "success",
"solicitud": {
"id_solicitud_orden": 1,
"id_usuario": 5,
"estado": 0,
"fecha_orden_compra": "2025-05-20",
"fecha_recepcion": "2025-05-25",
"activo": 1,
"createdAt": "2025-05-12T12:30:00.000Z",
"updatedAt": "2025-05-12T12:30:00.000Z",
"usuario_solicitante": {
"id_usuario": 5,
"nombre": "Juan Pérez"
},
"DetalleSolicitudOrdenCompras": [
{
"id_solicitud_orden_detalle": 1,
"id_solicitud_orden": 1,
"id_producto": 15,
"unidades": 10.00,
"activo": 1,
"Producto": {
"id_producto": 15,
"nombre": "Producto A",
"codigo": "PA001"
}
},
{
"id_solicitud_orden_detalle": 2,
"id_solicitud_orden": 1,
"id_producto": 22,
"unidades": 5.00,
"activo": 1,
"Producto": {
"id_producto": 22,
"nombre": "Producto B",
"codigo": "PB002"
}
}
]
}
}
PUT
/proveedores/solicitudes-ordenes/:solicitudId
Actualiza una solicitud de orden de compra existente.
Parámetros
Nombre
Ubicación
Descripción
solicitudId
path
ID de la solicitud a actualizar
Cuerpo de la Solicitud
{
"id_administrador": 2,
"estado": 1,
"fecha_orden_compra": "2025-05-22",
"fecha_recepcion": "2025-05-27",
"detalle_solicitud": [
{
"id_solicitud_orden_detalle": 1,
"id_producto": 15,
"unidades": 12
},
{
"id_producto": 30,
"unidades": 8
}
]
}
Respuesta
{
"title": "Actualización Exitosa",
"msg": "La solicitud de orden de compra fue actualizada con éxito",
"type": "success",
"solicitud": {
"id_solicitud_orden": 1,
"id_usuario": 5,
"id_administrador": 2,
"estado": 1,
"fecha_orden_compra": "2025-05-22",
"fecha_recepcion": "2025-05-27",
"activo": 1,
"createdAt": "2025-05-12T12:30:00.000Z",
"updatedAt": "2025-05-12T14:15:00.000Z",
"usuario_solicitante": {
"id_usuario": 5,
"nombre": "Juan Pérez"
},
"administrador": {
"id_usuario": 2,
"nombre": "Ana Gómez"
},
"DetalleSolicitudOrdenCompras": [
{
"id_solicitud_orden_detalle": 1,
"id_solicitud_orden": 1,
"id_producto": 15,
"unidades": 12.00,
"activo": 1,
"Producto": {
"id_producto": 15,
"nombre": "Producto A",
"codigo": "PA001"
}
},
{
"id_solicitud_orden_detalle": 3,
"id_solicitud_orden": 1,
"id_producto": 30,
"unidades": 8.00,
"activo": 1,
"Producto": {
"id_producto": 30,
"nombre": "Producto C",
"codigo": "PC003"
}
}
]
}
}
DELETE
/proveedores/solicitudes-ordenes/:solicitudId
Elimina una solicitud de orden de compra (marcándola como inactiva).
Parámetros
Nombre
Ubicación
Descripción
solicitudId
path
ID de la solicitud a eliminar
Respuesta
{
"id_solicitud_orden": 1,
"msg": "Solicitud de orden de compra eliminada correctamente",
"type": "success"
}
DELETE
/proveedores/solicitudes-ordenes/detalle/:detalleId
Elimina un detalle específico de una solicitud de orden de compra.
Parámetros
Nombre
Ubicación
Descripción
detalleId
path
ID del detalle a eliminar
Respuesta
{
"id_solicitud_orden_detalle": 1,
"msg": "Detalle de solicitud de orden de compra eliminado correctamente",
"type": "success"
}
Estructura de la Base de Datos
-- Tabla principal de solicitudes de órdenes de compra
CREATE TABLE IF NOT EXISTS tbl_solicitudes_orden_de_compras (
id_solicitud_orden BIGINT(11) NOT NULL AUTO_INCREMENT,
id_usuario BIGINT(11) NOT NULL,
id_administrador BIGINT(11),
estado TINYINT DEFAULT 0,
fecha_orden_compra DATE,
fecha_recepcion DATE,
activo TINYINT DEFAULT 1,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id_solicitud_orden),
FOREIGN KEY (id_usuario) REFERENCES sys_usuarios(id_usuario),
FOREIGN KEY (id_administrador) REFERENCES sys_usuarios(id_usuario)
);
-- Tabla de detalle de solicitudes de órdenes de compra
CREATE TABLE IF NOT EXISTS tbl_solicitudes_orden_de_compras_detalle (
id_solicitud_orden_detalle BIGINT(11) NOT NULL AUTO_INCREMENT,
id_solicitud_orden BIGINT(11) NOT NULL,
id_producto BIGINT(11) NOT NULL,
unidades DECIMAL(10,2) NOT NULL,
activo TINYINT DEFAULT 1,
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id_solicitud_orden_detalle),
FOREIGN KEY (id_solicitud_orden) REFERENCES tbl_solicitudes_orden_de_compras(id_solicitud_orden),
FOREIGN KEY (id_producto) REFERENCES tbl_productos(id_producto)
);
© 2025 BissTrack - Documentación del Sistema