As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usar assistentes de modelos de mensagens
Com os modelos do Amazon Pinpoint, os clientes podem criar modelos de mensagens reutilizáveis com base na linguagem Handlebars.js. Os assistentes fornecem uma variedade de recursos, como formatar um preço para a moeda de uma Região específica ou adicionar um local com base no fuso horário. Um assistente pode usar uma cadeia de caracteres ou número inteiro específico para o valor ou para uma variável de mensagem específica do Amazon Pinpoint.
As categorias de assistentes estão descritas nas seções a seguir:
Esta seção descreve os assistentes integrados fornecidos pelo Handlebars. Para ver a lista completa, consulte Ajudantes integrados em handlebarsjs.com
-
each
: itera uma lista.nota
O tamanho máximo da lista é de 15 itens.
-
if
: avalia uma declaração.
- cada
-
Itera uma lista. Esse assistente usa somente uma declaração de bloco. Opcionalmente, você pode:
-
Passar
@index
na solicitação para fazer referência ao índice de loop atual. -
Usar o assistente
this
para referenciar o elemento atual que está sendo iterado. -
Retornar a resposta do assistente em uma lista, usando a tag
<li>
.
Uso
{{#each
value
}}O valor na posição
{{@index}}
é{{this}}
.{{else}}
A condição é falsa.
{{/each}}
each
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/each}}
na declaração de bloco.Exemplo
Neste exemplo,
each
é usado para retornar uma lista das cores favoritas de um usuário. Parafalse
, uma declaraçãoelse
é retornada. Se a solicitação for essa:{{#each User.UserAttributes.FavoriteColors}}
<li>{{this}}</li>
{{else}}
You have no favorite colors.
{{/each}}
retorna-
red
-
blue
-
yellow
para uma declaração verdadeira.
-
- se
-
Avalia se algo é verdadeiro e retorna uma resposta com base na avaliação.
Uso
{{#if
value
}}O valor não é indefinido
{{else}}
O valor é indefinido
{{/if}}
if
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/if}}
na declaração de bloco.Exemplo
Neste exemplo, o assistente
if
é usado para avaliar o primeiro nome de um usuário. Se o nome for encontrado, será retornada uma saudação que passa o primeiro nome do usuário na resposta. Caso contrário, a declaraçãoelse
retornará uma saudação alternativa.{{#if User.UserAttributes.FirstName.[0]}}
Hello
{{User.UserAttributes.FirstName.[0]}},
{{else}}
Hello,
{{/if}}
retorna
Hello, Jane
se oif
ajudante for verdadeiro.
Esta seção descreve os assistentes condicionais.
Os assistentes condicionais podem ser usados em uma única linha ou em uma declaração de bloco. Você pode personalizar a resposta independentemente do método assistente usado. Você pode passar assistentes condicionais adicionais em declarações de linha única e de bloco. Os seguintes assistentes condicionais mostram, primeiramente, o uso de uma única linha e, depois, de uma declaração de bloco usando uma cláusula opcional else
. Os assistentes condicionais são os seguintes:
-
and
— Compara se todos os elementos passados são iguais. -
eq
: testa se dois elementos são iguais. -
gt
: testa se um elemento é maior que outro. -
gte
: testa se um elemento é maior ou igual a outro. -
if
— Avalia se algo é verdadeiro. -
lt
: testa se um elemento é menor que outro. -
lte
: testa se um elemento é menor ou igual a outro. -
neq
: avalia se dois elementos não são iguais. -
not
— Inverte a resposta de uma operação booleana. -
or
: compara se algum dos elementos do argumento é igual.
- e
-
Compara se todos os elementos passados em um argumento são iguais e retorna a resposta com base no resultado. Esse assistente pode ser usado para valores não booleanos. Você deve passar pelo menos dois elementos para a condição.
Uso
-
{{and
valuea
valueb
valuec
valued
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#and
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/and}}
and
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/and}}
na declaração de bloco.
Exemplo
Neste exemplo,
eq
é usado na declaração de blocoand
para determinar se ambas as cadeias de caracteres passadas para os atributosLocation.City
eLocation.Country
são verdadeiras. Se as duas condições forem iguais, uma declaração verdadeira será retornada. Se algum desses atributos for falso, uma declaraçãoelse
será retornada.{{#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
-
Testa se dois elementos são iguais ou se o valor de um elemento é igual a uma cadeia de caracteres passada.
Uso
-
{{eq
valuea
valueb
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#eq
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/eq}}
eq
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/eq}}
na declaração de bloco.
Exemplo
Neste exemplo,
eq
é usado para avaliar se o valor deUser.UserAttributes.FavoriteColors.[0]
éRed
. Se a resposta fortrue
, uma declaração verdadeira será retornada. Se a resposta forfalse
, uma declaraçãoelse
será retornada.{{#eq User.UserAttributes.FavoriteColors.[0] "
red
"}}Your favorite color is red.
{{else}}
You don't like red.
{{/eq}}
-
- gt
-
Testa se o valor de um elemento é maior que o de outro.
Uso
-
{{gt
valuea
valueb
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#gt
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/gt}}
gt
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/gt}}
na declaração de bloco.
Exemplo
Neste exemplo, o auxiliar compara o valor do
User.UserAttributes.UserAge.[0]
atributo com uma string17
, para verificar se a idade do usuário é maior que 17 anos. Se a resposta fortrue
, uma declaração verdadeira será retornada. Se a resposta forfalse
, uma declaraçãoelse
será retornada.{{#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
-
Testa se o valor de um elemento é maior ou igual a outro.
Usage
-
{{gte
valuea
valueb
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#gte
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/gte}}
get
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/gte}}
na declaração de bloco.
Exemplo
Neste exemplo, o auxiliar compara o
User.UserAttributes.UserAge.[0]
atributo com uma string18
, para verificar se a idade do usuário é maior ou igual a 18 anos. Se a resposta fortrue
, uma declaração verdadeira será retornada. Se a resposta forfalse
, uma declaraçãoelse
será retornada.{{#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}}
-
- se
-
Avalia se algo é verdadeiro e retorna uma resposta com base na avaliação.
Uso
-
{{#if
value
}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#if
}}value
A condição é verdadeira.
{{else}}
A condição é falsa.
{{/if}}
if
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/if}}
na declaração de bloco.
Exemplo
Neste exemplo, o assistente é usado para avaliar o primeiro nome de um usuário. Se o nome for encontrado, será retornada uma saudação que passa o primeiro nome do usuário na resposta. Caso contrário, a declaração else retornará uma saudação alternativa.
{{#if User.UserAttributes.FirstName.[0]}}
Hello
{{User.UserAttributes.FirstName.[0]}}
,
{{else}}
Hello,
{{/if}}
retorna
Hello Jane,
se o ajudante for verdadeiro. -
- lt
-
Testa se o valor de um elemento é menor que o valor de outro.
Uso
-
{{lt
valuea
valueb
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#lt
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/lt}}
lt
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/lt}}
na declaração de bloco.
Exemplo
Neste exemplo, o auxiliar compara o
User.UserAttributes.UserAge.[0]
atributo com uma string18
, para verificar se a idade do usuário é menor que 18 anos. Se a resposta fortrue
, uma declaração verdadeira será retornada. Se a resposta forfalse
, uma declaraçãoelse
será retornada.{{#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
-
Testa se o valor de um elemento é menor ou igual a outro.
Uso
-
{{lte
valuea
valueb
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#lte
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/lte}}
lte
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/lte}}
na declaração de bloco.
Exemplo
Nessa instrução de bloco, o auxiliar compara o
User.UserAttributes.UserAge.[0]
atributo com uma string17
, para verificar se a idade do usuário é igual a 17 anos ou menos. Se a resposta fortrue
, uma declaração verdadeira será retornada. Se a resposta forfalse
, uma declaraçãoelse
será retornada.{{#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
-
Teste se dois elementos não são iguais.
Uso
-
{{neq
valuea
valueb
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#neq
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/neq}}
neq
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/neq}}
na declaração de bloco.
Exemplo
Nessa instrução de bloco, o
User.UserAttributes.FavoriteColors.[0]
atributo é verificado em relação a uma string
. Se a resposta forRed
true
, uma declaração verdadeira será retornada. Se a resposta forfalse
, uma declaraçãoelse
será retornada.{{#neq User.UserAttributes.Favorite.Colors.[0] "
red
"}}You do not like red.
{{else}}
You like red.
{{/neq}}
-
- not
-
Inverte a resposta de uma operação booleana, de forma que, se
not
for uma comparação positiva, uma declaraçãotrue
será retornada. Se a resposta for falsa, uma declaração else será retornada.Uso
-
{{not
value
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. -
{{#not
}}value
A condição é verdadeira.
{{else}}
A condição é falsa.
{{/not}}
not
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/not}}
na declaração de bloco.
Exemplo
Nessa instrução de bloco, o
User.UerAttributes.FavoriteColors.[0]
atributo é verificado em relação a uma stringred
, usando oeq
ajudante. O assistentenot
então retorna o oposto do assistenteeq
. Se a resposta retornar qualquer cor diferente dered
, quandotrue
uma declaração é retornada. Se a resposta retornarred
, em seguida, umaelse
declaração é retornada indicando uma declaração falsa.{{#not (eq User.UserAttributes.Favorite.Colors.[0] "
red
")}}You do not like red.
{{else}}
You like red.
{{/not}}
Exemplo
Neste exemplo,
{{not (eq User.UserAttributes.FavoriteColors.[0] "
red
")}}retorna falso se
User.UserAttributes.FavoriteColors.[0]
forred
. -
- ou
-
Compara se algum dos elementos no argumento é igual e retorna uma resposta com base no resultado. Esse assistente pode ser usado para valores não booleanos.
Uso
-
{{or
valuea
valueb
valuec
valued
yes='y
' no='n
'}}Você pode substituir
y
en
com outros valores, comoyes
eno
, ou qualquer outra string que você deseja retornar, dependendo da condição. Você deve passar pelo menos dois elementos para a condição. -
{{#or
valuea
valueb
}}A condição é verdadeira.
{{else}}
A condição é falsa.
{{/or}}
or
deve ser precedido por um sinal de libra (#
) e concluir com um fechamento{{/or}}
na declaração de bloco.
Exemplo
Nessa declaração de bloco
or
, duas cadeias de caracteres do atributoLocation.City
são comparadas, adicionalmente, usando o assistenteeq
. Se algum dos atributos fortrue
, uma declaração verdadeira será retornada. Se uma ou mais das respostas foremfalse
, uma declaraçãoelse
será retornada.{{#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}}
-
Esta seção descreve os seguintes assistentes de cadeia de caracteres:
-
abbreviate
: trunca um valor. -
capitalize
: coloca cada palavra entre espaços em branco. -
capitalizeFirst
: capitaliza o primeiro caractere de um valor. -
center
: centraliza um valor. -
cut
: corta um valor. -
dateFormat
: define o estilo da data. -
inflect
: retorna uma cadeia de caracteres singular ou plural com base na contagem. -
join
: une uma matriz, iterador ou objeto iterável. -
ljust
: justifica um valor na margem esquerda. -
lower
: converte um valor em letras minúsculas. -
now
: imprime a data atual. -
ordinalize
: transforma um valor numérico em número decimal. -
replace
: substitui uma cadeia de caracteres por outra. -
rjust
: justifica um valor na margem direita. -
slugify
: converte um valor em letras minúsculas e remove caracteres que não sejam palavras, converte espaços em hifens e remove o espaço em branco à direita. -
stripTags
— Retira as HTML tags [X] de um valor. -
substring
: retorna uma nova cadeia de caracteres como sub-cadeia de um valor passado. -
upper
: converte o valor passado em letras maiúsculas.
-
yesno
: substitui verdadeiro, falso e não por Sim, Não e Talvez.
- abreviar
-
Trunca um valor se este exceder o número especificado. Os espaços em branco estão incluídos na contagem de comprimento. Reticências são exibidas na resposta para indicar um valor truncado. As reticências contam para o valor truncado na resposta. Esse tipo de assistente é útil se você tiver uma mesa grande e espaço mínimo. Truncar valores em uma célula permite que você tenha uma aparência mais uniforme da tabela.
Uso
{{abbreviate
, substituindovalue
X
}}X
com um valor numérico indicando o número de caracteres a serem mantidos. Não há suporte para números negativos.Exemplo
Neste exemplo,
abbreviate
é usado para truncarUser.UserAttributes.LastName.[0]
para seis (6) caracteres. A resposta inclui reticências, cujos pontos contam para o total de seis caracteres.{{abbreviate
retornaUser.UserAttributes.LastName.[0]
6
}}Ale...
seAlejandro
é o valor de[0]
. - capitalize
-
Capitaliza cada palavra entre espaços em branco.
Uso
{{capitalize
value
}}Exemplo
Neste exemplo, a capitalização inicial é aplicada a cada palavra da entrada
Attributes.description.[0]
.{{capitalize
Attributes.description.[0]
}}Se
Attributes.description.[0]
retornarMy First Post
, se o valor deAttributes.description.[0]
formy first post
. - capitalizeFirst
-
Capitaliza o primeiro caractere de um valor.
Uso
{{capitalizeFirst
value
}}Exemplo
Neste exemplo, a capitalização é aplicada ao primeiro caractere da primeira palavra da entrada
Attributes.description.[0]
.{{capitalizeFirst
retornaAttributes.description.[0]
}}My first post
, se o valor de
forAttributes.description.[0]
my first post
.Exemplo
- center
-
Centraliza o valor em um campo de uma determinada largura pelo número especificado. Opcionalmente, você pode passar um caractere para exibir no preenchimento ou deixar o campo em branco. Se nenhum caractere for passado, um espaço em branco será usado.
Uso
{{center
, substituindovalue
size=X
[pad=" "}}X
com um valor numérico.Se
pad
for mantido em branco, o espaço em branco será usado como preenchimento na resposta. Se você passar um caractere, esse caractere será exibido em cada espaço do preenchimento. Não há suporte para números negativos.Exemplo
Neste exemplo, o valor de
Location.City
é centralizado com um tamanho de19
.{{center
retornaLocation.City
size=19
}}" Los Angeles "
SeLocation.City
éLos Angeles
. Observe que as aspas exibidas na saída do exemplo são fornecidas apenas para dar ênfase. - cut
-
Remove o valor especificado de uma cadeia de caracteres.
Uso
{{cut
, substituindo o espaço dentro do parâmetro de aspas pelo valor a ser cortado. Se nenhum valor de parâmetro for passado, um espaço em branco será usado.value
[" "
]}}Exemplo
Este exemplo remove a letra
e
doLocation.City
atributo.{{cut
retornaLocation.City
"e
"}}Los Angls
se[Location.City
éLos Angeles
. - dateFormat
-
Define o estilo de data padrão para a data em qualquer resposta. Para obter uma lista do fuso horárioIDs, consultehttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones
. Uso
{{dateFormat date [inputFormat="format1"] [outputFormat="format2"] [tz=timeZoneId] [locale=localeID]}}
O parâmetro
format
deve ser:-
“
full
“: formato de data completo. Por exemplo:Tuesday, September 19, 2020
-
“
long
“: formato de data longo. Por exemplo:September 19, 2020
-
“
medium
“: formato de data médio. Por exemplo:Sept 19, 2020
-
“
short
“: formato de data abreviada. Por exemplo:9/19/20
-
“
pattern
“: usa um formato de padrão de data personalizado. Para obter mais informações sobre padrões de datas, consulte https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
“
locale
“: usa um formato de data baseado em uma determinada localidade. Para mais informações sobre esses locais, consulte https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-. Se um formato não for passado,
medium
será usado por padrão.Exemplo
Neste exemplo, a
[0]
entrada para
éUser.UserAttributes.StartDate.[0]
09/19/2020
e uma mensagem é enviada a um usuário usando o formato defull
data com base noAmerica/Los_Angeles
fuso horário.We can meet with you any time on
{{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}.
retornaWe can meet with you any time on Tuesday, September 19, 2020.
-
- inflect
-
Retorna uma cadeia de caracteres singular ou plural com base no valor de contagem.
Uso
{{inflect
count
singular
plural
[includeCount=false]}}-
Insira as formas singular e plural da cadeia de caracteres que você deseja passar no argumento.
-
Se
includeCount
estiver definido comofalse
, nenhuma contagem será retornada na resposta. Se definido comotrue
, ocount
é incluído na resposta.
Exemplo
Os exemplos a seguir mostram a inflexão de uma compra de maçãs, com e sem
includeCount
.Thank you for your purchase of {{inflect
retorna:3
apple
apples
includeCount=false
}}.Thank you for your purchase of apples.
Se
includeCount
estiver definido comotrue
, a resposta seráThank you for your purchase of 3 apples.
-
- join
-
Une uma matriz, um iterador ou um objeto iterável. A resposta retorna uma lista, com cada valor na lista concatenado pelo caractere que você passa no
join
. Por exemplo, você pode separar valores usando uma vírgula (,
). O valor nesse assistente deve ser uma lista sem um índice de posição do atributo. Por exemplo, pode serAttributes.custom_attribute
.Uso
{{join
value
" // " [prefix=""] [suffix=""]}}Exemplo
Neste exemplo, uma lista de cores é retornada, com a lista separada por uma vírgula e um espaço (
", "
):{{join
retornaAttributes.favorite_colors
",
"}}blue, red, green
seAttributes.favorite_colors
é a listablue,red,green
. - ljust
-
Justifica o valor na margem esquerda e adiciona espaço à direita, para que o comprimento do valor corresponda ao número. Não há suporte para números negativos.
Opcionalmente, você pode passar um caractere para exibir no
pad
ou deixar o campo em branco. Se você deixar o valorpad
em branco, o valor padrão será um espaço em branco.Uso
{{ljust
, ondevalue
size=X
[pad=" "]}}X
é o comprimento total do valor, incluindo espaço em branco.Exemplo
Neste exemplo, um valor de justificação à esquerda de
15
é aplicado ao Location.City.{{ljust
retornaLocation.City
size=15
}}"Los Angeles "
se o valor deLocation.City
forLos Angeles
. Observe que as aspas exibidas na saída do exemplo são fornecidas apenas para dar ênfase. - lower
-
Converte um valor em todas as letras minúsculas.
Uso
{{lower
value
}}Exemplo
Neste exemplo, a
[0]
entrada paraUser.UserAttributes.LastName.[0]
é alterada para minúscula.{{lower
retornaUser.UserAttributes.LastName.[0]
}}santos
seSantos
é o valor de[0]
. - agora
-
Imprime a data atual com base no ID de fuso horário aprovado. Para obter uma lista do fuso horárioIDs, consultehttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones
. Uso
{{now ["format"] [tz=timeZoneId] [locale=localeID]}}
O parâmetro
format
deve ser:-
“
full
“: formato de data completo. Por exemplo:Tuesday, September 19, 2020
-
“
long
“: formato de data longo. Por exemplo:September 19, 2020
-
“
medium
“: formato de data médio. Por exemplo: 19 de set de 2020 -
“
short
“: formato de data abreviada. Por exemplo: 19/09/20 -
“
pattern
“: um padrão de data. Para obter mais informações sobre padrões de datas, consulte https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
“
locale
“: usa um formato de data baseado em uma determinada localidade. Para mais informações sobre esses locais, consulte https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-. Se um formato não for passado,
medium
será usado por padrão.Exemplo
Neste exemplo, a data atual em Los Angeles é retornada com um formato
medium
.{{now "medium" tz=
retornaAmerica/Los_Angeles
}}Sept 19, 2020
. -
- ordinalize
-
Ordena o valor numérico passado no argumento. Por exemplo,
1
é ordinalizado como1st
e2
como2nd
. Somente valores numéricos são suportados.Uso
{{ordinalize [
number
]}}Exemplo
Neste exemplo, a entrada
[0]
deUser.UserAttributes.UserAge
é transformada em número ordinal e retornada junto com uma mensagem.Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday!
retorna22
ordinalizado como22nd
.Congratulations on your 22nd birthday!
- replace
-
Substitui uma cadeia de caracteres por outra. Uma cadeia de caracteres ou um valor numérico deve ser literal. Caracteres curinga não são compatíveis.
Uso
{{replace
stringToReplace
replacementValue
}}Exemplo
Neste exemplo, um sublinhado (_) substitui um espaço em branco.
{{replace
retornaLocation.City
" " "_"
}}Los_Angeles
se oLocation.City
éLos Angeles
. - rjust
-
Justifica o valor na margem esquerda e adiciona espaço à esquerda, para que o comprimento do valor corresponda ao número. Não há suporte para números negativos.
Opcionalmente, você pode passar um caractere para exibir no
pad
ou manter o campo em branco. Se você deixar o valorpad
em branco, o valor padrão será um espaço em branco.Uso
{{rjust
, ondevalue
size=X
[pad=" "]}}X
é o comprimento total do valor, incluindo espaço em branco.Exemplo
Neste exemplo, um valor de justificação correta de
15
é aplicado aoLocation.City
atributo.{{rjust
retornaLocation.City
size=15
}}" Los Angeles"
. seLocation.City
forLos Angeles
. Observe que as aspas exibidas na saída são fornecidas apenas para dar ênfase. - slugify
-
Converte o valor passado em letras minúsculas, remove caracteres que não são palavras (alfanuméricos ou sublinhados), converte espaços em hifens e remove espaços em branco à direita e à esquerda.
Uso
{{slugify
value
}}Exemplo
Neste exemplo, o slugify é executado para o atributo
Location.City
.{{slugify
retornaLocation.City
}}los-angeles
seLocation.City
éLos Angeles
. - stripTags
-
Retira as HTML tags [X] de um valor.
Uso
{{stripTags
value
}}Exemplo
Neste exemplo, as HTML tags do usuário. UserAttributes.interest. [0] são removidos.
{{stripTags
retornaUser.UserAttributes.interests.[0]
}}Art
, seUser.UserAttributes.interests.[0]
for<h1>Art</h1>
. - substring
-
Retorna uma nova cadeia de caracteres como sub-cadeia do valor passado. O comprimento e a posição são determinados pelos parâmetros
startOffset
eendOffset
, que devem ser números inteiros. Não há suporte para números negativos. Se umendOffset
não for passado, a sub-cadeia usará o valor final original da cadeia de caracteres.Uso
{{substring
value
startOffset
[endOffset]
}}Exemplo
Neste exemplo, um deslocamento de 4 e endOffset 9 é aplicado ao atributo Location.City.
{{substring
retornaLocation.City 4 9
}}
se Los Angeles é o valor deAngel
Location.City
éLos Angeles
. - upper
-
Converte o valor passado em letras maiúsculas.
Uso
{{upper
value
}}Exemplo
Neste exemplo, todas as letras da entrada
[0]
do atributoUser.UserAttributes.LastName
são convertidas em maiúsculas.{{upper User.UserAttributes.LastName.[0]}}
retornaROE
se oUser.UserAttributes.LastName.[0]
valor forRoe
. - yesno
-
Substitui
true
,false
eNULL
porYes
,No
eMaybe
.Uso
{{yesno value [yes="yes"] [no="no"] maybe=["maybe"]}}
Exemplo
Neste exemplo, o atributo
IsUserSubscribed
retorna se um usuário está inscrito em uma lista específica.{{yesno Attributes.IsUserSubscribed}}
retornayes
seAttributes.IsUserSubscribed
étrue
.
Esta seção descreve os assistentes de matemática e codificação.
-
add
: retorna a soma de dois números. -
ceiling
: arredonda um número inteiro até seu teto matemático. -
decode64
— Decodifica um valor codificado em base64 em uma string. -
divide
: retorna o quociente de dois números. -
encode64
— Codifica uma string usando base64. -
floor
: arredonda um número inteiro até seu piso matemático. -
md5
— Faz o hash de uma string passada usando o MD5 algoritmo. -
modulo
— Retorna o restante de dois números usando pontos flutuantes. -
multiply
: retorna o produto de dois números. -
round
: arredonda um decimal para o número inteiro mais próximo. -
sha256
— Faz o hash de uma string passada usando SHA -256. -
sha512
— Faz o hash de uma string passada usando SHA -512. -
subtract
: retorna a diferença de dois números. -
uuid
— Gera aleatoriamente um UUID em um formato de 128 bits.
- add
-
Retorna a soma de dois números junto com vírgulas flutuantes.
Uso
{{add
arg1
arg2
}}Exemplo
{{add
retorna5 2.3
}}7.3
- ceiling
-
Arredonda um inteiro até seu teto matemático, que é o maior número inteiro mais próximo do valor passado.
Uso
{{ceiling
value
}}Exemplo
{{ceiling
retorna5.23
}}6
- decode64
-
Decodifica um valor codificado em base64 em uma string.
Uso
{{decode64 "
string
"}}Exemplo
{{decode64 "
retornaSGVsbG8gd29ybGQ
="}}Hello World
- divide
-
Retorna o quociente de dois números, incluindo vírgulas flutuantes.
Uso
{{divide
arg1
arg2
}}Exemplo
{{divide
retorna5 2.3
}}2.17391304
- encode64
-
Codifica a string passada no argumento usando base64.
Uso
{{encode64 "
string
"}}Exemplo
{{encode64 "
Hello World"
}}SGVsbG8gd29ybGQ=
- floor
-
Arredonda um número inteiro para seu piso matemático, que é o menor número inteiro mais próximo do valor passado.
Uso
{{floor
value
}}Exemplo
{{floor
retorna5.23
}}5
- md5
-
Faz o hash de uma string passada usando o MD5 algoritmo.
Uso
{{md5 "
string
"}}Exemplo
{{md5 "
Hello World
"}}3e25960a79dbc69b674cd4ec67a72c62
- modulo
-
Retorna o resto de dois números usando vírgulas flutuantes.
Uso
{{modulo
arg1
arg2
}}Exemplo
{{modulo
retorna7 2
}}1
- multiply
-
Retorna o produto de dois números junto com vírgulas flutuantes.
Uso
{{multiply
arg1
arg2
}}Exemplo
{{multiply
retorna5 2.3
}}11.5
- round
-
Arredonda uma casa decimal para cima ou para baixo para o número inteiro mais próximo.
Uso
{{round
value
}}Exemplo
You spent an average of {{round
retorna:19.21
}} minutes on our website each day.You spent an average of 19 minutes on our website each day.
- sha256
-
Faça o hash de uma string passada usando a segurança criptográfica SHA -256.
Uso
{{sha256 "
string
"}}Exemplo
{{sha256 "
retornaHello World
"}}a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
- sha512
-
Faça o hash de uma string passada usando a segurança criptográfica SHA -512.
Uso
{{sha512 "
string
"}}Exemplo
{{sha512 "
retornaHello World
"}}2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b
- subtract
-
Retorna a diferença de dois números junto com vírgulas flutuantes.
Uso
{{subtract
arg1
arg2
}}Exemplo
retorna{{subtract
5 2.3
}}2.7
- uuid
-
Gera aleatoriamente um UUID em um formato padrão de 128 bits. Nenhum valor precisa ser passado no argumento.
Uso
{{uuid}}
Exemplo
retorna{{uuid}}
95f36680-152c-4052-99ec-cc3cdf7ca594
Embora tecnicamente não sejam um auxiliar, as parciais embutidas são uma forma do Handlebar de otimizar modelos que incluem strings repetidas, o que é melhor para reutilização. Para obter mais informações, consulte Parciais embutidas
Uso
{{#* inline "inlineName"}}Content to reuse{{/inline}}
Para referenciar o conteúdo da parcial em linha em outro lugar, use:
{{> inlineName}}
Exemplo
O exemplo a seguir cria uma parcial em linha que inclui o nome do destinatário e, se disponível, o sobrenome, adicionando o código a seguir ao início do modelo:
{{#* inline "
fullName
"}}
{{User.UserAttributes.FirstName.[0]}} {{#if
User.UserAttributes.LastName.[0]}} {{User.UserAttributes.LastName.[0]}} {{/if}}
{{/inline}}
Depois de criar a parcial fullName
, você pode incluí-la em qualquer lugar em seu modelo colocando antes do nome da parcial um sinal de >
(maior que), seguido por um espaço, como no exemplo a seguir: {{>
fullName}}
.
Olá {{>fullName}}
retorna o nome e o sobrenome do usuário, se verdadeiros — por exemplo, Hello
Jane Doe
. Caso contrário, se nenhum sobrenome for encontrado, Hello
Jane
é devolvido.
O guidão inclui recursos adicionais além dos documentados aqui. Para obter mais informações, consulte handlebarsjs.com
Usar variáveis com assistentes de modelo de mensagem
Os atributos personalizados do Amazon Pinpoint, como User.UserAttributes.LastName
, são armazenados como uma lista, independentemente de haver um único item ou vários. Ao passar uma lista em um assistente que espera uma cadeia de caracteres, especifique o valor do índice do atributo junto com o nome do atributo. Esse valor de índice de atributo indica a posição de um valor na lista de atributos: .[0]
para a primeira entrada na lista, .[1]
para a segunda, .[2]
para a terceira e assim por diante. Por exemplo, digamos que você esteja usando o assistente upper
para converter a primeira entrada ([0]
) de User.UserAttributes.LastName
em maiúsculas. O uso do assistente é{{upper
, e o atributo está formatado como value
}}User.UserAttributes.LastName
. Substituir value
com o nome do atributo e o valor do índice do atributo da
seguinte forma:.[0]
{{upper
User.UserAttributes.LastName.[0]}}
. Em seguida, a resposta retorna a entrada [0]
da lista, formatada em letras maiúsculas. Por exemplo, se o valor de [0]
for Santos
, a resposta retorna SANTOS
.
Os nomes de atributos personalizados do Amazon Pinpoint oferecem suporte a espaços. Para que um atributo personalizado seja chamado"Last Name"
, você deve formatar o atributo comoUser.UserAttributes.[Last Name]
. Para acessar a primeira entrada na lista de índice de atributos, o formato éUser.UserAttributes.[Last
Name].[0]
.
Um nome de atributo personalizado pode conter até 50 caracteres. Um valor de atributo pode conter até 100 caracteres. Ao definir o nome de um atributo personalizado, evite usar os seguintes caracteres: sinal numérico (#), dois pontos (:), ponto de interrogação (?) , barra invertida (\) e barra (/). O console do Amazon Pinpoint não pode exibir nomes de atributos que contenham esses caracteres. Essa restrição não se aplica aos valores dos atributos.
Usar assistentes aninhados
Você pode agrupar vários assistentes de modelos de mensagens dentro uns dos outros. O exemplo a seguir mostra como formatar dois assistentes: {{ first helper (second helper)}}
. O segundo assistente é processado primeiro, seguido pelo primeiro. Lembre-se de que o primeiro assistente sempre determina a saída. Os assistentes subsequentes devem estar aninhados no assistente anterior da seguinte forma: {{ first helper (second helper (third helper)
)}}
.
O exemplo a seguir mostra como reunir dois assistentes para alterar JANE
para Jane
:{{capitalizeFirst
(lower "
. JANE
")}}lower
primeiro converte JANE
em jane
. Em seguida, capitalizeFirst
converte jane
em Jane
.