Documentación Guías
Guardar, cargar y exportar
Guarda el JSON en tu aplicación, vuelve a abrirlo y exporta HTML para el envío.
En esta página
Elige dónde guardar
Para gestionar los emails en tu backend, desactiva el guardado alojado y guarda el documento completo de onDocumentChange. Para conservar borradores e historial en Weavour, usa borradores alojados.
Guarda el documento completo
Conserva schemaVersion, content, subject y preheader juntos. onChange solo proporciona el contenido; usa onDocumentChange para conservar el email completo.
El ejemplo envía el último documento cuando el usuario elige Guardar. Implementa /api/email-document con autenticación y control de acceso. Muestra el éxito solo cuando el servidor lo confirme.
import { mount } from '@weavour/editor';
let latestEmail: unknown;
const editor = mount('#email-editor', {
editorKey: 'YOUR_PUBLIC_EDITOR_KEY',
userId: 'user-123',
enableAutosave: false,
onDocumentChange(email) {
latestEmail = email;
},
onError: console.error,
});
// Call from your Save action. Your backend authenticates the host user.
async function saveEmail() {
await editor.ready;
if (!latestEmail) throw new Error('The document is not available yet.');
const response = await fetch('/api/email-document', {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(latestEmail),
});
if (!response.ok) throw new Error('The email could not be saved.');
}Abre un email guardado
Pasa el documento completo como emailDocument, sin document, subject, preheader ni draftId. Para abrir otro email, guarda el trabajo actual y monta otra instancia.
import { mount, type EmailDocument } from '@weavour/editor';
// Retrieve this envelope from your authenticated application backend.
async function openSavedEmail(savedEmail: EmailDocument) {
const editor = mount('#email-editor', {
editorKey: 'YOUR_PUBLIC_EDITOR_KEY',
userId: 'user-123',
emailDocument: savedEmail,
enableAutosave: false,
onError: console.error,
});
await editor.ready;
return editor;
}Exporta HTML y texto sin formato
Después de editor.ready, llama a exportHTML(). Usa html, text, subject y preheader en tu flujo de envío. Exportar no guarda el documento. previewHtml es una vista previa, no el email final.
Las exportaciones conservan los tokens y la sintaxis de condiciones. Revisa mergeTagIssues y displayConditionIssues y resuelve la personalización antes de enviar.
// Run from your Export or Send action; show failures in your UI.
try {
await editor.ready;
const output = await editor.exportHTML();
console.log(output.html, output.text, output.subject, output.preheader);
// Resolve merge tags and conditions before submitting to your provider.
} catch (error) {
console.error('Export failed:', error);
}