Cómo Usar Modificadores para Variables

Con SendPulse puedes usar modificadores de variables para transformar su valor de acuerdo a las reglas que establezcas. Por ejemplo, puedes formatear texto, fechas, números de teléfono y direcciones URL.

Hablemos de los modificadores de variables y cómo usarlos en tus chatbots.

Sintaxis del Modificador

Puedes modificar datos usando {{ var_name | function(parameter="value") }}, donde:

  • var_name es un nombre de variable,
  • function() es una función modificadora,
  • parameter es un parámetro de función,
  • value es un valor de parámetro.

Puedes usar la sintaxis del modificador en fechas, mayúsculas y minúsculas, longitud de cadena, números de teléfono y URL.

Cadenas

str_to_lower() Convierte todos los caracteres a minúsculas.

Por ejemplo: título de la variable = "TÍTULO".

{{ título | str_to_lower() }}

Resultado: título.

str_to_upper() Convierte todos los caracteres a mayúsculas.

Por ejemplo, la variable de título = "title."

{{ title | str_to_upper() }}

Resultado: TÍTULO.

str_capitalize() Convierte todos los caracteres en una cadena y pone en mayúscula su primer carácter.

Por ejemplo, la variable de título = "title."

{{ title | str_capitalize() }}

Resultado: Título.

str_length() Devuelve la longitud de una cadena.

Por ejemplo: título = "title".

{{ title | str_length() }}

Resultado: 5.

str_limit(limit="100", end="...") Trunca una cadena a la longitud especificada.
  • limit es un parámetro opcional que define la longitud máxima de una cadena (la longitud predeterminada es de 100 caracteres).
  • end es un parámetro opcional que pasa los caracteres al final de una cadena delimitada (el predeterminado es "...").

    Puedes limitar la cantidad de caracteres en tu mensaje a 1000 para asegurarte de que se entregue con precisión. Para hacer esto, escribe {{ info | str_limit(limit="1000") }}.

implode(separator="") Combina los elementos de una matriz de cadena separador.
  • separator es un parámetro opcional que por defecto es una cadena vacía.
Por ejemplo, {{ $["list"] | implode(separator=", ") }} muestra datos separados por comas de una matriz obtenida como resultado de una solicitud de datos externa.
array_get(key="*.keyname") Recupera un valor de una matriz u objeto anidado utilizando la notación de puntos, que es un forma de acceder a las propiedades del objeto y los valores de la matriz. Un punto (.) y un asterisco (*) aparecen como un segmento de matriz y un número de elemento. Puede tener este aspecto: array.*.object.id.

Por ejemplo, si necesitas obtener nombres de una matriz, puedes usar{{ $["users"] | array_get(key="*.name") | implode("\n ") }}para generar los campos de nombre de una matriz de objetos línea por línea.

Número y Fecha

number_round(precision="0", mode="ROUND_HALF_UP") Redondea un número a la precision especificada (el número de dígitos después de un punto decimal).

precision puede ser negativa o cero (por defecto, es 0).

Si la precision es positiva, el número se redondea al número de precision especificado después de un punto decimal.

Si la precision es negativa, el número se redondea a la precisión especificada antes del punto decimal (redondeo a la potencia de diez más cercana). Por ejemplo, si tu precision es igual a -1, el número se redondea a las decenas y si tu precision es igual a -2, el número se redondea a las centenas.

Puedes obtener más información sobre los posibles valores del modo de redondeo en la documentación de PHP.

number_format(decimals="0", decimal_separator=".", thousands_separator=",") Da formato a un número con miles agrupados y dígitos decimales.
  • decimals establece el número de lugares decimales. Si es 0, decimal_separator se omite del valor de retorno.
  • decimal_separator establece el separador decimal.
  • thousands_separator establece el separador de miles.

    Por ejemplo, para que los números grandes sean más fáciles de leer, puedes separar los miles con comas. Para hacer esto, escribe number_format(thousands_separator=",")

date(from_format="dmY", format="dmY", modify="") Formatea una cadena de fecha de acuerdo con el formato dado.
  • from_format es un parámetro opcional que especifica el formato del que deseas convertir los datos de fecha (predeterminado: 'dmY').
  • format es un parámetro opcional que especifica el formato al que deseas convertir los datos de fecha (predeterminado: 'dmY').
  • modify es un parámetro opcional que modifica la fecha en sí, por ejemplo, "+1 día" agregará un día desde la fecha original.

Solo se admiten los siguientes modificadores: +/-día(s), +/-mes(es), +/-año(s).

Lee más sobre los modificadores de fecha en la documentación de PHP.

Por ejemplo, si deseas obtener la fecha en el formato "nombre del mes y la fecha", puedes usar {{ signup_date | date(format="F jS")}}.

Resultado: 5 de enero.

Otros Modificadores

phone(formig-fix-handle_api_exceptionat="INTERNATIONAL") Formatea una cadena con un número de teléfono según el formato dado.
  • format es un parámetro opcional que especifica el formato al que deseas convertir un número de teléfono (el predeterminado es INTERNATIONAL).

Las opciones de formato posibles son:

  • INTERNATIONAL (+380 61 33 3333)
  • NATIONAL (061 333 3333)
  • E164 (+380613333333)
  • RFC3966 (tel:+380-61-333-333)
urlencode() Devuelve una cadena donde todos los caracteres no alfanuméricos, excepto para guiones (-), guiones bajos (_) y puntos (.), deben reemplazarse con el signo de porcentaje (%) seguido de dos números hexadecimales y espacios codificados como el signo más (+). La cadena se codifica igual que los datos POST del formulario web, es decir, el application/x-www-form-urlencoded.

El modificador se puede usar para pasar los valores recibidos del suscriptor a la solicitud de API, por ejemplo, como un parámetro de obtención.

Características de Uso

Hablemos de posibles errores que pueden ocurrir al usar modificadores de variables y formas de combinar modificadores.

Puedes aplicar modificadores al elemento "Mensaje" en un flujo o campaña y todos los demás elementos donde puedes insertar y usar variables. Puedes obtener variables utilizando la función "Entrada de variable de usuario" o una respuesta a un elemento de "Solicitud de API".

Cuando estás llamando a una función modificadora y no requiere parámetros, se pueden omitir los corchetes "()". 

Si un nombre de variable contiene }} y | símbolos, entonces deben escaparse con \}\} y \| en el nombre.

Si un valor de parámetro contiene }}, | y " símbolos, deben escaparse con \}\}, \| y \". El valor del parámetro siempre se da en "" como una cadena. 

Posibles Errores

Si un modificador no puede procesar una variable, la devuelve en la misma forma en que estaba antes de aplicar el modificador. Por ejemplo, si aplicamos el {{ name|phone(format="INTERNATIONAL") }} a la variable de nombre = "Juan", obtenemos "Juan" como respuesta porque la variable no es un número de teléfono.

Si no se puede aplicar un modificador a una variable, el usuario no verá un error.

Los errores se muestran sólo si hay problemas con la sintaxis del modificador, no con los datos recibidos del usuario.

Combinación de Modificadores

Puedes combinar varios modificadores, por ejemplo:

{{variable_name|modifier_name1(parameter_name1="value",parameter_name2="value",parameter_name3="value",)|modifier_name2()|modifier_name_N()}}
Si quieres truncar la longitud de la cadena variable hasta 10 caracteres y luego convertir todos los caracteres de la cadena a mayúsculas, la expresión se verá así:
{{ String | str_limit(limit="10") | str_to_upper }}

Uso de Modificadores en el Generador de Chatbots

A continuación te mostraremos algunos ejemplos de cómo usar modificadores en el generador de chatbots de SendPulse.

Ejemplo de Formato de Nombre de Suscriptor

Piensa en tu escenario de flujo. En nuestro ejemplo, recopilaremos comentarios de los visitantes, por lo que primero queremos obtener el nombre de nuestro invitado y luego darle la oportunidad de compartir su impresión.

Ve a tu flujo o créelo, agrega el elemento "Mensaje" y escribe tu texto donde se le pide al suscriptor que comparta sus datos personales. Habilita la opción de Esperar respuesta del suscriptor, y en el campo "Validar como", selecciona "Cadena" y escoge una variable.

Haz clic en Aplicar y agrega el siguiente elemento "Mensaje".

El suscriptor puede ingresar su nombre con una letra minúscula por error, pero queremos dirigirnos a él correctamente, por lo que usamos el str_title() modificador de variable.

Así es como lo ve un suscriptor.

Ejemplo de Formato de Fecha

Piensa en un escenario en el que un visitante desea reservar una mesa para una fecha específica. Al mismo tiempo, el cliente debe recibir una confirmación de reserva después de seleccionar una fecha.

Agrega el elemento "Mensaje" y escribe tu texto donde le pides al suscriptor que comparta sus datos personales. Habilita la opción "Esperar respuesta del suscriptor". En el campo "Validar como", selecciona "Fecha" y escoge una variable.

Haz clic en Aplicar y agrega el siguiente elemento "Mensaje".

Queremos que la fecha de la reserva se muestre siempre en el mismo formato, por lo que agregamos {{ order_date | date(format="dmY") }} modificador de variable.

Esta es la respuesta que recibirá el usuario cuando seleccione una fecha.

Si quieres aprender más de marketing digital y de chatbots, te recomendamos que leas nuestro blog, donde encontrarás ideas sobre cómo programar un chatbot sin que tus clientes noten que es un chatbot, la efectividad de los chatbots comparado con las campañas de correos electrónicos masivos y 5 Errores que debes evitar al configurar tu chatbot.

    Califica este artículo sobre "Cómo Usar Modificadores para Variables"

    Opinión de los usuarios: 5 / 5

    Pruebe SendPulse hoy mismo gratis