Skip to main content

Centros de Gestión

GET: Obtener centros de gestión

Descripción del API
Este endpoint permite listar los centros de gestión de una compañía. Si el usuario no tiene permisos para acceder a la compañía, se devolverá un error.

Método HTTP

GET /api/management-centers

Parámetros de entrada

AtributoRequeridoTipoDescripciónEjemplo
Sin parámetros de entrada

JSON de ejemplo (entrada)

{}

Parámetros de salida

AtributoTipoDescripciónEjemplo
idintegerIdentificador único del centro de gestión101
codestringCódigo del centro de gestión"MAT001"
namestringNombre del centro de gestión"Centro de Logística ABC"
team_idintegerID del equipo asociado2021
created_attimestampFecha y hora de creación"2024-01-15T09:00:00.000Z"
updated_attimestampFecha y hora de última actualización"2024-01-20T11:15:30.000Z"
deleted_attimestampFecha y hora de eliminaciónnull

JSON de ejemplo (salida)

  • Respuesta 200 OK:
[
{
"id": 101,
"code": "MAT001",
"name": "Centro de Logística ABC",
"team_id": 2021,
"created_at": "2024-01-15T09:00:00.000Z",
"updated_at": "2024-01-20T11:15:30.000Z",
"deleted_at": null
},
{
"id": 102,
"code": "MAT002",
"name": "Almacén de Productos XYZ",
"team_id": 2022,
"created_at": "2024-02-10T14:30:00.000Z",
"updated_at": "2024-02-15T16:45:00.000Z",
"deleted_at": null
},
{
"id": 103,
"code": "MAT003",
"name": "Centro de Distribución DEF",
"team_id": 2023,
"created_at": "2024-03-01T08:00:00.000Z",
"updated_at": "2024-03-05T10:10:00.000Z",
"deleted_at": null
}
]

POST: Crear un nuevo centro de costo

Descripción del API
Este endpoint permite crear un nuevo centro de costo en el sistema. Se debe enviar la información completa del centro de costo, como su nombre y código único (code). El sistema valida que el código (code) no esté ya registrado en otro centro de costo. Si el código ya existe, se devolverá un mensaje de error. Si la creación es exitosa, se devuelve un mensaje de éxito con el ID del centro de costo recién creado.

Método HTTP

POST /api/management-centers

Parámetros de entrada

AtributoRequeridoTipoDescripciónEjemplo
codeStringCódigo único que identifica el centro de costo."0001"
nameStringNombre del centro de costo."Prueba"
subcompany_idIntegerID de la subcompañía asociada.1

JSON de ejemplo

{
"code": "0001",
"name": "Prueba",
"subcompany_id": 1
}

Parámetros de salida

AtributoTipoDescripciónEjemplo
statusStringEstado de la operación, puede ser 'success' o 'error'.'success'
messageStringMensaje descriptivo del resultado de la operación.'Centro de costo creado exitosamente.'
idNumberID del centro de costo creado si la operación fue exitosa.1

JSON de ejemplo: Caso de éxito

{
"status": "success",
"message": "Centro de costo creado exitosamente.",
"id": 123
}

JSON de ejemplo: Caso de error (Código ya registrado)

{
"status": "error",
"message": "El código 0001 ya existe en este equipo.",
"id": 456
}

JSON de ejemplo: Caso de error (Subcompañía no encontrada)

{
"status": "error",
"message": "La subcompañía con ID 1 no existe para este equipo.",
"id": null
}

PUT: Actualizar un centro de costo existente

Descripción del API
Este endpoint permite actualizar un centro de costo existente en el sistema. Se debe enviar la información que se desea modificar, como el nombre y el código (code). El sistema valida que el código proporcionado no esté ya registrado en otro centro de costo dentro del mismo equipo. Si el código ya está siendo utilizado por otro centro de costo (y no es el mismo centro que se está actualizando), se devolverá un mensaje de error. Si la actualización es exitosa, se devuelve un mensaje de éxito con el ID del centro de costo actualizado.

Método HTTP

PUT /api/management-centers/{id}

Parámetros de entrada

AtributoRequeridoTipoDescripciónEjemplo
team_idNúmeroID del equipo al que pertenece el centro de costo.1
idNúmeroID del centro de costo a actualizar.1
codeNoStringCódigo único del centro de costo (solo si se desea modificarlo)."0001"
nameNoStringNombre del centro de costo (solo si se desea modificarlo)."Prueba Actualizado"
subcompany_idNoNúmeroID de la subcompañía asociada al centro de costo.2

JSON de ejemplo

{
"code": "0001",
"name": "Prueba Actualizado",
"subcompany_id": 1
}

Parámetros de salida

AtributoTipoDescripciónEjemplo
statusStringIndica el estado de la respuesta, puede ser success o error."success"
messageStringMensaje que proporciona información sobre el resultado."Centro de costo actualizado exitosamente."
idNúmeroID del centro de costo actualizado.1

JSON de ejemplo (caso de éxito)

{
"status": "success",
"message": "Centro de costo actualizado exitosamente.",
"id": 1
}

Casos de error

1. El centro de costo no fue encontrado para el equipo

Descripción
Este error ocurre cuando no se encuentra un centro de costo con el ID proporcionado para el equipo especificado.

JSON de ejemplo:

{
"status": "error",
"message": "Centro de gestión con ID 1 no encontrado para el equipo 1.",
"id": 1
}

2. El código del centro de costo ya existe en el equipo

Descripción
Este error ocurre cuando el código (code) enviado en la solicitud ya está registrado para otro centro de costo dentro del mismo equipo. Esto asegura que los códigos de los centros de costo sean únicos dentro de un equipo, para evitar duplicados.

JSON de ejemplo:

{
"status": "error",
"message": "El código 0001 ya existe en este equipo.",
"id": 1
}

3. La subcompañía con el ID proporcionado no existe en el equipo

Descripción
Este error ocurre cuando el subcompany_id enviado en la solicitud no está registrado en las compañías del equipo especificado. Esto asegura que solo se asocien centros de costo a subcompañías válidas dentro del mismo equipo.

JSON de ejemplo:

{
"status": "error",
"message": "La subcompañía con ID 2 no existe en este equipo.",
"id": null
}

DELETE: Eliminar un centro de costo

Este endpoint permite eliminar un centro de costo del sistema. Se debe proporcionar el id del centro de costo y el team_id correspondiente. El sistema valida que el centro de costo con el id proporcionado exista para el equipo. Si el centro de costo no existe, se devuelve un mensaje de error. Si la eliminación es exitosa, se devuelve un mensaje de éxito con el id del centro de costo eliminado.

Método HTTP

DELETE /api/management-centers/{id}

Parámetros de Entrada

AtributoRequeridoTipoDescripciónEjemplo
idNúmeroID de la empresa que se desea eliminar.123

JSON de Ejemplo

{}

Parámetros de Salida

AtributoTipoDescripciónEjemplo
statusCadenaEstado de la operación (success o error)."success"
messageCadenaMensaje que describe el resultado de la operación."Empresa eliminada exitosamente."
idNúmeroID del centro de cost que fue eliminada o null en caso de error.123

JSON de Ejemplo (caso de exito)

{
"status": "success",
"message": "Centro de gestión con ID 1 no encontrado para el equipo 2",
"id": 123
}

Caso de error: Centro de costo no encontrado

Descripción
Si el centro de costo no se encuentra para el equipo proporcionado, se devuelve un mensaje de error con los detalles correspondientes:

JSON de ejemplo:

{
"status": "error",
"message": "Centro de gestión con ID 1 no encontrado para el equipo 2",
"id": 1
}