Skip to content

Filtros

Este artículo de referencia ofrece un resumen de los filtros en Liquid y cubre qué filtros son compatibles con Braze. ¿Buscas ideas sobre cómo puedes usar estos filtros? Consulta nuestra biblioteca de casos de uso de Liquid.

Los filtros son la forma de modificar la salida de números, cadenas, variables y objetos en Liquid. Puedes usar filtros para reformatear texto estático o dinámico, como cambiar una cadena de minúsculas a mayúsculas o para realizar operaciones matemáticas, como sumas o divisiones.

Sintaxis de filtros

Los filtros deben colocarse dentro de una etiqueta de salida {{ }} y se indican con un carácter de barra vertical |.

1
{{"Big Sale" | upcase}}
1
BIG SALE

En este ejemplo, Big Sale es una cadena y upcase es el filtro que se aplica.

Sintaxis para múltiples filtros

Puedes usar múltiples filtros en una sola salida. Se aplican de izquierda a derecha.

1
 {{ "Big Sale" | upcase | remove: "BIG" }}
1
SALE

Filtros de arrays

Los filtros de arrays se usan para cambiar la salida de arrays.

Filtro Definición Compatible
join Une los elementos de un array con el carácter pasado como parámetro. El resultado es una sola cadena. ✅ Sí
first Devuelve el primer elemento de un array. En un array de atributos personalizados, este es el valor más antiguo añadido. ✅ Sí
last Devuelve el último elemento de un array. En un array de atributos personalizados, este es el valor añadido más recientemente. ✅ Sí
compact Elimina cualquier elemento nil de un array. ✅ Sí
concat Combina un array con otro array. ✅ Sí
find_index Devuelve el elemento en la posición de índice especificada en un array. El primer elemento de un array se referencia con [0]. ⛔ No
map Acepta un atributo de un elemento del array como parámetro y crea un array a partir del valor de cada elemento del array. ✅ Sí
reverse Invierte el orden de los elementos en un array. ✅ Sí
size Devuelve el tamaño de una cadena (el número de caracteres) o de un array (el número de elementos). ✅ Sí
slice Devuelve una subcadena de una cadena o un subconjunto de un array, comenzando en el índice especificado. ✅ Sí
sort Ordena los elementos de un array por un atributo dado de un elemento en el array. ✅ Sí
sort_natural Ordena los elementos de un array en orden alfabético sin distinguir entre mayúsculas y minúsculas. ✅ Sí
uniq Elimina cualquier instancia duplicada de elementos en un array. ✅ Sí
where Filtra un array para incluir solo elementos con un valor de propiedad específico. ✅ Sí

Filtros de color

Los filtros de color no son compatibles con Braze.

Filtros de fuentes

Los filtros de fuentes no son compatibles con Braze.

Filtros matemáticos

Los filtros matemáticos te permiten realizar operaciones matemáticas. Si usas múltiples filtros en una sola salida, se aplicarán de izquierda a derecha.

Filtro Definición Compatible
abs Devuelve el valor absoluto de un número. ✅ Sí
at_most Limita un número a un valor máximo. ✅ Sí
at_least Limita un número a un valor mínimo. ✅ Sí
ceil Redondea una salida hacia arriba al entero más cercano. ✅ Sí
divided_by Divide una salida entre un número. La salida se redondea hacia abajo al entero más cercano. Consulta el siguiente consejo para evitar el redondeo. ✅ Sí
floor Redondea una salida hacia abajo al entero más cercano. ✅ Sí
minus Resta un número de una salida. ✅ Sí
plus Suma un número a una salida. ✅ Sí
round Redondea la salida al entero más cercano o al número de decimales especificado. ✅ Sí
times Multiplica una salida por un número. ✅ Sí
modulo Divide una salida entre un número y devuelve el resto. ✅ Sí

Operaciones matemáticas con atributos personalizados

Ten en cuenta que no puedes realizar operaciones matemáticas entre dos atributos personalizados.

1
{{custom_attribute.${current_rewards_balance} | plus: {{custom_attribute.${giftcard_balance}}}}}

Este ejemplo no funcionaría porque no puedes referenciar múltiples atributos personalizados en una sola línea de Liquid. En su lugar, necesitarías asignar una variable a al menos uno de estos valores antes de que se realicen las funciones matemáticas. Sumar dos atributos personalizados requeriría dos líneas de Liquid:

  1. Una para asignar el atributo personalizado a una variable,
  2. Una para realizar la suma.

Caso de uso: calcular el saldo actual

Supongamos que queremos calcular el saldo actual de un usuario sumando su saldo de tarjeta de regalo y su saldo de recompensas.

  1. Usa la etiqueta assign para sustituir el atributo personalizado de current_rewards_balance con el término “balance”. Esto significa que ahora tienes una variable llamada balance, que puedes manipular.
1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
  1. Usa el filtro plus para combinar el saldo de tarjeta de regalo de cada usuario con su saldo de recompensas, representado por el 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 dinero

Si estás actualizando a un usuario sobre su compra, un saldo de cuenta o cualquier cosa relacionada con dinero, deberías usar filtros de dinero. Los filtros de dinero aseguran que tus decimales estén en el lugar correcto y que ninguna parte de tu actualización se pierda (como ese molesto 0 al final).

Filtro Definición Compatible
money Formatea números para asegurar que los decimales estén en el lugar correcto y que los ceros no se eliminen del final de ningún número. ✅ Sí
money_with_currency Formatea números con el símbolo de moneda. ⛔ No
money_without_currency Formatea números sin el símbolo de moneda. ⛔ No

Filtro money de Shopify versus filtro money de Braze

En caso de que estés ingresando un atributo personalizado (como account_balance), siempre deberías usar el filtro money para colocar tus decimales en el lugar correcto y evitar que los ceros se eliminen del final de cualquier número:

1
${{custom_attribute.${account_balance} | money}}
CON EL FILTRO MONEY SIN EL FILTRO MONEY
Con filtro money Sin filtro money
Donde account_balance se ingresa como 17.8. Donde account_balance se ingresa como 17.8.

El filtro money en Braze difiere de Shopify porque no aplica automáticamente puntos decimales según una configuración preestablecida. Por ejemplo, toma el siguiente escenario donde rewards_redeemed contiene un valor de 145:

1
${{event_properties.${rewards_redeemed} | money }}
1
$145.00

Según el filtro money de Shopify, esto debería tener una salida de $1.45, sin embargo en Braze, esto tendrá una salida de $145.00. Como solución alternativa, podemos usar el filtro divided_by para manipular el número a un decimal, antes de aplicar el filtro money:

1
${{event_properties.${rewards_redeemed} | divided_by: 100.00 | money }}
1
$1.45

Filtros de cadenas

Los filtros de cadenas se usan para manipular las salidas y variables de cadenas. Las cadenas son una combinación de caracteres alfanuméricos y deben estar envueltas en comillas rectas.

Filtro Descripción Compatible
append Añade caracteres a una cadena. ✅ Sí
camelize Convierte una cadena a CamelCase. ⛔ No
capitalize Pone en mayúscula la primera palabra de una cadena y convierte a minúsculas los caracteres restantes. ✅ Sí
downcase Convierte una cadena a minúsculas. ✅ Sí
escape Escapa una cadena. ✅ Sí
handleize Formatea una cadena como un handle. ⛔ No
md5 Convierte una cadena en un hash MD5. Consulta Filtros de codificación para más información. ✅ Sí
sha1 Convierte una cadena en un hash SHA-1. Consulta Filtros de codificación para más información. ✅ Sí
hmac_sha1_hex
(anteriormente hmac_sha_1)
Convierte una cadena en un hash SHA-1 usando un código de autenticación de mensajes basado en hash (HMAC). Pasa la clave secreta del mensaje como parámetro al filtro. Consulta Filtros de codificación para más información. ✅ Sí
hmac_sha256 Convierte una cadena en un hash SHA-256 usando un código de autenticación de mensajes basado en hash (HMAC). Pasa la clave secreta del mensaje como parámetro al filtro. ✅ Sí
hmac_sha512 Convierte una cadena en un hash SHA-512 usando un código de autenticación de mensajes basado en hash (HMAC). Pasa la clave secreta del mensaje como parámetro al filtro. ✅ Sí
newline_to_br Inserta una etiqueta HTML de salto de línea <br> delante de cada salto de línea en una cadena. ✅ Sí
pluralize Muestra la versión singular o plural de una cadena en inglés basándose en el valor de un número. ⛔ No
prepend Antepone caracteres a una cadena. ✅ Sí
remove Elimina todas las ocurrencias de una subcadena de una cadena. ✅ Sí
remove_first Elimina solo la primera ocurrencia de una subcadena de una cadena. ✅ Sí
replace Reemplaza todas las ocurrencias de una cadena con una subcadena. ✅ Sí
replace_first Reemplaza la primera ocurrencia de una cadena con una subcadena. ✅ Sí
slice El filtro slice devuelve una subcadena, comenzando en el índice especificado. ✅ Sí
split El filtro split toma una subcadena como parámetro. La subcadena se usa como delimitador para dividir una cadena en un array. ✅ Sí
strip Elimina tabulaciones, espacios y saltos de línea (todos los espacios en blanco) del lado izquierdo y derecho de una cadena. ✅ Sí
lstrip Elimina tabulaciones, espacios y saltos de línea (todos los espacios en blanco) del lado izquierdo de una cadena. ⛔ No
rstrip Elimina tabulaciones, espacios y saltos de línea (todos los espacios en blanco) del lado derecho de una cadena. ⛔ No
strip_html Elimina todas las etiquetas HTML de una cadena. ✅ Sí
strip_newlines Elimina cualquier salto de línea de una cadena. ✅ Sí
truncate Trunca una cadena al número de caracteres pasado como primer parámetro. Se añaden puntos suspensivos (…) a la cadena truncada y se incluyen en el conteo de caracteres. ✅ Sí
truncatewords Trunca una cadena al número de palabras pasado como primer parámetro. Se añaden puntos suspensivos (…) a la cadena truncada. ✅ Sí
upcase Convierte una cadena a mayúsculas. ✅ Sí

Filtros adicionales

Los siguientes filtros generales sirven para muchos propósitos, incluyendo formatear o convertir contenido.

Filtro Descripción Compatible
date Convierte una marca de tiempo a otro formato de fecha. Consulta Filtro de fecha para más información. ✅ Sí
default Establece un valor predeterminado para cualquier variable sin valor asignado. Se puede usar con cadenas, arrays y hashes. ✅ Sí
format_address Formatea una dirección para imprimir los elementos de la dirección en orden según su configuración regional. ⛔ No
highlight Envuelve palabras dentro de los resultados de búsqueda con una etiqueta HTML <strong> con la clase highlight si coincide con los términos de búsqueda enviados. ⛔ No

Puedes encontrar más filtros compatibles, como filtros de codificación y URL, en nuestra página de Filtros avanzados.

Filtro de fecha

El filtro date se puede usar para convertir una marca de tiempo a un formato de fecha diferente. Puedes pasar parámetros al filtro date para reformatear la marca de tiempo. Para ejemplos de estos parámetros, consulta strfti.me.

Por ejemplo, supongamos que el valor de date_attribute es la marca de tiempo 2021-06-03 17:13:41 UTC.

1
{{custom_attribute.${date_attribute} | date: '%b %d'}}
1
03 June

Además de las opciones de formato strftime, Braze también permite convertir una marca de tiempo a tiempo Unix con el filtro de fecha %s. Por ejemplo, para obtener date_attribute en tiempo Unix:

1
{{custom_attribute.${date_attribute} | date: '%s' }}
1
1433351621
New Stuff!