Endpoints / Empresas
Listar empresas
Lista empresas hijas de forma paginada, con búsqueda por texto y filtro por estado, para administración central.
/companiesCaso de Uso
Se usa cuando un administrador necesita consultar el listado de empresas hijas registradas en el sistema, aplicar búsqueda por razón social, RUC, correo o código, o filtrar por estado. Al usarlo, el usuario obtiene una página de resultados con el conteo total de empresas.
Autenticación
Requiere token JWT en el header `Authorization: Bearer <token>`. Solo permite acceso a usuarios con rol administrador. La empresa del usuario autenticado debe estar activa y ser empresa padre.
Parámetros de ruta
Este endpoint no recibe parámetros de ruta.
Query params
pagestringobligatorioNúmero de página. Debe ser un entero positivo.
pageSizestringobligatorioCantidad de registros por página. Debe ser un entero positivo.
searchstring opcionalTexto opcional para buscar por razón social, RUC, correo o código.
statusstring opcionalEstado de la empresa. Solo acepta activo o inactivo.
Body
No aplica.
Reglas de negocio
Solo un usuario con rol administrador puede listar empresas.
La empresa del usuario autenticado debe ser empresa padre.
La empresa del usuario autenticado debe estar activa.
El usuario autenticado debe estar activo.
page y pageSize son obligatorios y deben ser enteros positivos.
Solo lista empresas con empadre = false (empresas hijas).
Si no se envía status, se excluyen las empresas con estado eliminado.
Si se envía status, solo acepta activo o inactivo.
search busca coincidencias parciales en razón social, RUC, correo y código.
El backend transforma emlogo a una URL pública completa.
Errores esperados
No se envió un token JWT válido o el token no contiene información válida del usuario.
El query param search fue enviado como arreglo en lugar de texto.
El query param status fue enviado como arreglo en lugar de texto.
El query param status tiene un valor distinto de activo o inactivo.
page no es un entero positivo o no fue enviado.
pageSize no es un entero positivo o no fue enviado.
La empresa asociada al usuario autenticado no fue encontrada.
La empresa asociada al usuario autenticado está inactiva.
La empresa del usuario autenticado no es empresa padre.
El usuario autenticado no fue encontrado dentro de su empresa.
El usuario autenticado no pertenece a la empresa indicada por su sesión.
El usuario autenticado no tiene el rol requerido para listar empresas.
El usuario autenticado está inactivo y no puede usar el sistema.
Notas de uso
search y status son query params opcionales.
Si no hay resultados para la página solicitada, items se devuelve como arreglo vacío.
El campo emlogo se devuelve como URL pública completa, lista para usar en etiquetas <img>.