DocumentaçãoSDK no GitHub

Documentação Guias

Salvar, carregar e exportar

Salve o JSON do e-mail na sua aplicação, reabra e exporte HTML para envio.

Nesta página

Escolher onde salvar

Para gerenciar e-mails no seu backend, desative o salvamento hospedado e salve o documento completo de onDocumentChange. Para manter rascunhos e histórico na Weavour, use rascunhos hospedados.

Salvar o documento completo

Persista schemaVersion, content, subject e preheader juntos. onChange contém apenas conteúdo bruto; use onDocumentChange para manter o e-mail completo.

O exemplo envia o documento mais recente quando o usuário escolhe Salvar. Implemente /api/email-document na sua aplicação com autenticação e controle de acesso. Exiba sucesso apenas após a solicitação ser concluída.

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.');
}

Reabrir um e-mail salvo

Informe o envelope salvo em emailDocument. Não combine com document, subject, preheader ou draftId. Para carregar outro e-mail, salve o trabalho atual e monte uma nova instância.

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;
}

Exportar HTML e texto simples

Após editor.ready, chame exportHTML(). Use html, text, subject e preheader no seu fluxo de envio. Exportar não salva o documento. previewHtml é uma captura para exibição, não o e-mail final.

As exportações preservam tokens e sintaxe das condições. Confira mergeTagIssues e displayConditionIssues e resolva a personalização 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);
}
Precisa de ajuda? Fale com a gente