Introduction
Il est possible d'utiliser une boucle de personnalisation dans une campagne SMS applicative.
Pré-requis : avoir à disposition l'api omnicanal de configurée sur la NMP.
Utiliser une boucle de personnalisation
Une boucle de personnalisation permet d'itérer sur les éléments d'une séquence comme une liste, et d'exécuter un bloc de code pour chaque élément. Elle utilise la syntaxe {% for %} pour commencer et {% endfor %} pour finir. L'utilisation d'une boucle permet de multiplier le nombre d'éléments d'une liste sans limitation si ce n'est le nombre d'éléments présents dans la liste.
Syntaxe de base
{% for element in sequence %}
<-- Code à exécuter pour chaque élément -->
{% endfor %}
- element : représente chaque élément de la séquence/liste à chaque itération.
- sequence : représente la liste à parcourir.
Exemple simple
{% for NOM in NOMS %}
Nom : {{MM:NOM}}
{% endfor %}
Payload JSON renseigné
{
"NOMS": [
"Alice"
,"Bob"
,"Charlie"
]
}
Rendu final
Nom : Alice
Nom : Bob
Nom : Charlie
Exemple simple plusieurs variables au sein de la liste
{% for UTILISATEUR in UTILISATEURS %}
Nom : {{MM:UTILISATEUR.NOM}}
Email : {{MM:UTILISATEUR.EMAIL}}
{% endfor %}
Payload JSON renseigné
{
"UTILISATEURS":[
{
"NOM": "Alice",
"EMAIL": "alice@mycompany.com"
},
{
"NOM": "Bob",
"EMAIL": "bob@mycompany.com"
},
{
"NOM": "Charlie",
"EMAIL": "charlie@mycompany.com"
}
]
}
Rendu final
Nom : Alice
Email : alice@mycompany.com
Nom : Bob
Email : bob@mycompany.com
Nom : Charlie
Email : charlie@mycompany.com
Personnaliser un élément en fonction du premier ou dernier élément.
Syntaxe de base
loop.first: permet de sélectionner le premier élément de la boucle
loop.last: permet de sélectionner le dernier élément de la boucle
Exemple simple
{% for nom in noms %}
{% if loop.first %}Nom : {{MM:nom}},
{% elif loop.last %}Nom : {{MM:nom}}.
{% endif %}
{% endfor %}
Payload JSON renseigné
{
"noms": [
"Alice"
,"Bob"
]
}
Rendu final
Nom : Alice,
Nom : Bob.
Conclusion
Les boucles Jinja sont donc très utiles pour générer dynamiquement du contenu en parcourant des données, et elles offrent plusieurs options pour personnaliser le comportement de chaque itération.