Sintaxe básica
Liquid usa duas estruturas de sintaxe principais:- Output Tags:
{{ ... }}— Exibem dados de uma variável ou objeto. - Logic Tags:
{% ... %}— Executam instruções condicionais ou loops.
Condicionais
Operadores
==,!=,>,<,>=,<=and,orcontains(string ou array)
liquid
if, elsif, else
liquid
unless
liquid
Filtros
Aplique filtros usando{{ variable | filter }} para ajustar como os dados são exibidos.
default
Atribua um valor padrão se a propriedade estiver vazia ou não existir.
liquid
date
O filtro date converte um timestamp em outro formato de data. O formato para esta sintaxe é o mesmo que strftime. A entrada usa o mesmo formato que Ruby’s Time.parse.
Defina datas como um timestamp unix em segundos com tags. Isso permite o uso tanto de personalização de sintaxe Liquid quanto de segmentação com Time Operators. Por exemplo, uma tag pode parecer com: bill_due : 1687968776
liquid
Result
liquid
Result
liquid
Result
now (ou today) junto com o filtro date.
liquid
Result
A hora atual será renderizada na mensagem com base em quando a mensagem é
enviada ao destinatário. Se você estiver testando a mensagem, você verá a
hora atual como quando a mensagem de teste foi enviada.
capitalize
Este filtro torna a primeira letra de uma string maiúscula e converte os caracteres restantes em minúsculas.
liquid
Result
round
Este filtro arredonda um número para o inteiro mais próximo, ou, se um número for passado como argumento, para aquele número de casas decimais.
liquid
Result
pluralize
Este filtro retorna a forma singular ou plural de uma string com base em um número fornecido. O número deve ser um número inteiro e pode ser fornecido como uma string. As formas singular e plural de uma string devem ser fornecidas.
liquid
Result
Iteração
Loops for
Executa repetidamente um bloco de código. Para uma lista completa de atributos disponíveis dentro de um loop for, consulte a documentação do loop for do Liquid.
liquid
Request Body
Result
limit & offset
Limita o loop ao número especificado de iterações. Por exemplo, se você deseja apenas mostrar 4 produtos em uma mensagem, você pode usar Limits e Offsets para especificar o número de produtos mostrados.
Data
liquid
Result
Data
liquid
Result
where
Cria um array incluindo apenas os objetos com um valor de propriedade fornecido, ou qualquer valor verdadeiro por padrão.
Neste exemplo, assuma que você tem uma lista de produtos e deseja mostrar seus produtos de cozinha separadamente. Usando where, você pode criar um array contendo apenas os produtos que têm um type de kitchen.
Data
liquid
Result
Manipulação de String
Aplique filtros de string para ajustar como valores de tags ou strings inline são exibidos nas mensagens.| Command | Description | Example | Example Output |
|---|---|---|---|
replace | Substitui uma substring por outra string. | {{ 'hello world' | replace: 'world', 'there' }} | hello there |
capitalize | Torna a primeira letra de uma string maiúscula. | {{ 'hello' | capitalize }} | Hello |
upcase | Converte uma string para maiúsculas. | {{ 'hello' | upcase }} | HELLO |
downcase | Converte uma string para minúsculas. | {{ 'HELLO' | downcase }} | hello |
strip | Remove espaços em branco à esquerda e à direita de uma string. | {{ ' hello ' | strip }} | hello |
strip_html | Remove todas as tags HTML de uma string. | {{ '<p>hello</p>' | strip_html }} | hello |
truncate | Encurta uma string para um comprimento especificado, adicionando reticências (…) se necessário. | {{ 'This is a long sentence' | truncate: 10 }} | This is a… |
truncatewords | Trunca uma string após um certo número de palavras. | {{ 'This is a long sentence' | truncatewords: 2 }} | This is… |
replace_first | Substitui a primeira ocorrência de uma substring. | {{ 'hello world' | replace_first: 'world', 'there' }} | hello there |
prepend | Adiciona uma string ao início de outra string. | {{ 'world' | prepend: 'hello ' }} | hello world |
append | Adiciona uma string ao final de outra string. | {{ 'hello' | append: ' world' }} | hello world |
lstrip | Remove espaços em branco à esquerda de uma string. | {{ ' hello' | lstrip }} | hello |
rstrip | Remove espaços em branco à direita de uma string. | {{ 'hello ' | rstrip }} | hello |
FAQ
Por que a substituição não está funcionando?
- Mensagens in-app não suportam substituição de propriedade.
- Substituição de tag não funciona ao usar “Send Test Message”.
- Chaves de tag devem ser alfanuméricas, ou usar _ e - (sem pontos ou espaços).
- Substituição não aparece em modo preview — envie uma mensagem real para testar.
Quando devo usar default em vez de if/else?
Use o filtro default quando apenas o valor da variável precisa de um fallback e o texto ao redor permanece o mesmo.
liquid
Result (name = "Jon")
Result (name está vazio)
if/else quando o texto ao redor, a pontuação ou a estrutura da frase também precisar mudar com base na existência da variável.
liquid
Result (name = "Jon")
Result (name está vazio)
Como controlar espaços em branco e quebras de linha?
Use hífens:{{- ... -}}, {%- ... -%} para remover espaços em branco ao redor.
Veja Controle de espaços em branco para mais detalhes.
Como lidar com conteúdo gerado por usuários?
Envolva texto gerado por usuários em{% raw %} e {% endraw %} para prevenir análise Liquid. Veja sintaxe “raw”.
Páginas relacionadas
Personalização de mensagens
Visão geral de todas as opções de personalização, incluindo Liquid, Data Feeds e eventos personalizados.
Data Feeds
Puxe dados em tempo real de suas APIs para mensagens no momento do envio.
Tags
Armazene pares chave-valor em usuários para segmentação e personalização Liquid.
Templates
Crie templates de mensagens reutilizáveis com personalização Liquid integrada.