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 Amazon 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 la liste complète, voir les 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}}

You have no favorite colors.

{{/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}}

Hello,

{{/if}}

renvoie Hello, Jane si l'ifassistant est vrai.

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.

  • 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 and n avec d'autres valeurs, telles que yes and no, ou 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")}}

You live in Los Angeles and the US.

{{else}}

You don’t live in Los Angeles and the US.

{{/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 and n avec d'autres valeurs, telles que yes and no, ou 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 Red. Si la réponse est true positive, une déclaration vraie est renvoyée. Si la réponse est false, une déclaration else est renvoyée.

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

Your favorite color is red.

{{else}}

You don't like red.

{{/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 and n avec d'autres valeurs, telles que yes and no, ou 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'User.UserAttributes.UserAge.[0]attribut à 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"}}

You are old enough to rent a car.

{{else}}

You are not old enough to rent a car.

{{/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 and n avec d'autres valeurs, telles que yes and no, ou 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'User.UserAttributes.UserAge.[0]attribut à 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"}}

You are old enough to rent a car.

{{else}}

You are not old enough to rent a car.

{{/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 and n avec d'autres valeurs, telles que yes and no, ou 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 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}}

Hello,

{{/if}}

renvoie Hello Jane, si l'assistant est vrai.

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 and n avec d'autres valeurs, telles que yes and no, ou 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'User.UserAttributes.UserAge.[0]attribut à une chaîne 18 , pour vérifier si l'utilisateur est âgé de moins de 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"}}

You are not old enough to rent a car.

{{else}}

You are old enough to rent a car.

{{/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 and n avec d'autres valeurs, telles que yes and no, ou 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'User.UserAttributes.UserAge.[0]attribut à une chaîne 17, pour vérifier si l'âge de l'utilisateur est inférieur ou égal à 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"}}

You are not old enough to rent a car.

{{else}}

You are old enough to rent a car.

{{/lte}}

neq

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

Utilisation

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

    Vous pouvez remplacer y and n avec d'autres valeurs, telles que yes and no, ou 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'User.UserAttributes.FavoriteColors.[0]attribut est comparé à une chaîneRed. 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"}}

You do not like red.

{{else}}

You like red.

{{/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 and n avec d'autres valeurs, telles que yes and no, ou 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'User.UerAttributes.FavoriteColors.[0]attribut est vérifié par rapport à une chaîne red, à l'aide de l'eqassistant. L’assistant not renvoie alors le contraire de l’assistant eq. Si la réponse renvoie une couleur autre que reda, true un relevé est renvoyé. Si la réponse est renvoyée red, puis une else déclaration est renvoyée indiquant une fausse déclaration.

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

You do not like red.

{{else}}

You like red.

{{/not}}

Exemple

Dans cet exemple,

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

renvoie faux si User.UserAttributes.FavoriteColors.[0] c'est red.

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 and n avec d'autres valeurs, telles que yes and no, ou 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")}}

You live on the West Coast of the United States.

{{else}}

You do not live on the West Coast of the United States.

{{/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 HTML balises [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}}, remplaçant X avec 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... if 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

My First Post, si la valeur de Attributes.description.[0] est my first 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

My first post, si la valeur de Attributes.description.[0] est my first 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=" "}}, remplaçant X avec 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 c'est Los Angeles. Notez que les guillemets affichés dans l'exemple de sortie ne sont fournis qu'à titre d'accentuation.

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 à partir de Location.City l'attribut.

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

Los Angls si [Location.City c'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 fuseaux horairesIDs, voirhttps://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 : Tuesday, September 19, 2020

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

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

  • « short » : format de date court. Par exemple : 9/19/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'[0]entrée User.UserAttributes.StartDate.[0] est 09/19/2020 et un message est envoyé à un utilisateur en utilisant le format de full date basé sur America/Los_Angeles fuseau horaire.

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

We can meet with you any time on Tuesday, September 19, 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 :

Thank you for your purchase of apples.

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

Thank you for your purchase of 3 apples.

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

blue, red, green si Attributes.favorite_colors c'est la liste blue,red,green.

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é à 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 ne sont fournis qu'à titre d'accentuation.

lower

Convertit une valeur en minuscules.

Utilisation

{{lower value}}

Exemple

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

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

santos if 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 fuseaux horairesIDs, voirhttps://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 : Tuesday, September 19, 2020

  • « long » : format de date long. Par exemple : September 19, 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

Sept 19, 2020.

ordinalize

Ordinalise la valeur numérique transmise dans l’argument. Par exemple, 1 est ordinalisé comme 1st and 2 comme 2nd. 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é comme 22nd.

Congratulations on your 22nd birthday!

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 c'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é à l'Location.Cityattribut.

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

"    Los Angeles" . si Location.City c'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 c'est Los Angeles.

stripTags

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

Utilisation

{{stripTags value}}

Exemple

Dans cet exemple, les HTML tags de l'utilisateur. UserAttributes.interest. [0] sont supprimés.

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

Art, si User.UserAttributes.interests.[0] c'est le cas<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 endOffset de 9 est appliqué à l'attribut Location.City.

{{substring Location.City 4 9}} renvoie

Angelsi Los Angeles est la valeur Location.City de 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 User.UserAttributes.LastName.[0] valeur 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

yes si Attributes.IsUserSubscribed c'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'MD5algorithme.

  • modulo— Renvoie le reste des deux nombres en utilisant des virgules flottantes.

  • 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 dans un 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'MD5algorithme.

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 :

You spent an average of 19 minutes on our website each day.

sha256

Hache une chaîne transmise en utilisant la sécurité cryptographique SHA -256.

Utilisation

{{sha256 "string"}}

Exemple

{{sha256 "Hello World"}} renvoie

a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

sha512

Hache une chaîne transmise en utilisant la sécurité cryptographique SHA -512.

Utilisation

{{sha512 "string"}}

Exemple

{{sha512 "Hello World"}} renvoie

2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b

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 utiles, les partiels intégrés sont un moyen de Handlebar de rationaliser les modèles qui incluent des chaînes répétées, ce qui est préférable pour les réutiliser. Pour plus d'informations, consultez la section Inline partials 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 extrait intégré 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}}.

Bonjour {{>fullName}}

renvoie le prénom et le nom de famille de l'utilisateur s'ils sont vrais, par exemple, Hello Jane Doe. Sinon, si aucun nom de famille n'est trouvé, Hello Jane est renvoyé.

Les guidons incluent des fonctionnalités supplémentaires en plus de celles décrites 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 value avec 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 suitUser.UserAttributes.[Last Name]. Pour accéder à la première entrée de la liste des index d'attributs, le format est le suivantUser.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.