El módulo de Clientes centraliza la base de datos de compradores de Tiendas Mi Cholo. Desde aquí se registran personas naturales y empresas con sus documentos de identidad, datos de contacto y dirección. Los clientes son obligatorios al registrar una venta, por lo que mantener esta información actualizada asegura comprobantes y reportes precisos. Todos los roles autenticados (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/interezante456-pixel/Miercoles-Proyecto/llms.txt
Use this file to discover all available pages before exploring further.
ADMIN, VENDEDOR, ALMACENERO) tienen acceso completo a este módulo.
Tipos de Documento Soportados
El sistema acepta cuatro tipos de documento de identidad definidos comoenum TipoDocumento en la entidad Cliente:
| Valor | Descripción |
|---|---|
DNI | Documento Nacional de Identidad (personas naturales peruanas) |
RUC | Registro Único de Contribuyentes (empresas y personas con actividad comercial) |
PASAPORTE | Pasaporte (clientes extranjeros) |
CE | Carné de Extranjería (residentes extranjeros) |
Campos del Cliente
| Campo | Tipo | Requerido | Validación | Descripción |
|---|---|---|---|---|
nombres | String | ✅ | max=100 | Nombres del cliente |
apellidos | String | ✅ | max=100 | Apellidos del cliente |
tipoDoc | TipoDocumento | ✅ | enum | Tipo de documento: DNI, RUC, PASAPORTE, CE |
nroDoc | String | ✅ | max=20, único | Número de documento de identidad |
email | String | ⬜ | max=150 | Correo electrónico de contacto |
telefono | String | ⬜ | max=20 | Número de teléfono |
direccion | String | ⬜ | max=300 | Dirección postal |
activo | Boolean | — | default=true | Estado del registro (manejado por la API) |
Endpoints
Listar clientes activos
activo = true.
Respuesta 200 OK
Buscar clientes
nombres, apellidos y nroDoc. Útil para localizar un cliente rápidamente desde la pantalla de registro de ventas.
Término de búsqueda. Puede ser parte del nombre, apellido o número de documento.
200 OK: lista de clientes que coinciden con el término, en el mismo formato que el listado general.
Obtener cliente por ID
ID interno del cliente.
404 Not Found:
Crear cliente
200 OK: objeto Cliente creado con su id generado automáticamente.
Actualizar cliente
ID del cliente a actualizar.
POST. Todos los campos se sobrescriben con los valores enviados, incluido nroDoc (asegúrate de que el nuevo valor siga siendo único).
Respuesta 200 OK: objeto Cliente actualizado.
Eliminar cliente (baja lógica)
ID del cliente a desactivar.
activo = false. El cliente no se borra de la base de datos; su historial de ventas se preserva íntegramente. El cliente desaparecerá del listado general pero seguirá siendo referenciado en las ventas previas.
Respuesta 204 No Content — sin cuerpo.
Flujo de Registro de un Cliente
Buscar si ya existe
Antes de crear, usa
GET /api/clientes/buscar?q={nroDoc} para verificar que el documento no esté registrado y evitar duplicados.Elegir el tipo de documento
Selecciona el
tipoDoc correcto según la naturaleza del cliente: DNI para personas naturales, RUC para empresas.Crear el registro
Envía el
POST /api/clientes con los datos completos. Guarda el id retornado para vincularlo en futuras ventas.Respuestas de Error Comunes
| Código | Causa |
|---|---|
400 Bad Request | Validación fallida (campos requeridos vacíos, nroDoc duplicado) |
401 Unauthorized | Token JWT ausente, inválido o expirado |
404 Not Found | El id no existe en la base de datos |