Ir al contenido

Cambiar Estado de Persona

Endpoint para cambiar el estado (activo/inactivo) de una persona en el sistema TitanicSoft. Permite activar o suspender personas (Cliente, Proveedor o Personal) sin eliminarlas de la base de datos.

Endpoint: /api/persona/estado

  • PUT - Para cambiar el estado de la persona (activo o inactivo)

{
"fl_proveedor": 0,
"fl_personal": 1,
"fl_cliente": 1,
"cliente_synergy_id": "1234",
"activo": 1
}

AtributoValor EsperadoTipo de datoRequisitoLongitud
fl_proveedor0 = no es proveedor
1 = es proveedor
Integerobligatorio1 exacto
fl_personal0 = no es personal
1 = es personal
Integerobligatorio1 exacto
fl_cliente0 = no es cliente
1 = es cliente
Integerobligatorio1 exacto
cliente_synergy_idIdentificador único de la persona en SynergyStringobligatorio1 hasta 30
activo0 = Inactivo/Suspendido
1 = Activo
Integerobligatorio1 exacto

Nota:

  • Al menos uno de los flags (fl_cliente, fl_proveedor, fl_personal) debe ser 1.
  • El campo activo también acepta valores booleanos (true/false) y strings ("true"/"false", "0"/"1") que se normalizan automáticamente.

{
"codigo_http": 201,
"estado": "Actualizado",
"titanic_id": 123,
"mensaje": "La persona se actualizo correctamente"
}

Escenario: Se utiliza un método diferente a PUT

{
"codigo_http": 405,
"estado": "method_not_allowed",
"mensaje": "Método no permitido"
}

2. Error de Validación de Campos - Código 400

Sección titulada «2. Error de Validación de Campos - Código 400»

Escenario: Los datos enviados no cumplen con las reglas de validación

Ejemplo 1: Campo requerido faltante

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Error en la validación",
"detalles": {
"cliente_synergy_id": "El campo cliente_synergy_id es requerido",
"activo": "El campo activo es requerido"
}
}

Ejemplo 2: Valor de ‘activo’ inválido

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Error en la validación",
"detalles": {
"activo": "El campo activo debe ser 0 o 1"
}
}

3. Al Menos Un Flag Debe Ser 1 - Código 400

Sección titulada «3. Al Menos Un Flag Debe Ser 1 - Código 400»

Escenario: Todos los flags (fl_cliente, fl_proveedor, fl_personal) son 0

{
"codigo_http": 400,
"estado": "validation_error",
"mensaje": "Al menos uno de los flags (fl_cliente, fl_proveedor, fl_personal) debe ser 1"
}

Escenario: No se encontró la persona con el cliente_synergy_id proporcionado

{
"codigo_http": 404,
"estado": "not_found",
"mensaje": "Persona no encontrada con el cliente_synergy_id proporcionado"
}