feat: automatización de cotizaciones, contratos, actas y cuentas de cobro con IA
Implementa las 4 fases de la especificación de automatización: módulo de plantillas/tarifas editable por el equipo, generación de PDF (HTML+JS vía Chrome headless) para cotizaciones/contratos/arquitecturas/cuentas de cobro, chat propio en el dashboard reutilizando el mismo motor y tools del bot de Telegram, y nuevas tools del agente para crear estos documentos end-to-end. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
772a4a5656
commit
516220a8a1
@@ -143,6 +143,7 @@ func AdminApiSpec(c *fiber.Ctx) error {
|
||||
{"method": "GET", "path": "/api/v2/contratos/:id/historial", "desc": "Historial del contrato"},
|
||||
{"method": "POST", "path": "/api/v2/contratos/:id/verificar-pago", "desc": "Verificar pago Bold"},
|
||||
{"method": "POST", "path": "/api/v2/contratos/:id/marcar-pagado", "desc": "Marcar pago manual"},
|
||||
{"method": "POST", "path": "/api/v2/contratos/:id/generar-documento", "desc": "Genera el PDF del contrato (cláusulas estándar) desde la plantilla activa tipo 'contrato'"},
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -290,6 +291,7 @@ func AdminApiSpec(c *fiber.Ctx) error {
|
||||
{"method": "POST", "path": "/api/v2/contabilidad/cuentas-cobro", "desc": "Crear cuenta por cobrar", "body": "cliente_id, descripcion, valor, fecha, fecha_vencimiento, notas"},
|
||||
{"method": "PUT", "path": "/api/v2/contabilidad/cuentas-cobro/:id", "desc": "Actualizar cuenta por cobrar"},
|
||||
{"method": "DELETE", "path": "/api/v2/contabilidad/cuentas-cobro/:id", "desc": "Eliminar cuenta por cobrar"},
|
||||
{"method": "POST", "path": "/api/v2/contabilidad/cuentas-cobro/:id/generar-documento", "desc": "Genera el PDF de solicitud de cuenta de cobro desde la plantilla activa tipo 'cuenta_cobro'"},
|
||||
{"method": "GET", "path": "/api/v2/contabilidad/cuentas-pagar", "desc": "Listar cuentas por pagar. Query: ?page=&search=&estado="},
|
||||
{"method": "POST", "path": "/api/v2/contabilidad/cuentas-pagar", "desc": "Crear cuenta por pagar", "body": "entidad_id, descripcion, valor, fecha, vencimiento, notas"},
|
||||
{"method": "PUT", "path": "/api/v2/contabilidad/cuentas-pagar/:id", "desc": "Actualizar cuenta por pagar"},
|
||||
@@ -494,6 +496,45 @@ func AdminApiSpec(c *fiber.Ctx) error {
|
||||
{"method": "GET", "path": "/api/v2/vcard-api/miniwebs", "desc": "Listar miniwebs"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nombre": "Automatización IA: Plantillas de documento",
|
||||
"endpoints": []fiber.Map{
|
||||
{"method": "GET", "path": "/api/v2/plantillas-documento", "desc": "Listar plantillas. Query: ?tipo=cotizacion|contrato|acta|cuenta_cobro&search="},
|
||||
{"method": "GET", "path": "/api/v2/plantillas-documento/:id", "desc": "Detalle de una plantilla"},
|
||||
{"method": "POST", "path": "/api/v2/plantillas-documento", "desc": "Crear plantilla", "body": "tipo, nombre, contenido_html, version, activa"},
|
||||
{"method": "PUT", "path": "/api/v2/plantillas-documento/:id", "desc": "Actualizar plantilla"},
|
||||
{"method": "DELETE", "path": "/api/v2/plantillas-documento/:id", "desc": "Eliminar plantilla"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nombre": "Automatización IA: Tarifas",
|
||||
"endpoints": []fiber.Map{
|
||||
{"method": "GET", "path": "/api/v2/tarifas", "desc": "Listar tarifas. Query: ?categoria=hora_servicio|licencia|vm_azure|margen|otro&search="},
|
||||
{"method": "POST", "path": "/api/v2/tarifas", "desc": "Crear tarifa", "body": "categoria, nombre, valor, moneda, unidad, notas"},
|
||||
{"method": "PUT", "path": "/api/v2/tarifas/:id", "desc": "Actualizar tarifa"},
|
||||
{"method": "DELETE", "path": "/api/v2/tarifas/:id", "desc": "Eliminar tarifa"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nombre": "Automatización IA: Arquitecturas",
|
||||
"endpoints": []fiber.Map{
|
||||
{"method": "GET", "path": "/api/v2/arquitecturas", "desc": "Listar patrones de arquitectura de referencia. Query: ?search=&solo_referencias=true"},
|
||||
{"method": "POST", "path": "/api/v2/arquitecturas", "desc": "Genera el PDF de una propuesta técnica ya redactada", "body": "requerimiento, propuesta, nombre, cliente_id, guardar_como_referencia"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nombre": "Automatización IA: Cotizaciones",
|
||||
"endpoints": []fiber.Map{
|
||||
{"method": "POST", "path": "/api/v2/cotizaciones", "desc": "Genera el PDF de una cotización desde la plantilla activa. Consultar /api/v2/tarifas antes para calcular los items", "body": "cliente_id, alcance, tipo_proyecto, items: [{descripcion, cantidad, valor_unitario, unidad}]"},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nombre": "Automatización IA: Historial de documentos generados",
|
||||
"endpoints": []fiber.Map{
|
||||
{"method": "GET", "path": "/api/v2/documentos-generados", "desc": "Historial de documentos generados. Query: ?tipo=&cliente_id="},
|
||||
{"method": "GET", "path": "/api/v2/documentos-generados/:id/download", "desc": "Descargar el PDF generado"},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
return c.JSON(spec)
|
||||
|
||||
Reference in New Issue
Block a user