# execution_data

workflowData:
  {"id":"GrlbAlb3HwTYVVUp","name":"Generador Presupuesto PDFMunk (Final)","active":false,"nodes":[{"parameters":{"multipleMethods":false,"httpMethod":"POST","path":"generar-presupuesto-pro","authentication":"none","responseMode":"onReceived","responseCode":200,"contentTypeNotice":"","options":{}},"id":"ca0bbb28-f429-44c7-9d39-997131f9ad1c","name":"Webhook Presupuesto","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[-848,112],"webhookId":"generar-presupuesto-pro"},{"parameters":{"mode":"runOnceForAllItems","language":"javaScript","jsCode":"// Calculamos fechas y ID\nconst now = $now;\nconst validityDate = $now.plus({ days: 30 });\nconst presupuestoID = Math.floor(Math.random() * 90000) + 10000;\n\n// Separamos el precio del nombre del plan\nconst planParts = $json.body.plan_detalle.split('-');\nconst planNombre = planParts[0].trim();\nconst planPrecio = planParts[1] ? planParts[1].trim() : 'A consultar';\n\n// Convertimos la lista de cursos en un array limpio\nconst cursosArray = $json.body.cursos ? $json.body.cursos.split(', ') : [];\nconst cursosHTML = cursosArray.map(c => `• ${c}`).join('<br>');\n\nreturn {\n  fecha_emision: now.toFormat('dd/MM/yyyy'),\n  fecha_validez: validityDate.toFormat('dd/MM/yyyy'),\n  id_unico: presupuestoID,\n  plan_nombre: planNombre,\n  plan_precio: planPrecio,\n  cursos_html: cursosHTML\n};","notice":""},"id":"c8b1f2e4-dfec-4cf8-84ff-4224ba5be221","name":"Calcular Fechas","type":"n8n-nodes-base.code","typeVersion":2,"position":[-640,112]},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"POST","url":"https://pdfmunk.com/api/v1/generatePdf","authentication":"none","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"keypair","headerParameters":{"parameters":[{"name":"Authorization","value":"pdfmunk_e0a146ce081b4303a2245d95bdfe9323"}]},"sendBody":true,"contentType":"json","specifyBody":"keypair","bodyParameters":{"parameters":[{"name":"html","value":"={{ \n`<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${$json.fecha_emision}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${$json.fecha_validez}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${$json.id_unico}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit ? $json.body.cuit : 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${$json.plan_nombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${$json.plan_precio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${$json.cursos_html}\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>` \n}}"}]},"options":{},"infoMessage":""},"id":"5c1e8545-1545-4ef6-b7af-f3bc6e9b3e32","name":"Generar en PDFMunk","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[-416,112],"notesInFlow":true,"notes":"⚠️ PEGA TU API KEY EN 'AUTHORIZATION'"},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"GET","url":"={{ $json.url }}","authentication":"none","provideSslCertificates":false,"sendQuery":false,"sendHeaders":false,"sendBody":false,"options":{"response":{"response":{"fullResponse":false,"neverError":false,"responseFormat":"file","outputPropertyName":"data"}}},"infoMessage":""},"id":"847bb515-f0b4-4d6f-98bc-485b70b972dc","name":"Descargar PDF (Buffer)","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[-224,112]},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@info.excelcertify.com","toEmail":"={{ $json.body.email_responsable + ', victorrcolussi@gmail.com' }}","subject":"📄 Presupuesto Formal (Válido 30 días) - ExcelCertify","emailFormat":"html","html":"={{ '<p>Hola <strong>' + $json.body.nombre_reserva + '</strong>,</p><p>Adjunto encontrarás el presupuesto formal solicitado para <strong>' + $json.body.empresa + '</strong>.</p><ul><li><strong>Presupuesto N°:</strong> PRE-26-' + $json.id_unico + '</li><li><strong>Válido hasta:</strong> ' + $json.fecha_validez + '</li></ul><p>Quedamos a tu disposición para cualquier consulta.</p><p>Saludos,<br>El equipo de ExcelCertify.</p>' }}","options":{}},"id":"6ea0db06-e866-4314-b2b5-a469733633d4","name":"Enviar Email con PDF","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[0,0],"webhookId":"f283c4ea-e733-42aa-9ca1-cc8c1ec63dbe","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"generalNotice":"","respondWith":"binary","responseDataSource":"setBody","options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/pdf"},{"name":"Content-Disposition","value":"={{ 'attachment; filename=Presupuesto_ExcelCertify_PRE-26-' + $json.id_unico + '.pdf' }}"}]}}},"id":"d5963828-816b-4945-8402-fdd3577f5803","name":"Entregar PDF","type":"n8n-nodes-base.respondToWebhook","typeVersion":1,"position":[0,208]}],"connections":{"Webhook Presupuesto":{"main":[[{"node":"Calcular Fechas","type":"main","index":0}]]},"Calcular Fechas":{"main":[[{"node":"Generar en PDFMunk","type":"main","index":0}]]},"Generar en PDFMunk":{"main":[[{"node":"Descargar PDF (Buffer)","type":"main","index":0}]]},"Descargar PDF (Buffer)":{"main":[[{"node":"Enviar Email con PDF","type":"main","index":0},{"node":"Entregar PDF","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"pinData":{}}

data:
  [{"startData":"1","resultData":"2","executionData":"3"},{"destinationNode":"4","runNodeFilter":"5"},{"runData":"6","pinData":"7","lastNodeExecuted":"4","error":"8"},{"contextData":"9","nodeExecutionStack":"10","metadata":"11","waitingExecution":"12","waitingExecutionSource":"13"},"Generar en PDFMunk",["14","15","4"],{"Webhook Presupuesto":"16","Calcular Fechas":"17","Generar en PDFMunk":"18"},{},{"level":"19","tags":"20","description":"21","timestamp":1767631661536,"context":"22","functionality":"23","name":"24","node":"25","messages":"26","httpCode":"27","message":"28","stack":"29"},{},["30"],{},{},{},"Webhook Presupuesto","Calcular Fechas",["31"],["32"],["33"],"warning",{},"API key required",{"itemIndex":0,"request":"34"},"regular","NodeApiError",{"parameters":"35","id":"36","name":"4","type":"37","typeVersion":4.1,"position":"38","notesInFlow":true,"notes":"39"},["40"],"401","Authorization failed - please check your credentials","NodeApiError: Authorization failed - please check your credentials\n    at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:858:16)\n    at processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1093:8)\n    at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1274:11)\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1708:27\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2324:11",{"node":"41","data":"42","source":"43"},{"startTime":1767631372424,"executionIndex":0,"source":"44","hints":"45","executionTime":1,"executionStatus":"46","data":"47"},{"startTime":1767631372425,"executionIndex":1,"source":"48","hints":"49","executionTime":409,"executionStatus":"46","data":"50"},{"startTime":1767631661165,"executionIndex":2,"source":"51","hints":"52","executionTime":372,"executionStatus":"53","error":"54"},{"body":"55","headers":"56","method":"57","uri":"58","gzip":true,"rejectUnauthorized":true,"followRedirect":true,"resolveWithFullResponse":true,"followAllRedirects":true,"timeout":300000,"encoding":null,"json":false,"useStream":true},{"preBuiltAgentsCalloutHttpRequest":"59","curlImport":"59","method":"57","url":"58","authentication":"60","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"61","headerParameters":"62","sendBody":true,"contentType":"63","specifyBody":"61","bodyParameters":"64","options":"65","infoMessage":"59"},"5c1e8545-1545-4ef6-b7af-f3bc6e9b3e32","n8n-nodes-base.httpRequest",[-416,112],"⚠️ PEGA TU API KEY EN 'AUTHORIZATION'","401 - \"{\\\"error\\\":\\\"API key required\\\"}\\n\"",{"parameters":"66","id":"36","name":"4","type":"37","typeVersion":4.1,"position":"67","notesInFlow":true,"notes":"39"},{"main":"68"},{"main":"51"},[],[],"success",{"main":"69"},["70"],[],{"main":"71"},["72"],[],"error",{"level":"19","tags":"20","description":"21","timestamp":1767631661536,"context":"22","functionality":"23","name":"24","node":"25","messages":"26","httpCode":"27","message":"28","stack":"29"},{},{"authorization":"73","accept":"74"},"POST","https://pdfmunk.com/api/v1/generatePdf","","none","keypair",{"parameters":"75"},"json",{"parameters":"76"},{},{"preBuiltAgentsCalloutHttpRequest":"59","curlImport":"59","method":"57","url":"58","authentication":"60","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"61","headerParameters":"77","sendBody":true,"contentType":"63","specifyBody":"61","bodyParameters":"78","options":"79","infoMessage":"59"},[-416,112],["80"],["81"],{"previousNode":"14"},["82"],{"previousNode":"15","previousNodeOutput":0,"previousNodeRun":0},"**hidden**","application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7",["83"],["84"],{"parameters":"85"},{"parameters":"86"},{},["87"],["88"],["89"],{"name":"90","value":"91"},{"name":"92","value":"93"},["94"],["95"],{"json":"96","pairedItem":"97"},{"json":"98","pairedItem":"99"},{"json":"96","pairedItem":"100"},"Authorization","pdfmunk_e0a146ce081b4303a2245d95bdfe9323","html","={{ \n`<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${$json.fecha_emision}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${$json.fecha_validez}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${$json.id_unico}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit ? $json.body.cuit : 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${$json.plan_nombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${$json.plan_precio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${$json.cursos_html}\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>` \n}}",{"name":"90","value":"91"},{"name":"92","value":"93"},{"fecha_emision":"101","fecha_validez":"102","id_unico":91404,"plan_nombre":"103","plan_precio":"104","cursos_html":"105"},{"item":0},{"headers":"106","params":"107","query":"108","body":"109","webhookUrl":"110","executionMode":"111"},{"item":0},{"item":0},"05/01/2026","04/02/2026","Pack Corporativo (2+ cursos)","$750.000 c/u","• Excel Empresarial (Básico/Intermedio/Avanzado)<br>• Google Workspace (Sheets)",{"host":"112","user-agent":"113","content-length":"114","accept":"115","accept-encoding":"116","accept-language":"117","content-type":"118","origin":"119","priority":"120","referer":"121","sec-ch-ua":"122","sec-ch-ua-mobile":"123","sec-ch-ua-platform":"124","sec-fetch-dest":"125","sec-fetch-mode":"126","sec-fetch-site":"127","x-forwarded-for":"128","x-forwarded-host":"112","x-forwarded-port":"129","x-forwarded-proto":"130","x-forwarded-server":"131","x-real-ip":"128"},{},{},{"nombre_reserva":"132","empresa":"133","cuit":"134","email_responsable":"135","telefono_responsable":"136","plan_detalle":"137","cursos[]":"138","cursos":"139"},"https://n8n.apptlas.cloud/webhook-test/generar-presupuesto-pro","test","n8n.apptlas.cloud","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","345","*/*","gzip, deflate, br, zstd","es-ES,es;q=0.9","application/json","https://excelcertify.com","u=1, i","https://excelcertify.com/","\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","?0","\"Windows\"","empty","cors","cross-site","186.122.104.167","443","https","6a03186a9812","Victor","Colussi","20350305492","marcelosaucedo@excelcertify.com","55646546465","Pack Corporativo (2+ cursos) - $750.000 c/u","Google Workspace (Sheets)","Excel Empresarial (Básico/Intermedio/Avanzado), Google Workspace (Sheets)"]


workflowData:
  {"id":"GrlbAlb3HwTYVVUp","name":"Generador Presupuesto PDFMunk (Final)","active":false,"nodes":[{"parameters":{"multipleMethods":false,"httpMethod":"POST","path":"generar-presupuesto-pro","authentication":"none","responseMode":"onReceived","responseCode":200,"contentTypeNotice":"","options":{}},"id":"ca0bbb28-f429-44c7-9d39-997131f9ad1c","name":"Webhook Presupuesto","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[-848,112],"webhookId":"generar-presupuesto-pro"},{"parameters":{"mode":"runOnceForAllItems","language":"javaScript","jsCode":"// Calculamos fechas y ID\nconst now = $now;\nconst validityDate = $now.plus({ days: 30 });\nconst presupuestoID = Math.floor(Math.random() * 90000) + 10000;\n\n// Separamos el precio del nombre del plan\nconst planParts = $json.body.plan_detalle.split('-');\nconst planNombre = planParts[0].trim();\nconst planPrecio = planParts[1] ? planParts[1].trim() : 'A consultar';\n\n// Convertimos la lista de cursos en un array limpio\nconst cursosArray = $json.body.cursos ? $json.body.cursos.split(', ') : [];\nconst cursosHTML = cursosArray.map(c => `• ${c}`).join('<br>');\n\nreturn {\n  fecha_emision: now.toFormat('dd/MM/yyyy'),\n  fecha_validez: validityDate.toFormat('dd/MM/yyyy'),\n  id_unico: presupuestoID,\n  plan_nombre: planNombre,\n  plan_precio: planPrecio,\n  cursos_html: cursosHTML\n};","notice":""},"id":"c8b1f2e4-dfec-4cf8-84ff-4224ba5be221","name":"Calcular Fechas","type":"n8n-nodes-base.code","typeVersion":2,"position":[-640,112]},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"POST","url":"https://pdfmunk.com/api/v1/generatePdf","authentication":"none","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"keypair","headerParameters":{"parameters":[{"name":"pdfmunk_e0a146ce081b4303a2245d95bdfe9323","value":"pdfmunk_e0a146ce081b4303a2245d95bdfe9323"}]},"sendBody":true,"contentType":"json","specifyBody":"keypair","bodyParameters":{"parameters":[{"name":"html","value":"={{ \n`<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${$json.fecha_emision}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${$json.fecha_validez}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${$json.id_unico}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit ? $json.body.cuit : 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${$json.plan_nombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${$json.plan_precio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${$json.cursos_html}\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>` \n}}"}]},"options":{},"infoMessage":""},"id":"5c1e8545-1545-4ef6-b7af-f3bc6e9b3e32","name":"Generar en PDFMunk","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[-416,112],"notesInFlow":true,"notes":"⚠️ PEGA TU API KEY EN 'AUTHORIZATION'"},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"GET","url":"={{ $json.url }}","authentication":"none","provideSslCertificates":false,"sendQuery":false,"sendHeaders":false,"sendBody":false,"options":{"response":{"response":{"fullResponse":false,"neverError":false,"responseFormat":"file","outputPropertyName":"data"}}},"infoMessage":""},"id":"847bb515-f0b4-4d6f-98bc-485b70b972dc","name":"Descargar PDF (Buffer)","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[-224,112]},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@info.excelcertify.com","toEmail":"={{ $json.body.email_responsable + ', victorrcolussi@gmail.com' }}","subject":"📄 Presupuesto Formal (Válido 30 días) - ExcelCertify","emailFormat":"html","html":"={{ '<p>Hola <strong>' + $json.body.nombre_reserva + '</strong>,</p><p>Adjunto encontrarás el presupuesto formal solicitado para <strong>' + $json.body.empresa + '</strong>.</p><ul><li><strong>Presupuesto N°:</strong> PRE-26-' + $json.id_unico + '</li><li><strong>Válido hasta:</strong> ' + $json.fecha_validez + '</li></ul><p>Quedamos a tu disposición para cualquier consulta.</p><p>Saludos,<br>El equipo de ExcelCertify.</p>' }}","options":{}},"id":"6ea0db06-e866-4314-b2b5-a469733633d4","name":"Enviar Email con PDF","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[0,0],"webhookId":"f283c4ea-e733-42aa-9ca1-cc8c1ec63dbe","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"generalNotice":"","respondWith":"binary","responseDataSource":"setBody","options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/pdf"},{"name":"Content-Disposition","value":"={{ 'attachment; filename=Presupuesto_ExcelCertify_PRE-26-' + $json.id_unico + '.pdf' }}"}]}}},"id":"d5963828-816b-4945-8402-fdd3577f5803","name":"Entregar PDF","type":"n8n-nodes-base.respondToWebhook","typeVersion":1,"position":[0,208]}],"connections":{"Webhook Presupuesto":{"main":[[{"node":"Calcular Fechas","type":"main","index":0}]]},"Calcular Fechas":{"main":[[{"node":"Generar en PDFMunk","type":"main","index":0}]]},"Generar en PDFMunk":{"main":[[{"node":"Descargar PDF (Buffer)","type":"main","index":0}]]},"Descargar PDF (Buffer)":{"main":[[{"node":"Enviar Email con PDF","type":"main","index":0},{"node":"Entregar PDF","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"pinData":{}}

data:
  [{"startData":"1","resultData":"2","executionData":"3"},{"destinationNode":"4","runNodeFilter":"5"},{"runData":"6","pinData":"7","lastNodeExecuted":"4","error":"8"},{"contextData":"9","nodeExecutionStack":"10","metadata":"11","waitingExecution":"12","waitingExecutionSource":"13"},"Generar en PDFMunk",["14","15","4"],{"Webhook Presupuesto":"16","Calcular Fechas":"17","Generar en PDFMunk":"18"},{},{"level":"19","tags":"20","description":"21","timestamp":1767631679586,"context":"22","functionality":"23","name":"24","node":"25","messages":"26","httpCode":"27","message":"28","stack":"29"},{},["30"],{},{},{},"Webhook Presupuesto","Calcular Fechas",["31"],["32"],["33"],"warning",{},"API key required",{"itemIndex":0,"request":"34"},"regular","NodeApiError",{"parameters":"35","id":"36","name":"4","type":"37","typeVersion":4.1,"position":"38","notesInFlow":true,"notes":"39"},["40"],"401","Authorization failed - please check your credentials","NodeApiError: Authorization failed - please check your credentials\n    at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:858:16)\n    at processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1093:8)\n    at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1274:11)\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1708:27\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2324:11",{"node":"41","data":"42","source":"43"},{"startTime":1767631372424,"executionIndex":0,"source":"44","hints":"45","executionTime":1,"executionStatus":"46","data":"47"},{"startTime":1767631372425,"executionIndex":1,"source":"48","hints":"49","executionTime":409,"executionStatus":"46","data":"50"},{"startTime":1767631679220,"executionIndex":2,"source":"51","hints":"52","executionTime":367,"executionStatus":"53","error":"54"},{"body":"55","headers":"56","method":"57","uri":"58","gzip":true,"rejectUnauthorized":true,"followRedirect":true,"resolveWithFullResponse":true,"followAllRedirects":true,"timeout":300000,"encoding":null,"json":false,"useStream":true},{"preBuiltAgentsCalloutHttpRequest":"59","curlImport":"59","method":"57","url":"58","authentication":"60","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"61","headerParameters":"62","sendBody":true,"contentType":"63","specifyBody":"61","bodyParameters":"64","options":"65","infoMessage":"59"},"5c1e8545-1545-4ef6-b7af-f3bc6e9b3e32","n8n-nodes-base.httpRequest",[-416,112],"⚠️ PEGA TU API KEY EN 'AUTHORIZATION'","401 - \"{\\\"error\\\":\\\"API key required\\\"}\\n\"",{"parameters":"66","id":"36","name":"4","type":"37","typeVersion":4.1,"position":"67","notesInFlow":true,"notes":"39"},{"main":"68"},{"main":"51"},[],[],"success",{"main":"69"},["70"],[],{"main":"71"},["72"],[],"error",{"level":"19","tags":"20","description":"21","timestamp":1767631679586,"context":"22","functionality":"23","name":"24","node":"25","messages":"26","httpCode":"27","message":"28","stack":"29"},{},{"pdfmunk_e0a146ce081b4303a2245d95bdfe9323":"73","accept":"74"},"POST","https://pdfmunk.com/api/v1/generatePdf","","none","keypair",{"parameters":"75"},"json",{"parameters":"76"},{},{"preBuiltAgentsCalloutHttpRequest":"59","curlImport":"59","method":"57","url":"58","authentication":"60","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"61","headerParameters":"77","sendBody":true,"contentType":"63","specifyBody":"61","bodyParameters":"78","options":"79","infoMessage":"59"},[-416,112],["80"],["81"],{"previousNode":"14"},["82"],{"previousNode":"15","previousNodeOutput":0,"previousNodeRun":0},"pdfmunk_e0a146ce081b4303a2245d95bdfe9323","application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7",["83"],["84"],{"parameters":"85"},{"parameters":"86"},{},["87"],["88"],["89"],{"name":"73","value":"73"},{"name":"90","value":"91"},["92"],["93"],{"json":"94","pairedItem":"95"},{"json":"96","pairedItem":"97"},{"json":"94","pairedItem":"98"},"html","={{ \n`<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${$json.fecha_emision}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${$json.fecha_validez}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${$json.id_unico}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit ? $json.body.cuit : 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${$json.plan_nombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${$json.plan_precio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${$json.cursos_html}\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>` \n}}",{"name":"73","value":"73"},{"name":"90","value":"91"},{"fecha_emision":"99","fecha_validez":"100","id_unico":91404,"plan_nombre":"101","plan_precio":"102","cursos_html":"103"},{"item":0},{"headers":"104","params":"105","query":"106","body":"107","webhookUrl":"108","executionMode":"109"},{"item":0},{"item":0},"05/01/2026","04/02/2026","Pack Corporativo (2+ cursos)","$750.000 c/u","• Excel Empresarial (Básico/Intermedio/Avanzado)<br>• Google Workspace (Sheets)",{"host":"110","user-agent":"111","content-length":"112","accept":"113","accept-encoding":"114","accept-language":"115","content-type":"116","origin":"117","priority":"118","referer":"119","sec-ch-ua":"120","sec-ch-ua-mobile":"121","sec-ch-ua-platform":"122","sec-fetch-dest":"123","sec-fetch-mode":"124","sec-fetch-site":"125","x-forwarded-for":"126","x-forwarded-host":"110","x-forwarded-port":"127","x-forwarded-proto":"128","x-forwarded-server":"129","x-real-ip":"126"},{},{},{"nombre_reserva":"130","empresa":"131","cuit":"132","email_responsable":"133","telefono_responsable":"134","plan_detalle":"135","cursos[]":"136","cursos":"137"},"https://n8n.apptlas.cloud/webhook-test/generar-presupuesto-pro","test","n8n.apptlas.cloud","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","345","*/*","gzip, deflate, br, zstd","es-ES,es;q=0.9","application/json","https://excelcertify.com","u=1, i","https://excelcertify.com/","\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","?0","\"Windows\"","empty","cors","cross-site","186.122.104.167","443","https","6a03186a9812","Victor","Colussi","20350305492","marcelosaucedo@excelcertify.com","55646546465","Pack Corporativo (2+ cursos) - $750.000 c/u","Google Workspace (Sheets)","Excel Empresarial (Básico/Intermedio/Avanzado), Google Workspace (Sheets)"]


workflowData:
  {"id":"GrlbAlb3HwTYVVUp","name":"Generador Presupuesto PDFMunk (Final)","active":false,"nodes":[{"parameters":{"multipleMethods":false,"httpMethod":"POST","path":"generar-presupuesto-pro","authentication":"none","responseMode":"onReceived","responseCode":200,"contentTypeNotice":"","options":{}},"id":"ca0bbb28-f429-44c7-9d39-997131f9ad1c","name":"Webhook Presupuesto","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[-848,112],"webhookId":"generar-presupuesto-pro"},{"parameters":{"mode":"runOnceForAllItems","language":"javaScript","jsCode":"// Calculamos fechas y ID\nconst now = $now;\nconst validityDate = $now.plus({ days: 30 });\nconst presupuestoID = Math.floor(Math.random() * 90000) + 10000;\n\n// Separamos el precio del nombre del plan\nconst planParts = $json.body.plan_detalle.split('-');\nconst planNombre = planParts[0].trim();\nconst planPrecio = planParts[1] ? planParts[1].trim() : 'A consultar';\n\n// Convertimos la lista de cursos en un array limpio\nconst cursosArray = $json.body.cursos ? $json.body.cursos.split(', ') : [];\nconst cursosHTML = cursosArray.map(c => `• ${c}`).join('<br>');\n\nreturn {\n  fecha_emision: now.toFormat('dd/MM/yyyy'),\n  fecha_validez: validityDate.toFormat('dd/MM/yyyy'),\n  id_unico: presupuestoID,\n  plan_nombre: planNombre,\n  plan_precio: planPrecio,\n  cursos_html: cursosHTML\n};","notice":""},"id":"c8b1f2e4-dfec-4cf8-84ff-4224ba5be221","name":"Calcular Fechas","type":"n8n-nodes-base.code","typeVersion":2,"position":[-640,112]},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"POST","url":"https://pdfmunk.com/api/v1/generatePdf","authentication":"predefinedCredentialType","nodeCredentialType":"htmlcsstopdfApi","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"keypair","headerParameters":{"parameters":[{"name":"pdfmunk_e0a146ce081b4303a2245d95bdfe9323","value":"pdfmunk_e0a146ce081b4303a2245d95bdfe9323"}]},"sendBody":true,"contentType":"json","specifyBody":"keypair","bodyParameters":{"parameters":[{"name":"html","value":"={{ \n`<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${$json.fecha_emision}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${$json.fecha_validez}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${$json.id_unico}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit ? $json.body.cuit : 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${$json.plan_nombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${$json.plan_precio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${$json.cursos_html}\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>` \n}}"}]},"options":{},"infoMessage":""},"id":"5c1e8545-1545-4ef6-b7af-f3bc6e9b3e32","name":"Generar en PDFMunk","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[-416,112],"notesInFlow":true,"credentials":{"htmlcsstopdfApi":{"id":"bqJJSOzEExFN3lu9","name":"HTML to PDF account"}},"notes":"⚠️ PEGA TU API KEY EN 'AUTHORIZATION'"},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"GET","url":"={{ $json.url }}","authentication":"none","provideSslCertificates":false,"sendQuery":false,"sendHeaders":false,"sendBody":false,"options":{"response":{"response":{"fullResponse":false,"neverError":false,"responseFormat":"file","outputPropertyName":"data"}}},"infoMessage":""},"id":"847bb515-f0b4-4d6f-98bc-485b70b972dc","name":"Descargar PDF (Buffer)","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[-224,112]},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@info.excelcertify.com","toEmail":"={{ $json.body.email_responsable + ', victorrcolussi@gmail.com' }}","subject":"📄 Presupuesto Formal (Válido 30 días) - ExcelCertify","emailFormat":"html","html":"={{ '<p>Hola <strong>' + $json.body.nombre_reserva + '</strong>,</p><p>Adjunto encontrarás el presupuesto formal solicitado para <strong>' + $json.body.empresa + '</strong>.</p><ul><li><strong>Presupuesto N°:</strong> PRE-26-' + $json.id_unico + '</li><li><strong>Válido hasta:</strong> ' + $json.fecha_validez + '</li></ul><p>Quedamos a tu disposición para cualquier consulta.</p><p>Saludos,<br>El equipo de ExcelCertify.</p>' }}","options":{}},"id":"6ea0db06-e866-4314-b2b5-a469733633d4","name":"Enviar Email con PDF","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[0,0],"webhookId":"f283c4ea-e733-42aa-9ca1-cc8c1ec63dbe","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"generalNotice":"","respondWith":"binary","responseDataSource":"setBody","options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/pdf"},{"name":"Content-Disposition","value":"={{ 'attachment; filename=Presupuesto_ExcelCertify_PRE-26-' + $json.id_unico + '.pdf' }}"}]}}},"id":"d5963828-816b-4945-8402-fdd3577f5803","name":"Entregar PDF","type":"n8n-nodes-base.respondToWebhook","typeVersion":1,"position":[0,208]}],"connections":{"Webhook Presupuesto":{"main":[[{"node":"Calcular Fechas","type":"main","index":0}]]},"Calcular Fechas":{"main":[[{"node":"Generar en PDFMunk","type":"main","index":0}]]},"Generar en PDFMunk":{"main":[[{"node":"Descargar PDF (Buffer)","type":"main","index":0}]]},"Descargar PDF (Buffer)":{"main":[[{"node":"Enviar Email con PDF","type":"main","index":0},{"node":"Entregar PDF","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"pinData":{}}

data:
  [{"startData":"1","resultData":"2","executionData":"3"},{"destinationNode":"4","runNodeFilter":"5"},{"runData":"6","pinData":"7","lastNodeExecuted":"4","error":"8"},{"contextData":"9","nodeExecutionStack":"10","metadata":"11","waitingExecution":"12","waitingExecutionSource":"13"},"Generar en PDFMunk",["14","15","4"],{"Webhook Presupuesto":"16","Calcular Fechas":"17","Generar en PDFMunk":"18"},{},{"level":"19","tags":"20","description":"21","timestamp":1767631710647,"context":"22","functionality":"23","name":"24","node":"25","messages":"26","httpCode":"27","message":"28","stack":"29"},{},["30"],{},{},{},"Webhook Presupuesto","Calcular Fechas",["31"],["32"],["33"],"warning",{},"No input provided. Please include request data in JSON format.",{"itemIndex":0,"request":"34"},"regular","NodeApiError",{"parameters":"35","id":"36","name":"4","type":"37","typeVersion":4.1,"position":"38","notesInFlow":true,"credentials":"39","notes":"40"},["41"],"400","Bad request - please check your parameters","NodeApiError: Bad request - please check your parameters\n    at ExecuteContext.requestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts:1498:10)\n    at processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at ExecuteContext.requestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/node-execution-context/utils/request-helper-functions.ts:1798:11)",{"node":"42","data":"43","source":"44"},{"startTime":1767631372424,"executionIndex":0,"source":"45","hints":"46","executionTime":1,"executionStatus":"47","data":"48"},{"startTime":1767631372425,"executionIndex":1,"source":"49","hints":"50","executionTime":409,"executionStatus":"47","data":"51"},{"startTime":1767631709724,"executionIndex":2,"source":"52","hints":"53","executionTime":927,"executionStatus":"54","error":"55"},{"body":"56","headers":"57","method":"58","uri":"59","gzip":true,"rejectUnauthorized":true,"followRedirect":true,"resolveWithFullResponse":true,"followAllRedirects":true,"timeout":300000,"encoding":null,"json":false,"useStream":true},{"preBuiltAgentsCalloutHttpRequest":"60","curlImport":"60","method":"58","url":"59","authentication":"61","nodeCredentialType":"62","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"63","headerParameters":"64","sendBody":true,"contentType":"65","specifyBody":"63","bodyParameters":"66","options":"67","infoMessage":"60"},"5c1e8545-1545-4ef6-b7af-f3bc6e9b3e32","n8n-nodes-base.httpRequest",[-416,112],{"htmlcsstopdfApi":"68"},"⚠️ PEGA TU API KEY EN 'AUTHORIZATION'","400 - \"{\\\"error\\\":\\\"No input provided. Please include request data in JSON format.\\\",\\\"success\\\":false}\\n\"",{"parameters":"69","id":"36","name":"4","type":"37","typeVersion":4.1,"position":"70","notesInFlow":true,"credentials":"71","notes":"40"},{"main":"72"},{"main":"52"},[],[],"success",{"main":"73"},["74"],[],{"main":"75"},["76"],[],"error",{"level":"19","tags":"20","description":"21","timestamp":1767631710647,"context":"22","functionality":"23","name":"24","node":"25","messages":"26","httpCode":"27","message":"28","stack":"29"},{},{"pdfmunk_e0a146ce081b4303a2245d95bdfe9323":"77","accept":"78","CLIENT-API-KEY":"77"},"POST","https://pdfmunk.com/api/v1/generatePdf","","predefinedCredentialType","htmlcsstopdfApi","keypair",{"parameters":"79"},"json",{"parameters":"80"},{},{"id":"81","name":"82"},{"preBuiltAgentsCalloutHttpRequest":"60","curlImport":"60","method":"58","url":"59","authentication":"61","nodeCredentialType":"62","provideSslCertificates":false,"sendQuery":false,"sendHeaders":true,"specifyHeaders":"63","headerParameters":"83","sendBody":true,"contentType":"65","specifyBody":"63","bodyParameters":"84","options":"85","infoMessage":"60"},[-416,112],{"htmlcsstopdfApi":"86"},["87"],["88"],{"previousNode":"14"},["89"],{"previousNode":"15","previousNodeOutput":0,"previousNodeRun":0},"**hidden**","application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7",["90"],["91"],"bqJJSOzEExFN3lu9","HTML to PDF account",{"parameters":"92"},{"parameters":"93"},{},{"id":"81","name":"82"},["94"],["95"],["96"],{"name":"97","value":"97"},{"name":"98","value":"99"},["100"],["101"],{"json":"102","pairedItem":"103"},{"json":"104","pairedItem":"105"},{"json":"102","pairedItem":"106"},"pdfmunk_e0a146ce081b4303a2245d95bdfe9323","html","={{ \n`<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.75rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${$json.fecha_emision}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${$json.fecha_validez}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${$json.id_unico}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit ? $json.body.cuit : 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${$json.plan_nombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${$json.plan_precio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${$json.cursos_html}\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>` \n}}",{"name":"97","value":"97"},{"name":"98","value":"99"},{"fecha_emision":"107","fecha_validez":"108","id_unico":91404,"plan_nombre":"109","plan_precio":"110","cursos_html":"111"},{"item":0},{"headers":"112","params":"113","query":"114","body":"115","webhookUrl":"116","executionMode":"117"},{"item":0},{"item":0},"05/01/2026","04/02/2026","Pack Corporativo (2+ cursos)","$750.000 c/u","• Excel Empresarial (Básico/Intermedio/Avanzado)<br>• Google Workspace (Sheets)",{"host":"118","user-agent":"119","content-length":"120","accept":"121","accept-encoding":"122","accept-language":"123","content-type":"124","origin":"125","priority":"126","referer":"127","sec-ch-ua":"128","sec-ch-ua-mobile":"129","sec-ch-ua-platform":"130","sec-fetch-dest":"131","sec-fetch-mode":"132","sec-fetch-site":"133","x-forwarded-for":"134","x-forwarded-host":"118","x-forwarded-port":"135","x-forwarded-proto":"136","x-forwarded-server":"137","x-real-ip":"134"},{},{},{"nombre_reserva":"138","empresa":"139","cuit":"140","email_responsable":"141","telefono_responsable":"142","plan_detalle":"143","cursos[]":"144","cursos":"145"},"https://n8n.apptlas.cloud/webhook-test/generar-presupuesto-pro","test","n8n.apptlas.cloud","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","345","*/*","gzip, deflate, br, zstd","es-ES,es;q=0.9","application/json","https://excelcertify.com","u=1, i","https://excelcertify.com/","\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","?0","\"Windows\"","empty","cors","cross-site","186.122.104.167","443","https","6a03186a9812","Victor","Colussi","20350305492","marcelosaucedo@excelcertify.com","55646546465","Pack Corporativo (2+ cursos) - $750.000 c/u","Google Workspace (Sheets)","Excel Empresarial (Básico/Intermedio/Avanzado), Google Workspace (Sheets)"]


workflowData:
  {"id":"i9jAXj8naWcBCZoG","name":"Reserva Cupos 2026 - Landing","active":true,"isArchived":false,"createdAt":"2026-01-05T13:32:15.184Z","updatedAt":"2026-01-05T16:17:03.000Z","nodes":[{"parameters":{"multipleMethods":false,"httpMethod":"POST","path":"reserva-2026","authentication":"none","responseMode":"onReceived","responseCode":200,"contentTypeNotice":"","options":{}},"id":"939339ef-1232-4781-8630-153e02c5fbb5","name":"Webhook Landing","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[-224,160],"webhookId":"reserva-2026"},{"parameters":{"preBuiltAgentsCalloutGoogleSheets":"","authentication":"oAuth2","resource":"sheet","operation":"append","documentId":{"__rl":true,"value":"https://docs.google.com/spreadsheets/d/1EoiocZTa9ELY8TQBXLEJSjxAZmohYClF1GH0N2qE4As/edit?gid=0#gid=0","mode":"url"},"sheetName":{"__rl":true,"value":"gid=0","mode":"list","cachedResultName":"Hoja 1","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1EoiocZTa9ELY8TQBXLEJSjxAZmohYClF1GH0N2qE4As/edit#gid=0"},"columns":{"mappingMode":"defineBelow","value":{"Fecha":"={{ $now }}","Nombre":"={{ $('Webhook Landing').item.json.body.nombre }}","Empresa":"={{ $('Webhook Landing').item.json.body.empresa }}","Email":"={{ $('Webhook Landing').item.json.body.email }}","Teléfono":"={{ $('Webhook Landing').item.json.body.telefono }}","Interés":"={{ $workflow.name }}"},"matchingColumns":[],"schema":[{"id":"Fecha","displayName":"Fecha","required":false,"defaultMatch":false,"display":true,"type":"string","canBeUsedToMatch":true},{"id":"Nombre","displayName":"Nombre","required":false,"defaultMatch":false,"display":true,"type":"string","canBeUsedToMatch":true},{"id":"Empresa","displayName":"Empresa","required":false,"defaultMatch":false,"display":true,"type":"string","canBeUsedToMatch":true},{"id":"Email","displayName":"Email","required":false,"defaultMatch":false,"display":true,"type":"string","canBeUsedToMatch":true},{"id":"Teléfono","displayName":"Teléfono","required":false,"defaultMatch":false,"display":true,"type":"string","canBeUsedToMatch":true},{"id":"Interés","displayName":"Interés","required":false,"defaultMatch":false,"display":true,"type":"string","canBeUsedToMatch":true}],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{}},"id":"291c38b1-a3bd-4093-86c2-20083e24c599","name":"Guardar en Sheets","type":"n8n-nodes-base.googleSheets","typeVersion":4.5,"position":[224,160],"notesInFlow":true,"credentials":{"googleSheetsOAuth2Api":{"id":"5TssK5sjUDI7k2MP","name":"Google Sheets account"}},"notes":"Pega aquí la URL de tu Google Sheet"},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@info.excelcertify.com","toEmail":"victorrcolussi@gmail.com","subject":"={{ 'Nueva Reserva: ' + $json.Empresa }}","emailFormat":"html","html":"=<h3>Nuevo Lead desde la Landing 2026</h3>\n<table border=\"1\" cellpadding=\"10\" style=\"border-collapse: collapse; width: 100%;\">\n<tr>\n<td style=\"background-color: #f0f0f0;\"><strong>Nombre:</strong></td>\n<td>{{ $('Webhook Landing').item.json.body.nombre }}</td>\n</tr>\n<tr>\n<td style=\"background-color: #f0f0f0;\"><strong>Empresa:</strong></td>\n<td>{{ $('Webhook Landing').item.json.body.empresa }}</td>\n</tr>\n<tr>\n<td style=\"background-color: #f0f0f0;\"><strong>Email:</strong></td>\n<td><a href=\"mailto:{{ $json.Email }}\">{{ $json.Email }}</a></td>\n</tr>\n<tr>\n<td style=\"background-color: #f0f0f0;\"><strong>Teléfono:</strong></td>\n<td>{{ $('Webhook Landing').item.json.body.telefono }}</td>\n</tr>\n<tr>\n<td style=\"background-color: #f0f0f0;\"><strong>Interés:</strong></td>\n<td>{{ $workflow.name }}</td>\n</tr>\n</table>\n<p><em>Este lead se ha guardado en Google Sheet correctamente.</em></p>","options":{"appendAttribution":false}},"id":"62f2957f-2e65-43ed-9480-4f4dfc828e49","name":"Email a Victor (SMTP)","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[448,64],"webhookId":"34f46ebe-a9c0-4758-84d6-017cc196f0f9","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@info.excelcertify.com","toEmail":"={{ $('Webhook Landing').item.json.body.email }}","subject":"Confirmado: Tu tarifa 2025 está congelada","emailFormat":"html","html":"=<div style=\"font-family: Arial, sans-serif; color: #333;\">\n  <h2 style=\"color: #10B981;\">¡Hola {{ $json.Nombre}}!</h2>\n  <p>Te confirmo que hemos recibido tus datos correctamente.</p>\n  <div style=\"background-color: #f3f4f6; padding: 15px; border-left: 4px solid #10B981; margin: 20px 0;\">\n    <strong>Estado de Reserva:</strong> <span style=\"color: #10B981;\">CONFIRMADA</span><br>\n    <strong>Empresa:</strong> {{ $json.Empresa }}<br>\n    <strong>Beneficio:</strong> Tarifa Enero 2025 (Válida hasta Junio 2026)\n  </div>\n  <p><strong>¿Qué sigue ahora?</strong></p>\n  <p>Uno de nuestros asesores comerciales está revisando tu solicitud y te contactará en breve (generalmente en menos de 24hs hábiles) para enviarte la propuesta formal y extender el plazo de contratación hasta Febrero.</p>\n  <p>Gracias por confiar en <strong>ExcelCertify</strong> para capacitar a tu equipo.</p>\n  <hr style=\"border: 0; border-top: 1px solid #eee; margin: 20px 0;\">\n  <p style=\"font-size: 12px; color: #888;\">ExcelCertify - Microsoft & Google Partner</p>\n</div>","options":{"appendAttribution":false,"ccEmail":"info@excelcertify.com","replyTo":"info@excelcertify.com"}},"id":"3f7aaca3-9522-44a7-860b-8bb003a38eb5","name":"Email al Cliente (SMTP)","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[448,304],"webhookId":"01049bd8-8ece-4b44-980c-e95edd57f313","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"generalNotice":"","respondWith":"firstIncomingItem","options":{"responseCode":200}},"id":"43d95134-1a0f-4a1f-9b6f-0f22c17109cd","name":"Respuesta OK","type":"n8n-nodes-base.respondToWebhook","typeVersion":1,"position":[32,160]},{"parameters":{"mode":"manual","duplicateItem":false,"assignments":{},"includeOtherFields":false,"options":{}},"id":"af0f3b43-8e7d-4bee-a5d8-a29ffb811c07","name":"Agregar Fecha","type":"n8n-nodes-base.set","typeVersion":3.4,"position":[0,0]}],"connections":{"Webhook Landing":{"main":[[{"node":"Respuesta OK","type":"main","index":0},{"node":"Agregar Fecha","type":"main","index":0}]]},"Agregar Fecha":{"main":[[{"node":"Guardar en Sheets","type":"main","index":0}]]},"Guardar en Sheets":{"main":[[{"node":"Email a Victor (SMTP)","type":"main","index":0},{"node":"Email al Cliente (SMTP)","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"staticData":{},"pinData":{}}

data:
  [{"startData":"1","resultData":"2","executionData":"3"},{},{"runData":"4","lastNodeExecuted":"5"},{"contextData":"6","nodeExecutionStack":"7","waitingExecution":"8"},{"Webhook Landing":"9","Agregar Fecha":"10","Guardar en Sheets":"11","Email a Victor (SMTP)":"12","Email al Cliente (SMTP)":"13","Respuesta OK":"14"},"Respuesta OK",{},[],{},["15"],["16"],["17"],["18"],["19"],["20"],{"startTime":1767632176072,"executionIndex":0,"source":"21","hints":"22","executionTime":0,"executionStatus":"23","data":"24"},{"startTime":1767632176073,"executionIndex":1,"source":"25","hints":"26","executionTime":3,"executionStatus":"23","data":"27"},{"startTime":1767632176076,"executionIndex":2,"source":"28","hints":"29","executionTime":2118,"executionStatus":"23","data":"30"},{"startTime":1767632178194,"executionIndex":3,"source":"31","hints":"32","executionTime":1468,"executionStatus":"23","data":"33"},{"startTime":1767632179663,"executionIndex":4,"source":"34","hints":"35","executionTime":1422,"executionStatus":"23","data":"36"},{"startTime":1767632181085,"executionIndex":5,"source":"37","hints":"38","executionTime":2,"executionStatus":"23","data":"39"},[],[],"success",{"main":"40"},["41"],[],{"main":"42"},["43"],[],{"main":"44"},["45"],[],{"main":"46"},["47"],[],{"main":"48"},["49"],[],{"main":"50"},["51"],{"previousNode":"52"},["53"],{"previousNode":"54"},["55"],{"previousNode":"56"},["57"],{"previousNode":"56"},["58"],{"previousNode":"52"},["59"],["60"],"Webhook Landing",["61"],"Agregar Fecha",["62"],"Guardar en Sheets",["63"],["64"],["65"],{"json":"66","pairedItem":"67"},{"json":"68","pairedItem":"69"},{"json":"70","pairedItem":"71"},{"json":"72","pairedItem":"73"},{"json":"74","pairedItem":"75"},{"json":"66","pairedItem":"76"},{"headers":"77","params":"78","query":"79","body":"80","webhookUrl":"81","executionMode":"82"},{"item":0},{},{"item":0},{"Fecha":"83","Nombre":"84","Empresa":"85","Email":"86","Teléfono":"87","Interés":"88"},{"item":0},{"accepted":"89","rejected":"90","ehlo":"91","envelopeTime":430,"messageTime":281,"messageSize":1179,"response":"92","envelope":"93","messageId":"94"},{"item":0},{"accepted":"95","rejected":"96","ehlo":"97","envelopeTime":424,"messageTime":280,"messageSize":1554,"response":"98","envelope":"99","messageId":"100"},{"item":0},{"item":0},{"host":"101","user-agent":"102","content-length":"103","accept":"104","accept-encoding":"105","accept-language":"106","content-type":"107","origin":"108","priority":"109","referer":"110","sec-ch-ua":"111","sec-ch-ua-mobile":"112","sec-ch-ua-platform":"113","sec-fetch-dest":"114","sec-fetch-mode":"115","sec-fetch-site":"116","x-forwarded-for":"117","x-forwarded-host":"101","x-forwarded-port":"118","x-forwarded-proto":"119","x-forwarded-server":"120","x-real-ip":"117"},{},{},{"nombre":"84","empresa":"85","email":"86","telefono":"87","interes":"121"},"https://n8n.apptlas.cloud/webhook/reserva-2026","production","2026-01-05T17:56:17.049+01:00","Alberto","Tagliafico","victorcolussi77@gmail.com","43234234","Reserva Cupos 2026 - Landing",["122"],[],["123","124","125","126","127","128","129","130"],"250 2.0.0 Ok: queued as 4dlL6W1Mcrz1xy0",{"from":"131","to":"132"},"<c088b057-149e-ac8d-812e-3d803812dbbb@info.excelcertify.com>",["86","133"],[],["123","124","125","126","127","128","129","130"],"250 2.0.0 Ok: queued as 4dlL6X4GYxz1xnd",{"from":"131","to":"134"},"<71b038e7-a210-1a71-677f-1c1af06f80cd@info.excelcertify.com>","n8n.apptlas.cloud","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","120","*/*","gzip, deflate, br, zstd","es-ES,es;q=0.9","application/json","https://excelcertify.com","u=1, i","https://excelcertify.com/","\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","?0","\"Windows\"","empty","cors","cross-site","186.122.104.167","443","https","6a03186a9812","single","victorrcolussi@gmail.com","PIPELINING","SIZE 48811212","ETRN","AUTH PLAIN LOGIN","ENHANCEDSTATUSCODES","8BITMIME","DSN","CHUNKING","avisos@info.excelcertify.com",["122"],"info@excelcertify.com",["86","133"]]


workflowData:
  {"id":"pPE3eHr539Rcc75T","name":"Generador Presupuesto Local (Puppeteer)","active":true,"nodes":[{"parameters":{"multipleMethods":false,"httpMethod":"POST","path":"generar-presupuesto-pro","authentication":"none","responseMode":"onReceived","responseCode":200,"contentTypeNotice":"","options":{}},"id":"4b1cb24f-eb62-4318-a5b6-5de5f2666e71","name":"Webhook Presupuesto","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[0,0],"webhookId":"generar-presupuesto-pro"},{"parameters":{"mode":"runOnceForAllItems","language":"javaScript","jsCode":"// Calculamos fechas y ID\nconst now = $now;\nconst validityDate = $now.plus({ days: 30 });\nconst presupuestoID = Math.floor(Math.random() * 90000) + 10000;\n\n// Separamos el precio del nombre del plan\nconst planParts = $json.body.plan_detalle.split('-');\nconst planNombre = planParts[0].trim();\nconst planPrecio = planParts[1] ? planParts[1].trim() : 'A consultar';\n\n// Convertimos la lista de cursos en un array limpio\nconst cursosArray = $json.body.cursos ? $json.body.cursos.split(', ') : [];\nconst cursosHTML = cursosArray.map(c => `• ${c}`).join('<br>');\n\nreturn {\n  fecha_emision: now.toFormat('dd/MM/yyyy'),\n  fecha_validez: validityDate.toFormat('dd/MM/yyyy'),\n  id_unico: presupuestoID,\n  plan_nombre: planNombre,\n  plan_precio: planPrecio,\n  cursos_html: cursosHTML\n};","notice":""},"id":"e9ee9a91-4465-4805-ad0b-aedf959d631f","name":"Calcular Fechas","type":"n8n-nodes-base.code","typeVersion":2,"position":[224,0]},{"parameters":{"operation":"htmlToPdf","options":{}},"id":"d3c8c399-6ae6-482f-98f4-4478eed17e17","name":"Generar PDF Local","type":"n8n-nodes-puppeteer.puppeteer","typeVersion":1,"position":[448,0]},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@excelcertify.com","toEmail":"={{ $json.body.email_responsable + ', victorrcolussi@gmail.com' }}","subject":"Presupuesto Formal Válido 30 días  ExcelCertify","emailFormat":"html","html":"={{ '<p>Hola <strong>' + $json.body.nombre_reserva + '</strong>,</p><p>Adjunto encontrarás el presupuesto formal solicitado para <strong>' + $json.body.empresa + '</strong>.</p><ul><li><strong>Presupuesto N°:</strong> PRE-26-' + $json.id_unico + '</li><li><strong>Válido hasta:</strong> ' + $json.fecha_validez + '</li></ul><p>Quedamos a tu disposición para cualquier consulta.</p><p>Saludos,<br>El equipo de ExcelCertify.</p>' }}","options":{}},"id":"567b6610-de23-406d-b003-2e37554ceddf","name":"Enviar Email con PDF","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[672,0],"webhookId":"cb5986aa-8d4d-4f5a-9e68-d8154ba94d25","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"generalNotice":"","respondWith":"binary","responseDataSource":"setBody","options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/pdf"},{"name":"Content-Disposition","value":"={{ 'attachment; filename=Presupuesto_ExcelCertify_PRE-26-' + $json.id_unico + '.pdf' }}"}]}}},"id":"7e50f3cf-99ff-45be-a389-991b32a58339","name":"Entregar PDF","type":"n8n-nodes-base.respondToWebhook","typeVersion":1,"position":[864,0]}],"connections":{"Webhook Presupuesto":{"main":[[{"node":"Calcular Fechas","type":"main","index":0}]]},"Calcular Fechas":{"main":[[{"node":"Generar PDF Local","type":"main","index":0}]]},"Generar PDF Local":{"main":[[{"node":"Enviar Email con PDF","type":"main","index":0}]]},"Enviar Email con PDF":{"main":[[{"node":"Entregar PDF","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"staticData":{},"pinData":{}}

data:
  [{"startData":"1","resultData":"2","executionData":"3"},{},{"runData":"4","pinData":"5","lastNodeExecuted":"6","error":"7"},{"contextData":"8","nodeExecutionStack":"9","waitingExecution":"10"},{"Webhook Presupuesto":"11","Calcular Fechas":"12","Generar PDF Local":"13"},{},"Generar PDF Local",{"message":"14","stack":"15"},{},["16"],{},["17"],["18"],["19"],"Failed to launch/connect to browser: Could not find Chrome (ver. 143.0.7499.169). This can occur if either\n 1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or\n 2. your cache path is incorrectly configured (which is: /home/node/.cache/puppeteer).\nFor (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.","Error: Failed to launch/connect to browser: Could not find Chrome (ver. 143.0.7499.169). This can occur if either\n 1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install chrome`) or\n 2. your cache path is incorrectly configured (which is: /home/node/.cache/puppeteer).\nFor (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.\n    at ExecuteContext.execute (/home/node/.n8n/nodes/node_modules/n8n-nodes-puppeteer/nodes/Puppeteer/Puppeteer.node.ts:539:10)\n    at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1093:8)\n    at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1274:11)\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1708:27\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2324:11",{"node":"20","data":"21","source":"22"},{"startTime":1767632217032,"executionIndex":0,"source":"23","hints":"24","executionTime":1,"executionStatus":"25","data":"26"},{"startTime":1767632217034,"executionIndex":1,"source":"27","hints":"28","executionTime":22,"executionStatus":"25","data":"29"},{"startTime":1767632217057,"executionIndex":2,"source":"30","hints":"31","executionTime":21,"executionStatus":"32","error":"33"},{"parameters":"34","id":"35","name":"6","type":"36","typeVersion":1,"position":"37"},{"main":"38"},{"main":"30"},[],[],"success",{"main":"39"},["40"],[],{"main":"41"},["42"],[],"error",{"message":"14","stack":"15"},{"operation":"43","options":"44"},"d3c8c399-6ae6-482f-98f4-4478eed17e17","n8n-nodes-puppeteer.puppeteer",[448,0],["45"],["46"],{"previousNode":"47"},["48"],{"previousNode":"49"},"htmlToPdf",{},["50"],["51"],"Webhook Presupuesto",["52"],"Calcular Fechas",{"json":"53","pairedItem":"54"},{"json":"55","pairedItem":"56"},{"json":"53","pairedItem":"57"},{"fecha_emision":"58","fecha_validez":"59","id_unico":52403,"plan_nombre":"60","plan_precio":"61","cursos_html":"62"},{"item":0},{"headers":"63","params":"64","query":"65","body":"66","webhookUrl":"67","executionMode":"68"},{"item":0},{"item":0},"05/01/2026","04/02/2026","Curso Individual","$980.000","• Excel Empresarial (Básico/Intermedio/Avanzado)<br>• Google Workspace (Sheets)",{"host":"69","user-agent":"70","content-length":"71","accept":"72","accept-encoding":"73","accept-language":"74","content-type":"75","origin":"76","priority":"77","referer":"78","sec-ch-ua":"79","sec-ch-ua-mobile":"80","sec-ch-ua-platform":"81","sec-fetch-dest":"82","sec-fetch-mode":"83","sec-fetch-site":"84","x-forwarded-for":"85","x-forwarded-host":"69","x-forwarded-port":"86","x-forwarded-proto":"87","x-forwarded-server":"88","x-real-ip":"85"},{},{},{"nombre_reserva":"89","empresa":"90","cuit":"91","email_responsable":"92","telefono_responsable":"93","plan_detalle":"94","cursos[]":"95","cursos":"96"},"https://n8n.apptlas.cloud/webhook-test/generar-presupuesto-pro","test","n8n.apptlas.cloud","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","329","*/*","gzip, deflate, br, zstd","es-ES,es;q=0.9","application/json","https://excelcertify.com","u=1, i","https://excelcertify.com/","\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","?0","\"Windows\"","empty","cors","cross-site","186.122.104.167","443","https","6a03186a9812","Victor Rodolfo","prueh","23423423","marcelosaucedo@excelcertify.com","24342342","Curso Individual - $980.000","Google Workspace (Sheets)","Excel Empresarial (Básico/Intermedio/Avanzado), Google Workspace (Sheets)"]


workflowData:
  {"id":"5hyLXhD4yRQ2k4XO","name":"Generador Presupuesto (API PDFShift)","active":true,"nodes":[{"parameters":{"multipleMethods":false,"httpMethod":"POST","path":"generar-presupuesto-pro","authentication":"none","responseMode":"onReceived","responseCode":200,"contentTypeNotice":"","options":{}},"id":"65f6315d-be37-493a-8239-579f0d0dbd5b","name":"Webhook Presupuesto","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[496,64],"webhookId":"generar-presupuesto-pro"},{"parameters":{"mode":"runOnceForAllItems","language":"javaScript","jsCode":"// 1. Calculamos fechas\nconst now = $now;\nconst validityDate = $now.plus({ days: 30 });\nconst presupuestoID = Math.floor(Math.random() * 90000) + 10000;\n\n// 2. Formateamos el plan y precio\nconst planParts = $json.body.plan_detalle.split('-');\nconst planNombre = planParts[0].trim();\nconst planPrecio = planParts[1] ? planParts[1].trim() : 'A consultar';\n\n// 3. Preparamos la lista de cursos\nconst cursosArray = $json.body.cursos ? $json.body.cursos.split(', ') : [];\nconst cursosHTML = cursosArray.map(c => `• ${c}`).join('<br>');\n\n// 4. HTML del Presupuesto (Diseño Final)\n// Nota: Usamos backticks (`) para poder poner el HTML en múltiples líneas cómodamente\nconst htmlContent = `\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.7rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${now.toFormat('dd/MM/yyyy')}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${validityDate.toFormat('dd/MM/yyyy')}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${presupuestoID}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit || 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${planNombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${planPrecio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${cursosHTML}\n  <br>\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>`;\n\nreturn {\n  html_final: htmlContent,\n  id_unico: presupuestoID,\n  fecha_validez: validityDate.toFormat('dd/MM/yyyy')\n};","notice":""},"id":"3f3ae538-0940-4494-aeda-e5d836306f8f","name":"Preparar HTML y Datos","type":"n8n-nodes-base.code","typeVersion":2,"position":[704,64]},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"POST","url":"https://api.pdfshift.io/v3/convert/pdf","authentication":"genericCredentialType","genericAuthType":"httpBasicAuth","provideSslCertificates":false,"sendQuery":false,"sendHeaders":false,"sendBody":true,"contentType":"json","specifyBody":"keypair","bodyParameters":{"parameters":[{"name":"source","value":"={{ $json.html_final }}"},{"name":"landscape","value":"false"},{"name":"use_print","value":"false"}]},"options":{"response":{"response":{"fullResponse":false,"neverError":false,"responseFormat":"file","outputPropertyName":"data"}}},"infoMessage":""},"id":"e54e5c17-8b2e-4bdc-9dc6-61a5caac5478","name":"Generar PDF (PDFShift)","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[928,64],"notesInFlow":true,"credentials":{"httpBasicAuth":{"id":"nUGJyhzEG2yOkIO7","name":"Unnamed credential"}}},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@info.excelcertify.com","toEmail":"={{ $json.body.email_responsable + ', victorrcolussi@gmail.com' }}","subject":"Presupuesto Formal (Válido 30 días) - ExcelCertify","emailFormat":"html","html":"={{ '<p>Hola <strong>' + $json.body.nombre_reserva + '</strong>,</p><p>Adjunto encontrarás el presupuesto formal solicitado para <strong>' + $json.body.empresa + '</strong>.</p><ul><li><strong>Presupuesto N°:</strong> PRE-26-' + $json.id_unico + '</li><li><strong>Válido hasta:</strong> ' + $json.fecha_validez + '</li></ul><p>Quedamos a tu disposición para cualquier consulta.</p><p>Saludos,<br>El equipo de ExcelCertify.</p>' }}","options":{}},"id":"ec0f84c2-8f21-4cd9-a2fe-650864ec8be1","name":"Enviar Email con PDF","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[1136,64],"webhookId":"e4c46f52-9f90-4110-8040-fe25c749258d","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"generalNotice":"","respondWith":"binary","responseDataSource":"setBody","options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/pdf"},{"name":"Content-Disposition","value":"={{ 'attachment; filename=Presupuesto_ExcelCertify_PRE-26-' + $json.id_unico + '.pdf' }}"}]}}},"id":"8e677bad-a037-43b4-a55a-cccd22d55126","name":"Entregar PDF","type":"n8n-nodes-base.respondToWebhook","typeVersion":1,"position":[1344,64]}],"connections":{"Webhook Presupuesto":{"main":[[{"node":"Preparar HTML y Datos","type":"main","index":0}]]},"Preparar HTML y Datos":{"main":[[{"node":"Generar PDF (PDFShift)","type":"main","index":0}]]},"Generar PDF (PDFShift)":{"main":[[{"node":"Enviar Email con PDF","type":"main","index":0}]]},"Enviar Email con PDF":{"main":[[{"node":"Entregar PDF","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"staticData":{},"pinData":{}}

data:
  [{"startData":"1","resultData":"2","executionData":"3"},{},{"runData":"4","pinData":"5","lastNodeExecuted":"6","error":"7"},{"contextData":"8","nodeExecutionStack":"9","waitingExecution":"10"},{"Webhook Presupuesto":"11","Preparar HTML y Datos":"12","Generar PDF (PDFShift)":"13"},{},"Generar PDF (PDFShift)",{"level":"14","tags":"15","description":"16","timestamp":1767633111888,"context":"17","functionality":"18","name":"19","node":"20","messages":"21","httpCode":"22","message":"23","stack":"24"},{},["25"],{},["26"],["27"],["28"],"warning",{},"The provided API Key was not found.",{"itemIndex":0,"request":"29"},"regular","NodeApiError",{"parameters":"30","id":"31","name":"6","type":"32","typeVersion":4.1,"position":"33","notesInFlow":true,"credentials":"34"},["35"],"401","Authorization failed - please check your credentials","NodeApiError: Authorization failed - please check your credentials\n    at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@aws-sdk+credential-providers@3.808.0_asn1.js@5_afd197edb2c1f848eae21a96a97fab23/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:858:16)\n    at processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1093:8)\n    at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1274:11)\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1708:27\n    at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2324:11",{"node":"36","data":"37","source":"38"},{"startTime":1767633111125,"executionIndex":0,"source":"39","hints":"40","executionTime":1,"executionStatus":"41","data":"42"},{"startTime":1767633111128,"executionIndex":1,"source":"43","hints":"44","executionTime":32,"executionStatus":"41","data":"45"},{"startTime":1767633111164,"executionIndex":2,"source":"46","hints":"47","executionTime":726,"executionStatus":"48","error":"49"},{"body":"50","headers":"51","method":"52","uri":"53","gzip":true,"rejectUnauthorized":true,"followRedirect":true,"resolveWithFullResponse":true,"followAllRedirects":true,"timeout":300000,"encoding":null,"json":false,"useStream":true,"auth":"54"},{"preBuiltAgentsCalloutHttpRequest":"55","curlImport":"55","method":"52","url":"53","authentication":"56","genericAuthType":"57","provideSslCertificates":false,"sendQuery":false,"sendHeaders":false,"sendBody":true,"contentType":"58","specifyBody":"59","bodyParameters":"60","options":"61","infoMessage":"55"},"e54e5c17-8b2e-4bdc-9dc6-61a5caac5478","n8n-nodes-base.httpRequest",[928,64],{"httpBasicAuth":"62"},"401 - \"{\\\"success\\\":false,\\\"error\\\":\\\"The provided API Key was not found.\\\",\\\"code\\\":401}\"",{"parameters":"63","id":"31","name":"6","type":"32","typeVersion":4.1,"position":"64","notesInFlow":true,"credentials":"65"},{"main":"66"},{"main":"46"},[],[],"success",{"main":"67"},["68"],[],{"main":"69"},["70"],[],"error",{"level":"14","tags":"15","description":"16","timestamp":1767633111888,"context":"17","functionality":"18","name":"19","node":"20","messages":"21","httpCode":"22","message":"23","stack":"24"},{"source":"71","landscape":"72","use_print":"72"},{"accept":"73"},"POST","https://api.pdfshift.io/v3/convert/pdf",{"user":"74","pass":"75"},"","genericCredentialType","httpBasicAuth","json","keypair",{"parameters":"76"},{"response":"77"},{"id":"78","name":"79"},{"preBuiltAgentsCalloutHttpRequest":"55","curlImport":"55","method":"52","url":"53","authentication":"56","genericAuthType":"57","provideSslCertificates":false,"sendQuery":false,"sendHeaders":false,"sendBody":true,"contentType":"58","specifyBody":"59","bodyParameters":"80","options":"81","infoMessage":"55"},[928,64],{"httpBasicAuth":"82"},["83"],["84"],{"previousNode":"85"},["86"],{"previousNode":"87"},"\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.7rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> 05/01/2026</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">04/02/2026</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-15850</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>asdfasdfasdfa</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> 20350305492</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> asdfasdf</p>\n    <p><span class=\"label\">Email:</span> marcelosaucedo@excelcertify.com</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">Pack Corporativo (2+ cursos)</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">$750.000 c/u s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  • Excel Empresarial (Básico/Intermedio/Avanzado)<br>• Inteligencia Artificial y Automatización<br>• Google Workspace (Sheets)\n  <br>\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>","false","application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7","sk_679d4a0147fa62f1564e11ef1d824a6a9ab40829","**hidden**",["88","89","90"],{"response":"91"},"nUGJyhzEG2yOkIO7","Unnamed credential",{"parameters":"92"},{"response":"93"},{"id":"78","name":"79"},["94"],["95"],"Webhook Presupuesto",["96"],"Preparar HTML y Datos",{"name":"97","value":"98"},{"name":"99","value":"72"},{"name":"100","value":"72"},{"fullResponse":false,"neverError":false,"responseFormat":"101","outputPropertyName":"102"},["103","104","105"],{"response":"106"},{"json":"107","pairedItem":"108"},{"json":"109","pairedItem":"110"},{"json":"107","pairedItem":"111"},"source","={{ $json.html_final }}","landscape","use_print","file","data",{"name":"97","value":"98"},{"name":"99","value":"72"},{"name":"100","value":"72"},{"fullResponse":false,"neverError":false,"responseFormat":"101","outputPropertyName":"102"},{"html_final":"71","id_unico":15850,"fecha_validez":"112"},{"item":0},{"headers":"113","params":"114","query":"115","body":"116","webhookUrl":"117","executionMode":"118"},{"item":0},{"item":0},"04/02/2026",{"host":"119","user-agent":"120","content-length":"121","accept":"122","accept-encoding":"123","accept-language":"124","content-type":"125","origin":"126","priority":"127","referer":"128","sec-ch-ua":"129","sec-ch-ua-mobile":"130","sec-ch-ua-platform":"131","sec-fetch-dest":"132","sec-fetch-mode":"133","sec-fetch-site":"134","x-forwarded-for":"135","x-forwarded-host":"119","x-forwarded-port":"136","x-forwarded-proto":"137","x-forwarded-server":"138","x-real-ip":"135"},{},{},{"nombre_reserva":"139","empresa":"140","cuit":"141","email_responsable":"142","telefono_responsable":"143","plan_detalle":"144","cursos[]":"145","cursos":"146"},"https://n8n.apptlas.cloud/webhook-test/generar-presupuesto-pro","test","n8n.apptlas.cloud","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","395","*/*","gzip, deflate, br, zstd","es-ES,es;q=0.9","application/json","https://excelcertify.com","u=1, i","https://excelcertify.com/","\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","?0","\"Windows\"","empty","cors","cross-site","186.122.104.167","443","https","6a03186a9812","asdfasdf","asdfasdfasdfa","20350305492","marcelosaucedo@excelcertify.com","4532342432","Pack Corporativo (2+ cursos) - $750.000 c/u","Google Workspace (Sheets)","Excel Empresarial (Básico/Intermedio/Avanzado), Inteligencia Artificial y Automatización, Google Workspace (Sheets)"]


workflowData:
  {"id":"5hyLXhD4yRQ2k4XO","name":"Generador Presupuesto (API PDFShift)","active":false,"nodes":[{"parameters":{"multipleMethods":false,"httpMethod":"POST","path":"generar-presupuesto-pro","authentication":"none","responseMode":"onReceived","responseCode":200,"contentTypeNotice":"","options":{}},"id":"65f6315d-be37-493a-8239-579f0d0dbd5b","name":"Webhook Presupuesto","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[496,64],"webhookId":"generar-presupuesto-pro"},{"parameters":{"mode":"runOnceForAllItems","language":"javaScript","jsCode":"// 1. Calculamos fechas\nconst now = $now;\nconst validityDate = $now.plus({ days: 30 });\nconst presupuestoID = Math.floor(Math.random() * 90000) + 10000;\n\n// 2. Formateamos el plan y precio\nconst planParts = $json.body.plan_detalle.split('-');\nconst planNombre = planParts[0].trim();\nconst planPrecio = planParts[1] ? planParts[1].trim() : 'A consultar';\n\n// 3. Preparamos la lista de cursos\nconst cursosArray = $json.body.cursos ? $json.body.cursos.split(', ') : [];\nconst cursosHTML = cursosArray.map(c => `• ${c}`).join('<br>');\n\n// 4. HTML del Presupuesto (Diseño Final)\n// Nota: Usamos backticks (`) para poder poner el HTML en múltiples líneas cómodamente\nconst htmlContent = `\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.7rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> ${now.toFormat('dd/MM/yyyy')}</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">${validityDate.toFormat('dd/MM/yyyy')}</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-${presupuestoID}</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>${$json.body.empresa}</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> ${$json.body.cuit || 'No informado'}</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> ${$json.body.nombre_reserva}</p>\n    <p><span class=\"label\">Email:</span> ${$json.body.email_responsable}</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">${planNombre}</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">${planPrecio} s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  ${cursosHTML}\n  <br>\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>`;\n\nreturn {\n  html_final: htmlContent,\n  id_unico: presupuestoID,\n  fecha_validez: validityDate.toFormat('dd/MM/yyyy')\n};","notice":""},"id":"3f3ae538-0940-4494-aeda-e5d836306f8f","name":"Preparar HTML y Datos","type":"n8n-nodes-base.code","typeVersion":2,"position":[704,64]},{"parameters":{"preBuiltAgentsCalloutHttpRequest":"","curlImport":"","method":"POST","url":"https://api.pdfshift.io/v3/convert/pdf","authentication":"genericCredentialType","genericAuthType":"httpBasicAuth","provideSslCertificates":false,"sendQuery":false,"sendHeaders":false,"sendBody":true,"contentType":"json","specifyBody":"keypair","bodyParameters":{"parameters":[{"name":"source","value":"={{ $json.html_final }}"},{"name":"landscape","value":"false"},{"name":"use_print","value":"false"}]},"options":{"response":{"response":{"fullResponse":false,"neverError":false,"responseFormat":"file","outputPropertyName":"data"}}},"infoMessage":""},"id":"e54e5c17-8b2e-4bdc-9dc6-61a5caac5478","name":"Generar PDF (PDFShift)","type":"n8n-nodes-base.httpRequest","typeVersion":4.1,"position":[928,64],"notesInFlow":true,"credentials":{"httpBasicAuth":{"id":"nUGJyhzEG2yOkIO7","name":"Unnamed credential"}}},{"parameters":{"resource":"email","operation":"send","fromEmail":"avisos@info.excelcertify.com","toEmail":"={{ $json.body.email_responsable + ', victorrcolussi@gmail.com' }}","subject":"Presupuesto Formal (Válido 30 días) - ExcelCertify","emailFormat":"html","html":"={{ '<p>Hola <strong>' + $json.body.nombre_reserva + '</strong>,</p><p>Adjunto encontrarás el presupuesto formal solicitado para <strong>' + $json.body.empresa + '</strong>.</p><ul><li><strong>Presupuesto N°:</strong> PRE-26-' + $json.id_unico + '</li><li><strong>Válido hasta:</strong> ' + $json.fecha_validez + '</li></ul><p>Quedamos a tu disposición para cualquier consulta.</p><p>Saludos,<br>El equipo de ExcelCertify.</p>' }}","options":{}},"id":"ec0f84c2-8f21-4cd9-a2fe-650864ec8be1","name":"Enviar Email con PDF","type":"n8n-nodes-base.emailSend","typeVersion":2.1,"position":[1136,64],"webhookId":"e4c46f52-9f90-4110-8040-fe25c749258d","credentials":{"smtp":{"id":"OiV6sH0CDrHSeXXH","name":"SMTP account 2"}}},{"parameters":{"generalNotice":"","respondWith":"binary","responseDataSource":"setBody","options":{"responseHeaders":{"entries":[{"name":"Content-Type","value":"application/pdf"},{"name":"Content-Disposition","value":"={{ 'attachment; filename=Presupuesto_ExcelCertify_PRE-26-' + $json.id_unico + '.pdf' }}"}]}}},"id":"8e677bad-a037-43b4-a55a-cccd22d55126","name":"Entregar PDF","type":"n8n-nodes-base.respondToWebhook","typeVersion":1,"position":[1344,64]}],"connections":{"Webhook Presupuesto":{"main":[[{"node":"Preparar HTML y Datos","type":"main","index":0}]]},"Preparar HTML y Datos":{"main":[[{"node":"Generar PDF (PDFShift)","type":"main","index":0}]]},"Generar PDF (PDFShift)":{"main":[[{"node":"Enviar Email con PDF","type":"main","index":0}]]},"Enviar Email con PDF":{"main":[[{"node":"Entregar PDF","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"pinData":{}}

data:
  [{"startData":"1","resultData":"2","executionData":"3"},{"destinationNode":"4","runNodeFilter":"5"},{"runData":"6","pinData":"7","lastNodeExecuted":"4"},{"contextData":"8","nodeExecutionStack":"9","metadata":"10","waitingExecution":"11","waitingExecutionSource":"12"},"Generar PDF (PDFShift)",["13","14","4"],{"Webhook Presupuesto":"15","Preparar HTML y Datos":"16","Generar PDF (PDFShift)":"17"},{},{"node:Generar PDF (PDFShift)":"18"},[],{},{},{},"Webhook Presupuesto","Preparar HTML y Datos",["19"],["20"],["21"],{"response":"22"},{"startTime":1767633111125,"executionIndex":0,"source":"23","hints":"24","executionTime":1,"executionStatus":"25","data":"26"},{"startTime":1767633111128,"executionIndex":1,"source":"27","hints":"28","executionTime":32,"executionStatus":"25","data":"29"},{"startTime":1767633139918,"executionIndex":2,"source":"30","hints":"31","executionTime":2772,"executionStatus":"25","data":"32"},{"body":"33","headers":"34","statusCode":200,"statusMessage":"35"},[],[],"success",{"main":"36"},["37"],[],{"main":"38"},["39"],[],{"main":"40"},{"_events":"41","_readableState":"42","socket":"43","httpVersionMajor":1,"httpVersionMinor":1,"httpVersion":"44","complete":true,"rawHeaders":"45","rawTrailers":"46","aborted":false,"upgrade":false,"url":"47","method":null,"statusCode":200,"statusMessage":"35","client":"43","_consuming":true,"_dumped":false,"req":"48","_eventsCount":3,"responseUrl":"49","redirects":"50","contentType":"51","encoding":"52","contentDisposition":"53"},{"x-response-statuscode":"54","x-response-status-code":"54","x-pdfshift-processor":"55","x-credits-cost":"56","x-credits-used":"56","x-response-duration":"57","x-pdfshift-duration":"58","x-credits-remaining":"59","content-disposition":"60","content-security-policy":"61","x-content-type-options":"62","x-frame-options":"63","x-xss-protection":"64","x-server-identifier":"65","access-control-allow-origin":"66","access-control-allow-methods":"67","access-control-allow-credentials":"68","access-control-expose-headers":"69","access-control-allow-headers":"70","cache-control":"71","x-process-time":"72","x-request-id":"73","content-length":"74","content-type":"51","connection":"75"},"OK",["76"],{"previousNode":"13"},["77"],{"previousNode":"14","previousNodeOutput":0,"previousNodeRun":0},["78"],{"end":"79"},{"highWaterMark":65536,"buffer":"80","bufferIndex":0,"length":0,"pipes":"81","awaitDrainWriters":null},{"_tlsOptions":"82","_secureEstablished":true,"_securePending":false,"_newSessionPending":false,"_controlReleased":true,"secureConnecting":false,"_SNICallback":null,"servername":"83","alpnProtocol":false,"authorized":true,"authorizationError":null,"encrypted":true,"_events":"84","_eventsCount":10,"connecting":false,"_hadError":false,"_parent":null,"_host":"83","_closeAfterHandlingError":false,"_readableState":"85","_writableState":"86","allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"47","_server":null,"ssl":"87","_requestCert":true,"_rejectUnauthorized":true,"parser":null,"_httpMessage":"48","timeout":300000},"1.1",["88","54","89","54","90","55","91","56","92","56","93","57","94","58","95","59","96","60","97","61","98","62","99","63","100","64","101","65","102","66","103","67","104","68","105","69","106","70","107","71","108","72","109","73","110","74","111","51","112","75"],[],"",{"_events":"113","_eventsCount":7,"outputData":"114","outputSize":0,"writable":true,"destroyed":false,"_last":true,"chunkedEncoding":false,"shouldKeepAlive":false,"maxRequestsOnConnectionReached":false,"_defaultKeepAlive":true,"useChunkedEncodingByDefault":true,"sendDate":false,"_removedConnection":false,"_removedContLen":false,"_removedTE":false,"strictContentLength":false,"_contentLength":6686,"_hasBody":true,"_trailer":"47","finished":true,"_headerSent":true,"_closed":false,"_header":"115","_keepAliveTimeout":0,"agent":"116","method":"117","path":"118","_ended":true,"res":"33","aborted":false,"timeoutCb":null,"upgradeOrConnect":false,"parser":null,"maxHeadersCount":null,"reusedSocket":false,"host":"83","protocol":"119","_redirectable":"120"},"https://sk_679d4a0147fa62f1564e11ef1d824a6a9ab40829:sk_679d4a0147fa62f1564e11ef1d824a6a9ab40829@api.pdfshift.io/v3/convert/pdf",[],"application/pdf","utf-8",{"type":"121","filename":"122"},"200","proc5.sbg.pdfshift.io","1","1008ms","1133ms","49","inline; filename=result.pdf","default-src 'self'; frame-ancestors 'none'; style-src 'unsafe-inline'; img-src 'self' secure.gravatar.com","nosniff","DENY","1; mode=block","api.sbg.pdfshift.io","*","HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS","true","x-client-session, x-request-id, x-server-identifier, x-process-time, x-pdfshift-processor, x-pdfshift-duration, x-response-status-code, x-credits-cost, x-credits-used, x-credits-remaining, x-ratelimit-remaining, x-ratelimit-limit, x-ratelimit-reset, x-response-duration, x-pdfshift-duration","origin, x-requested-with, content-type, accept, host, authorization, x-token, x-api-key","private, no-cache, no-cache=Set-Cookie, proxy-revalidate","1265ms","46c68a27-9f00-4198-a3d2-33b92a82e7f5","318267","close",["123"],["124"],["125"],[null,null],[],[],{"pipe":false,"secureContext":"126","isServer":false,"requestCert":true,"rejectUnauthorized":true},"api.pdfshift.io",{"close":"127","timeout":"128"},{"highWaterMark":65536,"buffer":"129","bufferIndex":0,"length":0,"pipes":"130","awaitDrainWriters":null},{"highWaterMark":65536,"length":0,"corked":0,"writelen":0,"bufferedIndex":0,"pendingcb":1},{"_parent":"131","_parentWrap":null,"_secureContext":"126","reading":true},"x-response-statuscode","x-response-status-code","x-pdfshift-processor","x-credits-cost","x-credits-used","x-response-duration","x-pdfshift-duration","x-credits-remaining","content-disposition","content-security-policy","x-content-type-options","x-frame-options","x-xss-protection","x-server-identifier","access-control-allow-origin","access-control-allow-methods","access-control-allow-credentials","access-control-expose-headers","access-control-allow-headers","cache-control","x-process-time","x-request-id","content-length","content-type","connection",{},[],"POST /v3/convert/pdf HTTP/1.1\r\nAccept: application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7\r\nContent-Type: application/json\r\nUser-Agent: axios/1.12.0\r\nContent-Length: 6686\r\nAccept-Encoding: gzip, compress, deflate, br\r\nHost: api.pdfshift.io\r\nAuthorization: Basic c2tfNjc5ZDRhMDE0N2ZhNjJmMTU2NGUxMWVmMWQ4MjRhNmE5YWI0MDgyOTpza182NzlkNGEwMTQ3ZmE2MmYxNTY0ZTExZWYxZDgyNGE2YTlhYjQwODI5\r\nConnection: close\r\n\r\n",{"_events":"132","_eventsCount":2,"options":"133","defaultPort":443,"protocol":"119","requests":"134","sockets":"135","freeSockets":"136","keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"137","maxTotalSockets":null,"totalSocketCount":1,"agentKeepAliveTimeoutBuffer":1000,"maxCachedSessions":100,"_sessionCache":"138"},"POST","/v3/convert/pdf","https:",{"_events":"139","_writableState":"140","_options":"141","_ended":true,"_ending":true,"_redirectCount":0,"_redirects":"50","_requestBodyLength":6686,"_requestBodyBuffers":"142","_eventsCount":3,"_currentRequest":"48","_currentUrl":"49","_timeout":null},"inline","result.pdf",{"json":"143","pairedItem":"144"},{"json":"145","pairedItem":"146"},{"json":"145","binary":"147","pairedItem":"148"},{"context":"149"},[null,null,null,null],[null,null],[],[],{"reading":true,"onconnection":null},{},{"servername":"83","defaultPort":443,"protocol":"119","noDelay":true,"path":null},{},{"api.pdfshift.io:443:::::::::::::::::::::":"150"},{},"lifo",{"map":"151","list":"152"},{"socket":"153"},{"highWaterMark":65536,"length":0,"corked":0,"writelen":0,"bufferedIndex":0,"pendingcb":0},{"maxRedirects":21,"maxBodyLength":null,"protocol":"119","path":"118","method":"117","headers":"154","agents":"155","auth":"156","beforeRedirects":"157","hostname":"83","port":"47","agent":"116","nativeProtocols":"158","pathname":"118"},[],{"headers":"159","params":"160","query":"161","body":"162","webhookUrl":"163","executionMode":"164"},{"item":0},{"html_final":"165","id_unico":15850,"fecha_validez":"166"},{"item":0},{"data":"167"},{"item":0},{},["43"],{"api.pdfshift.io:443:::::::::::::::::::::":"168"},["169"],[null,null],{"Accept":"170","Content-Type":"171","User-Agent":"172","Content-Length":"173","Accept-Encoding":"174"},{"http":"175","https":"116"},"sk_679d4a0147fa62f1564e11ef1d824a6a9ab40829:sk_679d4a0147fa62f1564e11ef1d824a6a9ab40829",{},{"http:":"176","https:":"177"},{"host":"178","user-agent":"179","content-length":"180","accept":"181","accept-encoding":"182","accept-language":"183","content-type":"171","origin":"184","priority":"185","referer":"186","sec-ch-ua":"187","sec-ch-ua-mobile":"188","sec-ch-ua-platform":"189","sec-fetch-dest":"190","sec-fetch-mode":"191","sec-fetch-site":"192","x-forwarded-for":"193","x-forwarded-host":"178","x-forwarded-port":"194","x-forwarded-proto":"195","x-forwarded-server":"196","x-real-ip":"193"},{},{},{"nombre_reserva":"197","empresa":"198","cuit":"199","email_responsable":"200","telefono_responsable":"201","plan_detalle":"202","cursos[]":"203","cursos":"204"},"https://n8n.apptlas.cloud/webhook-test/generar-presupuesto-pro","test","\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<title>Presupuesto Formal</title>\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');\nbody { font-family: 'Inter', Helvetica, Arial, sans-serif; color: #374151; line-height: 1.5; margin: 0; padding: 40px; }\n.legal-top { font-size: 0.7rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 25px; border-bottom: 1px dashed #e5e7eb; padding-bottom: 10px; text-align: center; font-weight: 600; }\n.header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #10b981; padding-bottom: 25px; margin-bottom: 35px; }\n.logos-container { display: flex; flex-direction: column; gap: 12px; }\n.main-logo { height: 60px; object-fit: contain; display: block; }\n.partner-logos { display: flex; gap: 15px; align-items: center; }\n.partner-img { height: 24px; filter: grayscale(100%); opacity: 0.6; }\n.meta-info { text-align: right; font-size: 0.85rem; color: #6b7280; }\n.meta-info strong { color: #111827; }\nh1 { color: #111827; font-size: 26px; margin: 0 0 5px 0; font-weight: 800; }\nh2 { color: #111827; font-size: 16px; font-weight: 700; border-bottom: 1px solid #e5e7eb; padding-bottom: 8px; margin-top: 35px; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.5px; }\n.client-info { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f9fafb; padding: 20px; border-radius: 8px; border: 1px solid #f3f4f6; }\n.client-col { width: 48%; }\n.client-col p { margin: 4px 0; font-size: 0.9rem; }\n.label { font-weight: 600; color: #4b5563; display: inline-block; width: 90px; }\ntable { width: 100%; border-collapse: collapse; margin-top: 15px; }\nth { background: #111827; color: #ffffff; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 0.85rem; }\ntd { padding: 15px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }\n.price-col { text-align: right; font-weight: 700; color: #111827; font-size: 1rem; white-space: nowrap; background-color: #f0fdf4; }\n.courses-box { background: #fff; padding: 15px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 0.95rem; color: #374151; line-height: 1.8; }\n.change-warning { display: block; margin-top: 10px; font-size: 0.85rem; color: #15803d; font-weight: 600; font-style: italic; }\n.terms { margin-top: 30px; font-size: 0.8rem; color: #4b5563; }\n.terms ul { padding-left: 18px; margin-bottom: 0; }\n.terms li { margin-bottom: 6px; }\n.footer { margin-top: 50px; text-align: center; font-size: 0.75rem; color: #9ca3af; border-top: 1px solid #f3f4f6; padding-top: 20px; }\n.highlight { color: #10b981; font-weight: 600; }\n</style>\n</head>\n<body>\n\n<div class=\"legal-top\">Presupuesto válido para emitir Orden de Compra a favor de Excel Certify - Integralitas S.A.S según corresponda</div>\n\n<div class=\"header\">\n  <div class=\"logos-container\">\n    <img src=\"https://excelcertify.com/wp-content/uploads/2023/07/cropped-cropped-cropped-logoexcelcertify-bicubic-1-1-188x63.png\" alt=\"Excel Certify\" class=\"main-logo\">\n    <div class=\"partner-logos\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/Microsoft-Solutions-Partner.png\" alt=\"Microsoft Partner\" class=\"partner-img\">\n        <img src=\"https://excelcertify.com/wp-content/uploads/2025/07/GC-Partner1.png\" alt=\"Google Partner\" class=\"partner-img\">\n    </div>\n  </div>\n  <div class=\"meta-info\">\n    <p><strong>Fecha de Emisión:</strong> 05/01/2026</p>\n    <p><strong>Válido hasta:</strong> <span class=\"highlight\">04/02/2026</span></p>\n    <p><strong>Presupuesto N°:</strong> PRE-26-15850</p>\n  </div>\n</div>\n\n<h1>Presupuesto de Capacitación</h1>\n<p style=\"color: #6b7280; margin-top: 0; font-size: 0.9rem;\">Propuesta profesional con tarifa congelada Enero 2025.</p>\n\n<div class=\"client-info\">\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Cliente</p>\n    <p><span class=\"label\">Empresa:</span> <strong>asdfasdfasdfa</strong></p>\n    <p><span class=\"label\">CUIT / ID:</span> 20350305492</p>\n  </div>\n  <div class=\"client-col\">\n    <p style=\"text-transform: uppercase; font-weight:bold; font-size: 0.8rem; color:#9ca3af; margin-bottom:5px;\">Contacto</p>\n    <p><span class=\"label\">Atención a:</span> asdfasdf</p>\n    <p><span class=\"label\">Email:</span> marcelosaucedo@excelcertify.com</p>\n  </div>\n</div>\n\n<h2>Detalle de la Inversión</h2>\n<table>\n  <thead><tr><th width=\"65%\">Descripción del Servicio</th><th width=\"35%\" style=\"text-align: right;\">Inversión Total</th></tr></thead>\n  <tbody>\n    <tr>\n      <td class=\"plan-desc\">\n        <strong style=\"font-size: 1rem; color: #111827;\">Pack Corporativo (2+ cursos)</strong><br>\n        <span style=\"font-size: 0.85rem; color: #6b7280;\">Modalidad Online en Vivo. Incluye certificación oficial.</span>\n      </td>\n      <td class=\"price-col\">$750.000 c/u s / IVA</td>\n    </tr>\n  </tbody>\n</table>\n\n<h2>Tecnologías Incluidas</h2>\n<p style=\"margin-bottom: 10px; font-size: 0.9rem;\">El presente presupuesto contempla la capacitación en las siguientes áreas seleccionadas:</p>\n<div class=\"courses-box\">\n  • Excel Empresarial (Básico/Intermedio/Avanzado)<br>• Inteligencia Artificial y Automatización<br>• Google Workspace (Sheets)\n  <br>\n  <span class=\"change-warning\">/ Los cursos pueden ser cambiados hasta 30 días antes de la capacitación efectiva.</span>\n</div>\n\n<div class=\"terms\">\n  <h3 style=\"margin-top: 0; font-size: 0.9rem; font-weight: 700; color: #111827; margin-bottom: 10px;\">Términos y Condiciones Comerciales</h3>\n  <ul>\n    <li><strong>Validez de la Oferta:</strong> Precios congelados (tarifa Enero 2025) válidos para ejecución hasta Junio 2026, confirmando reserva en Enero.</li>\n    <li><strong>Forma de Pago:</strong> Transferencia bancaria o eCheq a favor de Integralitas S.A.S.</li>\n    <li><strong>Facturación:</strong> Se emitirá Factura A o C tras la confirmación. Con Factura A, el precio promocional está sujeto a un recargo del 16% + IVA.</li>\n    <li><strong>Confidencialidad:</strong> Documento confidencial para uso exclusivo de la empresa destinataria.</li>\n  </ul>\n</div>\n\n<div class=\"footer\">\n  <p><strong>Excel Certify</strong> - Integralitas S.A.S</p>\n  <p>Microsoft Solutions Partner & Google Partner</p>\n  <p>www.excelcertify.com | info@excelcertify.com</p>\n</div>\n\n</body>\n</html>","04/02/2026",{"mimeType":"51","fileType":"205","fileExtension":"205","data":"206","fileName":"122","fileSize":"207"},{"type":"208","data":"209"},"api.pdfshift.io:443:::::::::::::::::::::","application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7","application/json","axios/1.12.0","6686","gzip, compress, deflate, br",{"_events":"210","_eventsCount":2,"options":"211","defaultPort":80,"protocol":"212","requests":"213","sockets":"214","freeSockets":"215","keepAliveMsecs":1000,"keepAlive":false,"maxSockets":null,"maxFreeSockets":256,"scheduling":"137","maxTotalSockets":null,"totalSocketCount":0,"agentKeepAliveTimeoutBuffer":1000},{"METHODS":"216","STATUS_CODES":"217","maxHeaderSize":16384,"globalAgent":"218"},{"globalAgent":"219"},"n8n.apptlas.cloud","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36","395","*/*","gzip, deflate, br, zstd","es-ES,es;q=0.9","https://excelcertify.com","u=1, i","https://excelcertify.com/","\"Google Chrome\";v=\"143\", \"Chromium\";v=\"143\", \"Not A(Brand\";v=\"24\"","?0","\"Windows\"","empty","cors","cross-site","186.122.104.167","443","https","6a03186a9812","asdfasdf","asdfasdfasdfa","20350305492","marcelosaucedo@excelcertify.com","4532342432","Pack Corporativo (2+ cursos) - $750.000 c/u","Google Workspace (Sheets)","Excel Empresarial (Básico/Intermedio/Avanzado), Inteligencia Artificial y Automatización, Google Workspace (Sheets)","pdf","[encoded data, 424356 characters]","318 kB","Buffer",[48,130,5,211,2,1,1,2,2,3,4,4,2,19,2,4,32,60,151,245,52,133,35,61,217,66,208,220,251,209,93,117,39,176,146,246,171,18,21,28,72,163,255,6,22,168,187,91,128,4,48,80,202,80,195,103,193,150,83,169,145,65,156,138,220,13,61,83,16,120,143,93,208,5,227,120,30,33,20,167,238,147,99,253,60,75,115,96,43,206,178,121,182,39,142,25,128,243,78,161,6,2,4,105,91,240,244,162,4,2,2,28,32,163,130,5,19,48,130,5,15,48,130,3,247,160,3,2,1,2,2,18,5,216,95,209,121,165,94,244,152,141,11,45,12,208,162,65,113,164,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,48,51,49,11,48,9,6,3,85,4,6,19,2,85,83,49,22,48,20,6,3,85,4,10,19,13,76,101,116,39,115,32,69,110,99,114,121,112,116,49,12,48,10,6,3,85,4,3,19,3,82,49,51,48,30,23,13,50,53,49,49,50,57,50,51,48,51,49,55,90,23,13,50,54,48,50,50,55,50,51,48,51,49,54,90,48,26,49,24,48,22,6,3,85,4,3,19,15,97,112,105,46,112,100,102,115,104,105,102,116,46,105,111,48,130,1,34,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0,3,130,1,15,0,48,130,1,10,2,130,1,1,0,209,67,164,147,228,157,183,171,184,211,189,189,79,97,165,37,211,61,179,199,220,246,169,133,11,136,35,184,129,235,215,121,106,147,230,182,71,40,65,150,21,152,124,105,157,84,77,142,83,130,226,132,173,114,69,52,197,148,9,102,29,204,243,118,147,38,210,45,130,102,176,85,164,221,232,50,40,54,81,121,78,250,246,0,126,0,5,139,209,123,93,215,253,163,35,190,55,13,210,196,249,254,131,206,125,80,47,84,253,173,78,59,82,229,112,79,251,166,133,155,163,9,139,209,237,110,101,69,119,21,232,218,230,57,255,254,133,248,205,201,183,59,231,254,125,178,119,194,195,131,145,64,39,138,50,190,184,179,143,109,233,62,182,97,223,235,85,107,175,65,187,81,114,239,130,224,229,46,112,69,215,126,157,91,56,92,240,1,76,57,132,0,172,28,187,173,235,139,129,80,211,96,139,226,243,154,87,143,225,171,76,254,157,252,127,213,232,221,205,142,148,245,46,114,94,139,49,28,47,100,224,49,59,191,18,10,24,193,80,165,243,88,62,18,167,245,105,227,229,16,213,211,25,139,117,9,2,3,1,0,1,163,130,2,52,48,130,2,48,48,14,6,3,85,29,15,1,1,255,4,4,3,2,5,160,48,29,6,3,85,29,37,4,22,48,20,6,8,43,6,1,5,5,7,3,1,6,8,43,6,1,5,5,7,3,2,48,12,6,3,85,29,19,1,1,255,4,2,48,0,48,29,6,3,85,29,14,4,22,4,20,130,188,161,129,134,20,12,164,89,239,223,202,8,154,59,124,172,111,160,117,48,31,6,3,85,29,35,4,24,48,22,128,20,231,171,159,15,44,51,160,83,211,94,79,120,200,178,132,14,59,214,146,51,48,51,6,8,43,6,1,5,5,7,1,1,4,39,48,37,48,35,6,8,43,6,1,5,5,7,48,2,134,23,104,116,116,112,58,47,47,114,49,51,46,105,46,108,101,110,99,114,46,111,114,103,47,48,47,6,3,85,29,17,4,40,48,38,130,15,97,112,105,46,112,100,102,115,104,105,102,116,46,105,111,130,19,97,112,105,46,115,98,103,46,112,100,102,115,104,105,102,116,46,105,111,48,19,6,3,85,29,32,4,12,48,10,48,8,6,6,103,129,12,1,2,1,48,46,6,3,85,29,31,4,39,48,37,48,35,160,33,160,31,134,29,104,116,116,112,58,47,47,114,49,51,46,99,46,108,101,110,99,114,46,111,114,103,47,51,55,46,99,114,108,48,130,1,4,6,10,43,6,1,4,1,214,121,2,4,2,4,129,245,4,129,242,0,240,0,119,0,25,134,212,199,40,170,111,254,186,3,111,120,42,77,1,145,170,206,45,114,49,15,174,206,93,112,65,45,37,76,199,212,0,0,1,154,210,16,205,179,0,0,4,3,0,72,48,70,2,33,0,128,185,119,101,120,14,216,52,202,194,93,53,190,252,155,52,169,126,69,160,155,174,223,239,15,251,163,207,212,56,97,35,2,33,0,131,16,157,170,200,179,221,98,118,49,196,5,72,243,118,196,4,17,137,110,189,79,109,198,66,111,161,240,136,157,237,0,0,117,0,14,87,148,188,243,174,169,62,51,27,44,153,7,179,247,144,223,155,194,61,113,50,37,221,33,169,37,172,97,197,78,33,0,0,1,154,210,16,205,166,0,0,4,3,0,70,48,68,2,32,67,134,180,233,65,47,22,177,58,21,72,99,33,212,236,200,79,8,45,145,73,62,47,165,1,130,105,206,66,179,53,220,2,32,82,57,221,208,197,112,41,224,51,27,113,193,143,144,100,83,228,217,80,74,238,167,88,39,58,242,120,162,19,227,74,117,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,3,130,1,1,0,28,243,11,157,177,155,203,221,38,148,144,87,213,32,93,177,9,183,110,175,103,91,98,223,115,107,217,32,229,68,205,149,61,66,11,159,149,63,196,71,249,201,35,49,41,159,136,190,151,205,238,145,103,198,78,98,192,157,56,138,242,242,186,193,95,223,75,248,45,238,59,67,139,82,211,118,214,65,237,74,215,45,171,27,66,33,174,130,81,245,145,180,245,193,203,235,169,71,241,74,60,180,145,129,228,230,204,99,73,17,79,12,126,24,73,77,248,111,193,90,132,154,219,211,99,94,225,230,72,108,45,141,123,84,105,246,170,249,3,78,155,133,162,245,136,181,159,60,14,52,201,130,150,65,37,138,88,197,159,120,249,93,217,133,96,202,170,232,196,239,1,168,102,37,216,219,250,33,15,143,45,31,144,199,252,192,24,194,105,47,241,146,45,162,180,193,159,174,154,122,52,226,49,246,58,32,218,216,249,238,59,8,183,74,164,48,33,219,130,105,143,202,212,252,92,136,248,141,127,246,57,51,250,221,84,11,84,201,176,61,155,8,145,60,123,75,41,124,230,205,132,249,197,96,128,210,164,2,4,0,166,17,4,15,97,112,105,46,112,100,102,115,104,105,102,116,46,105,111,169,4,2,2,28,32,170,34,4,32,208,177,89,128,6,131,218,162,72,53,4,230,220,252,89,154,57,164,28,204,7,45,83,160,87,51,244,144,161,96,199,140,174,7,2,5,0,140,67,24,190,179,3,2,1,29],{},{"servername":"83","noDelay":true,"path":null},"http:",{},{},{},["220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","117","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253"],{"100":"254","101":"255","102":"256","103":"257","200":"35","201":"258","202":"259","203":"260","204":"261","205":"262","206":"263","207":"264","208":"265","226":"266","300":"267","301":"268","302":"269","303":"270","304":"271","305":"272","307":"273","308":"274","400":"275","401":"276","402":"277","403":"278","404":"279","405":"280","406":"281","407":"282","408":"283","409":"284","410":"285","411":"286","412":"287","413":"288","414":"289","415":"290","416":"291","417":"292","418":"293","421":"294","422":"295","423":"296","424":"297","425":"298","426":"299","428":"300","429":"301","431":"302","451":"303","500":"304","501":"305","502":"306","503":"307","504":"308","505":"309","506":"310","507":"311","508":"312","509":"313","510":"314","511":"315"},{"_events":"316","_eventsCount":2,"options":"317","defaultPort":80,"protocol":"212","requests":"318","sockets":"319","freeSockets":"320","keepAliveMsecs":1000,"keepAlive":true,"maxSockets":null,"maxFreeSockets":256,"scheduling":"137","maxTotalSockets":null,"totalSocketCount":0,"agentKeepAliveTimeoutBuffer":1000},{"_events":"321","_eventsCount":2,"options":"322","defaultPort":443,"protocol":"119","requests":"323","sockets":"324","freeSockets":"325","keepAliveMsecs":1000,"keepAlive":true,"maxSockets":null,"maxFreeSockets":256,"scheduling":"137","maxTotalSockets":null,"totalSocketCount":0,"agentKeepAliveTimeoutBuffer":1000,"maxCachedSessions":100,"_sessionCache":"326"},"ACL","BIND","CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LINK","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCALENDAR","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","PROPFIND","PROPPATCH","PURGE","PUT","QUERY","REBIND","REPORT","SEARCH","SOURCE","SUBSCRIBE","TRACE","UNBIND","UNLINK","UNLOCK","UNSUBSCRIBE","Continue","Switching Protocols","Processing","Early Hints","Created","Accepted","Non-Authoritative Information","No Content","Reset Content","Partial Content","Multi-Status","Already Reported","IM Used","Multiple Choices","Moved Permanently","Found","See Other","Not Modified","Use Proxy","Temporary Redirect","Permanent Redirect","Bad Request","Unauthorized","Payment Required","Forbidden","Not Found","Method Not Allowed","Not Acceptable","Proxy Authentication Required","Request Timeout","Conflict","Gone","Length Required","Precondition Failed","Payload Too Large","URI Too Long","Unsupported Media Type","Range Not Satisfiable","Expectation Failed","I'm a Teapot","Misdirected Request","Unprocessable Entity","Locked","Failed Dependency","Too Early","Upgrade Required","Precondition Required","Too Many Requests","Request Header Fields Too Large","Unavailable For Legal Reasons","Internal Server Error","Not Implemented","Bad Gateway","Service Unavailable","Gateway Timeout","HTTP Version Not Supported","Variant Also Negotiates","Insufficient Storage","Loop Detected","Bandwidth Limit Exceeded","Not Extended","Network Authentication Required",{},{"keepAlive":true,"scheduling":"137","timeout":5000,"noDelay":true,"path":null},{},{},{},{},{"keepAlive":true,"scheduling":"137","timeout":5000,"defaultPort":443,"protocol":"119","noDelay":true,"path":null},{},{},{},{"map":"327","list":"328"},{"telemetry.n8n.io:443:::::::::::::::::::::":"329"},["330"],{"type":"208","data":"331"},"telemetry.n8n.io:443:::::::::::::::::::::",[48,130,4,235,2,1,1,2,2,3,4,4,2,19,2,4,32,217,77,109,88,105,48,187,203,170,128,37,245,48,82,216,242,65,80,6,66,179,63,28,114,237,232,78,21,180,142,124,120,4,48,33,102,251,104,87,115,119,38,81,12,146,155,12,151,87,46,69,138,120,118,230,200,198,217,200,208,175,204,15,107,34,216,221,220,137,103,106,53,109,14,203,137,114,225,211,159,143,53,161,6,2,4,105,91,240,225,162,4,2,2,28,32,163,130,3,135,48,130,3,131,48,130,3,8,160,3,2,1,2,2,18,6,197,170,36,211,13,220,237,231,226,250,187,144,97,180,74,24,46,48,10,6,8,42,134,72,206,61,4,3,3,48,50,49,11,48,9,6,3,85,4,6,19,2,85,83,49,22,48,20,6,3,85,4,10,19,13,76,101,116,39,115,32,69,110,99,114,121,112,116,49,11,48,9,6,3,85,4,3,19,2,69,56,48,30,23,13,50,54,48,49,48,50,48,48,50,55,49,57,90,23,13,50,54,48,52,48,50,48,48,50,55,49,56,90,48,17,49,15,48,13,6,3,85,4,3,19,6,110,56,110,46,105,111,48,89,48,19,6,7,42,134,72,206,61,2,1,6,8,42,134,72,206,61,3,1,7,3,66,0,4,211,174,61,128,47,240,248,241,234,21,116,150,42,179,46,240,129,213,39,54,31,110,227,236,110,69,66,142,168,163,145,17,16,173,24,162,208,109,128,17,118,230,102,224,180,228,94,253,12,138,106,253,101,6,198,43,21,218,217,83,12,31,61,169,163,130,2,29,48,130,2,25,48,14,6,3,85,29,15,1,1,255,4,4,3,2,7,128,48,29,6,3,85,29,37,4,22,48,20,6,8,43,6,1,5,5,7,3,1,6,8,43,6,1,5,5,7,3,2,48,12,6,3,85,29,19,1,1,255,4,2,48,0,48,29,6,3,85,29,14,4,22,4,20,78,175,69,224,96,124,252,186,40,233,46,76,32,57,246,237,0,54,100,102,48,31,6,3,85,29,35,4,24,48,22,128,20,143,13,19,162,246,46,126,209,80,108,51,24,56,93,89,142,35,114,145,202,48,50,6,8,43,6,1,5,5,7,1,1,4,38,48,36,48,34,6,8,43,6,1,5,5,7,48,2,134,22,104,116,116,112,58,47,47,101,56,46,105,46,108,101,110,99,114,46,111,114,103,47,48,27,6,3,85,29,17,4,20,48,18,130,8,42,46,110,56,110,46,105,111,130,6,110,56,110,46,105,111,48,19,6,3,85,29,32,4,12,48,10,48,8,6,6,103,129,12,1,2,1,48,45,6,3,85,29,31,4,38,48,36,48,34,160,32,160,30,134,28,104,116,116,112,58,47,47,101,56,46,99,46,108,101,110,99,114,46,111,114,103,47,52,55,46,99,114,108,48,130,1,3,6,10,43,6,1,4,1,214,121,2,4,2,4,129,244,4,129,241,0,239,0,118,0,203,56,247,21,137,124,132,161,68,95,91,193,221,251,201,110,242,154,89,205,71,10,105,5,133,176,203,20,195,20,88,231,0,0,1,155,124,79,152,228,0,0,4,3,0,71,48,69,2,32,83,164,25,190,193,138,81,65,4,29,200,67,33,228,159,132,248,201,79,76,34,164,139,91,241,163,70,139,7,130,56,189,2,33,0,151,213,95,97,101,188,252,190,211,33,36,94,112,67,24,59,71,244,136,186,48,109,36,64,58,219,51,220,143,47,218,220,0,117,0,150,151,100,191,85,88,151,173,247,67,135,104,55,8,66,119,233,240,58,213,246,164,243,54,110,70,164,63,15,202,169,198,0,0,1,155,124,79,153,17,0,0,4,3,0,70,48,68,2,32,70,201,88,182,206,159,158,188,13,55,249,206,160,255,228,255,72,206,70,166,8,10,168,202,68,86,19,172,3,54,171,16,2,32,57,84,155,163,101,86,224,83,58,130,34,230,31,120,239,96,16,5,49,158,14,13,81,222,31,210,239,245,184,185,186,236,48,10,6,8,42,134,72,206,61,4,3,3,3,105,0,48,102,2,49,0,146,136,16,88,236,32,141,155,94,106,213,247,1,43,117,52,231,251,124,78,207,11,147,41,90,246,192,185,88,149,2,75,35,119,135,119,110,222,68,210,45,212,72,239,45,4,94,214,2,49,0,215,219,172,179,221,249,93,191,225,252,157,50,178,185,115,122,97,114,7,16,247,76,123,176,186,139,113,135,127,54,137,45,118,178,20,130,5,47,168,57,30,18,213,140,242,119,97,145,164,2,4,0,166,18,4,16,116,101,108,101,109,101,116,114,121,46,110,56,110,46,105,111,169,5,2,3,0,253,32,170,129,195,4,129,192,230,47,46,16,252,196,42,69,223,151,169,64,76,107,210,210,65,167,126,140,107,98,23,203,99,129,183,159,96,138,193,132,12,91,56,1,136,254,114,125,93,84,149,60,145,236,58,73,80,42,141,82,79,110,204,173,64,251,187,94,104,116,59,11,26,91,176,106,30,228,39,232,83,85,80,47,3,229,226,25,231,22,53,232,95,43,63,13,67,76,72,35,46,59,112,203,168,54,150,107,236,114,160,38,120,49,191,13,4,36,228,57,81,186,130,232,91,181,17,103,62,217,17,160,248,247,201,220,213,10,191,220,75,176,109,61,156,22,226,68,208,70,156,122,246,37,12,118,152,82,146,182,8,66,106,15,29,50,200,255,205,119,81,86,74,224,33,13,230,243,13,150,99,81,239,48,180,139,242,167,167,14,26,47,191,18,248,61,50,251,170,220,174,6,2,4,43,196,77,247,179,4,2,2,17,236]]


