Modèles d'e-mail

Personnalisé dès la conception. Prêt à l'envoi.

Design an email worth opening. Publish a version, then personalize every send. Build in the dashboard or with the API, CLI and MCP; your team works with the same stored templates.

Cursor

Template studio

Version publiée
first_name: "Alex"

Example designs, personalized with each recipient’s values. Nothing is sent.

Des équipes qui créent des logiciels de classe mondiale nous font confiance au quotidien

Découvrir plus de témoignages clients

Stockez un modèle. Personnalisez à l'envoi.

Le markup est déjà dans Bird.

Les templates font partie de l<hub>API Email de Bird</hub>. Stockez la mise en page et sa logique une seule fois ; chaque envoi désigne le template par slug ou id et transmet les valeurs dont ses tokens ont besoin. Le message final est rendu de notre côté, de sorte que le même template convient à un reçu unique, un lot de cent ou une diffusion à toute une audience.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

// No subject and no html: the template's published version supplies both.
const { data, error } = await bird.email
  .send({
    from:     "orders@acme.com",
    to:       ["delivered@messagebird.dev"],
    category: "transactional",
    template: {
      slug:       "order-confirmation",
      parameters: {
        first_name: "Ada",
        order_number: "A-1043",
      },
    },
  })
  .safe();

Plus qu'un rechercher-remplacer.

Liquid, résolu côté Bird au moment de la génération du message.

  1. 01

    Conditions.

    Un bloc Liquid if ne s'affiche que lorsque sa valeur s'applique, comme une note réservée aux membres ou une bannière de livraison gratuite, de sorte qu'un seul template couvre les deux cas.

  2. 02

    Boucles.

    Une boucle for répète une ligne pour chaque élément d'un tableau, de sorte qu'un seul template de confirmation de commande liste chaque article réellement acheté par le client. Une limite à connaître d'emblée : une diffusion ne porte qu'une seule valeur par propriété de contact et n'a rien à itérer, donc un template avec des boucles s'envoie via l'API messages plutôt que par diffusion.

  3. 03

    Filtres.

    Passez une valeur à travers un filtre Liquid avant son rendu. Le filtre default intercepte un prénom manquant avant qu'il ne parte sous forme de salutation vide.

  4. 04

    Paramètres nommés et champs de contact.

    Utilisez des noms simples pour vos propres paramètres, par exemple order_number. Les champs réservés bird.contact lisent les propriétés du destinataire. Les chemins de paramètres avec points sont rejetés à la publication.

  5. 05

    Rien à déclarer.

    La liste de tokens est extraite de votre balisage et combinée pour toutes les langues : il n'y a pas de schéma de variables distinct à synchroniser avec le corps. Utilisez les formats de paramètres documentés pour votre flux d'envoi ; les diffusions sont limitées aux propriétés de contact enregistrées.

Créez-les comme vous travaillez déjà.

Trois points d'entrée, tous menant au même template. Le builder du tableau de bord est l'option visuelle. Le bird CLI pilote tout le cycle de vie depuis un script ou une étape de déploiement, et un agent accède aux mêmes opérations via MCP. Vous avez déjà des composants React Email ? Rendez-les en HTML et stockez le résultat, en laissant les tokens de Bird sous forme de texte littéral dans le JSX pour qu'ils survivent au rendu au lieu d'être figés en valeur lors de l'exécution de React.

publish-receipt.sh
bird CLI
# Render React Email to HTML, then publish it as a template version.
node scripts/render-receipt.mjs > receipt.json

bird email templates create receipt --category transactional --source html
bird email templates versions languages set "$TEMPLATE" "$DRAFT" en \
  --body-file receipt.json --yes

# --validate-only reports every problem across every language, freezing nothing.
bird email templates versions submit "$TEMPLATE" "$DRAFT" --validate-only --yes
bird email templates versions submit "$TEMPLATE" "$DRAFT" --yes

A creative workflow you can trust

Beautiful in the inbox. Dependable behind the scenes.

Versionnés, comme le reste de votre code.

Les modifications se font sur un brouillon et ne touchent jamais ce qui est en production, car un envoi résout toujours la version publiée en cours et les brouillons ne sont jamais envoyés. La publication fige une version immuable et numérotée et la met en production ; si un changement tourne mal, revenez à une version antérieure. Les sauvegardes portent la révision que vous avez lue en dernier, de sorte que si un collègue a modifié cette langue entre-temps, la sauvegarde est refusée comme conflit au lieu d'écraser son travail. Les statistiques de livraison et d'engagement sont ventilées par template, pour que vous puissiez voir lequel fonctionne réellement.

Un template, jusqu'à 25 langues.

Un template porte du contenu dans jusqu'à 25 langues, chacune avec son propre objet et corps, indexée par un tag BCP-47 comme en ou pt-BR. Un envoi nomme la langue souhaitée, ou l'omet et obtient la langue par défaut du template. Quand un envoi demande une langue que le template ne possède pas, on_missing_language décide du comportement : fallback sert la correspondance la plus proche, de sorte qu'une requête pour pt-BR reçoit un pt disponible, et fail rejette l'envoi purement et simplement, pour les contenus où la mauvaise langue est pire que pas d'envoi du tout.

Prévisualisez exactement ce qui sera envoyé.

Remplissez un template avec des valeurs d'exemple et obtenez en retour l'objet ainsi que les corps HTML et texte qu'un envoi livrerait. L'aperçu rend le brouillon, ce qui vous permet de vérifier une modification avant sa mise en production, ou une version publiée quand vous voulez voir ce qui part actuellement. Rien n'est envoyé. Il exécute aussi les mêmes vérifications de personnalisation que la publication, de sorte qu'une construction qui serait rejetée apparaît ici en premier.

Partez d'un brouillon réutilisable.

Commencez avec l'éditeur du tableau de bord ou copiez un modèle intégré dans un brouillon modifiable. Vérifiez l'objet, le texte d'aperçu, la langue et les valeurs de repli des contacts avant de publier. Gardez la version publiée stable pendant que vous préparez la modification suivante.

Allez plus loin dans la documentation.

Le guide des templates couvre les brouillons, les versions publiées, le contenu par langue et les règles Liquid. Le guide d'envoi décrit le contrat côté envoi, et événements e-mail et webhooks vous permet de récupérer les ouvertures et les clics.

Mettez-le en pratique.

Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.

Essayez la pratique et obtenez un guide d'implémentation

Questions sur les modèles

Dois-je utiliser un éditeur visuel ?
Non. Utilisez l'éditeur du tableau de bord ou rédigez du HTML via les workflows CLI et MCP. La sortie React Email peut être stockée en HTML avec les espaces réservés Bird conservés. Les API, CLI et MCP opèrent sur les mêmes brouillons et versions publiées que vous voyez dans le tableau de bord.
Comment fonctionne la personnalisation ?
Les modèles stockés prennent en charge Liquid et les paramètres nommés. Les noms de paramètres ordinaires sont plats, par exemple order_number. Les champs réservés bird.contact lisent les propriétés du destinataire. Les broadcasts utilisent les propriétés de contact enregistrées et ne peuvent pas utiliser de boucles de modèle ; le API messages prend en charge des envois de modèles plus généraux.
Puis-je restaurer une version antérieure d'un modèle ?
Oui. Les modifications s'appliquent à un brouillon. La publication crée une version immuable utilisée par les envois suivants. Restaurer une version antérieure sélectionne une version publiée précédente et réinitialise le brouillon avec ce contenu ; les envois déjà acceptés conservent leur contenu.
Un modèle peut-il prendre en charge plusieurs langues ?
Un modèle peut contenir un objet, un texte d'aperçu et un corps spécifiques à chaque langue. Configurez une langue par défaut et décidez si une langue manquante déclenche un repli ou un échec. Prévisualisez avec des valeurs de contact représentatives avant de publier.

Talk to our email team

Create email your team can reuse.

Discuss your template workflow, personalization and integration. We’ll help you plan how your team builds and sends email with Bird.

Créez votre compte, puis créez un modèle réutilisable et prévisualisez son contenu.

Your details

All contact fields are required.

So our team can reach you about your demo.

Produits d'intérêt

Optional

We’ll contact you to arrange your demo.
Privacy policy

Commencez avec un seul canal.
Ajoutez les autres quand vous êtes prêt.

Une clé API de test est disponible immédiatement. L'accès production se débloque dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.

Vous utilisez Claude Code, Cursor ou Codex ? Copiez un prompt de configuration et votre agent installe la CLI Bird et les compétences pour vous. Choisissez le vôtre :

Cursor