Aller au contenu principal

Modèles

Enregistrez des textes de message réutilisables avec des variables comme {prenom}, remplies depuis la fiche contact, et réutilisez-les dans les campagnes, les réponses automatiques et les conversations.

Un modèle est un texte de message que vous enregistrez une fois et réutilisez. Il peut contenir des variables, des trous entre accolades comme {prenom}, que la passerelle remplit avec les informations du contact destinataire.

À quoi servent les modèles

  • Répondre aux mêmes questions dans une conversation sans tout retaper : horaires, adresse, coordonnées de paiement.
  • Donner une touche personnelle à une réponse automatique : « Bonjour {prenom}, nous avons bien reçu votre message ».
  • Garder le texte d'une campagne au même endroit, validé une fois, au lieu de le recopier depuis une ancienne campagne.

Comment ça marche

Un modèle a quatre champs :

Champ Obligatoire Limite À quoi il sert
name oui 80 caractères Le retrouver. Deux modèles ne peuvent pas porter le même nom, quelle que soit la casse
body oui 4000 caractères Le texte, variables comprises
category non 60 caractères Étiquette libre pour classer vos modèles (support, promo...)
description non 500 caractères Une note pour votre équipe : quand l'utiliser, qui l'a validé

La limite de 4000 caractères est une borne de stockage, pas une recommandation : un SMS de plus de 160 caractères est facturé comme plusieurs SMS. Voir Envoyer des messages pour le calcul de la longueur.

Les variables

Écrivez le nom d'un champ entre accolades. Deux formes existent :

Vous écrivez Si le contact a une valeur Si le contact n'a pas de valeur
{prenom} Bonjour Marie Bonjour {prenom} : la variable reste visible
{prenom|à vous} Bonjour Marie Bonjour à vous : la valeur après la barre est utilisée

Une variable laissée visible est voulue : un SMS qui affiche « Bonjour {prenom} » est une erreur que vous remarquez en relisant, alors que « Bonjour , » avec un trou vide passerait inaperçu. Quand un champ peut être vide, donnez toujours une valeur de repli après la barre.

Les noms ne tiennent pas compte de la casse ({Prenom} et {prenom} sont identiques), et chaque champ répond à un nom français et à un nom anglais :

Variable Remplie avec
{prenom} ou {firstname} Le prénom du contact
{nom} ou {lastname} Le nom
{societe} ou {company} La société
{email} L'adresse e-mail
{telephone} ou {phone} Le numéro, au format international
{<votre champ>} Un champ personnalisé du contact, par sa clé (par exemple {ville})

Les champs personnalisés se renseignent sur chaque contact : voir Contacts et groupes. Un champ personnalisé ne remplace jamais l'un des noms intégrés ci-dessus.

Où les modèles sont utilisés

Ce que deviennent les variables
Règles > une action Répondre par SMS, contenu Modèle enregistré Remplies depuis la fiche contact de la personne qui a écrit, au moment où la réponse part. Un expéditeur absent de vos contacts reçoit les valeurs de repli
Campagnes > Créer une campagne > Source du message = Modèle enregistré Le texte est résolu une seule fois, à la création de la campagne, sans les informations d'aucun contact : chaque variable prend sa valeur de repli, et celles qui n'en ont pas restent visibles. Le même texte part à tout le monde
Conversations, dans la zone de saisie Le bouton à côté de la zone, ou / tapé au début du message, liste vos modèles. En choisir un colle son texte dans la zone, variables telles qu'écrites : modifiez-les avant d'envoyer

Deux conséquences à garder en tête :

  • Une campagne n'est pas personnalisée par destinataire. Écrivez les modèles de campagne avec des valeurs de repli ({prenom|Cher client}) ou sans variable, et relisez le récapitulatif de l'assistant avant de lancer : une variable oubliée y est visible.
  • Modifier un modèle ne change pas ce qui est déjà parti, ni une campagne déjà créée à partir de lui : la campagne a gardé sa propre copie du texte à sa création.

Créer et modifier des modèles

Dans cette version, les modèles se créent, se modifient et se suppriment par l'API ; le tableau de bord les liste partout où l'on peut en choisir un (assistant de campagne, formulaire de règle, zone de saisie des conversations) mais n'a pas d'écran pour les rédiger. Tout outil capable d'envoyer une requête HTTP convient (curl, Postman, n8n, votre propre code), avec une clé API : voir Utiliser l'API et Clés API.

Méthode Chemin Ce qu'il fait
GET /api/v1/templates Vos modèles, triés par nom. ?category= filtre
POST /api/v1/templates Crée un modèle (name, body, category et description facultatifs)
GET /api/v1/templates/{templateId} Un modèle, avec la liste des variables trouvées dans son texte
PUT /api/v1/templates/{templateId} Modifie un modèle. Un champ omis reste inchangé
DELETE /api/v1/templates/{templateId} Le supprime. Les messages déjà envoyés gardent leur texte
POST /api/v1/templates/{templateId}/preview Montre le texte final pour un contact, sans rien envoyer

Exemple :

curl -X POST https://sms.exemple.com/api/v1/templates \
  -H "X-API-KEY: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Horaires", "category": "support",
       "body": "Bonjour {prenom|à vous}, nous sommes ouverts du lundi au vendredi, de 9 h à 18 h."}'

Avec une clé API, la lecture demande la portée read et toute modification la portée admin. Voir Clés API.

Vous ne déclarez jamais les variables : la passerelle les lit dans le texte à chaque fois, la liste ne peut donc jamais contredire le texte.

Vérifier avant d'envoyer : l'aperçu

POST /api/v1/templates/{templateId}/preview accepte un contactId (un vrai contact) et/ou des variables (des valeurs que vous saisissez, qui l'emportent sur celles du contact), et renvoie :

Champ Signification
body Le texte final
segments Le nombre de SMS facturés
encoding gsm7 ou ucs2 : un caractère hors de l'alphabet SMS (certains accents, emoji) fait passer en ucs2, qui loge moins de caractères par SMS
unresolved Les variables qui n'ont trouvé ni valeur ni repli. Vide, c'est ce que vous voulez

L'aperçu est permis à tous les rôles, Lecture seule compris : il ne modifie rien.

Qui peut faire quoi

Rôle Modèles
Lecture seule Les voir et les prévisualiser
Opérateur, Superadministrateur Créer, modifier, supprimer

Voir Utilisateurs et rôles.

Dépannage

Ce que vous voyez Pourquoi, et que faire
Le destinataire a reçu {prenom} tel quel Le contact n'avait pas de prénom et la variable n'avait pas de repli, ou c'était une campagne (jamais personnalisée). Ajoutez |repli
« Aucun modèle enregistré. » dans une liste Aucun modèle n'existe encore : créez-en un par l'API
La création d'un modèle répond 409 Le nom est déjà utilisé par un autre modèle, éventuellement avec d'autres majuscules
Une variable s'affiche avec ses accolades malgré les données Vérifiez l'orthographe : un nom inconnu de la passerelle reste visible. Pour un champ personnalisé, utilisez exactement sa clé
Le SMS coûte deux fois plus que prévu Le texte contient des caractères hors de l'alphabet SMS. Regardez encoding dans l'aperçu

Rechercher dans la documentation

Saisissez quelques mots, puis choisissez une page.