Filtros
Este artigo de referência fornece uma visão geral dos filtros no Liquid e aborda quais filtros são suportados pela Braze. Está procurando ideias de como usar esses filtros? Confira nossa biblioteca de casos de uso do Liquid.
Os filtros são a forma como você pode modificar a saída de números, strings, variáveis e objetos no Liquid. Você pode usar filtros para reformatar textos estáticos ou dinâmicos, como alterar uma string de minúscula para maiúscula, ou para realizar operações matemáticas, como adição ou divisão.
O Braze não é compatível com todos os filtros Liquid da Shopify. Esta página tenta delinear os filtros Liquid que a Braze testou, mas pode não ser uma lista completa. Sempre teste seu Liquid antes de enviar qualquer mensagem.
Se tiver alguma dúvida sobre um filtro que não esteja listado aqui, entre em contato com o gerente de sucesso do cliente.
Sintaxe do filtro
Os filtros devem ser colocados em uma tag de saída {{ }}
e são indicados por um caractere de pipe |
.
1
{{"Big Sale" | upcase}}
1
BIG SALE
Neste exemplo, Big Sale
é uma string e upcase
é o filtro que está sendo aplicado.
Sintaxe para vários filtros
Você pode usar vários filtros em uma saída. Eles são aplicados da esquerda para a direita.
1
{{ "Big Sale" | upcase | remove: "BIG" }}
1
SALE
Filtros de matriz
Os filtros de matriz são usados para alterar a saída das matrizes.
Filtrar | Definição | Com suporte |
---|---|---|
join | Une os elementos de uma matriz com o caractere passado como parâmetro. O resultado é uma única string. | ✅ Sim |
first | Retorna o primeiro elemento de uma matriz. Em uma matriz de atributos personalizados, esse é o valor adicionado mais antigo. | ✅ Sim |
last | Retorna o último elemento de uma matriz. Em uma matriz de atributos personalizados, esse é o valor adicionado mais recentemente. | ✅ Sim |
compacto | Remove todos os itens nil de uma matriz. |
✅ Sim |
concat | Combina uma matriz com outra matriz. | ✅ Sim |
index | Retorna o item no local de índice especificado em uma matriz. O primeiro item em uma matriz é referenciado com [0] . |
✅ Sim |
map | Aceita a atribuição de um elemento da matriz como parâmetro e cria uma matriz a partir do valor de cada elemento da matriz. | ✅ Sim |
reverse | Inverte a ordem dos itens em uma matriz. | ✅ Sim |
size | Retorna o tamanho de uma string (o número de caracteres) ou de uma matriz (o número de elementos). | ✅ Sim |
sort | Classifica os elementos de uma matriz por uma determinada atribuição de um elemento da matriz. | ✅ Sim |
sort_natural | Classifica os itens de uma matriz em ordem alfabética sem distinção entre maiúsculas e minúsculas. | ✅ Sim |
uniq | Remove quaisquer instâncias duplicadas de elementos em uma matriz. | ✅ Sim |
onde | Filtra uma matriz para incluir apenas itens com um valor de propriedade específico. | ✅ Sim |
Filtros coloridos
Os filtros de cores não são suportados no Braze.
Filtros de fonte
Os filtros de fonte não são suportados no Braze.
Filtros matemáticos
Os filtros matemáticos permitem que você realize operações matemáticas. Se você usar vários filtros em uma saída, eles serão aplicados da esquerda para a direita.
Filtrar | Definição | Com suporte |
---|---|---|
abs | Retorna o valor absoluto de um número. | ✅ Sim |
at_most | Limita um número a um valor máximo. | ✅ Sim |
pelo menos | Limita um número a um valor mínimo. | ✅ Sim |
teto | Arredonda uma saída até o número inteiro mais próximo. | ✅ Sim |
dividido_por | Divide uma saída por um número. A saída é arredondada para o número inteiro mais próximo. Confira a dica a seguir para evitar o arredondamento. | ✅ Sim |
floor | Arredonda uma saída para o número inteiro mais próximo. | ✅ Sim |
minus | Subtrai um número de uma saída. | ✅ Sim |
plus | Adiciona um número a uma saída. | ✅ Sim |
round | Arredonda a saída para o número inteiro mais próximo ou para o número especificado de casas decimais. | ✅ Sim |
vez | Multiplica uma saída por um número. | ✅ Sim |
módulo | Divide uma saída por um número e retorna o restante. | ✅ Sim |
Ao dividir números inteiros (números inteiros) por números inteiros no Liquid, se a resposta for um float (número com um decimal), o Liquid arredondará automaticamente para o número inteiro mais próximo. No entanto, a divisão de números inteiros por números flutuantes sempre resultará em um número flutuante. Isso significa que você pode transformar seus números inteiros em um float (1,0, 2,0, 3,0) para retornar um float.
Por exemplo,{{15 | divided_by: 2}}
produzirá 7
, enquanto {{15 | divided_by: 2.0}}
produzirá 7.5
.
Operações matemáticas com atributos personalizados
Lembre-se de que não é possível realizar operações matemáticas entre dois atributos personalizados.
1
{{custom_attribute.${current_rewards_balance} | plus: {{custom_attribute.${giftcard_balance}}}}}
Esse exemplo não funcionaria porque não é possível fazer referência a vários atributos personalizados em uma linha do Liquid. Em vez disso, você precisaria atribuir uma variável a pelo menos um desses valores antes de executar as funções matemáticas. A adição de dois atributos personalizados juntos exigiria duas linhas de Liquid:
- Um para atribuir o atributo personalizado a uma variável,
- Um para realizar a adição.
Caso de uso: Calcular o saldo atual
Digamos que queremos calcular o saldo atual de um usuário adicionando o saldo do cartão-presente e o saldo de recompensas.
- Use a tag
assign
para substituir o atributo personalizado decurrent_rewards_balance
pelo termo “balance”. Isso significa que agora você tem uma variável chamadabalance
, que pode ser manipulada.
1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
2. Use o filtro plus
para combinar o saldo do cartão-presente de cada usuário com seu saldo de recompensas, representado pelo objeto {{balance}}
.
1
2
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
You have ${{custom_attribute.${giftcard_balance} | plus: {{balance}}}} to spend!
1
You have $35 to spend!
Filtros de dinheiro
Se estiver atualizando um usuário sobre uma compra, um saldo de conta ou qualquer coisa relacionada a dinheiro, você deve usar filtros de dinheiro. Os filtros de dinheiro garantem que as casas decimais estejam no lugar correto e que nenhuma parte de sua atualização seja perdida (como aquele incômodo 0
de ponta a ponta).
Filtrar | Definição | Com suporte |
---|---|---|
dinheiro | Formata números para garantir que os decimais estejam no lugar correto e que não haja zeros na ponta de nenhum número. | ✅ Sim |
money_with_currency | Formata números com o símbolo de moeda. | ⛔ Não |
money_without_currency | Formata números sem o símbolo de moeda. | ⛔ Não |
Para formatar corretamente um número com o filtro money
, remova todas as vírgulas do número e adicione o filtro plus: 0
antes do filtro money
. Por exemplo, veja o seguinte Liquid:
1
2
{% assign my_int = "350000.25" | plus: 0 %}
{{ my_int | money }}
Filtro de dinheiro da Shopify versus filtro de dinheiro da Braze
O comportamento do filtro do Shopify money
é diferente de como ele é usado no Braze. Consulte os exemplos a seguir para obter uma descrição precisa do comportamento esperado.
Caso esteja inserindo um atributo personalizado (como account_balance
), sempre use o filtro money
para colocar as casas decimais no lugar correto e evitar que os zeros caiam de ponta a ponta em qualquer número:
1
${{custom_attribute.${account_balance} | money}}
COM O FILTRO DE DINHEIRO | SEM O FILTRO DE DINHEIRO |
---|---|
![]() |
![]() |
Onde account_balance é a entrada em 17.8 . |
Onde account_balance é a entrada em 17.8 . |
O filtro money
no Braze é diferente do Shopify porque não aplica automaticamente os pontos decimais de acordo com uma configuração predefinida. Por exemplo, considere o seguinte cenário em que rewards_redeemed
contém um valor de 145
:
1
${{event_properties.${rewards_redeemed} | money }}
1
$145.00
De acordo com o filtro de dinheiro da Shopify, isso deveria ter uma saída de $1.45
, no entanto, na Braze, isso terá uma saída de $145.00
. Como solução alternativa, podemos usar o filtro divided_by
para manipular o número em um decimal, antes de aplicar o filtro de dinheiro:
1
${{event_properties.${rewards_redeemed} | divided_by: 100.00 | money }}
1
$1.45
Filtros de string
Os filtros de strings são usados para manipular as saídas e as variáveis das strings. As strings são uma combinação de caracteres alfanuméricos e devem ser colocadas entre aspas retas.
As aspas retas são diferentes das aspas curvas no Liquid. Tenha cuidado ao copiar e colar o Liquid de um editor de texto para o Braze, pois as aspas curvas causarão erros em seu Liquid. Se estiver escrevendo seu Liquid diretamente no Braze, as cotações diretas serão aplicadas automaticamente.
Filtrar | Descrição | Com suporte |
---|---|---|
append | Acrescenta caracteres a uma string. | ✅ Sim |
camelcase | Converte uma string em CamelCase. | ⛔ Não |
capitalize | Coloca a primeira palavra em maiúscula em uma string e reduz a minúscula dos caracteres restantes. | ✅ Sim |
downcase | Converte uma string em letras minúsculas. | ✅ Sim |
escape | Escapa uma string. | ✅ Sim |
handle/handleize | Formata uma string em um identificador. | ⛔ Não |
md5 | Converte uma string em um hash MD5. Consulte Filtros de codificação]3 para saber mais. | ✅ Sim |
sha1 | Converte uma string em um hash SHA-1. Consulte Filtros de codificação]3 para saber mais. | ✅ Sim |
hmac_sha1_hex (anteriormente hmac_sha_1) |
Converte uma string em um hash SHA-1 usando um código de autenticação de mensagem de hash (HMAC). Passe a chave secreta da mensagem como um parâmetro para o filtro. Consulte Filtros de codificação]3 para saber mais. | ✅ Sim |
hmac_sha256 | Converte uma string em um hash SHA-256 usando um código de autenticação de mensagem de hash (HMAC). Passe a chave secreta da mensagem como um parâmetro para o filtro. | ✅ Sim |
hmac_sha512 | Converte uma string em um hash SHA-512 usando um código de autenticação de mensagem de hash (HMAC). Passe a chave secreta da mensagem como um parâmetro para o filtro. | ✅ Sim |
newline_to_br | Insere uma tag HTML de quebra de linha <br> na frente de cada quebra de linha em uma string. |
✅ Sim |
pluralize | Emite a versão singular ou plural de uma string em inglês com base no valor de um número. | ⛔ Não |
prepend | Anexa caracteres a uma string. | ✅ Sim |
remover | Remove todas as ocorrências de uma substring de uma string. | ✅ Sim |
remove_first | Remove apenas a primeira ocorrência de uma substring de uma string. | ✅ Sim |
replace | Substitui todas as ocorrências de uma string por uma substring. | ✅ Sim |
replace_first | Substitui a primeira ocorrência de uma string por uma substring. | ✅ Sim |
slice | O filtro de fatia retorna uma substring, começando no índice especificado. | ✅ Sim |
split | O filtro de divisão recebe uma substring como parâmetro. A substring é usada como um delimitador para dividir uma string em uma matriz. | ✅ Sim |
strip | Remove guias, espaços e novas linhas (todos os espaços em branco) dos lados esquerdo e direito de uma string. | ✅ Sim |
lstrip | Retira guias, espaços e novas linhas (todos os espaços em branco) do lado esquerdo de uma string. | ⛔ Não |
rstrip | Retira guias, espaços e novas linhas (todos os espaços em branco) do lado direito de uma string. | ⛔ Não |
strip_html | Retira todas as tags HTML de uma string. | ✅ Sim |
strip_newlines | Remove todas as quebras de linha/novas linhas de uma string. | ✅ Sim |
truncate | Trunca uma string até o número de caracteres passado como primeiro parâmetro. Uma elipse (…) é anexada à string truncada e é incluída na contagem de caracteres. | ✅ Sim |
truncatewords | Trunca uma string até o número de palavras passadas como primeiro parâmetro. Uma elipse (…) é anexada à string truncada. | ✅ Sim |
upcase | Converte uma string em maiúsculas. | ✅ Sim |
Filtros adicionais
Os filtros gerais a seguir têm muitas finalidades, inclusive a formatação ou a conversão de conteúdo.
Filtrar | Descrição | Com suporte |
---|---|---|
data | Converte um registro de data e hora em outro formato de data. Consulte Filtro de data para obter mais informações. | ✅ Sim |
default | Define um valor padrão para qualquer variável sem valor atribuído. Pode ser usado com strings, matrizes e hashes. | ✅ Sim |
format_address | Formata um endereço para imprimir os elementos do endereço em ordem, de acordo com sua localização. | ⛔ Não |
highlight | Envolve as palavras dentro dos resultados da pesquisa com uma tag HTML <strong> com o destaque da classe se corresponder aos termos de pesquisa enviados. |
⛔ Não |
time_zone |
Consulte Filtro de fuso horário. | ✅ Sim |
Você pode encontrar mais filtros compatíveis, como filtros de codificação e de URL, em nossa página Advanced Filters (Filtros avançados ).
Filtro de data
O filtro date
pode ser usado para converter um carimbo de data/hora em um formato de data diferente. Você pode passar parâmetros para o filtro date
para reformatar o registro de data e hora. Para obter exemplos desses parâmetros, consulte strfti.me.
Por exemplo, digamos que o valor de date_attribute
seja o registro de data e hora 2021-06-03 17:13:41 UTC
.
1
{{custom_attribute.${date_attribute} | date: '%b %d'}}
1
03 June
Além das opções de formatação do site strftime
, a Braze também oferece suporte à conversão de um registro de data e hora para a hora Unix com o filtro de data %s
. Por exemplo, para obter o date_attribute
em tempo Unix:
1
{{custom_attribute.${date_attribute} | date: '%s' }}
1
1433351621
Filtro de fuso horário
Além dos filtros que você encontrará listados na documentação da Shopify, o Braze também oferece suporte ao filtro time_zone
.
O filtro time_zone
usa uma hora, um fuso horário e um formato de data e retorna a hora nesse fuso horário no formato de data especificado. Por exemplo, digamos que o valor de {{custom_attribute.$date_attribute}}}
seja 2021-08-04 9:00:00 UTC
:
1
{{custom_attribute.${date_attribute} | time_zone: 'America/Los_Angeles' | date: '%a %b %e %T' }}
1
Wed August 4 2:00:00
Também é possível usar a variável reservada now
para acessar a data e a hora atuais para manipulação.
1
{{ 'now' | date: '%Y-%m-%d %H:%M:%S' }}
1
2021-08-04 18:13:13