// Envía 3 ejemplos del correo minimalista de Teneriffa: nueva, modificada, cancelada. // Uso: N8N_EMAIL_WEBHOOK_URL=... node apps/api/scripts/send-test-teneriffa-variants.mjs const WEBHOOK = process.env.N8N_EMAIL_WEBHOOK_URL; const FROM = process.env.EMAIL_FROM ?? 'Naturcalabacera '; const TO = process.argv[2] ?? 'kilian.parraga@gmail.com'; if (!WEBHOOK) { console.error('Falta N8N_EMAIL_WEBHOOK_URL'); process.exit(1); } function renderTeneriffaMinimal(actionLabel, dateRange, property, cancelled = false) { const accent = cancelled ? '#ef4444' : actionLabel === 'Nueva Reserva' ? '#3b82f6' : '#f59e0b'; return `

${actionLabel}

Fechas

${dateRange}

Propiedad

${property}

`; } async function send(subject, html) { const res = await fetch(WEBHOOK, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ to: TO, subject, html, from: FROM }), }); const text = await res.text().catch(() => ''); return { ok: res.ok, status: res.status, body: text.slice(0, 200) }; } const cases = [ { tag: 'NUEVA RESERVA', label: 'Nueva Reserva', range: '03 jul 2026 – 10 jul 2026', prop: 'La Esquinita' }, { tag: 'MODIFICADA', label: 'Reserva Modificada', range: '03 jul 2026 – 12 jul 2026', prop: 'La Esquinita' }, { tag: 'CANCELADA', label: 'Reserva Cancelada', range: '03 jul 2026 – 12 jul 2026', prop: 'La Esquinita', cancelled: true }, ]; for (const c of cases) { const subject = `[${c.tag}] ${c.range} · ${c.prop}`; const html = renderTeneriffaMinimal(c.label, c.range, c.prop, c.cancelled); const r = await send(subject, html); console.log(c.tag.padEnd(15), r); }