GET /api/clientes
Lista todos los clientes de la empresa activa.Autenticación
Requiere autenticación con token Bearer y permisoclientes.view.
Parámetros de Consulta
Término de búsqueda (busca en documento, nombre, email, teléfono)
Respuesta
Indica si la operación fue exitosa
Lista de clientes
Ejemplo de Uso
POST /api/clientes
Crea un nuevo cliente.Autenticación
Requiere autenticación con token Bearer y permisoclientes.create.
Parámetros del Body
DNI o RUC del cliente (máximo 11 caracteres). Debe ser único por empresa.
Nombre o razón social (máximo 245 caracteres)
Dirección principal (máximo 245 caracteres)
Dirección secundaria (máximo 220 caracteres)
Teléfono principal (máximo 200 caracteres)
Teléfono secundario (máximo 200 caracteres)
Correo electrónico (formato válido, máximo 200 caracteres)
ID de la empresa a la que pertenece el cliente
Código ubigeo de 6 dígitos
Nombre del departamento (máximo 100 caracteres)
Nombre de la provincia (máximo 100 caracteres)
Nombre del distrito (máximo 100 caracteres)
Respuesta
Indica si el cliente fue creado exitosamente
Mensaje confirmando la creación
Cliente creado con sus relaciones
Ejemplo de Uso
GET /api/clientes/
Obtiene el detalle de un cliente específico.Autenticación
Requiere autenticación con token Bearer y permisoclientes.view.
Parámetros de Ruta
ID del cliente
Respuesta
Indica si la operación fue exitosa
Cliente con sus relaciones (empresa, ventas)
Ejemplo de Uso
PUT /api/clientes/
Actualiza un cliente existente.Autenticación
Requiere autenticación con token Bearer y permisoclientes.edit.
Parámetros de Ruta
ID del cliente
Parámetros del Body
Los mismos que en POST (todos opcionales). El documento debe seguir siendo único por empresa.Respuesta
Indica si la actualización fue exitosa
Mensaje confirmando la actualización
Cliente actualizado
Ejemplo de Uso
DELETE /api/clientes/
Elimina un cliente.Autenticación
Requiere autenticación con token Bearer y permisoclientes.delete.
Parámetros de Ruta
ID del cliente
Validación
No se puede eliminar un cliente que tiene ventas asociadas. En ese caso, retorna error 409 (Conflict).Respuesta
Indica si la eliminación fue exitosa
Mensaje confirmando la eliminación o indicando el conflicto
Ejemplo de Uso
POST /api/clientes/buscar-documento
Busca un cliente por número de documento.Autenticación
Requiere autenticación con token Bearer.Parámetros del Body
Número de documento a buscar
ID de la empresa donde buscar
Respuesta
Indica si se encontró el cliente
Cliente encontrado (si existe)
Mensaje indicando si no se encontró
Ejemplo de Uso
Códigos de Error
- 404 Not Found: Cliente no encontrado.
- 409 Conflict: No se puede eliminar porque tiene ventas asociadas.
- 422 Unprocessable Entity: Error de validación (documento duplicado, email inválido, etc.).
- 500 Internal Server Error: Error en el servidor.
Notas Importantes
- El documento debe ser único por empresa. No puede haber dos clientes con el mismo documento en la misma empresa.
- Los clientes se crean automáticamente al registrar una venta si no existen.
- Los campos
ultima_ventaytotal_ventase calculan dinámicamente desde la tabla ventas. - Solo se pueden eliminar clientes sin ventas asociadas.
- Todos los clientes están asociados a una empresa específica.