Endpoints / Proveedores
Crear Proveedor
Registra un nuevo proveedor dentro de la empresa del usuario autenticado, con sus datos de contacto y relaciones opcionales de categoría y marca.
/proveedoresCaso de Uso
Se usa cuando la aplicación necesita crear un nuevo proveedor para compras, abastecimiento o gestión de inventario, opcionalmente asociándolo a una categoría o marca. Al usarlo, el usuario obtiene los datos completos del proveedor creado, con las relaciones resueltas.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`. Permite acceso a usuarios con rol jefe o empleado. La empresa y el usuario autenticado deben estar activos.
Parámetros de ruta
Este endpoint no recibe parámetros de ruta.
Body
provemidstringobligatorioIdentificador de la empresa a la que pertenecerá el proveedor; debe coincidir con la empresa del usuario autenticado.
provnombrestringobligatorioNombre del proveedor; debe ser único dentro de la empresa.
provtelefonostringobligatorioTeléfono móvil del proveedor; debe ser un número válido de 10 dígitos (ej. 0984653471).
provctgriaidstring | null opcionalIdentificador de la categoría asociada; puede enviarse como null. Si se envía un valor, la categoría debe existir y estar activa.
provmrcidstring | null opcionalIdentificador de la marca asociada; puede enviarse como null. Si se envía un valor, la marca debe existir y estar activa.
provcorreostring | null opcionalCorreo electrónico del proveedor; puede enviarse como null. Si se envía un valor, debe tener formato de correo válido.
Reglas de negocio
Solo un usuario con rol jefe o empleado puede registrar proveedores.
Solo permite crear proveedores en la misma empresa del usuario autenticado.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
provemid, provnombre y provtelefono son obligatorios.
provnombre no puede repetirse dentro de la misma empresa.
provtelefono debe ser un número móvil válido de 10 dígitos que inicie con 09.
provctgriaid, provmrcid y provcorreo son opcionales y pueden enviarse como null.
Si se envía provctgriaid, la categoría debe existir y estar activa.
Si se envía provmrcid, la marca debe existir y estar activa.
Si se envía provcorreo, debe tener formato de correo válido.
El proveedor se crea con estado activo.
Errores esperados
No se proporcionó un token JWT o el token es inválido o ha expirado.
El usuario no tiene el rol requerido (jefe o empleado) para realizar esta acción.
El cuerpo de la solicitud no es un JSON válido o está malformado.
provemid ausente o vacío.
El formato de provemid no es un UUID válido.
provnombre ausente o vacío.
provnombre excede la longitud máxima permitida.
provtelefono ausente o vacío.
provtelefono con formato inválido.
El formato de provtelefono no corresponde a un número móvil ecuatoriano.
provcorreo con formato inválido.
El formato de provcorreo no es una dirección de correo válida.
provctgriaid enviado como string vacío en lugar de null.
provmrcid enviado como string vacío en lugar de null.
Empresa distinta a la del usuario autenticado.
El usuario autenticado no pertenece a la empresa especificada en provemid.
Usuario sin rol permitido.
Usuario inactivo.
Empresa inactiva.
Proveedor duplicado por nombre en la misma empresa.
Ya existe un proveedor con el mismo nombre en la empresa.
Categoría inexistente.
Categoría inactiva o eliminada.
Marca inexistente.
Marca inactiva o eliminada.
Error interno de base de datos al crear el proveedor.
Error inesperado del servidor.
El formato de provctgriaid no es un UUID válido.
Notas de uso
Este endpoint no recibe parámetros de ruta ni query params.
provctgriaid, provmrcid y provcorreo pueden enviarse como null o simplemente omitirse del body.
provtelefono debe ser un número móvil ecuatoriano válido (10 dígitos, iniciando con 09).
Las relaciones categoria y marca pueden devolverse como null en la respuesta si no fueron enviadas.