Endpoints / Clientes

POST

Crear cliente

Crea un nuevo cliente dentro de la empresa indicada.

POST/clients

Caso de Uso

Se usa cuando la aplicación necesita registrar un cliente para ventas, proformas u otros procesos comerciales. Al usarlo, el usuario obtiene el cliente creado con sus datos de identificación, contacto, estado y fecha de registro.

Autenticación

Requiere token JWT en el header `Authorization: Bearer <token>`.

Parámetros de ruta

Este endpoint no recibe parámetros de ruta.

Body

clnteemidstringobligatorio

Identificador de la empresa a la que pertenecerá el cliente.

clntetipoidentificacionstringobligatorio

Tipo de identificación del cliente; acepta cedula o ruc.

clnteidentificacionstringobligatorio

Número de identificación válido según clntetipoidentificacion.

clntenombrestringobligatorio

Nombre del cliente.

clntecorreostringobligatorio

Correo electrónico válido del cliente.

clntedireccionstringobligatorio

Dirección del cliente.

clntetelefonostringobligatorio

Teléfono móvil válido de 10 dígitos.

Reglas de negocio

1

Solo permite crear clientes en la misma empresa del usuario autenticado.

2

La empresa del usuario autenticado debe estar activa.

3

El usuario autenticado debe estar activo.

4

El usuario autenticado debe tener rol jefe o empleado.

5

Todos los campos del body son obligatorios.

6

clntetipoidentificacion solo acepta cedula o ruc.

7

Si clntetipoidentificacion es cedula, clnteidentificacion debe tener 10 dígitos.

8

Si clntetipoidentificacion es ruc, clnteidentificacion debe tener 13 dígitos.

9

clntecorreo debe tener formato de correo válido.

10

clntetelefono debe ser un número móvil válido de 10 dígitos.

11

clnteidentificacion no puede repetirse dentro de la misma empresa.

12

clntecorreo no puede repetirse dentro de la misma empresa.

13

El cliente se crea con estado activo.

Errores esperados

401No autorizado

No se envió un token JWT válido o el token no contiene información válida del usuario.

500El id de empresa es requerido

No se envió clnteemid o se envió vacío.

500El tipo de identificación de cliente es requerido

No se envió clntetipoidentificacion o se envió vacío.

500El tipo de identificación debe ser cedula o ruc

clntetipoidentificacion tiene un valor distinto de cedula o ruc.

500La identificación de cliente es requerida

No se envió clnteidentificacion o se envió vacío.

500La identificación debe ser válida para el tipo seleccionado

clnteidentificacion no cumple el formato requerido para cedula o ruc.

500El nombre de cliente es requerido

No se envió clntenombre o se envió vacío.

500El correo de cliente es requerido

No se envió clntecorreo o se envió vacío.

500El correo de cliente debe ser válido

clntecorreo no tiene formato de correo válido.

500La dirección de cliente es requerida

No se envió clntedireccion o se envió vacía.

500El teléfono de cliente es requerido

No se envió clntetelefono o se envió vacío.

500El teléfono de cliente debe ser válido

clntetelefono no cumple el formato de teléfono móvil requerido.

500La empresa no existe

La empresa indicada en clnteemid o la empresa del usuario autenticado no fue encontrada.

500La empresa no está activa

La empresa asociada a la solicitud está inactiva.

500El usuario no existe

El usuario autenticado no fue encontrado dentro de su empresa.

500El usuario no pertenece a la empresa

El usuario autenticado no pertenece a la empresa indicada por su sesión.

500El usuario no puede acceder a otra empresa

clnteemid pertenece a una empresa distinta a la del usuario autenticado.

500El usuario no es jefe, empleado o administrador

El rol del usuario no está permitido para acceder al módulo de clientes.

500El usuario no es jefe o empleado

El usuario autenticado no tiene un rol permitido para crear clientes.

500El usuario no está activo

El usuario autenticado está inactivo y no puede usar el sistema.

500Ya existe un cliente con esa identificación

Ya hay un cliente registrado con la misma clnteidentificacion dentro de la empresa.

500Ya existe un cliente con ese correo

Ya hay un cliente registrado con el mismo clntecorreo dentro de la empresa.

500Error saving client

Ocurrió un error interno al guardar el cliente.

500El cliente no fue creado

El cliente fue guardado, pero no pudo consultarse para devolver la respuesta.

Notas de uso

1

Este endpoint no recibe parámetros de ruta.

2

Envía el body en formato JSON con el header Content-Type: application/json.

3

Envía identificaciones y teléfonos como texto para conservar ceros iniciales.

4

Todos los campos son obligatorios en la creación.

5

La validación de clnteidentificacion depende de clntetipoidentificacion.

6

La respuesta devuelve los datos guardados del cliente creado.