DocumentationSDK sur GitHub

Documentation Guides pratiques

Sauvegarder, charger et exporter

Sauvegardez le JSON dans votre application, rechargez-le et exportez le HTML pour l’envoi.

Sur cette page

Choisir où sauvegarder

Pour gérer les emails dans votre backend, désactivez la sauvegarde hébergée et enregistrez le document complet de onDocumentChange. Pour conserver les brouillons et l’historique dans Weavour, utilisez les brouillons hébergés.

Sauvegarder le document complet

Conservez schemaVersion, content, subject et preheader ensemble. onChange fournit seulement le contenu brut ; utilisez onDocumentChange pour garder l’email complet.

L’exemple envoie le dernier document lorsque l’utilisateur choisit Enregistrer. Implémentez /api/email-document avec authentification et contrôle d’accès. Affichez le succès après confirmation du serveur.

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

Rouvrir un email sauvegardé

Passez le document complet dans emailDocument, sans document, subject, preheader ni draftId. Pour ouvrir un autre email, sauvegardez le travail en cours et montez une nouvelle instance.

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

Exporter le HTML et le texte brut

Après editor.ready, appelez exportHTML(). Utilisez html, text, subject et preheader dans votre système d’envoi. L’export ne sauvegarde pas le document. previewHtml est un aperçu, pas l’email final.

Les exports conservent les variables et la syntaxe des conditions. Vérifiez mergeTagIssues et displayConditionIssues, puis résolvez la personnalisation avant l’envoi.

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);
}
Besoin d’aide ? Contactez-nous