Pipeline
API de Pipeline
Endpoints para la vista Kanban del pipeline. Devuelve todas las cotizaciones (sin paginación) con filtros opcionales para construir tableros de arrastrar y soltar agrupados por estado.
Listar Cotizaciones del Pipeline
GET /api/pipeline
Permiso: pipeline:view | Los colaboradores solo ven sus propias cotizaciones; los propietarios y administradores ven todas y pueden filtrar por vendedor.
Obtén todas las cotizaciones para la vista del pipeline con filtros opcionales.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| userId | string | No | Filtra por colaborador (solo propietario/administrador) |
| from | string | No | Fecha de inicio (ISO 8601, por ejemplo 2026-03-01) |
| to | string | No | Fecha de fin (ISO 8601) |
| minAmount | string | No | Monto total mínimo |
| maxAmount | string | No | Monto total máximo |
Response 200 OK:
{
"data": [
{
"id": "clxyz...",
"quoteNumber": 42,
"status": "SENT",
"subtotal": "15000.00",
"tax": "2400.00",
"total": "17900.00",
"createdAt": "2026-03-31T10:00:00.000Z",
"client": {
"contactName": "María López",
"companyName": "Distribuidora del Norte S.A."
},
"user": {
"name": "Carlos Méndez"
}
}
]
}Errores:
| Status | Error | Cuándo |
|---|---|---|
| 401 | "No autorizado" | Sesión ausente o inválida |
| 403 | "Sin permisos" | El rol no tiene pipeline:view |
Ejemplo con cURL:
curl -X GET "https://cotizera.com/api/pipeline?from=2026-03-01&to=2026-03-31&minAmount=10000" \
-H "Cookie: next-auth.session-token=YOUR_TOKEN"Listar Vendedores
GET /api/pipeline/vendors
Permiso: quotes:read_all (solo propietario/administrador)
Lista todos los usuarios activos (vendedores/colaboradores) del tenant. Se usa para llenar el filtro desplegable de vendedores en la vista del pipeline.
Response 200 OK:
{
"data": [
{ "id": "clxyz...", "name": "Carlos Méndez", "email": "carlos@empresa.mx" },
{ "id": "clxyz...", "name": "Ana Rodríguez", "email": "ana@empresa.mx" }
]
}Errores:
| Status | Error | Cuándo |
|---|---|---|
| 403 | "Sin permisos" | Los colaboradores no pueden acceder a este endpoint |