Usar assistentes de modelos de mensagens - Amazon Pinpoint

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. Os assistentes integrados são os seguintes:

  • 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. Para false, uma declaração else é 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çã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 if 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 e n com outros valores, como yes e no, 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 bloco and para determinar se ambas as cadeias de caracteres passadas para os atributos Location.City e Location.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ção else 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 e n com outros valores, como yes e no, 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 de User.UserAttributes.FavoriteColors.[0] é Red. Se a resposta fortrue, uma declaração verdadeira será retornada. Se a resposta for false, uma declaração else 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 e n com outros valores, como yes e no, 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 string 17, para verificar se a idade do usuário é maior que 17 anos. Se a resposta for true, uma declaração verdadeira será retornada. Se a resposta for false, uma declaração else 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 e n com outros valores, como yes e no, 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 string 18, para verificar se a idade do usuário é maior ou igual a 18 anos. Se a resposta for true, uma declaração verdadeira será retornada. Se a resposta for false, uma declaração else 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 e n com outros valores, como yes e no, 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 e n com outros valores, como yes e no, 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 string 18 , para verificar se a idade do usuário é menor que 18 anos. Se a resposta for true, uma declaração verdadeira será retornada. Se a resposta for false, uma declaração else 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 e n com outros valores, como yes e no, 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 string 17, para verificar se a idade do usuário é igual a 17 anos ou menos. Se a resposta for true, uma declaração verdadeira será retornada. Se a resposta for false, uma declaração else 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 e n com outros valores, como yes e no, 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 stringRed. Se a resposta for true, uma declaração verdadeira será retornada. Se a resposta for false, uma declaração else 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ção true será retornada. Se a resposta for falsa, uma declaração else será retornada.

Uso

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

    Você pode substituir y e n com outros valores, como yes e no, 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 string red, usando o eq ajudante. O assistente not então retorna o oposto do assistente eq. Se a resposta retornar qualquer cor diferente de red, quando true uma declaração é retornada. Se a resposta retornar red, em seguida, uma else 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] for red.

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 e n com outros valores, como yes e no, 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 atributo Location.Citysão comparadas, adicionalmente, usando o assistente eq. Se algum dos atributos for true, uma declaração verdadeira será retornada. Se uma ou mais das respostas forem false, uma declaração else 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 value X}}, substituindo 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 truncar User.UserAttributes.LastName.[0] para seis (6) caracteres. A resposta inclui reticências, cujos pontos contam para o total de seis caracteres.

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

Ale... se Alejandro é 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] retornar

My First Post, se o valor de Attributes.description.[0] for my 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 Attributes.description.[0]}} retorna

My first post, se o valor de Attributes.description.[0] for 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 value size=X [pad=" "}}, substituindo 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 de 19.

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

"    Los Angeles    " Se Location.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 value [" "]}}, 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.

Exemplo

Este exemplo remove a letra e do Location.City atributo.

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

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 de full data com base no America/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}}. retorna

We 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 como false, nenhuma contagem será retornada na resposta. Se definido como true, o count é 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 3 apple apples includeCount=false}}. retorna:

Thank you for your purchase of apples.

Se includeCount estiver definido como true, 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 ser Attributes.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 Attributes.favorite_colors ", "}} retorna

blue, red, green se Attributes.favorite_colors é a lista blue,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 valor pad em branco, o valor padrão será um espaço em branco.

Uso

{{ljust value size=X [pad=" "]}}, onde 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 Location.City size=15}} retorna

"Los Angeles    " se o valor de Location.City for Los 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 para User.UserAttributes.LastName.[0] é alterada para minúscula.

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

santos se Santos é 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=America/Los_Angeles}} retorna

Sept 19, 2020.

ordinalize

Ordena o valor numérico passado no argumento. Por exemplo, 1 é ordinalizado como 1st e 2 como 2nd. Somente valores numéricos são suportados.

Uso

{{ordinalize [number]}}

Exemplo

Neste exemplo, a entrada [0] de User.UserAttributes.UserAge é transformada em número ordinal e retornada junto com uma mensagem.

Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday! retorna 22 ordinalizado como 22nd.

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 Location.City " " "_"}} retorna

Los_Angeles se o Location.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 valor pad em branco, o valor padrão será um espaço em branco.

Uso

{{rjust value size=X [pad=" "]}}, onde X é o comprimento total do valor, incluindo espaço em branco.

Exemplo

Neste exemplo, um valor de justificação correta de 15 é aplicado ao Location.City atributo.

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

"    Los Angeles" . se Location.City for Los 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 Location.City}} retorna

los-angeles se Location.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 User.UserAttributes.interests.[0]}} retorna

Art, se User.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 e endOffset, que devem ser números inteiros. Não há suporte para números negativos. Se um endOffset 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 Location.City 4 9}} retorna

Angelse Los Angeles é o valor de 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 atributo User.UserAttributes.LastName são convertidas em maiúsculas.

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

ROE se o User.UserAttributes.LastName.[0] valor for Roe.

yesno

Substitui true, false e NULL por Yes, No e Maybe.

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}} retorna

yes se Attributes.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 5 2.3}} retorna

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 5.23}} retorna

6

decode64

Decodifica um valor codificado em base64 em uma string.

Uso

{{decode64 "string"}}

Exemplo

{{decode64 "SGVsbG8gd29ybGQ="}} retorna

Hello World

divide

Retorna o quociente de dois números, incluindo vírgulas flutuantes.

Uso

{{divide arg1 arg2}}

Exemplo

{{divide 5 2.3}} retorna

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 5.23}} retorna

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 7 2}} retorna

1

multiply

Retorna o produto de dois números junto com vírgulas flutuantes.

Uso

{{multiply arg1 arg2}}

Exemplo

{{multiply 5 2.3}} retorna

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 19.21}} minutes on our website each day. retorna:

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 "Hello World"}} retorna

a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e

sha512

Faça o hash de uma string passada usando a segurança criptográfica SHA -512.

Uso

{{sha512 "string"}}

Exemplo

{{sha512 "Hello World"}} retorna

2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b

subtract

Retorna a diferença de dois números junto com vírgulas flutuantes.

Uso

{{subtract arg1 arg2}}

Exemplo

{{subtract 5 2.3}} retorna

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

{{uuid}} retorna

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 em handlebarsjs.com.

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 value}}, e o atributo está formatado como User.UserAttributes.LastName. Substituir value com o nome do atributo e o valor do índice do atributo da .[0] seguinte forma:{{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.