Skip to main content

Cotizador

note

This page is generated automatically. Do not edit it by hand: fix the source and regenerate. Sources: nopal-plugin.json, plugin code and plugin_catalog.json (nopal-plugin-cotizador@cb06264, nopal@d6d86a5).

Calcula el costo estimado de trabajos de impresión 3D, láser o CNC y genera cotizaciones listas para enviar.

Summary​

FieldValue
idcotizador
Version (manifest)1.1.0
Maturitystable (≥ 1.0)
CategoryProducción
PublisherNOPAL Labs
CompatibilityImpresión 3D, Láser, CNC
Minimum Python (python_requires)no own requirement (inherits the core's)
Backendbackend/router.py
UIfrontend/cotizador.js · section pricing
Repositorynopal-plugin-cotizador
Own testsNo
Own docs/ folderYes

Declared permissions​

These are informational text for whoever installs the plugin. NOPAL does not enforce them as a permission system: the plugin runs inside the NOPAL process with its same privileges.

  • Leer archivos de la biblioteca
  • Guardar catálogos de materiales y máquinas
  • Guardar el historial de cotizaciones

Plugin API​

Route prefix(es): /api/pricing, /cotizador/print · 18 routes (Session (admin or operator): 18; Admin only: 0; Public: 0).

MethodRouteAccessPolicyDescription
GET/api/pricing/machinesSession (admin or operator)—Catálogo de perfiles de costo por máquina (nombre, watts, tarifa/hora) — no son los dispositivos reales del registro de impresoras/láser/CN…
POST/api/pricing/machinesSession (admin or operator)——
POST/api/pricing/machines/removeSession (admin or operator)——
GET/api/pricing/materialsSession (admin or operator)—Catálogo de materiales (filamento/lámina/consumible) para el cotizador.
POST/api/pricing/materialsSession (admin or operator)—Da de alta o edita (si se manda id) un material. config es un JSON con los campos específicos del tipo — filamento: density_g_cm3, diam…
POST/api/pricing/materials/removeSession (admin or operator)——
POST/api/pricing/quoteSession (admin or operator)—Cotiza un archivo ya subido (modelo/gcode) contra un material del catálogo. Sin async a propósito: la extracción de filamento (metadata +…
GET/api/pricing/quotesSession (admin or operator)—Historial de cotizaciones guardadas, para la tabla de 'Cotizaciones recientes' — más nuevas primero.
POST/api/pricing/quotesSession (admin or operator)—Guarda una cotización ya calculada (el JSON completo que devolvió /api/pricing/quote, más los campos de encabezado que arma el frontend: cl…
GET/api/pricing/quotes/{quote_id}Session (admin or operator)——
PUT/api/pricing/quotes/{quote_id}Session (admin or operator)——
DELETE/api/pricing/quotes/{quote_id}Session (admin or operator)——
GET/api/pricing/quotes/{quote_id}/pdfSession (admin or operator)—PDF real de la cotización (tabla de costos, no una captura de la página) — download=true fuerza que el navegador lo baje en vez de mostra…
POST/api/pricing/quotes/{quote_id}/statusSession (admin or operator)—'Enviar cotización' desde la UI solo llama esto con status='sent' — no manda ningún correo real, no hay SMTP configurado en el proyecto.
GET/api/pricing/quotes/{quote_id}/whatsapp-linkSession (admin or operator)—Devuelve el mensaje (default, o el mensaje personal configurado en Ajustes, o el message que mande el frontend ya editado) y la URL wa.me…
GET/api/pricing/settingsSession (admin or operator)——
POST/api/pricing/settingsSession (admin or operator)—Ajustes globales del cotizador. machine_watts_default y margin son JSON (ej. {"printer": 250, "laser": 150, "cnc": 800} y `{"mode": "…
GET/cotizador/print/{quote_id}Session (admin or operator)—Vista imprimible de una cotización guardada — el usuario la exporta a PDF con el diálogo nativo del navegador (Ctrl+P). No hay librería de…

Verified notes​

  • Its UI section is named pricing, different from the plugin id (cotizador). (evidence: nopal-plugin-cotizador/nopal-plugin.json)

More information​