> ## Documentation Index
> Fetch the complete documentation index at: https://knowledge.flowella.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Variables de modèle et contenu dynamique

> Utilisez les variables dans en-têtes, corps, boutons et URL des modèles WhatsApp : syntaxe, exemples, jetons HubSpot et pièges courants de rejet Meta.

Les variables permettent à un seul modèle approuvé d'envoyer des messages personnalisés à des milliers de contacts sans avoir à les soumettre à nouveau à Meta. Cette page explique en détail comment les variables fonctionnent dans Flowella, où elles peuvent apparaître et comment les relier aux données de HubSpot.

Pour une vue d'ensemble de la structure des modèles, voir [Référence des modèles](/fr/app/template-reference). Pour la création de modèles étape par étape, voir [Modèles](/fr/app/templates).

## Syntaxe

Les modèles WhatsApp utilisent des **variables positionnelles** avec des doubles accolades et un index basé sur 1 :

```text theme={null}
Hi {{1}}, your booking on {{2}} is confirmed. Reference: {{3}}.
```

Règles :

* Les index commencent à `{{1}}` et doivent être **séquentiels** - vous ne pouvez pas passer de `{{1}}` à `{{3}}`.
* Le même index peut être réutilisé dans un seul composant (corps, en-tête ou URL) mais Flowella enverra la même valeur à chaque occurrence.
* Les espaces blancs à l'intérieur des accolades ne sont pas autorisés : `{{ 1 }}` n'est pas valide.
* Les variables sont **textes uniquement**. Les nombres, les dates et les devises sont envoyés sous forme de chaînes de caractères - formatez-les en amont dans HubSpot avant de les envoyer.

<Note>
  Meta met en place des **variables nommées** (`{{first_name}}`) pour les nouveaux modèles. Flowella supporte les deux, mais les index positionnels restent le format le plus fiable pour tous les types de modèles et toutes les versions de l'API Cloud.
</Note>

## Où les variables peuvent apparaître

| Composant                                                                                      | Variables autorisées                                        | Notes                                                  |
| ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------ |
| **En-tête (TEXTE)**                                                                            | 1                                                           | Valeurs courtes uniquement - pas de retour à la ligne. |
| 1 (la poignée du média ou l'URL)                                                               | La variable est le média lui-même, pas le texte.            |                                                        |
| 4 (lat, long, name, address)                                                                   | Les quatre sont nécessaires lorsque l'en-tête est variable. |                                                        |
| Chaque variable compte pour la limite de caractères du corps de Meta.                          |                                                             |                                                        |
| **Pied de page**                                                                               | Aucun                                                       | Le pied de page est un texte statique uniquement.      |
| Bouton URL\*\*                                                                                 | 1                                                           | Ajouté à la fin d'une URL de base statique.            |
| Bouton **CODE\_COPYCOPY**                                                                      | 1                                                           | La valeur complète du code.                            |
| Boutons "réponse rapide", "téléphone", "flux", "catalogue" \*\* Aucune configuration statique. |                                                             |                                                        |
| Les variables de chaque carte sont numérotées indépendamment.                                  |                                                             |                                                        |

## Exemples de valeurs

Lorsque vous soumettez un modèle à Meta, chaque variable a besoin d'une **valeur d'échantillon**. Meta utilise les échantillons pour :

1. Décider si le contenu du modèle correspond à la catégorie choisie (Marketing, Utilitaire, Authentification).
2. Estimer la qualité et le risque de spam.
3. Affichez un aperçu aux réviseurs.

Les valeurs d'échantillonnage ne sont pas utilisées au moment de l'envoi - elles sont uniquement destinées à la révision. Mais elles sont importantes :

* Utilisez des valeurs **réalistes**. `{{1}} = "John"` est acceptable ; `{{1}} = "xxx"` entraîne souvent un rejet.
* Les échantillons doivent être **courts**. Coller un paragraphe dans une seule variable est un signal de rejet classique.
* Assurez-vous que l'échantillon est **approprié au type**. Si `{{2}}` est une date, utilisez une date. S'il s'agit d'un numéro de commande, utilisez quelque chose qui ressemble à un numéro de commande.

## Câblage des variables aux données HubSpot

Dans un flux de travail HubSpot qui utilise l'action **Envoyer un modèle WhatsApp** de Flowella :

<Steps>
  <Step title="Choisissez le modèle">
    Flowella affiche tous les modèles approuvés pour votre chaîne. Les variables sont détectées automatiquement dans le corps du modèle, l'en-tête et les boutons.
  </Step>

  <Step title="Associez chaque variable à une valeur HubSpot">
    Pour chaque `{{n}}`, choisissez une propriété HubSpot contact, entreprise, affaire ou ticket - ou saisissez une valeur statique. Vous pouvez mélanger des jetons de personnalisation et du texte littéral dans le même mappage.
  </Step>

  <Step title="Définir une solution de repli pour les valeurs vides">
    Si un contact n'a pas de valeur pour la propriété mappée, le message échouera à moins que vous ne fournissiez une solution de repli. Les solutions de repli les plus courantes sont les suivantes `"there"` pour le prénom, `"your account"` pour le nom de compte.
  </Step>

  <Step title="Tester avant de mettre en ligne">
    Envoyez d'abord le flux de travail à un seul contact test. Meta rejette les envois dont l'une des variables est vide, ne contient que des espaces ou contient une nouvelle ligne.
  </Step>
</Steps>

<Warning>
  Les variables vides sont rejetées au moment de l'envoi, et non au moment de l'approbation du modèle. Un flux de travail qui s'exécute sur des milliers de contacts peut être abandonné silencieusement si une propriété critique est manquante. Définissez toujours des solutions de repli.
</Warning>

## Conseils pour le formatage des variables

**Noms**

```text theme={null}
Hi {{1}},
```

Mettez une majuscule à la propriété dans HubSpot en amont, ou utilisez une étape du flux de travail HubSpot pour copier `firstname` dans une propriété "Prénom (formaté)".

**Dates**

Les modèles WhatsApp ne formatent pas les dates. Si votre propriété HubSpot est `2026-05-24T00:00:00Z`, c'est ce qui arrivera dans le message. Utilisez une propriété calculée HubSpot ou une action de workflow pour formater les dates en `24 May 2026` avant de les mapper.

**Monnaie**

Identique aux dates - formatage en amont. Incluez le symbole de la devise dans le texte statique (`Total: £{{1}}`) afin que la variable ne contienne que le nombre.

**URLs dans le corps du texte**

Vous pouvez inclure l'URL complète dans une variable de corps de texte, mais l'aperçu du lien ne s'affichera pas et l'URL sera prise en compte dans la limite de caractères du corps de texte. Utilisez plutôt un **bouton URL** avec un suffixe de variable :

```text theme={null}
Base URL: https://acme.com/orders/
Variable: {{1}}
At send time: https://acme.com/orders/AB-1234
```

## Raisons courantes de rejet liées aux variables

* **Index sautés** (`{{1}}` puis `{{3}}`). Renumérotez toujours.
* Variable au tout début ou à la fin\*\* du corps sans texte environnant (`{{1}}` seul). Ajoutez un mot avant ou après.
* **Deux variables adjacentes** (`{{1}}{{2}}`). Séparez-les par au moins un espace ou une ponctuation.
* **Valeurs d'exemple qui ressemblent à des espaces réservés** - `"test"`, `"xxx"`, `"123"` - en particulier dans les modèles de marketing.
* **Variables dans le pied de page** - interdites.
* Plus d'une variable dans un bouton URL\*\* - une seule est autorisée, et elle doit se trouver à la **fin** de l'URL.

## Modèles avancés

### Réutilisation d'une valeur dans plusieurs composants

Si un nom de client apparaît à la fois dans l'en-tête et dans le corps du texte, définissez-le une fois dans votre flux de travail et associez `{{1}}` (en-tête) et `{{1}}` (corps du texte) à la même propriété HubSpot. Flowella envoie à chaque composant sa propre liste de paramètres, de sorte que les index sont indépendants - vous mappez la valeur deux fois, mais vous ne la stockez qu'une seule fois dans HubSpot.

### Contenu conditionnel

Les modèles WhatsApp ne prennent pas en charge la logique if/else à l'intérieur du modèle. Pour envoyer un contenu différent à différents segments de contacts, créez des **modèles distincts** et des branches dans votre flux de travail HubSpot - par exemple, "VIP welcome" et "Standard welcome".

### Modèles multilingues

Le nom et la structure d'un modèle sont communs à toutes les langues, mais chaque langue est **soumise, approuvée et stockée séparément**. Les variables doivent être placées aux mêmes endroits dans chaque version linguistique. Flowella choisit la bonne langue en fonction de la propriété `hs_language` du contact (ou d'une solution de repli que vous configurez).

## Résolution des problèmes

* **Template approved but messages fail with "parameter mismatch "** - Meta et Flowella ne sont pas d'accord sur le nombre de variables du template. Récupérez le modèle dans Flowella (Modèles → rafraîchir) pour que le nombre de variables soit synchronisé.
* La variable apparaît littéralement dans `{{1}}` dans le message livré\*\* - le flux de travail n'a pas associé de valeur à cet index. Vérifiez la liste des paramètres de l'action du flux de travail.
* **Message rejeté à l'envoi avec "policy violation "** - une variable contient une URL ou un contenu qui ne correspond pas à la catégorie du modèle. Il n'est pas possible d'injecter du contenu de type marketing dans un modèle d'utilitaire via des variables.

<Tip>
  Pour connaître le cycle de vie complet de la soumission, de l'édition et de la mise en pause des modèles, voir [Modèles](/fr/app/templates) et [Référence du modèle](/fr/app/template-reference). Pour une aide spécifique au rejet, voir [Modèle rejeté](/fr/troubleshooting/template-rejected).
</Tip>
