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
| Où | 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 |