DocumentationSDK sur GitHub

Documentation Guides pratiques

Variables et conditions

Proposez du texte, des liens et des mises en page propres à chaque destinataire. Résolvez-les dans votre système d’envoi.

Sur cette page

Définir les variables

Définissez mergeTags dans le tableau de bord ou le SDK. Chaque variable possède un id stable, un label, le token exact attendu par votre plateforme et un kind : text ou url. sampleValue est facultatif et réservé aux aperçus.

typescript
// Run on your mounted editor instance.
editor.updateConfig({
  mergeTags: [
    { id: 'first_name', label: 'First name', token: '{{first_name}}', kind: 'text', sampleValue: 'Alex' },
    { id: 'account_url', label: 'Account URL', token: '{{account_url}}', kind: 'url', sampleValue: 'https://example.com/account' },
  ],
});

const output = await editor.exportHTML();
console.log(output.mergeTags, output.mergeTagIssues);
// Exports retain literal tokens. Resolve recipient values before delivery.

Définir les mises en page conditionnelles

Définissez displayConditions avec id, label, before et after. Utilisez la syntaxe d’ouverture et de fermeture de votre plateforme. Les auteurs appliquent une règle avec Afficher si sur une section ou une mise en page complète en colonnes. Toutes les règles parentes doivent être vraies.

Weavour conserve la syntaxe ; votre système d’envoi l’évalue. Les scénarios d’aperçu utilisent des exemples et ne modifient pas les exports habituels. Les conditions nécessitent le SDK 0.1.6 ou ultérieur et un éditeur hébergé compatible.

typescript
editor.updateConfig({
  displayConditions: [{
    id: 'free_account', label: 'Free accounts', category: 'Account',
    before: "{% if account.plan == 'free' %}", after: '{% endif %}',
  }],
});
const output = await editor.exportHTML();
// Evaluate the host syntax before delivering HTML and plain text.
console.log(output.displayConditions, output.displayConditionIssues);
// Persist onDocumentChange envelopes; reopen with emailDocument.

Modifier les définitions et conserver les règles

Les définitions du SDK complètent celles du tableau de bord par ID. [] n’ajoute aucune surcharge ; undefined efface les surcharges du SDK. Les variables et conditions sauvegardées gardent leur syntaxe initiale. Modifier une définition ne réécrit pas les emails existants.

Conservez le document complet de onDocumentChange et rechargez-le avec emailDocument. Les emails conditionnels utilisent schemaVersion: 2 ; ne retirez ni ne réduisez cette version.

Résoudre la personnalisation avant l’envoi

  • Vérifiez mergeTagIssues et displayConditionIssues de exportHTML(). Examinez les définitions modifiées ou absentes.
  • Évaluez la syntaxe des conditions et remplacez les variables dans le HTML, le texte brut, l’objet et le pré-en-tête avec votre système d’envoi.
  • Vous pouvez aussi générer le rendu du JSON avec mergeValues et des conditionValues booléens depuis votre backend.
Besoin d’aide ? Contactez-nous