Utilisation des assistants de modèles de messages - Amazon Pinpoint

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des assistants de modèles de messages

Avec les modèles Pinpoint, les clients peuvent créer des modèles de messages réutilisables basés sur le langage Handlebars.js. Les assistants fournissent diverses fonctionnalités, telles que le formatage d’un prix dans la devise d’une région spécifique ou l’ajout d’un lieu basé sur un fuseau horaire. Un assistant peut utiliser une chaîne ou un nombre entier spécifique pour la valeur ou une variable de message Amazon Pinpoint spécifique.

Voici les catégories d’assistants, décrites dans les sections suivantes :

Cette section décrit les assistants intégrés fournis par Handlebars. Pour obtenir la liste complète, consultez Assistants intégrés sur handlebarsjs.com. Voici les assistants intégrés :

  • each : itère une liste.

    Note

    La taille maximale de la liste est de 15 éléments.

  • if : évalue une déclaration.

each

Itère une liste. Cet assistant utilise uniquement une instruction de bloc. Vous pouvez éventuellement

  • envoyer @index dans la demande pour référencer l’indice de boucle actuel.

  • utiliser l’assistant this pour référencer l’élément en cours d’itération.

  • renvoyer la réponse de l’assistant sous forme de liste, à l’aide de la balise <li>.

Utilisation

{{#each value}}

La valeur à la position {{@index}} est {{this}}.

{{else}}

La condition est false.

{{/each}}

each doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/each}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, each est utilisé pour renvoyer une liste des couleurs préférées d’un utilisateur. Dans le cas d’une valeur false, une déclaration else est renvoyée. Si la demande est la suivante

{{#each User.UserAttributes.FavoriteColors}}

<li>{{this}}</li>

{{else}}

Vous n’avez pas de couleurs préférées.

{{/each}} renvoie

  • red

  • blue

  • yellow

pour une déclaration true.

if

Évalue si quelque chose est « true » et renvoie une réponse basée sur l’évaluation.

Utilisation

{{#if value}}

La valeur n’est pas indéfinie

{{else}}

La valeur est indéfinie

{{/if}}

if doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/if}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, l’assistant if est utilisé pour évaluer le prénom d’un utilisateur. Si le nom est trouvé, un message d’accueil est renvoyé qui transmet le prénom de l’utilisateur dans la réponse. Dans le cas contraire, l’instruction else renvoie un autre message d’accueil.

{{#if User.UserAttributes.FirstName.[0]}}

Hello {{User.UserAttributes.FirstName.[0]}},

{{else}}

Bonjour,

{{/if}}

renvoie Bonjour, Jane si l’assistant if est défini sur true.

Cette section décrit les assistants conditionnels.

Les assistants conditionnels peuvent être utilisés sur une seule ligne ou dans une instruction de bloc. Vous pouvez personnaliser la réponse quelle que soit la méthode d’assistance que vous utilisez. Vous pouvez transmettre des aides conditionnelles supplémentaires dans les instructions sur une seule ligne et dans les instructions par blocs. Les assistants conditionnels suivants indiquent d’abord l’utilisation d’une seule ligne, puis d’une instruction de bloc à l’aide d’une clause else facultative. Voici les assistants conditionnelles :

  • and : compare si tous les éléments transmis sont égaux ou non.

  • eq : teste si deux éléments sont égaux.

  • gt : teste si un élément est supérieur à un autre.

  • gte : teste si un élément est supérieur ou égal à un autre.

  • if : évalue si quelque chose est vrai.

  • lt : teste si un élément est inférieur à un autre.

  • lte : teste si un élément est inférieur ou égal à un autre.

  • neq : évalue si deux éléments ne sont pas égaux.

  • not : inverse la réponse d’une opération booléenne.

  • or : compare si l’un des éléments de l’argument est égal.

and

Compare si tous les éléments transmis dans un argument sont égaux, puis renvoie la réponse en fonction du résultat. Cet assistant peut être utilisé pour les valeurs non booléennes. Vous devez transmettre au moins deux éléments pour la condition.

Utilisation

  • {{and valuea valueb valuec valued yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#and valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/and}}

    and doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/and}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, eq est utilisé dans l’instruction de bloc and pour déterminer si les deux chaînes transmises pour les attributs Location.City et Location.Country sont vraies. Si les deux conditions sont égales, une déclaration true est renvoyée. Si l’un de ces attributs est faux, une déclaration else est renvoyée.

{{#and (eq Location.City "Los Angeles") (eq Location.Country "US")}}

Vous vivez à Los Angeles et aux États-Unis.

{{else}}

Vous ne vivez pas à Los Angeles et aux États-Unis.

{{/and}}

eq

Teste si deux éléments sont égaux ou si la valeur d’un élément est égale à une chaîne passée.

Utilisation

  • {{eq valuea valueb yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#eq valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/eq}}

    eq doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/eq}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, eq est utilisé pour évaluer si la valeur de User.UserAttributes.FavoriteColors.[0] est Rouge. Si la réponse est true, une déclaration true est renvoyée. Si la réponse est false, une déclaration else est renvoyée.

{{#eq User.UserAttributes.FavoriteColors.[0] "red"}}

Votre couleur préférée est le rouge.

{{else}}

Vous n’aimez pas le rouge.

{{/eq}}

gt

Teste si la valeur d’un élément est supérieure à celle d’un autre.

Utilisation

  • {{gt valuea valueb yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#gt valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/gt}}

    gt doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/gt}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, l’assistant compare la valeur de l’attribut User.UserAttributes.UserAge.[0] à une chaîne, 17, pour vérifier si l’âge de l’utilisateur est supérieur à 17 ans. Si la réponse est true, une déclaration true est renvoyée. Si la réponse est false, une déclaration else est renvoyée.

{{#gt User.UserAttributes.UserAge.[0] "17"}}

Vous êtes assez âgé pour louer une voiture.

{{else}}

Vous n’êtes pas assez âgé pour louer une voiture.

{{/gt}}

gte

Teste si la valeur d’un élément est supérieure ou égale à celle d’un autre.

Usage

  • {{gte valuea valueb yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#gte valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/gte}}

    get doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/gte}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, l’assistant compare l’attribut User.UserAttributes.UserAge.[0] à une chaîne, 18, pour vérifier si l’âge de l’utilisateur est supérieur ou égal à 18 ans. Si la réponse est true, une déclaration true est renvoyée. Si la réponse est false, une déclaration else est renvoyée.

{{#gte User.UserAttributes.UserAge.[0] "18"}}

Vous êtes assez âgé pour louer une voiture.

{{else}}

Vous n’êtes pas assez âgé pour louer une voiture.

{{/gte}}

if

Évalue si quelque chose est « true » et renvoie une réponse basée sur l’évaluation.

Utilisation

  • {{#if value}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#if value}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/if}}

    if doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/if}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, l’assistant « if » est utilisé pour évaluer si le prénom d’un utilisateur est le premier. Si le nom est trouvé, un message d’accueil est renvoyé qui transmet le prénom de l’utilisateur dans la réponse. Dans le cas contraire, l’instruction « else » renvoie un autre message d’accueil.

{{#if User.UserAttributes.FirstName.[0]}}

Bonjour {{User.UserAttributes.FirstName.[0]}},

{{else}}

Bonjour,

{{/if}}

renvoie Bonjour Jane, si l’assistant « if » est true.

lt

Teste si la valeur d’un élément est inférieure à la valeur d’un autre.

Utilisation

  • {{lt valuea valueb yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#lt valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/lt}}

    lt doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/lt}} fermant dans l’instruction de bloc.

Exemple

Dans cet exemple, l’assistant compare l’attribut User.UserAttributes.UserAge.[0] à une chaîne, 18, pour vérifier si l’âge de l’utilisateur est inférieur à 18 ans. Si la réponse est true, une déclaration true est renvoyée. Si la réponse est false, une déclaration else est renvoyée.

{{#lt User.UserAttributes.UserAge.[0] "18"}}

Vous n’êtes pas assez âgé pour louer une voiture.

{{else}}

Vous êtes assez âgé pour louer une voiture.

{{/lt}}

lte

Teste si la valeur d’un élément est inférieure ou égale à celle d’un autre.

Utilisation

  • {{lte valuea valueb yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#lte valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/lte}}

    lte doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/lte}} fermant dans l’instruction de bloc.

Exemple

Dans cette instruction de bloc, l’assistant compare l’attribut User.UserAttributes.UserAge.[0] à une chaîne, 17, pour vérifier si l’âge de l’utilisateur est égal ou inférieur à 17 ans. Si la réponse est true, une déclaration true est renvoyée. Si la réponse est false, une déclaration else est renvoyée.

{{#lte User.UserAttributes.Age.[0] "17"}}

Vous n’êtes pas assez âgé pour louer une voiture.

{{else}}

Vous êtes assez âgé pour louer une voiture.

{{/lte}}

neq

Vérifiez si deux éléments ne sont pas égaux.

Utilisation

  • {{neq valuea valueb yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#neq valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/neq}}

    neq doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/neq}} fermant dans l’instruction de bloc.

Exemple

Dans cette instruction de bloc, l’attribut User.UserAttributes.FavoriteColors.[0] est comparé à une chaîne, Red. Si la réponse est true, une déclaration true est renvoyée. Si la réponse est false, une déclaration else est renvoyée.

{{#neq User.UserAttributes.Favorite.Colors.[0] "red"}}

Vous n’aimez pas le rouge.

{{else}}

Vous aimez le rouge.

{{/neq}}

not

Inverse la réponse d’une opération booléenne, de sorte que si not est une comparaison positive, une instruction true soit renvoyée. Si la réponse est false, une instruction « else » est renvoyée.

Utilisation

  • {{not value yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition.

  • {{#not value}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/not}}

    not doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/not}} fermant dans l’instruction de bloc.

Exemple

Dans cette instruction de bloc, l’attribut User.UerAttributes.FavoriteColors.[0] est comparé à une chaîne rouge à l’aide de l’assistant eq. L’assistant not renvoie alors le contraire de l’assistant eq. Si la réponse renvoie une couleur autre que le rouge, une instruction true est renvoyée. Si la réponse renvoie rouge, une déclaration else est renvoyée indiquant une déclaration « false ».

{{#not (eq User.UserAttributes.Favorite.Colors.[0] "red")}}

Vous n’aimez pas le rouge.

{{else}}

Vous aimez le rouge.

{{/not}}

Exemple

Dans cet exemple,

{{not (eq User.UserAttributes.FavoriteColors.[0] "red")}}

renvoie false si User.UserAttributes.FavoriteColors.[0] est rouge.

or

Compare si l’un des éléments de l’argument est égal, puis renvoie une réponse basée sur le résultat. Cet assistant peut être utilisé pour les valeurs non booléennes.

Utilisation

  • {{or valuea valueb valuec valued yes='y' no='n'}}

    Vous pouvez remplacer y et n par d’autres valeurs, telles que oui et non, ou par toute autre chaîne que vous souhaitez renvoyer, en fonction de la condition. Vous devez transmettre au moins deux éléments pour la condition.

  • {{#or valuea valueb}}

    La condition est true.

    {{else}}

    La condition est false.

    {{/or}}

    or doit être précédé d’un signe dièse (#) et se terminer par un symbole {{/or}} fermant dans l’instruction de bloc.

Exemple

Dans cette instruction de bloc or, deux chaînes de l’attribut Location.City sont également comparées à l’aide de l’assistant eq. Si l’un des attributs est true, une déclaration true est renvoyée. Si une ou plusieurs réponses sont false, une instruction else est renvoyée.

{{#or (eq Location.City "Los Angeles") (eq Location.City "Seattle")}}

Vous vivez sur la côte ouest des États-Unis.

{{else}}

Vous ne vivez pas sur la côte ouest des États-Unis.

{{/or}}

Cette section décrit les assistants de chaîne suivants :

  • abbreviate : tronque une valeur.

  • capitalize : met en majuscule chaque mot entre des espaces blancs.

  • capitalizeFirst : met en majuscule le premier caractère d’une valeur.

  • center : centre une valeur.

  • cut : supprime une valeur.

  • dateFormat : définit le style de date.

  • inflect : renvoie une chaîne au singulier ou au pluriel en fonction du nombre.

  • join : joint un tableau, un itérateur ou un objet itérable.

  • ljust : justifie une valeur dans la marge de gauche.

  • lower : convertit une valeur en minuscules.

  • now : imprime la date actuelle.

  • ordinalize : ordinalise une valeur numérique.

  • replace : remplace une chaîne par une autre.

  • rjust : justifie une valeur par la marge droite.

  • slugify : convertit une valeur en minuscules et supprime les caractères autres que des mots, convertit les espaces en tirets et supprime les espaces blancs de fin.

  • stripTags : supprime les balises HTML [X] d’une valeur.

  • substring : renvoie une nouvelle chaîne sous forme de sous-chaîne d’une valeur transmise.

  • upper : convertit la valeur transmise en majuscules.

  • yesno : remplace true, false et « no » par « Oui », « Non » et « Peut-être ».

abbreviate

Tronque une valeur si celle-ci dépasse le nombre spécifié. Les espaces blancs sont inclus dans le décompte des longueurs. Des points de suspension apparaissent dans la réponse pour indiquer une valeur tronquée. Les points de suspension sont pris en compte dans la valeur tronquée de la réponse. Ce type d’assistant est pratique si vous avez une grande table et un espace minimal. Le fait de tronquer les valeurs d’une cellule permet d’uniformiser l’apparence du tableau.

Utilisation

{{abbreviate value X}}, en remplaçant X par une valeur numérique indiquant le nombre de caractères à conserver. Les nombres négatifs ne sont pas pris en charge.

Exemple

Dans cet exemple, abbreviate est utilisé pour tronquer User.UserAttributes.LastName.[0] à six (6) caractères. La réponse comprend des points de suspension, dont les points sont pris en compte dans le total des six caractères.

{{abbreviate User.UserAttributes.LastName.[0] 6}} renvoie

Ale... si Alejandro est la valeur de [0].

capitalize

Met en majuscule chaque mot entre des espaces blancs.

Utilisation

{{capitalize value}}

Exemple

Dans cet exemple, la capitalisation initiale est appliquée à chaque mot de l’entrée Attributes.description.[0].

{{capitalize Attributes.description.[0]}}

Si Attributes.description.[0] renvoie

Mon premier post, si la valeur de Attributes.description.[0] est mon premier post.

capitalizeFirst

Met en majuscule le premier caractère d’une valeur.

Utilisation

{{capitalizeFirst value}}

Exemple

Dans cet exemple, la mise en majuscule est appliquée au premier caractère du premier mot de l’entrée Attributes.description.[0].

{{capitalizeFirst Attributes.description.[0]}} renvoie

Mon premier post, si la valeur de Attributes.description.[0] est mon premier post.

Exemple

center

Centre la valeur dans un champ d’une largeur donnée par le nombre spécifié. Vous pouvez éventuellement transmettre un caractère à afficher pour le remplissage ou laisser le champ vide. Si aucun caractère n’est transmis, un espace blanc est utilisé.

Utilisation

{{center value size=X [pad=" "}}, en remplaçant X par une valeur numérique.

Si pad est laissé vide, un espace blanc est utilisé comme remplissage dans la réponse. Si vous transmettez un caractère, celui-ci apparaît dans chaque espace du remplissage. Les nombres négatifs ne sont pas pris en charge.

Exemple

Dans cet exemple, la valeur de Location.City est centrée sur une taille de 19.

{{center Location.City size=19}} renvoie

«    Los Angeles    » si Location.City est Los Angeles. Notez que les guillemets affichés dans l’exemple de sortie sont uniquement fournis pour souligner la valeur.

cut

Supprime la valeur spécifiée d’une chaîne de caractères.

Utilisation

{{cut value [" "]}}, en remplaçant l’espace dans le paramètre entre guillemets par la valeur à couper. Si aucune valeur de paramètre n’est transmise, un espace blanc est utilisé.

Exemple

Cet exemple supprime la lettre e de l’attribut Location.City.

{{cut Location.City "e"}} renvoie

Los Angls si [Location.City est Los Angeles.

dateFormat

Définit le style de date par défaut pour la date dans n’importe quelle réponse. Pour obtenir la liste des ID de fuseaux horaires, consultez https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

Utilisation

{{dateFormat date [inputFormat="format1"] [outputFormat="format2"] [tz=timeZoneId] [locale=localeID]}}

Le paramètre format doit être défini sur .

  • « full » : format de date complet. Par exemple : Mardi 19 septembre 2020

  • « long » : format de date long. Par exemple : 19 septembre 2020

  • « medium » : format de date moyen. Par exemple : 19 sept 2020

  • « short » : format de date court. Par exemple, 19/9/20

  • « pattern » : utilise un format de modèle de date personnalisé. Pour plus d’informations sur les modèles de date, consultez https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

« locale » : utilise un format de date basé sur des paramètres régionaux donnés. Pour plus d’informations concernant les paramètres régionaux, consultez https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-.

Si un format n’est pas transmis, medium est utilisé par défaut.

Exemple

Dans cet exemple, l’entrée [0] de User.UserAttributes.StartDate.[0] est 09/19/2020 et un message est envoyé à un utilisateur en utilisant le format de date full basé sur le fuseau horaire America/Los_Angeles.

We can meet with you any time on {{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}. renvoie

Nous pouvons vous rencontrer à tout moment le mardi 19 septembre 2020.

inflect

Renvoie une chaîne au singulier ou au pluriel en fonction de la valeur du décompte.

Utilisation

{{inflect count singular plural [includeCount=false]}}

  • Entrez les formes singulière et plurielle de la chaîne que vous souhaitez transmettre dans l’argument.

  • Si includeCount est défini sur false, aucun nombre n’est renvoyé dans la réponse. S’il est défini sur true, le count est inclus dans la réponse.

Exemple

Les exemples suivants montrent l’inflexion d’un achat de pommes, avec ou sans includeCount.

Thank you for your purchase of {{inflect 3 apple apples includeCount=false}}. renvoie :

Merci pour votre achat de pommes.

Si includeCount est défini sur true, la réponse est

Merci pour votre achat de 3 pommes.

join

Joint un tableau, un itérateur ou un objet itérable. La réponse renvoie une liste, chaque valeur de la liste étant concaténée par le caractère que vous avez transmis à join. Par exemple, vous pouvez séparer les valeurs à l’aide d’une virgule (,). La valeur de cet assistant doit être une liste sans indice de position d’attribut. Par exemple, Attributes.custom_attribute.

Utilisation

{{join value " // " [prefix=""] [suffix=""]}}

Exemple

Dans cet exemple, une liste de couleurs est renvoyée, séparée par une virgule et un espace (", ") :

{{join Attributes.favorite_colors ", "}} renvoie

bleu, rouge, vert si la liste Attributes.favorite_colors est bleu,rouge,vert.

ljust

Justifie la valeur dans la marge de gauche et ajoute de l’espace sur la droite pour que la longueur de la valeur corresponde au nombre. Les nombres négatifs ne sont pas pris en charge.

Vous pouvez éventuellement transmettre un caractère à afficher pour le pad ou laisser le champ vide. Si vous laissez la valeur pad vide, la valeur par défaut est un espace blanc.

Utilisation

{{ljust value size=X [pad=" "]}}, où X est la longueur totale de la valeur, espaces blancs compris.

Exemple

Dans cet exemple, une valeur de justification gauche de 15 est appliquée à Location.City.

{{ljust Location.City size=15}} renvoie

« Los Angeles    » si la valeur de Location.City est Los Angeles. Notez que les guillemets affichés dans l’exemple de sortie sont uniquement fournis pour souligner la valeur.

lower

Convertit une valeur en minuscules.

Utilisation

{{lower value}}

Exemple

Dans cet exemple, l’entrée [0] pour User.UserAttributes.LastName.[0] est remplacée par des minuscules.

{{lower User.UserAttributes.LastName.[0]}} renvoie

santos si Santos est la valeur de [0].

maintenant

Imprime la date actuelle en fonction de l’ID de fuseau horaire passé. Pour obtenir la liste des ID de fuseaux horaires, consultez https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.

Utilisation

{{now ["format"] [tz=timeZoneId] [locale=localeID]}}

Le paramètre format doit être défini sur .

  • « full » : format de date complet. Par exemple : Mardi 19 septembre 2020

  • « long » : format de date long. Par exemple : 19 septembre 2020

  • « medium » : format de date moyen. Par exemple : 19 sept 2020

  • « short » : format de date court. Par exemple : 19/9/20

  • « pattern » : un modèle de date. Pour plus d’informations sur les modèles de date, consultez https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

« locale » : utilise un format de date basé sur des paramètres régionaux donnés. Pour plus d’informations concernant les paramètres régionaux, consultez https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-.

Si un format n’est pas transmis, medium est utilisé par défaut.

Exemple

Dans cet exemple, la date actuelle à Los Angeles est renvoyée au format medium.

{{now "medium" tz=America/Los_Angeles}} renvoie

19 sept 2020.

ordinalize

Ordinalise la valeur numérique transmise dans l’argument. Par exemple, 1 est ordinalisé comme 1er, 2 comme 2e, etc. Seules les valeurs numériques sont prises en charge.

Utilisation

{{ordinalize [number]}}

Exemple

Dans cet exemple, l’entrée [0] de User.UserAttributes.UserAge est ordinalisée et renvoyée, accompagnée d’un message.

Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday! renvoie 22, ordinalisé en 22e.

Félicitations pour votre 22e anniversaire !

replace

Remplace une chaîne par une autre. Une chaîne ou une valeur numérique doit être littérale. Les caractères génériques ne sont pas pris en charge.

Utilisation

{{replace stringToReplace replacementValue}}

Exemple

Dans cet exemple, un trait de soulignement (_) remplace un espace blanc.

{{replace Location.City " " "_"}} renvoie

Los_Angeles si Location.City est Los Angeles.

rjust

Justifie la valeur par la marge de droite et ajoute de l’espace vers la gauche pour que la longueur de la valeur corresponde au nombre. Les nombres négatifs ne sont pas pris en charge.

Vous pouvez éventuellement transmettre un caractère à afficher pour le pad ou laisser le champ vide. Si vous conservez la valeur pad vide, la valeur par défaut est un espace blanc.

Utilisation

{{rjust value size=X [pad=" "]}}, où X est la longueur totale de la valeur, espaces blancs compris.

Exemple

Dans cet exemple, une valeur de justification correcte de 15 est appliquée à l’attribut Location.City.

{{rjust Location.City size=15}} renvoie

«    Los Angele » si Location.City est Los Angeles. Notez que les guillemets affichés dans la sortie ne sont fournis qu’à titre d’accentuation.

slugify

Convertit la valeur transmise en minuscules, supprime les caractères autres que les mots (alphanumériques et traits de soulignement), convertit les espaces en traits d’union et supprime tout espace blanc en début ou en fin de texte.

Utilisation

{{slugify value}}

Exemple

Dans cet exemple, l’opération slugify est effectuée pour l’attribut Location.City.

{{slugify Location.City}} renvoie

Los-Angeles si Location.City est Los Angeles.

stripTags

Supprime les balises HTML [X] d’une valeur.

Utilisation

{{stripTags value}}

Exemple

Dans cet exemple, les balises HTML de User.UserAttributes.INTEREST. [0] sont supprimées.

{{stripTags User.UserAttributes.interests.[0]}} renvoie

Art, si User.UserAttributes.interests.[0] est <h1>Art</h1>.

substring

Renvoie une nouvelle chaîne sous forme de sous-chaîne de la valeur transmise. La longueur et la position sont déterminées par les paramètres startOffset et endOffset, qui doivent être des entiers. Les nombres négatifs ne sont pas pris en charge. Si un endOffset n’est pas transmis, la sous-chaîne utilise la valeur de fin d’origine de la chaîne.

Utilisation

{{substring value startOffset [endOffset]}}

Exemple

Dans cet exemple, un décalage de 4 et un endOffset de 9 sont appliqués à l’attribut Location.City.

{{substring Location.City 4 9}} renvoie

Angel si la valeur de Location.City est Los Angeles.

upper

Convertit la valeur transmise en majuscules.

Utilisation

{{upper value}}

Exemple

Dans cet exemple, l’entrée [0] de l’attribut User.UserAttributes.LastName est convertie en majuscules.

{{upper User.UserAttributes.LastName.[0]}} renvoie

ROE si la valeur de User.UserAttributes.LastName.[0] est Roe.

yesno

Remplace true, false et NULL par Yes, No et Maybe.

Utilisation

{{yesno value [yes="yes"] [no="no"] maybe=["maybe"]}}

Exemple

Dans cet exemple, l’attribut IsUserSubscribed indique si un utilisateur est abonné à une liste particulière.

{{yesno Attributes.IsUserSubscribed}} renvoie

oui si Attributes.IsUserSubscribed est true.

Cette section décrit les assistants mathématiques et d’encodage.

  • add : renvoie la somme de deux nombres.

  • ceiling : arrondit un entier à son plafond mathématique.

  • decode64 : décode une valeur codée en Base64 en chaîne.

  • divide : renvoie le quotient de deux nombres.

  • encode64 : encode une chaîne en utilisant Base64.

  • floor : arrondit un entier à son plancher mathématique.

  • md5 : hache une chaîne transmise à l’aide de l’algorithme MD5.

  • modulo : renvoie le reste de deux nombres en utilisant des nombres à virgule flottante.

  • multiply : renvoie le produit de deux nombres.

  • round : arrondit une valeur décimale au nombre entier le plus proche.

  • sha256 : hache une chaîne transmise en utilisant SHA-256.

  • sha512 : hache une chaîne transmise en utilisant SHA-512.

  • subtract : renvoie la différence de deux nombres.

  • uuid : génère aléatoirement un UUID au format 128 bits.

ajouter

Renvoie la somme de deux nombres avec des virgules flottantes.

Utilisation

{{add arg1 arg2}}

Exemple

{{add 5 2.3}} renvoie

7.3

ceiling

Arrondit un entier à son plafond mathématique, qui est le nombre entier le plus élevé le plus proche de la valeur transmise.

Utilisation

{{ceiling value}}

Exemple

{{ceiling 5.23}} renvoie

6

decode64

Décode une valeur codée en Base64 en chaîne.

Utilisation

{{decode64 "string"}}

Exemple

{{decode64 "SGVsbG8gd29ybGQ="}} renvoie

Hello World

divide

Renvoie le quotient de deux nombres, virgules flottantes comprises.

Utilisation

{{divide arg1 arg2}}

Exemple

{{divide 5 2.3}} renvoie

2.17391304

encode64

Encode la chaîne transmise dans l’argument à l’aide de Base64.

Utilisation

{{encode64 "string"}}

Exemple

{{encode64 "Hello World"}}

sGvSBG8GD29yBgQ=

floor

Arrondit un entier à son plancher mathématique, qui est le plus petit nombre entier le plus proche de la valeur transmise.

Utilisation

{{floor value}}

Exemple

{{floor 5.23}} renvoie

5

md5

Hache une chaîne transmise à l’aide de l’algorithme MD5.

Utilisation

{{md5 "string"}}

Exemple

{{md5 "Hello World"}}

3e25960a79dbc69b674cd4ec67a72c62

modulo

Renvoie le reste de deux nombres en utilisant des nombres à virgule flottante.

Utilisation

{{modulo arg1 arg2}}

Exemple

{{modulo 7 2}} renvoie

1

multiply

Renvoie le produit de deux nombres, avec les virgules flottantes éventuelles.

Utilisation

{{multiply arg1 arg2}}

Exemple

{{multiply 5 2.3}} renvoie

11.5

round

Arrondit une décimale vers le haut ou vers le bas au nombre entier le plus proche.

Utilisation

{{round value}}

Exemple

You spent an average of {{round 19.21}} minutes on our website each day. renvoie :

Vous avez passé en moyenne 19 minutes par jour sur notre site Web.

sha256

Hache une chaîne transmise à l’aide de la sécurité cryptographique SHA-256.

Utilisation

{{sha256 "string"}}

Exemple

{{sha256 "Hello World"}} renvoie

a591a6d40bf420404a011733cfb190d62c65bf0bcda32b57b277d9ad9adf146e

sha512

Hache une chaîne transmise à l’aide de la sécurité cryptographique SHA-512.

Utilisation

{{sha512 "string"}}

Exemple

{{sha512 "Hello World"}} renvoie

2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0da0daa8f51671064615d645ae27acb15bfb1447f459b

subtract

Renvoie la différence de deux nombres, avec des virgules flottantes éventuelles.

Utilisation

{{subtract arg1 arg2}}

Exemple

{{subtract 5 2.3}} renvoie

2.7

uuid

Génère aléatoirement un UUID dans un format standard de 128 bits. Aucune valeur ne doit être transmise dans l’argument.

Utilisation

{{uuid}}

Exemple

{{uuid}} renvoie

95f36680-152c-4052-99ec-cc3cdf7ca594

Bien qu’ils ne soient techniquement pas des assistants, les partiels en ligne sont un moyen utilisé par Handlebar pour simplifier les modèles qui incluent des chaînes répétées, afin de faciliter leur réutilisation. Pour plus d’informations, consultez Partiels en ligne sur handlebarsjs.com.

Utilisation

{{#* inline "inlineName"}}Content to reuse{{/inline}}

Pour référencer le contenu du partiel en ligne ailleurs, utilisez :

{{> inlineName}}

Exemple

L’exemple suivant crée un partiel en ligne qui inclut le prénom du destinataire et, s’il est disponible, son nom de famille, en ajoutant le code suivant au début du modèle :

{{#* inline "fullName"}}

{{User.UserAttributes.FirstName.[0]}} {{#if User.UserAttributes.LastName.[0]}} {{User.UserAttributes.LastName.[0]}} {{/if}}

{{/inline}}

Après avoir créé le partiel fullName, vous pouvez l’inclure n’importe où dans votre modèle en faisant précéder le nom du partiel d’un symbole > (plus grand que), suivi d’un espace, comme dans l’exemple suivant : {{> fullName}}.

Hello {{> fullName}}

renvoie le prénom et le nom de famille de l’utilisateur s’ils sont vrais, par exemple, Bonjour Jean Dupont. Sinon, si aucun nom de famille n’est trouvé, Bonjour Jean est renvoyé.

Handlebars inclut d’autres fonctions en plus de celles documentées ici. Pour plus d’informations, consultez handlebarsjs.com.

Utilisation de variables avec des assistants de modèles de messages

Les attributs personnalisés d’Amazon Pinpoint, tels que User.UserAttributes.LastName, sont stockés sous forme de liste, qu’il s’agisse d’un ou de plusieurs éléments. Lorsque vous transmettez une liste dans un assistant qui attend une chaîne, vous devez spécifier la valeur de l’index d’attribut ainsi que le nom de l’attribut. Cette valeur d’index d’attribut indique la position d’une valeur dans la liste d’attributs : .[0] pour la première entrée de la liste, .[1] pour la deuxième, .[2] pour la troisième, etc. Par exemple, supposons que vous utilisiez l’assistant upper pour convertir la première entrée ([0]) de User.UserAttributes.LastName en majuscules. L’utilisation de l’assistant est {{upper value}}, et l’attribut formaté comme User.UserAttributes.LastName. Remplacez la valeur par le nom de l’attribut et la valeur de l’index de l’attribut .[0] comme suit : {{upper User.UserAttributes.LastName.[0]}}. La réponse renvoie ensuite l’entrée [0] de la liste, mise en forme entièrement en majuscules. Par exemple, si la valeur de [0] est Santos, la réponse renvoie SANTOS.

Les noms des attributs personnalisés Amazon Pinpoint prennent en charge les espaces. Pour qu’un attribut personnalisé soit appelé "Last Name", vous devez formater l’attribut comme User.UserAttributes.[Last Name]. Pour accéder à la première entrée de la liste d’index d’attributs, le format est User.UserAttributes.[Last Name].[0].

Un nom d’attribut personnalisé peut contenir jusqu’à 50 caractères. Une valeur d’attribut peut contenir jusqu’à 100 caractères. Lorsque vous définissez le nom d’un attribut personnalisé, évitez d’utiliser les caractères suivants : signe numérique (#), deux-points (:), point d’interrogation (?) et barres obliques (\/). La console Amazon Pinpoint ne peut pas afficher les noms d’attributs contenant ces caractères. Cette restriction ne s’applique pas aux valeurs d’attributs.

Utilisation d’assistants imbriqués

Vous pouvez imbriquer plusieurs modèles de messages d’assistance les uns dans les autres. L’exemple suivant montre comment formater deux assistants : {{ first helper (second helper)}}. Le second assistant est traité en premier, suivi du premier assistant. N’oubliez pas que le premier assistant détermine toujours la sortie. Les assistants suivants doivent être imbriqués dans l’assistant précédent comme suit : {{ first helper (second helper (third helper) )}}.

L’exemple suivant montre comment imbriquer deux assistants pour transformer JANE en Jane : {{capitalizeFirst (lower "JANE")}}. lower convertit d’abord JANE en jane. Puis capitalizeFirst convertit jane en Jane.