DocumentaciónSDK en GitHub

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.

typescript
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.

typescript
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.

typescript
// 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);
}
¿Necesitas ayuda? Escríbenos