Endpoints / Proforma

GET

Listar proformas

Lista proformas de forma paginada, con búsqueda por identificador o cliente y filtro por estado, dentro de la empresa del usuario autenticado.

GET/proformas

Caso de Uso

Se usa cuando la aplicación necesita mostrar una tabla de proformas, buscar por identificador o por nombre e identificación del cliente, o filtrar por estado documental. Al usarlo, el usuario obtiene una página de resultados con el conteo total, donde cada proforma incluye su estructura completa con emisor, receptor, detalle, totales y documento PDF.

Autenticación

Requiere token JWT en el header `Authorization: Bearer <token>`. Permite acceso a usuarios con rol jefe o empleado. La empresa y el usuario autenticado deben estar activos.

Parámetros de ruta

Este endpoint no recibe parámetros de ruta.

Query params

pagestringobligatorio

Número de página. Debe ser un entero positivo.

pageSizestringobligatorio

Cantidad de registros por página. Debe ser un entero positivo.

searchstring opcional

Texto opcional para buscar por prfmaidentificador, clntenombre o clnteidentificacion.

statusstring opcional

Estado de la proforma. Solo acepta emitida, pagada o anulada.

Body

No aplica.

Reglas de negocio

1

Solo un usuario con rol jefe o empleado puede listar proformas.

2

Solo permite listar proformas de la empresa del usuario autenticado.

3

La empresa del usuario autenticado debe estar activa.

4

El usuario autenticado debe estar activo.

5

page y pageSize son obligatorios y deben ser enteros positivos.

6

Si se envía status, solo acepta emitida, pagada o anulada.

7

search busca coincidencias parciales en prfmaidentificador, clntenombre y clnteidentificacion.

8

El listado se ordena por fecha de registro descendente.

9

Cada elemento del listado devuelve la estructura completa de la proforma, no un resumen.

Errores esperados

401No autorizado

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

400La búsqueda debe ser un texto

El query param search fue enviado como arreglo en lugar de texto.

400El estado debe ser un texto

El query param status fue enviado como arreglo en lugar de texto.

400El estado debe ser emitida, pagada o anulada

El query param status tiene un valor distinto de emitida, pagada o anulada.

500La página debe ser un entero positivo

page no es un entero positivo o no fue enviado.

500El tamaño de página debe ser un entero positivo

pageSize no es un entero positivo o no fue enviado.

500La empresa no existe

La empresa asociada al usuario autenticado no fue encontrada.

500La empresa no está activa

La empresa asociada al usuario autenticado 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 está activo

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

500El usuario no es jefe o empleado

El usuario autenticado no tiene un rol permitido para listar proformas.

Notas de uso

1

search y status son query params opcionales.

2

Si no hay resultados para la página solicitada, items se devuelve como arreglo vacío.

3

Cada elemento del listado devuelve la proforma completa, no un resumen corto.

4

El listado está restringido a la empresa del usuario autenticado.